Type: concept
Confidence: 0.95
Created: 2026-04-18
Updated: 2026-04-18
Tags: 机器学习深度学习优化优化器

Adam(自适应矩估计)

概述 (50-200字符)

Adam 是深度学习的"自动挡"优化器,结合动量和自适应学习率,为每个参数自动调节更新速度。默认参数开箱即用,是 Transformer、GAN、强化学习等场景的默认选择。

关键内容 (≥300字符, 用双链)

  1. 算法核心:Adam = Momentum(动量) + RMSProp + 偏差修正(Bias Correction)。每步更新包含六个步骤:(1) 计算梯度 gₜ;(2) 更新一阶矩 mₜ = β₁·mₜ₋₁ + (1-β₁)·gₜ(梯度指数移动平均);(3) 更新二阶矩 vₜ = β₂·vₜ₋₁ + (1-β₂)·gₜ²(梯度平方指数移动平均);(4)(5) 偏差修正 m̂ₜ = mₜ/(1-β₁ᵗ)、v̂ₜ = vₜ/(1-β₂ᵗ);(6) 参数更新 θₜ = θₜ₋₁ - η·m̂ₜ/(√v̂ₜ + ε)。
  2. 自适应直觉:梯度方向稳定的参数 → m̂ 大、v̂ 小 → 有效学习率大(加速);梯度剧烈震荡的参数 → m̂ 趋零、v̂ 大 → 有效学习率小(自动减速)。这解决了随机梯度下降(SGD)的四大痛点:学习率难选、参数共用学习率、鞍点(Saddle Point)停滞、梯度尺度差异。
  3. 默认超参数:η=0.001, β₁=0.9, β₂=0.999, ε=1e-8。这组值在绝大多数任务上开箱即用,无需调整。β₁=0.9 意味着动量窗口约 10 步,β₂=0.999 意味着二阶矩窗口约 1000 步。
  4. 局限与改进:(a) 某些任务收敛不如 SGD+Momentum(如 CNN ImageNet 训练);(b) 权重衰减与自适应学习率耦合 → AdamW 解耦修正;(c) 早期二阶矩估计偏差 → AMSGrad 用历史最大 v̂;(d) 内存占用是 SGD 的 3 倍(需存 m、v)→ Adafactor 内存高效版。训练末期常配合 Cosine Annealing 学习率调度减少震荡。

来源

相关