- •4. Основные сведения о нейронных сетях
- •4.1. Введение
- •Каждый нейрон, входящий в нейронную сеть и представленный на рис. 1 в виде кружка, участвует в преобразовании входных сигналов, так что выходной сигнал зависит от алгоритма работы всех нейронов.
- •4.2. Модель нервной клетки (нейрона)
- •Лекция 24
- •4.3. Математическая модель нейрона
- •4.4. Многослойная нейронная сеть
- •4.5. Обучение нейронной сети
- •4.6. Обратное распространение ошибки
- •Лекция 25
- •Лекция 26
- •Если q – й нейрон расположен в k–ом скрытом слое (рис. 8), то согласно (17а) при замене r на q , 2 на k, 1 на k-1 и I на r,
- •4.7. Аппроксимация функций (моделирование) с помощью нейронных сетей (персептронов)
- •Нейронная сеть с радиальными базисными функциями
- •Cтруктура нейронной сети с радиально базисными функциями (рбф сети)
- •Методы обучения рбф сети
- •Лекция 27
- •Моделирование (идентификация) нелинейных динамических процессов (объектов)
- •3. Применение нейронных сетей (нс) для управления
- •3.1. Нейросетевые адаптивные системы управления
- •3.1.1. Нейросетевая технология адаптивной линеаризации обратной связью
- •3.1.2. Нейросетевое прямое и косвенное адаптивное управление на основе желаемой (эталонной) модели
- •Лекция 28
- •5. Синтез нейронных нечетких сетей
- •5.1. Введение
- •Адаптивные нейронные нечеткие системы инференции (anfis)
- •Структура anfis
- •Алгоритм обучения anfis
- •Генетические алгоритмы
- •Лекция 29
- •Генетические нечеткие системы (Извлечение нечетких знаний с помощью генетических алгоритмов)
- •Проектирование нечетких систем
- •Классификация генетических нечетких систем
- •4.6. Обратное распространение ошибки
Лекция 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а)
Здесь
ошибка
=
-
фигурирует в
посредством
и теперь имеет
место перемещение этой ошибки с первого
скрытого слоя на второй скрытый
слой.
