Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекц_нейр_ сети.(2008-09-10).doc
Скачиваний:
127
Добавлен:
23.09.2019
Размер:
2 Мб
Скачать
☆

Лекция 25

4.6. Обратное распространение ошибки

Метод обратного распространения ошибки представляет собой популярную процедуру обучения многослойного персептрона. Он основан на дельта-правиле и использует критерий качества обучения (сумму квадратов ошибок ej=dj-yj)

(5)

для нейронов выходного слоя. Этот критерий есть сумма квадратов ошибок, получаемых на выходе каждого нейрона выходного слоя.

Весовой коэффициент передачи сигнала от p-го нейрона предыдущего слоя к q-му нейрону последующего слоя обновляется в соответствии с обобщенным дельта-правилом

. (6)

Чтобы обозначения были более понятными, мы опустили индекс обучающего образца k; очевидно, что уравнение (6) является рекуррентным, т.е. в его левой части представляет новое значение весового коэффициента, в то время как в правой части является прежним весом. Здесь - параметр скорости обучения. В обобщенном дельта-правиле корректировка весового коэффициента пропорциональна градиенту ошибки / , другими словами, чувствительности критерия качества к изменению весового коэффициента. Чтобы применить данный алгоритм, необходимы два цикла вычислений, прямое распространение и обратное распространение.

В прямом цикле вычислений веса остаются неизменными. Прямое распространение сигнала начинается в последнем скрытом слое, ведя счет от выходного слоя, путем подачи на его вход образцового входного векторного сигнала и заканчивается в выходном слое после вычисления сигнала ошибки (разности между образцовым выходным сигналом и выходным сигналом нейрона) для каждого нейрона выходного слоя. Обратное распространение сигнала начинается в выходном слое и продолжается путем распространения сигнала ошибки назад справа налево через всю сеть, слой за слоем.

Для описания алгоритма обратного распространения сигнала ошибки предположим, что j – й нейрон является нейроном выходного слоя (рис. 7). На рис. 7 показаны в явном виде связи между нейроном j выходного слоя, нейроном i скрытого слоя 1, нейроном r скрытого слоя 2 и нейроном s скрытого слоя 3.

Рис. 7

Заменяя в (6) q на j и p на i, получаем формулу для настройки весовых коэффициентов выходного слоя

. (6а)

Используя цепное правило дифференцирования, запишем производную, входящую в уравнение (6а), в виде

. (7)

Здесь с учетом (5)

= = -

есть ошибка j-го нейрона, есть выход j-го нейрона,

есть внутренний вход j-го нейрона, полученный на основании (4c) , после суммирования взвешенных выходов всех нейронов m1 предшествующего первого скрытого слоя, в том числе выхода i-го нейрона этого слоя, есть весовой коэффициент передачи сигнала от i-го нейрона первого скрытого слоя к входу j-го нейрона выходного слоя.

При этом

,

где - активационная функция. Как обозначена производная от функции по ее аргументу. С учетом (7) и (4c) при c= m1, находим с помощью (6а)

, (8)

где

. (8a)

Как видим, для обновления весовых коэффициентов выходного слоя надо найти ошибку , выход i-го первого скрытого слоя и производную .

Найдем формулу для обновления коэффициентов первого скрытого слоя

. (9)

Ошибка j-го нейрона выходного слоя связана с желаемым выходом и очевидно, что = - . Для i-го нейрона первого скрытого слоя в соответствии с методом обратного распространения ошибки мы должны использовать ошибку , т.к. она по аналогии с (7) должна входить в первые две частные производные для . Однако возникает проблема, обусловленная тем обстоятельством, что такая ошибка неизвестна для нейронов скрытого слоя. Чтобы преодолеть эту трудность, определим произведение упомянутых производных непосредственно

. (10)

Частная производная от по выходу i-го нейрона первого скрытого слоя, с учетом (5) прямо связанная с выходом j-го нейрона выходного слоя, определяется как

(11)

(12)

(13)

. (14)

Для получения последнего результата принято во внимание, что в соответствии с (4с)

,(4c)

где m1 число нейронов первого скрытого слоя.

Используя цепное правило дифференцирования с учетом (14) и

(17), где m2 число нейронов второго скрытого слоя, запишем

производную

. (15)

При этом c помощью дельта-правила (9) и (8а) получаем формулу для обновления коэффициентов первого скрытого слоя

, (16)

где

. (16а)

Здесь i – номер нейрона первого скрытого слоя, r – номер нейрона второго скрытого слоя, предшествующего первому скрытому слою (считая справа налево), j – номер нейрона выходного слоя. Множитель зависит лишь от активационной функции i –го нейрона первого скрытого слоя и . Значения содержат весовые коэффициенты, связанные с нейронами выходного слоя. Наконец, есть выход r –го нейрона второго скрытого слоя и этот выход появляется в выражении для в результате вычисления производной

/ , т.к. внутренний вход i-го нейрона равен

. (17)

Как видим, операция суммирования по j требует знания ошибок для всех нейронов выходного слоя посредством . Это говорит о том, что как бы ошибка = - , имеющая место на выходе нейронной сети, «переместилась назад» с выходного слоя на первый скрытый слой.

Для s-го нейрона следующего второго скрытого слоя, предшествующего первому скрытому слою, правило обновления применяется рекуррентно по аналогии с (16) и (16а):

. (17а)

Здесь ошибка = - фигурирует в посредством и теперь имеет место перемещение этой ошибки с первого скрытого слоя на второй скрытый

слой.