- обучение ("тренировка") нейросети на некотором наборе изображений;
- использование нейросети для распознания предложенных ей произвольных изображений.
На этапе тренировки ей предлагают распознать большой, но ограниченный, ряд заведомо известных изображений и случайным образом меняют её параметры, пока не добьются некоторого заданного качества распознания. Работа эта автоматизирована, так как исходные базы большие, а количество итераций - огромно. Причём каждое изображение в этом процессе предлагается для распознания неоднократно - чтобы она не "забыла" их в процессе.
Однако, так как база всё же ограничена, есть риск "перетренировки" сети, когда она идеально распознаёт любую картинку из базы (фигурально говоря "запоминает" их) но не может хорошо этого сделать с произвольно взятым изображением. Чтобы избежать такого "зашоренного взгляда" в процессе тренировки к изображениям подмешивают случайный шум, причём, при повторных показах одного и того же изображения - шум разный. Это позволяет "расширить взгляд" нейросети и "сосредоточиться" на более общих признаках, а не конкретных деталях изображений базы. Что, в результате, приводит к лучшей работе сети на этапе практической эксплуатации.
И, в качестве, дополнительной информации: нейросети состоят из нескольких слоёв в каждом из которых множество нейронов; каждый нейрон обладает рядом коэффициентов которые модифицируются в процессе тренировки - и после её окончания ни один человек не может понимать как именно нейросеть приходит к своим "решениям", то есть руками ничего внутри неё "подкрутить" не получится :).
Пример простейшей нейросети с одним скрытым слоем для распознания рукописных цифр на поле 28×28 (показаны не все нейроны входного слоя):
