上一篇博客介绍了深度学习的历史和思想,本篇博客将介绍在神经网络计算中常用的反向传播算法。
目录
复习
Gradient Descent
在学习反向传播算法之前重新回归一下梯度下降算法,在神经网络求解最优化Loss function所使用的方法就是梯度下降算法,反向传播算法能够在神经网络计算中更高效地计算。
链式求导法则
在神经网络中,因为有着多个隐藏层,所以在计算偏导数的过程中要使用到链式求导法则。
Backpropagation
反向传播算法介绍
Backpropagation的目的是极小化Loss function
,即是每一笔data的loss function
之和,因此计算
的偏微分等价于计算每一笔
的偏微分,再将之加总。现在对一个观测拿出红色三角区域部分进行分析。
根据链式求导法则
,其中
,因此
可以很轻松计求解。
接下来我们开始计算
部分,如下图所示,
现在开始计算 和 ——
- 如果
是最后一个神经元的input
- 如果
不是最后一个神经元的input
从后面逆向算,先算
,此时
,依此类推可以一直算到第一层。