1.6.2. Обучение нейронной сети
Обучить нейронную сеть это значит, сообщить ей чего от нее добиваются Этот процесс похож на обучение ребенка алфавиту Показав ребенку изображение буквы и получив неверный ответ ему сообщается тот ответ, который хотят получить Ребенок запоминает этот пример вместе с верным ответом и в его памяти происходят некоторые изменения в нужном направлении
Процесс обучения заключается в последовательном предъявлении букв (рис 1 8)
При предъявлении изображения каждой буквы на входе сеть выдает некоторый ответ, не обязательно верный Известен и верный (желаемый) ответ В данном случае желательно, чтобы на выходе соответствующего нейрона уровень сигнала был максимален Обычно в качестве желаемого в задаче классификации берут набор, где «1» стоит на выходе этого нейрона, а «0» - на выходах всех остальных нейронов Одну и ту же букву (а также различные изображения одной и той же буквы) можно предъявлять сети много раз
После многократного предъявления примеров веса сети стабилизируются, причем сеть дает правильные ответы на все (или почти все) примеры из базы данных В таком случае говорят, что сеть обучена В программных реализациях можно видеть, что в процессе обучения величина ошибки (сумма квадратов ошибок по всем выходам) постепенно уменьшается Когда величина ошибки
Рис. 1.8 Процесс обучения нейронной сети
достигает нуля или приемлемо малого уровня, обучение останавливают, и сеть готова к распознаванию.
Важно отметить, что вся информация, которую сеть приобретает о задаче, содержится в наборе примеров. Поэтому качество обучения сети зависит от количества примеров в обучающей выборке, а также от того, насколько полно эти примеры описывают задачу. Считается, что для полноценной тренировки требуется хотя бы несколько десятков (а лучше сотен) примеров.