M2-097M2: Classical Machine LearningRegularization (L1 / L2)Hard
Mastery:

Regularization (L1 / L2): 解释权重衰减在 Adam 中为什么要解耦(AdamW)。

📐 Mathematical Definition
耦合:g←g+λθ;解耦(AdamW):θ←θ−η(m^/(v^+ϵ)+λθ)\text{耦合}: g\leftarrow g+\lambda\theta;\qquad \text{解耦(AdamW)}: \theta\leftarrow\theta-\eta\big(\hat m/(\sqrt{\hat v}+\epsilon)+\lambda\theta\big)
⚡ Executive Summary
Core Concept: 耦合时衰减被自适应学习率扭曲;解耦后衰减与学习率独立,正则效果更可预测。

📌 Key Takeaways

  • •
    耦合:L2 加在梯度上,被 1/√v̂ 缩放
  • •
    解耦:直接对参数衰减,与自适应项无关

📐 Mathematical Derivations

问题的机制:<strong>L2 正则</strong>在损失中加入 λ‖θ‖²/2,其梯度贡献为 λθ,故优化器看到的梯度是 g+λθ。在 Adam 中,更新量为 η·(g+λθ)/√v̂(忽略偏差校正),其中 <strong>v̂ 是梯度的二阶矩(逐参数的自适应尺度)</strong>。这意味着:① 对于<strong>梯度大</strong>的参数,v̂ 大,分母大,衰减项被<strong>缩小</strong>(衰减效果弱);② 对于<strong>梯度小</strong>的参数,v̂ 小,分母小,衰减项被<strong>放大</strong>(衰减效果强)。因此衰减强度<strong>依赖于梯度尺度</strong>,而梯度尺度又随训练进程变化——导致正则效果不可预测、且与学习率耦合(学习率变化会改变有效衰减)。<strong>AdamW 的解法</strong>(Loshchilov & Hutter 2019):<strong>解耦</strong>权重衰减——不在梯度上加 λθ,而是直接在参数更新中减去 ηλθ,即 θ←θ−η(m̂/(√v̂+ε)+λθ)。此时衰减量恰为 ηλθ,<strong>与自适应项无关</strong>,正则强度仅由 η 与 λ 决定(且 ∝ η,故学习率调度会同步缩放衰减,这也是一种'一致'的行为)。

🏭 Production Trade-offs

实践要点:① <strong>为什么现在都用 AdamW</strong>——解耦后正则效果与理论一致(等价于高斯先验的 MAP),且超参更易调(λ 与学习率解耦后可独立搜索);实验上 AdamW 在多数任务上优于 Adam+L2。② <strong>λ 的典型取值</strong>——LLM 训练常用 0.01–0.1;CNN 常用 1e-4 到 1e-2;λ 与学习率、模型规模、数据量都相关(数据越多、模型越大,λ 通常越小)。③ <strong>哪些参数不衰减</strong>——实践中<strong>不对</strong> LayerNorm/BatchNorm 的 γ、β 与偏置项施加权重衰减(因为它们不是'特征权重',衰减它们会损害表达能力);框架通常支持参数分组(<code>no_decay</code> 组)。④ <strong>与学习率调度的交互</strong>——AdamW 的衰减量 ∝ η,故学习率衰减时衰减也减弱;WSD/cosine 调度下这一点需注意(有些实现用解耦的 λ 使其不随 η 变化)。⑤ <strong>其他解耦方案</strong>——<strong>SGD with decoupled weight decay</strong> 也有类似讨论;此外 Lion、Muon 等新优化器同样采用解耦衰减。⑥ <strong>经验判断</strong>——若发现'训练损失降得慢且验证差距大',调大 λ;若'欠拟合',调小 λ;用验证集或早停确定。
⚠️ Common Interview Pitfalls
  • ✕
    用 Adam+L2 当作与 AdamW 等价(正则效果不同)
  • ✕
    对归一化层与偏置施加权重衰减
🎯 Interviewer Follow-ups
  • ?
    为什么耦合会扭曲衰减?
  • ?
    AdamW 的 λ 与学习率的关系?
📚

Associated Knowledge Base Guides & Mindmaps

Explore the comprehensive technical article, exam cards, and global architecture tree.

← PreviousM2-096: Regularization (L1 / L2): 解释 L1 与 L2 正则化的贝叶斯解释。📋Back to BankNext →M2-098: Regularization (L1 / L2): 解释谱范数正则化与 Lipschitz 约束的关系。