AI 学习笔记

梯度下降与反向传播

可复习 · 待写自己的解释

本章材料

Gradient descent, how neural networks learn | Deep Learning Chapter 23Blue1Brown · 从 0:00 开始 · 在 YouTube 打开连接损失地形、参数与梯度下降。尚未记录你卡住的具体时间点。

阅读:3Blue1Brown · What is backpropagation really doing?。

重点

  1. 前向传播先计算预测,损失函数再比较预测和目标。 损失是训练要降低的量,不是准确率。
  2. 反向传播计算梯度。 它沿计算关系向后使用链式法则,得到损失对每个参数的导数。
  3. 梯度下降使用梯度更新参数。 对参数 w,更新公式是 w新 = w旧 − 学习率 × 梯度。
  4. 山谷图是低维示意。 横轴代表可调整的参数,高度代表损失;真实网络需要同时处理许多参数。
由 Codex 根据 3Blue1Brown 的 Gradient descent 与 Backpropagation 课程核对后编写。下面的两权重算例是独立的教学例子。

难点

  • 梯度与负梯度的符号相反。 若题目已经给出负梯度,就用“旧参数 + 学习率 × 负梯度”,不要再减一次。
  • 导数描述局部敏感程度。 它不是给参数永久安排的增减方向;参数更新后,需要重新计算。
  • 降低训练损失不保证泛化更好。 还需要用未参与训练的数据评估。
  • 13,002 是该课程示例的权重和偏置总数,不是神经元个数,也不是只有权重。
对应上述两份课程。梯度下降不保证每一步都降低损失,也不保证找到全局最低点。

动手看

从梯度到参数更新 教学数值

固定输入 x = 1、目标 y = 1,初始 w₁ = 0.6、w₂ = 0.8。每次都从同一起点演示一步更新,不是连续训练。

前向计算:h = w₁ × x = 0.6;预测 ŷ = w₂ × h = 0.48。损失 L = ½(ŷ − y)² = 0.1352。

参数反向传播算出的梯度更新后:旧值 − η × 梯度
w₁-0.41600.6416
w₂-0.31200.8312

新预测:0.5333;新损失:0.1089。这一步使损失降低。

数值不来自真实模型。这个例子省略偏置和非线性激活,只解释链式法则和同时更新参数;真实神经网络的损失曲面更复杂。
展开:梯度是怎样算出来的?

这里 h = w₁x,ŷ = w₂h,L = ½(ŷ − y)²。

  • 损失对预测的导数是 ŷ − y = −0.52。
  • 对 w₂:梯度为 (ŷ − y) × h = −0.52 × 0.6 = −0.312。
  • 对 w₁:还要沿 h 的计算关系往回传,梯度为 (ŷ − y) × w₂ × x = −0.52 × 0.8 × 1 = −0.416。

这就是链式法则:沿影响路径把局部导数相乘。所有梯度都在更新前的同一个参数点计算,然后一起更新。

容易混淆的几个概念

概念做什么在本例里
前向传播使用当前参数计算预测得到 0.48
损失函数衡量预测和目标的差异得到 0.1352
反向传播计算损失对参数的梯度得到 −0.416、−0.312
梯度下降用梯度和学习率更新参数学习率 0.1 时得到 0.6416、0.8312

记法:先预测、算损失,再求梯度、改参数。

去 复习 回看自己的追问,或 检查理解。

来源

  • 原问题来自 ChatGPT「AI知识问答」(2026-10-29 归档,第 31–53 条中的 6 条消息);ChatGPT 当时的回答在「原始对话」标签,未经核校。
  • 3Blue1Brown · Gradient descent 与 Backpropagation(2026-10-30 核对)。
  • 解释、实验与测验由 Codex 编写。实验是人工设置的简化计算,不来自真实模型。

On this page