AI 术语表 · 基础 · 语言模型
反向传播
反向传播是一种方法:把神经网络给出的答案与正确答案之间的差距(误差)从输出层向输入层反向传递,计算每个权重对误差负有多大责任。再根据这些值调整权重,从而训练神经网络。
通俗解释 这类似于团队项目结果不理想时,从最后一位负责人开始倒推,逐一分析“谁的哪个决定对结果产生了多大影响”,并给每个人反馈,让大家下次各自稍作调整。
工作原理
首先让输入从前到后通过神经网络,得到预测值(前向传播)。用损失函数计算预测值与正确答案之间的差距,把“错了多少”变成一个数字。接着把这个误差从输出层反向传递到前面的各层,同时计算每个权重稍作改变时误差会变化多少(梯度)。最后用梯度下降朝误差减小的方向一点点调整权重,并将这一过程重复无数次。
为什么重要
多层神经网络的权重数量极其庞大,逐个单独试验来调整几乎不可能。反向传播只需一次反向计算,就能高效求出所有权重的梯度。正因如此,深层神经网络才真正能够被训练,如今包括 LLM 在内的几乎所有深度学习模型都用这种方式训练。
注意事项
反向传播是“计算梯度的方法”,而用梯度实际调整权重,则是梯度下降等优化方法的任务。层数非常深时,反向传递的信号可能逐渐变小(梯度消失)或变大(梯度爆炸),因此要通过选择激活函数或设计架构来缓解。它只在训练时使用,在使用训练好的模型进行推理的阶段只做前向传播。
示例
当图像分类模型把猫的照片错答为“狗”时,反向传播会沿着这个误差反向追溯,计算出哪些权重让结果偏向了“狗”。在 PyTorch 等深度学习工具中,这一计算是自动完成的,开发者算出损失后,只需一行命令就能执行反向传播。