摘要:反向传播指的是计算神经网络参数梯度的方法。
本文分享自华为云社区《反向传播与梯度下降详解》,作者:嵌入式视觉 。
一,前向传播与反向传播
1.1,神经网络训练过程
神经网络训练过程是:
- 先通过随机参数“猜“一个结果(模型前向传播过程),这里称为预测结果 a;
- 然后计算 a 与样本标签值 y 的差距(即损失函数的计算过程);
- 随后通过反向传播算法更新神经元参数,使用新的参数再试一次,这一次就不是“猜”了,而是有依据地向正确的方向靠近,毕竟参数的调整是有策略的(基于梯度下降策略)。
以上步骤如此反复多次,一直到预测结果和真实结果之间相差无几,亦即 ∣a−y∣→0,则训练结束。
1.2,前向传播
前向传播(forward propagation 或 forward pass)指的是: 按顺序(从输入层到输出层)计算和存储神经网络中每层的结果。
为了更深入理解前向传播的计算过程,我们可以根据网络结构绘制网络的前向传播计算图。下图是简单网络与对应的计算图示例: