Основы теории нейронных сетей


Обучающий алгоритм обратного распространения - часть 6


Рассмотрим процесс обучения для одного веса от нейрона

p
в скрытом слое
j
к нейрону
q
в выходном слое
k
. Выход нейрона слоя
k
, вычитаемый из целевого значения (Target), дает сигнал ошибки. Он умножается на производную сжимающей функции
[OUT(1 - OUT)]
, вычисленную для этого нейрона слоя
k
, давая, таким образом, величину
\delta
.

 \delta=OUT (1-OUT)(Target-OUT).

(4)

Затем

\delta
умножается на величину
OUT
нейрона
j
, из которого выходит рассматриваемый вес. Это произведение, в свою очередь, умножается на коэффициент скорости обучения
\eta
(обычно от 0,01 до 1,0), и результат прибавляется к весу. Такая же процедура выполняется для каждого веса от нейрона скрытого слоя к нейрону в выходном слое.

Следующие уравнения иллюстрируют это вычисление:

 \Delta w_{pq,k}=\eta \delta_{q,k}OUT_{pj},

(5)

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

(6)

где

w_{pq,k}(n)
— величина веса от нейрона
p
в скрытом слое
k
к нейрону
q
в выходном слое на шаге
n
(до коррекции); отметим, что индекс
k
относится к слою, в котором заканчивается данный вес (т. е. к слою, с которым он объединен);
w_{pq,k}(n+1)
— величина веса на шаге
n + 1
(после коррекции);
\delta_{q,k}
— величина
\delta
для нейрона
q
, в выходном слое
k
;
OUT_{p,j}
— величина
OUT
для нейрона
p
в скрытом слое
j
.

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

\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
и подстроены все веса, ассоциированные с этим слоем. Этот процесс повторяется слой за слоем по направлению к входу, пока все веса не будут подкорректированы.




Начало  Назад  Вперед



Книжный магазин