神经网络反向传播方法

一个神经网络的符号及相关函数定义如下图:

例如一个实际的神经网络如下图表示:


走一边正向传播如下图


同理可以得到


最终得到的损失为:


训练目标是使得损失达到最小,这也就是反向传播的来历。反向传播实际上用到的是梯度(沿梯度方向下降最快)下降法中的链式原理。


这时候我们针对W求偏导,然后得到下面的公式:


将上式中插入激活函数:


可以看出对于不同的激活函数求导结果是不一样的(梯度消失梯度爆炸可以在这里了解)

同理还有下面


此时我们已经得到了最后一层的偏导数,基于这一层继续往前面进行链式求偏导数。

此时我们还需要w31,w32,w41,w42下面给出其中一个推导,其他完全类似:


最终结果可以得到


按照反向传播求出来的w参数,在进行正向传播,得出来的error为0.165

这个值比第一次求出来的0.19要小,所以继续反向传播求参数w,不断的正向反向传播如此迭代,得到最后的权值为下图