M3-033M3: Deep Learning FoundationsOptimizers & Second-Order MethodsMedium
Mastery:
Optimizers & Second-Order Methods: 比较 SGD+Momentum 与 Adam 的泛化差异。
📐 Mathematical Definition
⚡ Executive Summary
Core Concept: SGD 通常泛化更好(更平的极小值、更强隐式正则);Adam 收敛更快但可能过拟合;大模型因规模与稳定性选 Adam。
📌 Key Takeaways
- •SGD 的梯度噪声(∝η/B)提供隐式正则,偏好平坦极小值
- •Adam 的自适应步长会放大噪声方向的更新,可能进入尖锐极小值
- •CV 小数据偏 SGD,LLM 大规模偏 Adam
📐 Mathematical Derivations
数学机理:泛化差异的两条解释链。<strong>(1) 隐式正则视角</strong>:SGD 的每步更新含梯度噪声,噪声方差 ∝ η/B(B 为 batch size);在平坦极小值处噪声引起的 loss 上升小、在尖锐极小值处上升大,故随机优化<strong>天然偏好平坦解</strong>。而 Adam 的更新被 √v̂ 归一化,等于<strong>把噪声也按方向放大</strong>(尤其在梯度小的方向),削弱了这种偏好。<strong>(2) 预条件视角</strong>:SGD 沿原始梯度走,在曲率小的方向走得慢、容易被'困'在宽谷;Adam 的对角预条件改变了有效几何,可能收敛到曲率更大但训练 loss 更低的解——而更尖锐的解通常泛化更差。实证上,Wilson 等人 (2017) 在多个任务上发现自适应方法测试误差更大;但后续研究(如 Schmidt 等)指出差距在<strong>大规模数据与模型</strong>下大幅缩小,甚至反转——因为数据量足够时'记忆噪声'不再是问题。
🏭 Production Trade-offs
深度剖析与工程权衡:① <strong>规模依赖性</strong>——小数据集上 SGD 的泛化优势明显;ImageNet/LLM 规模下 Adam 的优势(收敛速度、鲁棒性)压过泛化劣势。这是'理论结论随规模变化'的典型案例。② <strong>改善 Adam 泛化的手段</strong>——(a) 用 AdamW 解耦衰减、(b) 加足够权重衰减、(c) 后期切换到 SGD、(d) 用 EMA/SWA 平滑参数、(e) 增大 batch 降低噪声、(f) 用 SAM(Sharpness-Aware Minimization)显式找平坦解。③ <strong>SAM 的洞见</strong>——直接优化'邻域内最坏 loss':min_θ max_{‖δ‖≤ρ} f(θ+δ),等价于同时最小化 loss 与其梯度范数,是对'平坦性'的显式正则,与 SGD 的隐式偏好互补。④ <strong>LLM 的例外</strong>——大模型极少用 SGD,原因:(a) 需要极致收敛速度(算力昂贵)、(b) 超参对 SGD 敏感(调参成本高)、(c) 泛化差距在万亿 token 规模下不显著。⑤ <strong>面试要点</strong>——不要给出'Adam 一定泛化差'的绝对结论,正确表述是'<strong>在数据受限时 SGD 的隐式正则更有利,数据充足时 Adam 的优化效率占优</strong>'。⑥ <strong>延伸</strong>——这也解释了为何很多视觉竞赛(数据少)仍用 SGD+cosine,而 NLP 大模型清一色 AdamW。
⚠️ Common Interview Pitfalls
- ✕断言'Adam 泛化一定差'(结论依赖数据规模)
- ✕忽略 batch size 通过噪声尺度对泛化的影响
🎯 Interviewer Follow-ups
- ?如何让 Adam 获得更好的泛化?
- ?什么是'尖锐 vs 平坦极小值'与泛化的关系?
📚
Associated Knowledge Base Guides & Mindmaps
Explore the comprehensive technical article, exam cards, and global architecture tree.