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