跳到主内容
快讯直播
AI智模界
AI 词典

优化器:拿到梯度之后,决定怎么迈步

一句话定义:优化器(Optimizer)是训练神经网络时,拿到梯度之后决定“参数具体怎么改”的那套算法。

可以把训练想成蒙眼下山:损失函数(Loss Function)是你所在位置的海拔,反向传播(AI 词典:Backpropagation">Backpropagation)负责算出脚下哪边最陡,也就是梯度(Gradient)。但梯度只告诉你方向,没告诉你迈多大步、要不要借上一步的惯性、不同方向是否该用不同步长。这些都由优化器决定。同一个梯度交给不同优化器,走出来的路线可能完全不同。

最基础的随机梯度下降(Stochastic Gradient Descent, SGD)的做法是:朝最陡的方向走固定的一小步。它简单,但在狭长山谷里容易来回摆动,走得很慢。加上动量(Momentum)后,就像下坡时带了惯性,方向一致的更新会越滚越快,来回摆动的分量则被抵消。

Adam(Adaptive Moment Estimation)更进一步,除了记录梯度的滑动平均(惯性),还记录梯度平方的滑动平均,用后者给每个参数单独缩放步长:一直很大的梯度会被压小,很少更新的参数则会被推一把。结果是每个参数都有自己的实际学习率,前期收敛通常更快,默认超参数往往就能直接跑起来。

对比项SGD(含动量)Adam
步长全局统一学习率每个参数自适应
依据当前及近期梯度梯度的一阶、二阶滑动平均
额外显存少多(每个参数两份统计量)
调参难度对学习率较敏感默认值通常即可用
常见口碑精调后泛化往往不错上手快、收敛快

需要分清几个相邻概念:损失函数定的标准,梯度是方向,反向传播是算梯度的方法,优化器是根据梯度做决策的算法,而学习率(Learning Rate)只是优化器手里的一个旋钮,在 Adam 里还会被自适应地缩放。换句话说,优化器是执行动作的一方,方向不是它算出来的。

对从业者来说,实际意义有两点。第一,调不动模型时先看优化器和学习率,它常是“loss 不降”或“loss 炸掉”的直接原因;Adam 适合快速起步和 Transformer 这类稀疏梯度场景,SGD 加动量在视觉任务上常被说泛化略好,但需要更细的调参。第二,优化器不是万能的:数据、模型结构或损失函数有问题时,换优化器救不回来,它只能保证在既定方向上走得合理一些。具体超参数默认值与推荐配置,以框架官方文档为准。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。