学习 / 神经网络 / 02

神经网络 · 第 02 条 · 训练机制

前向传播与反向传播

训练神经网络只有两个动作:前向传播算出预测,反向传播算出「每个参数该负多少责任」。剩下的都是这两步的循环。

难度 入门约 12 分钟前置:1 条更新 2026-09-28

前向传播:算出答案

数据从输入层出发,逐层做「加权求和 + 激活」,一直传到输出层,得到一个预测值。这一步没有学习,只是计算。

然后拿预测值和真实标签比较,算出一个损失值——这个数字代表「错得有多离谱」。

反向传播:分摊责任

现在的问题是:网络里有几百万甚至几千亿个参数,每一个都该往哪个方向调、调多少?

反向传播的答案是:从损失出发,沿着计算图倒着走,用链式法则算出「损失对每个参数的偏导数」。这个偏导数告诉你:这个参数稍微增大一点,损失会变大还是变小。

反向传播没有任何「智能」成分,它就是链式法则的一次高效应用。它的精妙之处在于复用中间结果——从输出层往回算,每一层的梯度都能用到上一层的计算结果,避免重复计算。这才是它让深度网络可训练的原因。
前向 → 算预测 反向 ← 分摊责任输入隐藏 1隐藏 2输出前向传播:算出预测值反向传播:把误差按链式法则分摊回每个权重
蓝箭头是前向(算预测),红箭头是反向(分摊责任)。反向那一路是整条链:误差要从最右边一层层传回最左边。链条越长,每过一层的衰减(或放大)就越累积——这就是梯度消失和爆炸的来源。

梯度消失与梯度爆炸

链式法则意味着梯度是一串乘积。当网络很深时:

这两个问题曾是深度网络难以训练的主要原因。后来的一系列改进——更合适的激活函数(ReLU 替代 Sigmoid)、批归一化、残差连接——本质上都在做同一件事:让梯度在深层网络里保持在一个健康的量级。

为什么这个机制重要

因为它决定了三件事:① 训练能不能收敛(梯度是否稳定)、② 训练要多久(每次迭代要算一遍完整的前向 + 反向)、③ 模型能有多深(梯度能不能传到底层)。

理解了这一点,就能理解为什么现代大模型的训练框架里,很多工程细节都在处理「梯度的通信和同步」——因为在分布式训练中,反向传播意味着大量的跨设备通信。

要点回顾
← 从一个神经元开始 损失函数与梯度下降 →