反向传输
简介
上一章介绍了使用梯度下降法求目标损失函数的最小值。在神经网络模型中反向传播算法的作用就是要求出这个梯度值,从而后续用梯度下降去更新模型参数。反向传播算法从模型的输出层开始,利用函数求导的链式法则,逐层从后向前求出模型梯度。使用反向计算可以避免重复计算,从而加快计算速度。优化的对象是参数,反向传播算法是一种优化参数的方法。
链式法则
根据链式法则公式:
计算整体梯度可以求出每一个局部梯度将结果相乘。
上图中绿色的数字为正向计算结果,下面的红色数字为得到的局部梯度,从后往前递归地向前计算梯度。
对几种不同的门:
加法门不改变梯度,乘法门交换梯度,最大值门梯度只传递给最大值。
上述讨论的输入都是一维标量的情况,下面讨论在高维时如何对向量进行计算。
向量的计算和标量的计算是相似的,只是引入了Jacobian 矩阵用于储存梯度。