dsj является производной этой функции
Так как множитель dyj/ dsj является производной этой функции по ее аргументу, из этого следует, что производная активационной функция должна быть определена на всей оси абсцисс. В связи с этим функция единичного скачка и прочие активационные функции с неоднородностями не подходят для рассматриваемых НС. В них применяются такие гладкие функции, как гиперболический тангенс или классический сигмоид с экспонентой. В случае гиперболического тангенса
Третий множитель
, очевидно, равен выходу нейрона предыдущего слоя
.
Что касается первого множителя в (4.5), он легко раскладывается следующим образом[2]:
Здесь суммирование по k выполняется среди нейронов слоя n+1.
Введя новую переменную
мы получим рекурсивную формулу для расчетов величин
слоя n из величин
более старшего слоя n+1.
Для выходного же слоя
Теперь мы можем записать (4.4) в раскрытом виде:
Иногда для придания процессу коррекции весов некоторой инерционности, сглаживающей резкие скачки при перемещении по поверхности целевой функции, (4.11) дополняется значением изменения веса на предыдущей итерации
где
– коэффициент инерционности, t – номер текущей итерации.
Таким образом, полный алгоритм обучения НС с помощью процедуры обратного распространения строится так:
- Подать на входы сети один из возможных образов и в режиме обычного функционирования НС, когда сигналы распространяются от входов к выходам, рассчитать значения последних. Напомним, что где M – число нейронов в слое n-1 с учетом нейрона с постоянным выходным состоянием +1, задающего смещение; – i-ый вход нейрона j слоя n.
, где f() – сигмоид, (4.14)
где Iq – q-ая компонента вектора входного образа.
- Рассчитать для выходного слоя по формуле (4.10). Рассчитать по формуле (4.11) или (4.12) изменения весов слоя N.
- Рассчитать по формулам (4.9) и (4.11) (или (4.9) и (4.10)) соответственно и для всех остальных слоев, n=N-1,...1.
- Скорректировать все веса в НС
Рис. 4.3. Диаграмма сигналов в сети при обучении по алгоритму обратного распространения
Содержание Назад Вперед