图
符号
xij
x
i
j
:第j行数据,第i个神经元输入
wlij w i j l :第l层的第i个神经元的到第l+1层的第j个神经元的权重
bl b l :第l层的偏置bias
zli z i l :第l层第i个神经元的的输入
ali a i l :第I层第i个神经元的输出
σ() σ ( ) :激活函数
δli δ i l :第I层第i个神经元的的误差
推导
向前传播
第一层
a(1)1=x1j a 1 ( 1 ) = x 1 j
a(1)2=x2j a 2 ( 1 ) = x 2 j
第二层
z(2)1=a(1)1w(1)1+a(1)2w(1)3+b1=x1jw(1)1+x2jw(1)3+b1 z 1 ( 2 ) = a 1 ( 1 ) w 1 ( 1 ) + a 2 ( 1 ) w 3 ( 1 ) + b 1 = x 1 j w 1 ( 1 ) + x 2 j w 3 ( 1 ) + b 1
z(2)2=a(1)1w(1)2+a(1)2w(1)4+b1=x1jw(1)2+x2jw(1)4+b1 z 2 ( 2 ) = a 1 ( 1 ) w 2 ( 1 ) + a 2 ( 1 ) w 4 ( 1 ) + b 1 = x 1 j w 2 ( 1 ) + x 2 j w 4 ( 1 ) + b 1
a(2)1=σ(z(2)1)=σ(x1jw(1)1+x2jw(1)3+b1) a 1 ( 2 ) = σ ( z 1 ( 2 ) ) = σ ( x 1 j w 1 ( 1 ) + x 2 j w 3 ( 1 ) + b 1 )
a(2)2=σ(z(2)2)=σ(x1jw(1)2+x2jw(1)4+b1) a 2 ( 2 ) = σ ( z 2 ( 2 ) ) = σ ( x 1 j w 2 ( 1 ) + x 2 j w 4 ( 1 ) + b 1 )
第三层
z(3)1=a(2)1w(2)1+a(2)2w(2)3+b2=σ(x1jw(1)1+x2jw(1)3+b1)w(2)1+σ(x1jw(1)2+x2jw(1)4+b1)w(2)3+b2 z 1 ( 3 ) = a 1 ( 2 ) w 1 ( 2 ) + a 2 ( 2 ) w 3 ( 2 ) + b 2 = σ ( x 1 j w 1 ( 1 ) + x 2 j w 3 ( 1 ) + b 1 ) w 1 ( 2 ) + σ ( x 1 j w 2 ( 1 ) + x 2 j w 4 ( 1 ) + b 1 ) w 3 ( 2 ) + b 2
z(3)2=a(2)1w(2)2+a(2)2w(2)4+b2=σ(x1jw(1)1+x2jw(1)3+b1)w(2)2+σ(x1jw(1)2+x2jw(1)4+b1)w(2)4+b2 z 2 ( 3 ) = a 1 ( 2 ) w 2 ( 2 ) + a 2 ( 2 ) w 4 ( 2 ) + b 2 = σ ( x 1 j w 1 ( 1 ) + x 2 j w 3 ( 1 ) + b 1 ) w 2 ( 2 ) + σ ( x 1 j w 2 ( 1 ) + x 2 j w 4 ( 1 ) + b 1 ) w 4 ( 2 ) + b 2
a(3)1=σ(z(3)1)=σ(σ(x1jw(1)1+x2jw(1)3+b1)w(2)1+σ(x1jw(1)2+x2jw(1)4+b1)w(2)3+b2) a 1 ( 3 ) = σ ( z 1 ( 3 ) ) = σ ( σ ( x 1 j w 1 ( 1 ) + x 2 j w 3 ( 1 ) + b 1 ) w 1 ( 2 ) + σ ( x 1 j w 2 ( 1 ) + x 2 j w 4 ( 1 ) + b 1 ) w 3 ( 2 ) + b 2 )
a(3)2=σ(z(3)2)=σ(σ(x1jw(1)1+x2jw(1)3+b1)w(2)2+σ(x1jw(1)2+x2jw(1)4+b1)w(2)4+b2) a 2 ( 3 ) = σ ( z 2 ( 3 ) ) = σ ( σ ( x 1 j w 1 ( 1 ) + x 2 j w 3 ( 1 ) + b 1 ) w 2 ( 2 ) + σ ( x 1 j w 2 ( 1 ) + x 2 j w 4 ( 1 ) + b 1 ) w 4 ( 2 ) + b 2 )
反向传播
对每一层的残差求导,求梯度,更新权重。
w=w-\alpha {{\partial E}\over \partial w}
对第三层-第二层权重更新
Etoatal=E(3)1+E(3)2 E t o a t a l = E 1 ( 3 ) + E 2 ( 3 ) = 12(y−a(3)1)2+12(y−a(3)2)2=12(y−[σ(z31)]])2+12(y−[σ(z(3)2)])2 1 2 ( y − a 1 ( 3 ) ) 2 + 1 2 ( y − a 2 ( 3 ) ) 2 = 1 2 ( y − [ σ ( z 1 3 ) ] ] ) 2 + 1 2 ( y − [ σ ( z 2 ( 3 ) ) ] ) 2
对 w21 w 1 2 取值更新,也就是先对 w21 w 1 2 求导,通过链式法则得到
∂Etotal∂w(2)1=∂[12(y−a(3)1)2+12(y−a(3)2)2]∂a(3)1∗∂[σ(z(3)1)]∂z(3)1∗∂(a(2)1w(2)1+a(2)2w(2)3+b2)∂w(2)1 ∂ E t o t a l ∂ w 1 ( 2 ) = ∂ [ 1 2 ( y − a 1 ( 3 ) ) 2 + 1 2 ( y − a 2 ( 3 ) ) 2 ] ∂ a 1 ( 3 ) ∗ ∂ [ σ ( z 1 ( 3 ) ) ] ∂ z 1 ( 3 ) ∗ ∂ ( a 1 ( 2 ) w 1 ( 2 ) + a 2 ( 2 ) w 3 ( 2 ) + b 2 ) ∂ w 1 ( 2 )
=(a(3)1−y)∗σ(z(3)1)′∗a(2)1 = ( a 1 ( 3 ) − y ) ∗ σ ( z 1 ( 3 ) ) ′ ∗ a 1 ( 2 )
对第二层-第一层权重更新
∂Etotal∂w(1)1=∂Etotal∂a(2)1∗∂σ(z(2)1)∂z(2)1∗∂(a(1)1w(1)1+a(1)2w(1)3+b1)∂w(1)1 ∂ E t o t a l ∂ w 1 ( 1 ) = ∂ E t o t a l ∂ a 1 ( 2 ) ∗ ∂ σ ( z 1 ( 2 ) ) ∂ z 1 ( 2 ) ∗ ∂ ( a 1 ( 1 ) w 1 ( 1 ) + a 2 ( 1 ) w 3 ( 1 ) + b 1 ) ∂ w 1 ( 1 )
∂Etotal∂a(2)1=E(3)1∂a(2)1+E(3)1∂a(2)1=∂[12(y−a(3)1)2]∂a(3)1∗∂[σ(z(3)1)]∂z(3)1∗∂(a(2)1w(2)1+a(2)2w(2)3+b2)∂a(2)1+∂[12(y−a(3)2)2]∂a(3)2∗∂[σ(z(3)2)]∂z(3)2∗∂(a(2)1w(2)2+a(2)2w(2)4+b2)∂a(2)1 ∂ E t o t a l ∂ a 1 ( 2 ) = E 1 ( 3 ) ∂ a 1 ( 2 ) + E 1 ( 3 ) ∂ a 1 ( 2 ) = ∂ [ 1 2 ( y − a 1 ( 3 ) ) 2 ] ∂ a 1 ( 3 ) ∗ ∂ [ σ ( z 1 ( 3 ) ) ] ∂ z 1 ( 3 ) ∗ ∂ ( a 1 ( 2 ) w 1 ( 2 ) + a 2 ( 2 ) w 3 ( 2 ) + b 2 ) ∂ a 1 ( 2 ) + ∂ [ 1 2 ( y − a 2 ( 3 ) ) 2 ] ∂ a 2 ( 3 ) ∗ ∂ [ σ ( z 2 ( 3 ) ) ] ∂ z 2 ( 3 ) ∗ ∂ ( a 1 ( 2 ) w 2 ( 2 ) + a 2 ( 2 ) w 4 ( 2 ) + b 2 ) ∂ a 1 ( 2 )
=(a(3)1−y)∗σ(z(3)1)′∗w(2)1+(a(3)2−y)∗σ(z(3)2)′∗w(2)2 = ( a 1 ( 3 ) − y ) ∗ σ ( z 1 ( 3 ) ) ′ ∗ w 1 ( 2 ) + ( a 2 ( 3 ) − y ) ∗ σ ( z 2 ( 3 ) ) ′ ∗ w 2 ( 2 )
∂Etotal∂w(1)1=∂Etotal∂a(2)1∗∂σ(z(2)1)∂z(2)1∗∂(a(1)1w(1)1+a(1)2w(1)3+b1)∂w(1)1 ∂ E t o t a l ∂ w 1 ( 1 ) = ∂ E t o t a l ∂ a 1 ( 2 ) ∗ ∂ σ ( z 1 ( 2 ) ) ∂ z 1 ( 2 ) ∗ ∂ ( a 1 ( 1 ) w 1 ( 1 ) + a 2 ( 1 ) w 3 ( 1 ) + b 1 ) ∂ w 1 ( 1 )
=[(a(3)1−y)∗σ(z(3)1)′∗w(2)1+(a(3)2−y)∗σ(z(3)2)′∗w(2)2]∗σ(z(2)1)′a(1)1 = [ ( a 1 ( 3 ) − y ) ∗ σ ( z 1 ( 3 ) ) ′ ∗ w 1 ( 2 ) + ( a 2 ( 3 ) − y ) ∗ σ ( z 2 ( 3 ) ) ′ ∗ w 2 ( 2 ) ] ∗ σ ( z 1 ( 2 ) ) ′ a 1 ( 1 )