概述
它减少了过度拟合,是深度学习中使用最广泛的正则化器之一。
深入探讨
当模型训练时,它可以通过增加大的、经过微调的权重来捕捉数据中的噪声,这些权重完美地适合训练集,但泛化能力很差。 L2 正则化通过向损失函数添加与权重平方和成比例的惩罚来解决这个问题。优化器现在有两个目标:拟合数据并保持较小的权重,因此它会选择更平滑、更稳健的解决方案。权重衰减是与每个更新步骤将每个权重缩小一小部分密切相关的想法。对于普通梯度下降,两者在数学上是等效的,但对于像 Adam 这样的自适应优化器,它们是不同的,这就是为什么引入 AdamW 来将衰减与基于梯度的更新解耦并使其表现正确。
现实世界的实施
在训练图像分类器时在 PyTorch 的 AdamW 或 SGD 优化器中添加weight_decay以抑制过度拟合
调整岭回归(经典的 L2 惩罚线性模型)中的 lambda 系数,以稳定相关特征的预测
大型语言模型预训练方案,在学习率计划的同时设置较小的权重衰减(通常约为 0.1)
将权重衰减与数据增强和丢弃相结合,以防止小型医学成像模型记住有限的训练扫描
权重衰减和 L2 正则化的未来
权重衰减仍然是大型语言模型和视觉转换器训练配方中的默认成分,而 AdamW 现在是它们的标准优化器。研究仍在继续研究衰减如何与学习率计划、标准化层和模型规模相互作用,因为它的有效强度随着模型的增长而变化。随着自动超参数搜索和缩放定律研究的成熟,预计会有更多原则性的、可能是每层或调度感知的衰减调整。
付诸实践
为什么这很重要
- 更清晰的判决. 它可以帮助您将清晰的技术声明与营销语言分开。
- 成本与预算. 在花费金钱或时间之前,您可以提出更好的实施问题。
- 团队与工作流程. 具有共同理解的团队可以做出更好的产品、政策和学习决策。
留意
- 不同的团队可能会以不同的方式使用同一术语,因此请尽早定义范围。
- 基准测试可能看起来很强大,但实际性能却参差不齐。
- 忽视数据质量和评估计划通常会产生脆弱的结果。
后续步骤
- 从您需要的结果的简单语言定义开始。
- 在测试之前选择一种成功指标和一种失败条件。
- 使用代表性数据运行小型试点,而不是完善的演示集。
- 记录权重衰减和 L2 正则化在哪些方面有帮助以及在哪些方面更简单的方法更好。
不断探索
常见问题
什么是权重衰减和 L2 正则化?
权重衰减是一种简单而强大的技术,可以在训练过程中将模型的权重推向零,防止模型过度依赖任何单一特征。它减少了过度拟合,是深度学习中使用最广泛的正则化器之一。
L2 正则化给损失函数添加了什么?
L2 正则化增加了 lambda 乘以权重平方和,惩罚大权重并鼓励更小、更平滑的解决方案。
重量衰减有助于防止的主要问题是什么?
通过保持较小的权重,权重衰减会阻止模型拟合噪声,从而提高对新数据的泛化能力。
权重衰减将模型的权重推向哪个方向?
权重衰减在每次更新时将权重缩小到零,这就是为什么它有时被描述为“衰减”权重。
为什么要引入 AdamW?
在 Adam 中,将 L2 折叠到损失中会与每个参数缩放产生严重的相互作用; AdamW 单独应用衰减以恢复预期的均匀收缩。
对于普通随机梯度下降,L2 正则化和权重衰减有何关系?
使用普通 SGD,在损失中添加 L2 惩罚会产生与直接缩小权重相同的更新,因此两者是等效的。