3.3. Вывод рекурентного выражения в алгоритме ВР для вычисления производных ошибки произвольного слоя.
Рассмотрим градиентный метод обучения нейронной сети ВР.
Пусть требуется минимизировать критерий:
, (11)
где - реальный выход j-го нейрона выходного слоя N нейронной сети при подаче на вход р-го образа; - желаемый выход.
Минимизация производится методом градиентного спуска, что означает подстройку весов следующим образом:
, (12)
где - весовой коэффициент связи i-го нейрона (N-1)-го слоя с j-ым нейроном n–го слоя; - коэффициент скорости обучения.
Далее
, (13)
где - выход j-го нейрона n–го слоя;
- взвешенный суммарный выходной сигнал j-го нейрона.
Очевидно, что (14). Если функция активации j-го нейрона имеет вид:
, то .
В частном случае, если - сигмоид, то
.
Третий сомножитель .
Что же касается первого сомножителя в (13) , то он легко раскладывается через выходы нейронов следующего (n+1)–го слоя таким образом:
. (15)
Здесь суммирование ведется по нейронам (n+1)–го слоя (k).
Введя новую переменную , (16)
получим рекурентную формулу для расчета величины n–го слоя через величины следующего слоя (см. ниже - рис.1)
. (17)
рис.1
Для выходного слоя n=N имеем
. (18)
Теперь можно записать алгоритм градиентного спуска (12) в следующем виде:
. (19)
Иногда для придания процессу коррекции весов некоторой инерционности для сглаживания резких скачков при движении по поверхности используется значение на предыдущей итерации (t-1). В этом случае величина будет иметь вид:
, (20)
где .