19.11.2014 Views

На правах рукописи

На правах рукописи

На правах рукописи

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

∂E<br />

∂w<br />

∂a<br />

p<br />

p<br />

p[<br />

n]<br />

p<br />

p<br />

( w)<br />

∂E<br />

( w)<br />

i ∂E<br />

( w)<br />

p[<br />

n]<br />

∂E<br />

( w)<br />

p[<br />

n−1]<br />

p[<br />

n]<br />

p[<br />

n−1]<br />

= ⋅ = x =<br />

≡ −<br />

[ ]<br />

[ ] [ n]<br />

p[<br />

n]<br />

j<br />

o<br />

n<br />

p n<br />

p[<br />

n]<br />

j<br />

i<br />

o<br />

j<br />

ji<br />

∂ai<br />

∂w<br />

ji<br />

∂ai<br />

∂ai<br />

22<br />

δ (9)<br />

p[n]<br />

где: величина − , называемая иногда невязкой нейрона, обозначает частную<br />

δ i<br />

производную функционала ошибки для p-ого объекта из обучающей выборки<br />

по отношению к сетевому входу нейрона i, находящегося в слое n (знак минуса<br />

p[ −1]<br />

взят для совместимости с принятыми в литературе обозначениями); o n - выходной<br />

сигнал находящегося в слое n-1 нейрона j для p-ого объекта из обучающей<br />

выборки. Таким образом, частная производная функционала ошибки нейросети<br />

по отношению к весу связи равна произведению выхода находящегося в<br />

предыдущем слое нейрона, из которого выходит данная связь, на невязку нейрона<br />

следующего слоя, в который входит данная связь.<br />

Из вышеизложенного следует, что для вычисления градиента ошибки необходимо<br />

рассчитать значения выходов и невязок всех нейронов. Поскольку<br />

нейросеть обратного распространения (многослойный персептрон) устроен таким<br />

образом, что каждый нейрон (кроме входных псевдонейронов и псевдонейронов<br />

смещения) получает сигнал из нейронов предыдущего слоя, то вычисление<br />

выходов нейронов производится по формулам (1) и (3) последовательно<br />

при движении от входного к выходному слою. Подобную последовательность<br />

вычислений называют прямым распространением сигнала. В противоположность<br />

этому, расчет невязок нейронов производится в обратном направлении<br />

при движении от выходного слоя к входному (обратное распространение<br />

ошибки).<br />

Действительно, для нейронов выходного слоя, дифференцируя выражение<br />

(7), имеем:<br />

p<br />

K<br />

p[<br />

N ]<br />

p[ N ] ∂E<br />

( w)<br />

∂ 1 p p[<br />

N ] 2 ∂oi<br />

p p[<br />

N ]<br />

p[<br />

N ] p p[<br />

N ]<br />

δ<br />

i<br />

= − = − ( ) ( ) '( )( )<br />

p[<br />

N ]<br />

p[<br />

N ] ∑ d<br />

k<br />

− ok<br />

= d<br />

p[<br />

N ] i<br />

− oi<br />

≡ f ai<br />

di<br />

− oi<br />

,(10)<br />

∂a<br />

∂a<br />

2<br />

∂a<br />

i<br />

i<br />

k=<br />

1<br />

Для остальных нейронов, применяя цепное правило дифференцирования<br />

к формуле (1) и опуская некоторые тривиальные промежуточные преобразования,<br />

получаем:<br />

∂<br />

∂a<br />

∂x<br />

p[<br />

n]<br />

δ = −<br />

(11)<br />

i<br />

p<br />

p<br />

p[<br />

n+<br />

1] p[<br />

n+<br />

1]<br />

E ( w)<br />

∂E<br />

( w)<br />

j<br />

j<br />

p[<br />

n]<br />

[ n+<br />

1] [ n+<br />

1]<br />

= −∑<br />

⋅ ⋅ = f '( a<br />

p n<br />

p n+ p n+<br />

p n<br />

i<br />

) ∑wij<br />

δ<br />

[ ]<br />

[ 1] [ 1] [ ]<br />

j<br />

∂ai<br />

j ∂a<br />

j<br />

∂x<br />

j<br />

∂ai<br />

j<br />

i<br />

j

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!