返回 深度学习 思维导图
中文·English
🧠 深度学习ID: adam-optimizer

Adam/AdamW

Adam & AdamW
🎯核心定义
Adam(Adaptive Moment Estimation)对梯度维护一阶矩 mtm_t 与二阶矩(未中心化方差)vtv_t 的指数移动平均,并做偏差修正: mt=β1mt1+(1β1)gtm_t = \beta_1 m_{t-1} + (1-\beta_1)g_t,vt=β2vt1+(1β2)gt2v_t = \beta_2 v_{t-1} + (1-\beta_2)g_t^2;偏差修正 m^t=mt1β1t\hat{m}_t = \frac{m_t}{1-\beta_1^t},v^t=vt1β2t\hat{v}_t = \frac{v_t}{1-\beta_2^t}(由几何级数可证 E[mt]=(1β1t)E[g]\mathbb{E}[m_t] = (1-\beta_1^t)\mathbb{E}[g],t 小时矩被系统性低估,除以 1β1t1-\beta_1^t 修正);参数更新 θt+1=θtηm^tv^t+ϵ\theta_{t+1} = \theta_t - \eta\frac{\hat{m}_t}{\sqrt{\hat{v}_t} + \epsilon}。默认超参 β1=0.9\beta_1 = 0.9β2=0.999\beta_2 = 0.999ϵ=108\epsilon = 10^{-8}、基准学习率 η=103\eta = 10^{-3}。比值 m^t/v^t\hat{m}_t/\sqrt{\hat{v}_t} 量级约 1,相当于按梯度 RMS 逐参数归一化: 大梯度方向自动缩小步长、小梯度方向自动放大步长,对稀疏梯度与病态条件数(κ\kappa 大)鲁棒。ϵ\epsilon 必须放分母: 一是数值稳定、防止 v^t0\hat{v}_t \approx 0 时除以零(训练早期),二是给步长设上界 η/ϵ\eta/\sqrt{\epsilon}。AdamW 把权重衰减从 L2 中解耦: θt+1=θtη(λθt+m^tv^t+ϵ)\theta_{t+1} = \theta_t - \eta\left(\lambda\theta_t + \frac{\hat{m}_t}{\sqrt{\hat{v}_t}+\epsilon}\right),每参数每步衰减率恒为 1ηλ1 - \eta\lambda
💡使用场景
Transformer/BERT/GPT 等大模型训练的默认优化器,大批量、稀疏特征、多模态场景首选;面试必考“默写 Adam 四个公式”“为什么需要偏差修正”“β 默认值”“AdamW vs Adam+L2”。
解决的核心痛点
SGD+动量对所有参数共享一个学习率,病态曲率或稀疏梯度下步长难以兼顾;Adam 逐参数自适应缩放,且偏差修正保证早期迭代不被低估的矩拖慢。AdamW 修正 Adam+L2 的缺陷: L2 项 λwt\lambda w_t 进入 gtg_t 后被 v^t\sqrt{\hat{v}_t} 缩放,有效衰减 ηλwt/v^t\eta\lambda w_t/\sqrt{\hat{v}_t} 随历史梯度幅度变化——大梯度方向被正则得太多、小梯度方向被正则得太少;解耦后每个参数获得恒定的衰减率,训练更稳、泛化更好。
🎯5 个高频面试考点 (Exam Points)
1
默写 Adam 四个公式(矩估计、偏差修正、参数更新),并指出默认 β1=0.9\beta_1 = 0.9β2=0.999\beta_2 = 0.999ϵ=108\epsilon = 10^{-8}η=103\eta = 10^{-3}
2
为什么需要偏差修正?用等比数列求和证明 E[mt]=(1β1t)E[g]\mathbb{E}[m_t] = (1-\beta_1^t)\mathbb{E}[g],说明 t=1t=1 时偏差最严重(1β1=0.11-\beta_1 = 0.1),为什么除以 1β1t1-\beta_1^tE[m^t]=E[g]\mathbb{E}[\hat{m}_t] = \mathbb{E}[g]
3
为什么更新用 m^t/v^t\hat{m}_t/\sqrt{\hat{v}_t}?与 RMSProp/AdaGrad 的关系;为什么 ϵ\epsilon 必须放在分母(数值稳定 + 步长上界 η/ϵ\eta/\sqrt{\epsilon})。
4
Adam vs SGD+动量: 各自的适用场景与泛化差异(为什么 CV 上 SGD 常更好、而大模型标配 Adam);Adam 早期收敛快但后期可能不稳的原因。
5
写出 AdamW 更新式并对比 Adam+L2: L2 项被 v^t\sqrt{\hat{v}_t} 缩放如何扭曲有效正则强度?解耦 weight decay 后每步衰减率为何恒为 1ηλ1 - \eta\lambda?
更新于 2026-08-12
🎯
检验攻克程度:针对「Adam/AdamW」专属刷题排雷
做单选排雷题、推导选项机制,答错自动收录进专属错题本。
🚀 开始本考点专项刷题
上一个知识点SGD 与动量下一个知识点学习率调度

🔗 更多 深度学习 知识点卡片

激活函数演进Autograd 动态图BatchNorm 批归一化经典 CNN 演进