反向传播算法(一)
1. 回顾
在上一讲中,我们主要讲解了利用梯度下降法求解人工神经网络目标函数的局部极值的原理,在这个一讲中,我们将针对一个具体的神经网络讲解梯度下降法的具体求解过程。
2. 反向传播算法
我们仍然来看这个简单的神经网络,前面讲到了这个神经网络待估计的参数共有9个,它们分别是 ( w 11 , w 12 , w 21 , w 22 , w 1 , w 2 , b 1 , b 2 , b 3 ) (w_{11},w_{12},w_{21},w_{22},w_1,w_2,b_1,b_2,b_3) (w11,w12,w21,w22,w1,w2,b1,b2,b3)
假设目标函数为:
M i n i m i z e : E ( w , b ) = 1 2 ( y − Y ) 2 Minimize:E(w,b)=\frac12(y-Y)^2 Minimize:E(w,b)=21(y−Y)2
而 y y y 的计算是按如下公式获得的:
a 1 = ω 11 x 1 + ω 12 x 2 + b 1 a_1=ω_{11}x_1+ω_{12}x_2+b_1 a1=ω11x1+ω12x2+b1(第一个神经元)
a 2 = ω 21 x 1 + ω 22 x 2 + b 2 a_2=ω_{21}x_1+ω_{22}x_2+b_2 a2=ω21x1+ω22x2+b2(第二个神经元)
z 1 = φ ( a 1 ) z_1=φ(a_1) z1=φ(a1)(非线性函数)
z 2 = φ ( a 2 ) z_2=φ(a_2) z2=φ(a2)(非线性函数)
y = ω 1 z 1 + ω 2 z 2 + b 3 y=ω_1z_1+ω_2z_2+b_3 y=ω1z1+ω2z2+b3(第三个神经元)
那么相应地梯度下降法也要求我们求如下9个偏导数,分别是 ( ∂ E ∂ w 11 , ∂ E ∂ w 12 , ∂ E ∂ w 21 , ∂ E ∂ w 22 , ∂ E ∂ w 1 , ∂ E ∂ w 2 , ∂ E ∂ b 1 , ∂ E ∂ b 2 , ∂ E ∂ b 3 ) (\frac{∂E}{∂w_{11}},\frac{∂E}{∂w_{12}},\frac{∂E}{∂w_{21}},\frac{∂E}{∂w_{22}},\frac{∂E}{∂w_1},\frac{∂E}{∂w_2},\frac{∂E}{∂b_1},\frac{∂E}{∂b_2},\frac{∂E}{∂b_3}) (∂w11∂E,∂w12∂E,∂w21∂E,∂w22∂E,∂w1∂E,∂w2∂E,∂b1∂E,∂b2∂E,