AI导航

反向传播是什么?大模型训练时误差如何一层层传回去

AI百科
2 min read
0 次阅读

反向传播是神经网络训练时算梯度的核心算法。模型先用前向传播算出预测,再把预测和正确答案之间的误差,沿着网络一层一层往回传,算出每个参数对这份误差“负多少责任”,最后把这些责任交给梯度下降去更新参数。它本身不直接改参数,只负责高效地算出梯度。没有它,几千亿参数的大模型每次训练要算的梯度根本算不起,深度学习也就无从谈起。

误差是怎么一步步传回去的

先正向走一遍:输入经过每一层变换得到预测,再用损失函数算出误差有多大,分类任务常用交叉熵来衡量这份误差。然后反向传播登场:它从输出层出发,借助链式法则把梯度逐层往回乘——每经过一层,就乘上这一层对输入的导数,激活函数的导数也在这个环节参与计算。传到哪一层,哪一层参数的梯度就有了。拿到全部梯度后,梯度下降按学习率把参数往误差减小的方向挪一小步,一轮训练就此完成。整个过程只依赖求导规则,不需要逐个参数去试,所以哪怕参数以亿计,也能在一次前向、一次反向后全部更新。

反向传播不是训练本身,别把它和三件事搞混

第一,它不等于梯度下降:反向传播算梯度,梯度下降用梯度更新参数,两者分工不同,缺一不可。第二,它不是唯一的求导办法:数值微分是逐个参数加微小扰动、看输出变化,参数一多就慢得没法用,反向传播靠链式法则一次算全,才撑得起深度网络。第三,推理时用不到它:模型回答问题只走前向传播,反向传播只在训练时出现。还有一个常见误解:它并不能解决梯度消失——误差传得越远、乘的导数越多,梯度可能越缩越小,深层参数几乎学不到东西,这个问题要靠残差连接、归一化等结构来缓解。

普通人什么时候会碰到它

直接碰到的场景不多,但训练大模型时处处是它:反向传播要保存中间结果,显存占用大半来自它,所以训练才需要混合精度、梯度检查点这些省显存的办法。用 PyTorch 这类框架训练时,loss.backward() 那一行代码就是在触发反向传播。判断一个训练讲解靠不靠谱,也可以看它有没有讲清这条链:前向算预测、损失定误差、反向传梯度、梯度下降更新参数——四步缺一不可,少了任何一步,训练都转不起来。

推荐工具

NVIDIA Chat with RTX AI聊天 Chat with RTX 是 NVIDIA 面向 RTX 电脑的本地 AI 聊天工具,可围绕本地文档和视频资料做问答,适合重视隐私、离线检索并具备硬件条件的用户更适合资料不便上传云 弱鸡AI AI视频 低价AI视频生成聚合平台,seedance2.0,seedance2.5,minimax h3,wan,muse等视频生成模型,支持在线创作与 API 接入。 HuggingChat AI聊天 HuggingChat 是 Hugging Face 的开源模型聊天应用,支持 Omni 自动选模型,也可手动选社区开放模型对话。它适合体验开源模型、技术探索和问答,结果可能不稳定,重要内容需复核。 纳米AI搜索 AI搜索 纳米AI 是 360 旗下 AI 搜索和智能体入口,支持文字、语音、拍照提问、多模型协作与内容创作,适合中文用户做日常搜索、学习问答、移动查询、热点追踪、生活决策、知识整理和轻量创作。 Qwen Chat(通义千问) AI聊天 Qwen Chat 是Qwen 大模型聊天助手,支持Qwen 模型聊天、写作和编程问答,适合中文用户和开发者完成 AI 对话、资料问答和任务协作,适合上线前核对权限、成本和资料质量。 DuckDuckGo AI Chat AI聊天 DuckDuckGo AI Chat 适合重视隐私的普通用户使用,围绕隐私 AI 聊天、免账户使用和多模型问答提供对话式 AI 支持和任务协作能力,适合上线前核对权限、成本和资料质量。