一个全新的神经网络在训练之前实际上是没有用的——它内部的数字(权重)一开始是随机的,所以它的猜测也是随机的。反向传播是把这种随机性变成技能的过程。这既不是魔法也不是神秘的东西——它是一个精确、可重复的计算,被执行了数百万次。
研究生拓展
前向传播:产生一个猜测
每一次预测都从一次“前向传播”开始:输入数据逐层通过网络,每个连接都把信号乘以它当前的权重,直到最后一层产生一个输出。在训练开始时,权重是随机的,这个输出几乎毫无意义。但它是一个真实、具体的猜测,这正是让下一步成为可能的关键:你可以把它和答案本应是什么进行比较。
精确测量猜测错得有多远
这次比较会产生一个数字——损失——它衡量网络的输出与正确答案相差多远。较小的损失意味着好的猜测;较大的损失意味着糟糕的猜测。损失不仅仅是一张成绩单——它是下一步的起点。
反向传播:分配责任
这一步给了这个算法它的名字。使用微积分(逐层应用的链式法则),误差被沿着网络反向追溯——从输出,反向穿过每个隐藏层,直到输入——精确计算出每一个权重对最终误差的贡献。
信息向前流动以产生一个猜测;误差信号随后沿着这些相同的连接反向流动,精确地告诉每个权重它对误差的贡献。
新权重 = 旧权重 − (学习率 × 该权重对误差的贡献)
一个已解算例:一个权重,一步
把一切简化到最简单的可能情形——一个单一输入喂给一个没有激活函数的单一权重——整个循环就变成了纯算术。设输入x = 2,当前权重w = 0.5,目标输出y = 3,学习率η = 0.1:
- 前向传播:预测 ŷ = w × x = 0.5 × 2 = 1
- 损失(平方误差):L = (ŷ − y)² = (1 − 3)² = 4
- 反向传播(链式法则):dL/dw = 2(ŷ − y) × x = 2(1 − 3)(2) = −8
- 权重更新:w_new = w − η × dL/dw = 0.5 − 0.1 × (−8) = 1.3
验证一下是否奏效:使用新权重后,预测变为1.3 × 2 = 2.6——比原来的预测1更接近目标3。朝着正确方向迈出了一步,幅度恰好是数学所规定的量。真实的网络会重复同样的算术运算,只不过有成千上万个权重,以及多层链式法则,而不是只有一个。
“学习率”控制着每次变化的幅度——太大会让训练变得不稳定;太小会让训练拖得很长。把这个循环在足够多的例子上重复足够多次,最初随机的权重就会逐渐重新组织成真正能捕捉数据中真实模式的东西。
考试式问题
一个单权重网络的输入为x = 3,当前权重w = 1,目标输出y = 10,学习率η = 0.05。使用平方误差损失,求经过一次梯度下降步骤后更新的权重。 [4分]
显示范例答案与得分点
- 前向传播:ŷ = w × x = 1 × 3 = 3 (1分)
- 损失:L = (ŷ − y)² = (3 − 10)² = 49 (1分)
- 梯度:dL/dw = 2(ŷ − y) × x = 2(3 − 10)(3) = −42 (1分)
- 更新:w_new = w − η × dL/dw = 1 − 0.05 × (−42) = 1 + 2.1 = 3.1 (1分)
考官关注的重点: 小心保留符号——负梯度意味着权重应该增大,所以减去一个负数才是让它真正变大的原因。
常见错误: 在对平方误差求导时漏掉了系数2,或者把η × dL/dw加上而不是减去(这会把权重推向错误的方向,使损失变得更差而不是更好)。
亲眼看着它真正发生
阅读关于反向传播的文字只能带你到某个程度——下面这个版本是谷歌TensorFlow Playground的真实实时版本,嵌入的方式与playground.tensorflow.org上运行的完全一样。按下播放,看一个从随机权重开始的真实网络,通过反复的前向/反向传播循环,逐渐雕刻出一条决策边界。
This is the real thing, not a screenshot — click ▶ (top left of the embed) to actually train this network and watch the decision boundary reshape itself as backpropagation runs. Built by the TensorFlow team at Google; open it full-screen here.
为什么这超越考试而真正重要
你接触到的每一个大型语言模型、每一个图像分类器、每一个推荐系统,都正是被这同一个循环塑造而成的,执行的次数几乎无法想象。如果AI背后的数学是您想要精确理解、而不是当作黑箱接受的东西,这正是我们研究生个别指导所涵盖的内容,您可以在这里查看完整的学习路径。
常见问题
这真的像人脑学习的方式吗?
不是——“神经网络”这个名字借用了大脑的名称和结构的模糊轮廓,但反向传播本身是一种数学优化技术,没有已知的生物学对应物。真正的神经元不会像这个算法那样,把错误信号沿着自己的连接反向发送。这个名字是一种灵感,不是对生物学精确性的宣称。
为什么它被称为“梯度下降”?
把误差想象成一片由丘陵和山谷组成的地形,其中每一组可能的权重都是一个位置,而海拔代表网络当前有多错误。“沿着梯度下降”意味着始终朝着从你当前位置下降最快的方向前进——这正是对每个权重进行计算调整的操作,重复数千次或数百万次。
为什么有时候需要这么大的努力才能正确训练一个网络?
每一次传递都只会让权重移动一点,这是故意的——一大步可能会越过一个好的解,让情况变得更糟。真正的网络会在整个训练集上重复这个小调整多次(每一次完整的传递称为一个“周期”),这解释了为什么训练一个认真的模型可能需要数小时、数天甚至数周的计算时间。
读者评分与评价
从多个维度为这篇文章打分——您的评价既能帮助其他读者,也能帮助我们不断改进。
这篇文章对您有帮助吗?
告诉我们您的想法——可以是需要更正的地方、尚未解答的问题,或您希望我们接下来讲解的主题。
想直接沟通吗? 在方便的时间预约免费视频通话:简短问题15分钟,其他问题30分钟。时间以您所在的时区显示。

关于作者
Sudershan Soni
Mostak Services 的创始人兼首席导师——拥有硕士学位的数学、科学、计算机科学与 STEM 导师,拥有超过20年的职业经验,通过在线授课为全球从 11+ 和 GCSE 到 A-Level 及更高阶段的学生提供教学。
阅读完整履历