Adam优化器(Adaptive Moment Estimation)是一种在深度学习领域广泛使用的、结合了动量(Momentum)和自适应学习率思想的迭代优化算法,其核心是通过计算梯度的一阶矩(均值)和二阶矩(未中心化的方差)估计,为每个参数动态调整独立的学习率。
可以将Adam优化器想象成一位在复杂地形(损失函数曲面)中寻找最低点的探险家。这位探险家拥有两项独特技能:第一是“动量”,让他不会因为当前的一个小坡而轻易改变整体行进方向,从而平滑路径、抑制震荡;第二是“自适应步幅”,他会根据脚下地形的陡峭程度(历史梯度大小)自动调整步伐——在陡峭处小步谨慎,在平缓处大步前进。

具体而言,算法在每次迭代中为每个可训练参数维护两个移动平均值:
1. 一阶矩(m_t):梯度的指数移动平均,类似于动量,保留了历史梯度方向信息。
2. 二阶矩(v_t):梯度平方的指数移动平均,记录了历史梯度幅度的变化,用于衡量参数的更新历史活跃度。

在更新参数时,Adam会先用偏差校正来修正这两个移动平均值的初始偏差,然后用校正后的一阶矩(方向)除以二阶矩平方根(自适应尺度)的微小常数,最终得到每个参数独特的、尺度归一化的更新量。这种设计使其能够自动适应不同参数的特性,兼具快速收敛和良好稳定性。

随机梯度下降(SGD)、
动量法(Momentum)、
RMSProp优化器、
学习率调度(Learning Rate Schedule)、
AdamW优化器、
损失函数(Loss Function)、
梯度下降

若想深入了解Adam优化器,建议阅读其原始论文《Adam: A Method for Stochastic Optimization》。此外,可以对比研究其改进版AdamW,该算法通过解耦权重衰减,在训练深度Transformer模型时表现出更优的泛化性能。在实践中,结合学习率热身(Warmup)和衰减策略,能进一步发挥Adam的潜力。