反向传播算法的数学理解实例

神经网络的训练分为前馈和反向两部分,前馈是指在给定权重和神经单元的数值时,计算出下一层神经单元的数值以及其对应在**函数下的输出指。
反向传播算法的数学理解实例

h1结点值neth1由i1、i2和b1决定,其输出值outh1是neth1在sigmoid函数作用下的值,同理可得到outh2,
o1的结点值由outh1、outh2和b2决定,其输出值也是在sigmoid函数作用下的值,同理可得到outo2。
损失函数是o1结点的损失和o2结点的损失之和。若想调整o1结点的损失,可以改变这条路径上权值的大小,比如w5对o1结点损失的影响,就可以这样理解:
当w5有微小改变时,o1的值会改变,随之outo1的值也会改变,损失函数E=Eo1+Eo2,w5的改变也会导致Eo1的改变,继而改变整体的损失函数。
反向传播算法的数学理解实例
然后根据公式改变w5的权重值,如下图所示:
反向传播算法的数学理解实例
以上 是反向传播算法对隐藏层中权重值w5的改变,如果是第一层的w1呢,w1的微小改变,首先会影响h1和outh1,继而间接影响o1和outo1的值,从而改变损失函数,而outh1的改变不仅影响了Eo1,还影响了Eo2,所以

反向传播算法的数学理解实例
其它的依次类推,反向传播主要是多元求导+梯度下降。
在B站看到了很好很形象的介绍:
深度学习之神经网络的结构 Part 1 ver 2.0
深度学习之梯度下降法 Part 2 ver 0.9 beta
深度学习之反向传播算法 上/下 Part 3 ver 0.9 beta