M2-097M2: Classical Machine LearningRegularization (L1 / L2)Hard
Mastery:
Regularization (L1 / L2): 解释权重衰减在 Adam 中为什么要解耦(AdamW)。
📐 Mathematical Definition
⚡ 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.