前述
在深度学习中,我们的训练模型是一个多层次的神经网络,每个节点对应一个激活函数,上一个Layer的输出就是下一个Layer的输入。这样的模型,非常像复合函数层层的依赖关系:可以把第一层Layer想象成g(x),则经过下一个Layer,函数就可以表示成f[g(x)]。依靠链式法则,我们可以简化对神经网络梯度下降优化参数时的计算,从而大大减少训练所需时间,这就是反向传播算法。可以说反向传播算法只是链式法则原理的一个应用。
为了在以后能记住反向传播原理,特将其推导过程记录如下,便于回忆。本文图片内容来源于台湾大学李宏毅教授的机器学习课程。本文的内容包含了很多个人的理解,如有纰漏或错误,还请指出。
台湾大学李宏毅反向传播视频资源:
https://www.youtube.com/watch?v=ibJpTrp5mcE
https://www.bilibili.com/video/av15889450/?p=11
台湾大学李宏毅反向传播课程pdf:
http://speech.ee.ntu.edu.tw/~tlkagk/courses/ML_2016/Lecture/BP.pdf
储备原理:梯度下降法 和 链式法则
虽然优化参数有两种方式:一种是直接解出最优解,另一种就是梯度下降法优化参数。我们平时说的训练模型其实就是指梯度下降法。在linear regression中,我们可以直接通过数学解出最优解,但在神经网络中,模型是复杂的,不能或难以通过直接求解的方法给出,因此梯度下降法就成了这