一个神经网络的符号及相关函数定义如下图:
例如一个实际的神经网络如下图表示:
走一边正向传播如下图
同理可以得到
最终得到的损失为:
训练目标是使得损失达到最小,这也就是反向传播的来历。反向传播实际上用到的是梯度(沿梯度方向下降最快)下降法中的链式原理。
这时候我们针对W求偏导,然后得到下面的公式:
将上式中插入激活函数:
可以看出对于不同的激活函数求导结果是不一样的(梯度消失梯度爆炸可以在这里了解)
同理还有下面
此时我们已经得到了最后一层的偏导数,基于这一层继续往前面进行链式求偏导数。
此时我们还需要w31,w32,w41,w42下面给出其中一个推导,其他完全类似:
最终结果可以得到
按照反向传播求出来的w参数,在进行正向传播,得出来的error为0.165
这个值比第一次求出来的0.19要小,所以继续反向传播求参数w,不断的正向反向传播如此迭代,得到最后的权值为下图