Опубликован: 27.07.2006 | Доступ: свободный | Студентов: 6123 / 1491 | Оценка: 4.37 / 4.06 | Длительность: 13:49:00
ISBN: 978-5-9556-0049-9
Специальности: Программист
Лекция 4:

Процедура обратного распространения (описание алгоритма)

< Лекция 3 || Лекция 4: 12345 || Лекция 5 >

Подстройка весов скрытого слоя. Рассмотрим один нейрон в скрытом слое, предшествующем выходному слою. При проходе вперед этот нейрон передает свой выходной сигнал нейронам в выходном слое через соединяющие их веса. Во время обучения эти веса функционируют в обратном порядке, пропуская величину \delta от выходного слоя назад к скрытому слою. Каждый из этих весов умножается на величину \delta нейрона, к которому он присоединен в выходном слое. Величина \delta, необходимая для нейрона скрытого слоя, получается суммированием всех таких произведений и умножением на производную сжимающей функции (см. рис. 4.4):

\delta_{q,k}=OUT_{p,j}(1-OUT_{p,j})\left[\sum_q\delta_{q,k}
w_{pq,k}\right].
\vspace{-2mm} ( 7)

Когда значение \delta получено, веса, питающие первый скрытый уровень, могут быть подкорректированы с помощью уравнений (5) и (6), где индексы модифицируются в соответствии со слоем.


Рис. 4.4.

Для каждого нейрона в данном скрытом слое должно быть вычислено \delta и подстроены все веса, ассоциированные с этим слоем. Этот процесс повторяется слой за слоем по направлению к входу, пока все веса не будут подкорректированы.

С помощью векторных обозначений операция обратного распространения ошибки может быть записана значительно компактнее. Обозначим множество величин \delta выходного слоя через D_k и множество весов выходного слоя как массив W_k. Чтобы получить D_j, \delta -вектор выходного слоя, достаточно следующих двух операций:

  1. Умножить о-вектор выходного слоя D_k на транспонированную матрицу весов W_k', соединяющую скрытый уровень с выходным уровнем.
  2. Умножить каждую компоненту полученного произведения на производную сжимающей функции соответствующего нейрона в скрытом слое.

Добавление нейронного смещения. Во многих случаях желательно наделять каждый нейрон обучаемым смещением. Это позволяет сдвигать начало отсчета логистической функции, давая эффект, аналогичный подстройке порога персептронного нейрона, и приводит к ускорению процесса обучения. Такая возможность может быть легко введена в обучающий алгоритм с помощью добавляемого к каждому нейрону веса, который присоединен к +1. Этот вес обучается так же, как и все остальные веса, за исключением того, что подаваемый на него сигнал всегда равен +1, а не выходу нейрона предыдущего слоя.

Импульс. Существует метод ускорения обучения для алгоритма обратного распространения, увеличивающий также устойчивость процесса. Этот метод, названный импульсом, заключается в добавлении к коррекции веса члена, пропорционального величине предыдущего изменения веса. Как только происходит коррекция, она "запоминается" и служит для модификации всех последующих коррекций. Уравнения коррекции модифицируются следующим образом:

\begin{gathered}
\Delta w_{pq,k}(n+1)=\eta\delta_{q,k} OUT_{p,j}+\alpha\Delta
w_{pq,k}(n),\\
w_{pq,k}(n+1)=w_{pq,k}(n)+\Delta w_{pq,k}(n+1),
\end{gathered}

где \alpha — коэффициент импульса, который обычно устанавливается около 0,9.

Используя метод импульса, сеть стремится идти по дну "узких оврагов" поверхности ошибки (если таковые имеются), а не двигаться "от склона к склону". Этот метод, по-видимому, хорошо работает на некоторых задачах, но дает слабый или даже отрицательный эффект на других.

Существует сходный метод, основанный на экспоненциальном сглаживании, который может иметь преимущество в ряде приложений.

\Delta w_{pq,k}(n+1)=(1-\alpha)\delta_{q,k}OUT_{p,j}+\alpha\Delta w_{pq,k}(n).

Затем вычисляется изменение веса

w_{pq,k}(n+1)=w_{pq,k}(n)+\eta\Delta w_{pq,k}(n+1),

где \alpha — коэффициент сглаживания, варьируемый в диапазоне от 0,0 до 1,0. Если \alpha равен 1,0, то новая коррекция игнорируется и повторяется предыдущая. В области между 0 и 1 коррекция веса сглаживается величиной, пропорциональной \alpha. По-прежнему, \eta является коэффициентом скорости обучения, служащим для управления средней величиной изменения веса.

< Лекция 3 || Лекция 4: 12345 || Лекция 5 >