1.1 为什么要用 Backpropagation
在神经网络中求解最优模型参数,使用的梯度下降算法和之前求线性回归方程中用的没有太大的区别,都是不断的计算微分,然后更新参数,最终找到一个最优解。但是在神经网络中,有着大量可能多达上百万个的参数,所以传统的求微分方法行不通,计算量太大无法快速有效的求出微分。
1.2原理的数学基础,链式求导法则
Backprogation 中设计的最重要的数学知识就是 chain rule,通过下面的图片回顾一下。这个都不会就要回去读高中了。
2 Backpropagation
1.Forward Pass: 算出每一层的输出 a,也就是 ∂z/∂w
2.Backward Pass: 反转神经网络,从输出层往回计算每一层的 ∂C/∂z.
3.根据forward pass与backward pass前面算出来的两项,得到 ∂C/∂w.