引言
神经网络的训练主要由三个部分组成:1) 网络模型;2) 损失函数;3) 参数学习算法。
我们今天的主角,反向传播算法(Back Propagation Algorithm,BP Algorithm),常与参数优化算法(譬如梯度下降法等)结合使用,属于参数学习算法的一部分(或者说是参数学习算法的好搭档,取决于你怎么理解“参数学习算法”这一概念)。该算法会对网络中所有权重计算损失函数的梯度,并反馈给参数优化算法用以更新权重。
对于反向传播算法,有两个常见的误区在这里澄清一下:
- 反向传播算法是梯度计算方法,而不是参数学习算法
- 反向传播算法理论上可以用于计算任何函数的梯度,而不是仅仅用于多层神经网络
本文会从“维度相容”的角度介绍快速矩阵求导和反向传播算法。