Обучение методом обратного распространения ошибок.
Для обучения многослойной сети в 1986 г. Руммельхартом и Хинтоном (Rummelhart D.E., Hinton G.E., Williams R.J., 1986) был предложен алгоритм обратного распостранения ошибок (error back propagation). Многочисленные публикации о промышленных применениях многослойных сетей с этим алгоритмом обучения подтвердили его принципиальную работоспособность на практике.
В начале возникает резонный вопрос - а почему для обучения многослойного персептрона нельзя применить уже известное -правило Розенблатта (см. Лекцию 4)? Ответ состоит в том, что для применения метода Розенблатта необходимо знать не только текущие выходы нейронов y, но и требуемыеправильныезначенияY. В случае многослойной сети эти правильные значения имеются только для нейроноввыходногослоя. Требуемые значения выходов для нейронов скрытых слоев неизвестны, что и ограничивает применение-правила.
Основная идея обратного распространения состоит в том, как получить оценку ошибки для нейронов скрытых слоев. Заметим, что известныеошибки, делаемые нейронами выходного слоя, возникают вследствиенеизвестныхпока ошибок нейронов скрытых слоев. Чем больше значение синаптической связи между нейроном скрытого слоя и выходным нейроном, тем сильнее ошибка первого влияет на ошибку второго. Следовательно, оценку ошибки элементов скрытых слоев можно получить, как взвешенную сумму ошибок последующих слоев. При обучении информация распространяется от низших слоев иерархии к высшим, а оценки ошибок, делаемые сетью - в обратном напаравлении, что и отражено в названии метода.
Перейдем к подробному рассмотрению этого алгоритма. Для упрощения обозначений ограничимся ситуацией, когда сеть имеет только один скрытый слой. Матрицу весовых коэффициентов от входов к скрытому слою обозначим W, а матрицу весов, соединяющих скрытый и выходной слой - как V. Для индексов примем следующие обозначения: входы будем нумеровать только индексом i, элементы скрытого слоя - индексом j, а выходы, соответственно, индексом k.
Пусть сеть обучается на выборке (X,Y),=1..p. Активности нейронов будем обозначать малыми буквами y с соотвествующим индексом, а суммарные взвешенные входы нейронов - малыми буквами x.
Общая структура алгоритма аналогична рассмотренной в Лекции 4, с усложнением формул подстройки весов.
Таблица 6.1. Алгоритм обратного распространения ошибки.
Шаг 0. | Начальные значения весов всех нейронов всех слоев V(t=0) и W(t=0) полагаются случайными числами. |
Шаг 1. | Сети предъявляется входной образ X, в результате формируется выходной образ yY. При этом нейроны последовательно от слоя к слою функционируют по следующим формулам: скрытый слой выходной слой
Здесь f(x) - сигмоидальная функция, определяемая по формуле (6.1) |
Шаг 2. | Функционал квадратичной ошибки сети для данного входного образа имеет вид:
Данный функционал подлежит минимизации. Классический градиентный метод оптимизации состоит в итерационном уточнении аргумента согласно формуле:
Функция ошибки в явном виде не содержит зависимости от веса Vjk, поэтому воспользуемся формулами неявного дифференцирования сложной функции:
Здесь учтено полезное свойство сигмоидальной функции f(x): ее производная выражается только через само значение функции, f’(x)=f(1-f). Таким образом, все необходимые величины для подстройки весов выходного слоя V получены. |
Шаг 3. | На этом шаге выполняется подстройка весов скрытого слоя. Градиентный метод по-прежнему дает:
Вычисления производных выполняются по тем же формулам, за исключением некоторого усложнения формулы для ошибки j.
При вычислении jздесь и был применен принцип обратного распространения ошибки: частные производные берутся только по переменнымпоследующегослоя. По полученным формулам модифицируются веса нейронов скрытого слоя. Если в нейронной сети имеется несколько скрытых слоев, процедура обратного распространения применяется последовательно для каждого из них, начиная со слоя, предшествующего выходному, и далее до слоя, следующего за входным. При этом формулы сохраняют свой вид с заменой элементов выходного слоя на элементы соотвествующего скрытого слоя. |
Шаг 4. | Шаги 1-3 повторяются для всех обучающих векторов. Обучение завершается по достижении малой полной ошибки или максимально допустимого числа итераций, как и в методе обучения Розенблатта. |
Как видно из описания шагов 2-3, обучение сводится к решению задачи оптимизации функционала ошибки градиентным методом. Вся “соль” обратного распространения ошибки состоит в том, что для ее оценки для нейронов скрытых слоев можно принять взвешенную сумму ошибок последующего слоя.
Параметр h имеет смысл темпа обучения и выбирается достаточно малым для сходимости метода. О сходимости необходимо сделать несколько дополнительных замечаний. Во-первых, практика показывает что сходимость метода обратного распространения весьма медленная. Невысокий тепм сходимости является “генетической болезнью” всех градиентных методов, так как локальное направление градиента отнюдь не совпадает с направлением к минимуму. Во-вторых, подстройка весов выполняется независимо для каждой пары образов обучающей выборки. При этом улучшение функционирования на некоторой заданной паре может, вообще говоря, приводить к ухудшению работы на предыдущих образах. В этом смысле, нетдостоверных (кроме весьма обширной практики применения метода) гарантий сходимости.
Исследования показывают, что для представления произвольного функционального отображения, задаваемого обучающей выборкой, достаточно всего два слоянейронов. Однако на практике, в случае сложных функций, использование более чем одного скрытого слоя может давать экономию полного числа нейронов.
В завершение лекции сделаем замечание относительно настройки порогов нейронов. Легко заметить, что порог нейрона может быть сделан эквивалентным дополнительному весу, соединенному с фиктивным входом, равным -1. Действительно, выбирая W0=, x0=-1 и начиная суммирование с нуля, можно рассматривать нейрон с нулевым порогом и одним дополнительным входом:
Дополнительные входы нейронов, соотвествующие порогам, изображены на Рис. 6.1 темными квадратиками. С учетом этого замечания, все изложенные в алгоритме обратного распространения формулы суммирования по входам начинаются с нулевого индекса.
- Лекция 3. Биологический нейрон и его кибернетическая модель.
- Метод нейробиологии.
- Биологический нейрон.
- Нейронные сети.
- Биологическая изменчивость и обучение нейронных сетей.
- Формальный нейрон.
- Обучение нейрона детектированию границы "черное-белое"
- Лекция 4. Персептрон Розенблатта.
- Персептрон Розенблатта.
- Теорема об обучении персептрона.
- Линейная разделимость и персептронная представляемость
- Лекция 5. Свойства процессов обучения в нейронных сетях.
- Задача обучения нейронной сети на примерах.
- Классификация и категоризация.
- Обучение нейронной сети с учителем, как задача многофакторной оптимизации. Понятие о задаче оптимизации.
- Постановка задачи оптимизации при обучении нейронной сети
- Лекция 6. Многослойный персептрон.
- Необходимость иерархической организации нейросетевых архитектур.
- Многослойный персептрон.
- Обучение методом обратного распространения ошибок.
- Лекция 7. Другие иерархические архитектуры.
- Звезды Гроссберга
- Принцип Winner Take All (wta) - Победитель Забирает Все - в модели Липпмана-Хемминга.
- Карта самоорганизации Кохонена.
- Нейронная сеть встречного распространения.
- Лекция 8. Модель Хопфилда.
- Сети с обратными связями
- Нейродинамика в модели Хопфилда
- Правило обучения Хебба
- Ассоциативность памяти и задача распознавания образов
- Лекция 9. Обобщения и применения модели Хопфилда.
- Модификации правила Хебба.
- Матрица Хебба с ортогонализацией образов.
- Отказ от симметрии синапсов.
- Алгоритмы разобучения (забывания).
- Двунаправленная ассоциативная память.
- Детерминированная и вероятностная нейродинамика.
- Применения сети Хопфилда к задачам комбинаторной оптимизации.
- Лекция 10. Неокогнитрон Фукушимы.
- Когнитрон: самоорганизующаяся многослойная нейросеть.
- Неокогнитрон и инвариантное распознавание образов.
- Лекция 11. Теория адаптивного резонанса.
- Дилемма стабильности-пластичности восприятия.
- Принцип адаптивного резонанса.
- Нейронная сеть aрt-1.
- Начальное состояние сети.
- Фаза сравнения.
- Фаза поиска.
- Обучение сети арт.
- Теоремы арт.
- Дальнейшее развитие арт: архитектуры арт-2 и арт-3. Нерешенные проблемы и недостатки арт-1.
- Сети арт-2 и арт-3.
- Лекция 12. Черты современных архитектур.
- Черты современных архитектур.
- Сегодняшний день нейронауки.
- Программное и аппаратное обеспечение. Нейро-эвм.