一、为什么要做反向传播?

反向传播是深度学习模型能 “学会” 东西的核心环节。

反向传播的步骤如下:

  1. 计算损失函数(Loss(W))对各个参数(权重矩阵中的各个矩阵元素)的梯度(偏导数,因为参数很多很多)。
  2. 根据每个参数的偏导数值,来调整参数,使损失变小(具体调整做法在下面)。

二、反向传播的作用

  • 1.通过链式法则,计算出了偏导数

反向传播通过链式法则,从输出层往输入层回溯,精准算出误差对每个参数的偏导数。

注意,公式右边的计算需要用到输入特征X和预测结果Y,因此在做反向传播之前,要先进行一次前向传播。


  • 2.指导参数调大还是调小,以及调整幅度

梯度值,比如梯度为2,我们要提取两个信息:

  • 正负
  • 大小

梯度为正,参数需减小以降低误差;梯度为负,参数需增大以降低误差。

具体的更新公式为:参数 = 参数 - 学习率 × 梯度。

梯度越大,参数当前对误差影响越大。


Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐