用一个例子理解

如果一个参数的梯度经常很大,另一个经常很小,完全用同样的原始步幅可能不好协调。Adam 同时参考近期方向和梯度平方的规模,再计算各自的更新。

看图理解把过程看清楚
01当前梯度

本轮参数的变化信号

02两份滑动统计

梯度均值与梯度平方均值

03偏差修正与更新

按各参数的尺度调整

教学简图:只展示理解本概念所需的关系,省略具体实现细节。

再深入一层

一阶矩可以理解为平滑后的方向信息;二阶原始矩来自梯度平方,用于估计变化规模。初始化统计量为零会产生早期偏差,算法会做修正,再用修正后一阶矩除以二阶矩平方根等量来计算更新。

想看得更细

想看数学表达,可以读原论文算法 1:m、v 分别积累梯度与梯度平方,β₁、β₂ 控制保留多少历史,α 控制整体步长,ε 避免除数过小。先理解各自作用,比记住默认数值更有帮助。

它不能说明什么

Adam 仍需要学习率等设置,并不自动保证最优结果。AdamW 将权重衰减与梯度更新解耦,是相关变体;不能把两者写成完全相同。名称相似也不代表与 PPO 属于同一层级。

接下来可以了解

资料依据

资料核验于 2026-09-09;原论文用于说明机制,文中例子为教学示例。