Реферат: Структура нейронных сетей
где - параметр определяющий скорость обучения
(7)
где
yj - значение выхода j-го нейрона
Sj – взвешенная сумма входных сигналов, определяемая по формуле (1). При этом множитель
(8)
где xi – значение i-го входа нейрона
Далее рассмотрим определение первого множителя формулы (7)
(9)
где k – число нейронов в слое n+1.
Введем вспомогательную переменную
(10)
Тогда мы сможем определит рекурсивную формулу для определения n-ного слоя если нам известно следующего n+1-го слоя.
(11)
Нахождение же для последнего слоя НС не представляет трудности, так как нам известен целевой вектор, т.е. вектор тех значений, которые должна выдавать НС при данном наборе входных значений.
(12)
И наконец запишем формулу (6) в раскрытом виде
(13)
Рассмотрим теперь полный алгоритм обучения нейросети
подать на вход НС один из требуемых образов и определить значения выходов нейронов нейросети
рассчитать для выходного слоя НС по формуле (12) и рассчитать изменения весов выходного слоя N по формуле (13)
Рассчитать по формулам (11) и (13) соответственно и для остальных слоев НС, n=N-1..1
Скорректировать все веса НС (14)
Если ошибка существенна, то перейти на шаг 1
На этапе 2 сети поочередно в случайном порядке предъявляются вектора из обучающей последовательности.
Повышение эффективности обучения НС обратного распространения
Простейший метод градиентного спуска, рассмотренный выше, очень неэффективен в случае, когда производные по различным весам сильно отличаются. Это соответствует ситуации, когда значение функции S для некоторых нейронов близка по модулю к 1 или когда модуль некоторых весов много больше 1. В этом случае для плавного уменьшения ошибки надо выбирать очень маленькую скорость обучения, но при этом обучение может занять непозволительно много времени.
Простейшим методом усовершенствования градиентного спуска является введение момента ,когда влияние градиента на изменение весов изменяется со временем. Тогда формула (13) примет вид
(13.1)