Алгоритмы обучения.
В последнее время широко используется процедура обучения многослойного персептрона, получившего название алгоритма обучения с обратным распространением ошибки (error backpropagation). Этот алгоритм является обобщением на произвольное число слоев одной из процедур обучения элементарного персептрона, известный как правило Уидроу—Хоффа (дельта-правило).
В отличие от элементарного персептрона, для которого ошибки функционирования имеют единственный минимум, многослойный персептрон может иметь несколько минимумов с приблизительно равными областями притяжения. Для получения заданного качества распознавания необходимо многократного (сотни и тысячи раз) предъявления всего обучающего множества. Предложены различные модификации алгоритма обучения backpropagation, позволяющие повысить скорость обучения и улучшить точность воспроизведения требуемого отображения «вход—выход».
Выбор начальных весов
Перед тем, как начинать процесс обучения нейронной сети, необходимо присвоить весам начальные значения. Цель здесь, очевидно, должна состоять в том, чтобы найти как можно более хорошее начальное приближение к решению и таким образом сэкономить время обучения и улучшить сходимость. Конечно, можно положить начальные веса во всей сети равными нулю, но тогда частные производные от невязки по всем весам будут одинаковыми, и изменения весов не будут должным образом структурированы. В результате нельзя будет надеяться на то, что сеть вообще когда-нибудь сможет решить задачу. Нужно искать способы уйти от такой симметрии.
Классический подход к проблеме выбора начальных значений весов состоит в следующем: случайным образом выбрать малые величины весов, чтобы быть уверенным, что ни один из сигмоидных элементов не насыщен (и значения всех производных очень малы).
Обход локальных минимумов.
Как уже говорилось, поверхность невязки в пространстве весов в общем случае имеет локальные минимумы, и это является главным препятствием для процесса обучения нейронной сети, в особенности, для алгоритма спуска. Можно встретить утверждения, что в ряде случаев локальный минимум является вполне приемлемым решением, однако в общей ситуации необходимо разработать стратегию, которая позволяла бы избегать таких точек и гарантировала бы сходимость обучающего алгоритма к глобальному решению.
Упорядочение данных
Для того чтобы обучающий алгоритм не стал двигаться в ложном направлении, нужно, прежде всего, упорядочить случайным образом последовательность примеров, которые он обрабатывает (так называемое «перемешивание»). Более того, если какой-то из классов примеров представлен недостаточно, случайный выбор должен осуществляться таким образом, чтобы примеры из слабо представленной группы встречались чаще — этим будет устранен ложный крен при минимизации ошибки.
Методы второго порядка
При более последовательном подходе для улучшения процесса обучения можно использовать информацию о производных второго порядка от функции невязки. Соответствующие методы оптимизации называются квадратичными: спуск по сопряженному градиенту, масштабированный метод сопряженных градиентов RBackProp, квази-ньютоновский метод, метод Левенберга-де-Маркара.
Методы локальной оптимизации
В отличие от методов второго порядка, где веса изменяются пропорционально их вкладу в направление глобального поиска, в локальных методах оптимизации каждый вес меняется локально. В качестве примера таких методов можно назвать метод дельта-дельта, QuickProp.
В литературе описано много других алгоритмов, реализующих иные подходы к задаче оптимизации. Так, в основанном на идеях статистической физики методе «замораживания» стабилизация алгоритма осуществляется за счет понижения «температурного» параметра. Другие подходы, такие, как метод случайного блуждания используют случайный поиск в пространстве весов, и это принципиально отличает их от систематического поиска в методе обратного распространения ошибки. Наконец, в последнее время пользуются успехом так называемые генетические алгоритмы, в которых набор весов рассматривается как индивид, подверженный мутациям и скрещиванию, а в качестве показателя его «качества» берется критерий ошибки. По мере того, как нарождаются новые поколения, все более вероятным становится появление оптимального индивида.
Выбор эффективного обучающего алгоритма всегда включает в себя компромисс между сложностью решаемой задачи и техническими ограничениями (быстродействие и объем памяти компьютера, время, цена).