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

动量(Momentum):给优化装一股惯性

一句话定义:动量(Momentum)是梯度下降类优化算法里的一种"惯性"机制——更新参数时不只看当前这一步的梯度,而是把过去若干步的梯度方向按衰减权重累积起来,共同决定往哪走。

打个比方:想象下山。普通梯度下降像每走一步都低头看脚下最陡的方向,遇到小坑小坎就左右横跳,走得一扭一拐;动量则像推一个雪球往下滚,已经滚起来的方向不会因为一块小石头立刻调头。

数学骨架大致是:维护一个速度 v,每一步让 v = β·v + 当前梯度,然后参数 = 参数 − 学习率 × v。这里的 β 叫动量系数,常见取值在 0.9 附近,表示历史方向保留多少。它带来两个直接好处:一是减少震荡——在狭长的"峡谷"形等高线里,垂直于谷底的分量左右互相抵消,沿谷底的分量则被累加;二是加速收敛——在梯度很小的平坦区域,单步几乎挪不动,但累积起来仍能保持速度冲出去。不同框架的具体实现常有变体,细节以官方文档为准。

和相邻概念的区别值得说清:

方法记住什么主要作用
普通 SGD只有当前梯度简单,但抖动大、平坦区慢
Momentum梯度的指数滑动平均抑制震荡、更容易穿过平台期
Adam 等自适应方法梯度均值 + 梯度平方均值动量之外还给每个参数单独缩放步长

需要区分三组容易混淆的东西:学习率是"步长",动量是"方向记忆",两者独立可调;Nesterov 动量是先按惯性往前探一步再算梯度,相当于带预判;而 Adam 里本身就含一阶动量项,可以粗略理解为"动量 + 自适应步长"。

对从业者的实际意义:训练时如果 loss 曲线剧烈抖动,或者长时间卡在平台期,加动量往往是最先尝试的一招。但 β 不是越大越好——越大越平滑,也越迟钝,真该转向时转不过来,甚至冲过最优点来回摆动。对普通职场人,这其实是个好用的心智模型:单次信号噪声大,累积一段时间的方向更可靠;可惯性太重,船大难掉头。

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