1. 权重衰退的本质与核心思想
在深度学习模型训练过程中,我们常常面临一个关键挑战:如何在保持模型强大表达能力的同时,避免它对训练数据过度拟合。这就是权重衰退(Weight Decay)技术要解决的核心问题。
权重衰退本质上是一种L2正则化方法,它的数学表达式非常简单:
L' = L + λ/2 * ||w||²
其中L是原始损失函数,λ是正则化系数,w代表模型的所有可训练参数。这个看似简单的公式背后蕴含着深刻的机器学习原理。
注意:这里的λ系数需要谨慎选择,过大可能导致模型欠拟合,过小则可能无法有效抑制过拟合。通常建议从0.01开始尝试,根据验证集表现进行调整。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 权重衰退的工作原理
2.1 参数更新的数学机制
当我们在优化目标中加入L2正则项后,参数的更新公式会发生微妙但关键的变化。以SGD优化器为例,原本的参数更新是:
w ← w - η * ∂L/∂w
加入权重衰退后变为:
w ← (1 - ηλ)w - η * ∂L/∂w
这个(1 - ηλ)系数就是"衰退"的来源。每次参数更新时,权重都会先被缩小一定比例,然后再进行常规的梯度下降。
2.2 为什么L2正则化更常用
在正则化方法中,除了L2还有L1等其他选择,但L2确实是最常用的,原因在于:
- 计算友好:L2正则项处处可导,优化过程更稳定
- 均匀收缩:不会将参数完全压缩到0,而是让所有参数都适度缩小
- 几何解释:从贝叶斯角度看,L2正则对应高斯先验,符合很多实际场景
3. 权重衰退的实际应用
3.1 PyTorch中的实现方式
在现代深度学习框架中,使用权重衰退极其简便。以PyTorch为例:
python复制optimizer = torch.optim.Adam(model.parameters(),
lr=0.001,
weight_decay=0.01)
这个weight_decay参数就是我们的λ。值得注意的是,不同优化器对weight_decay的敏感度不同,Adam通常需要比SGD更小的值。
3.2 参数选择经验法则
根据实践经验,以下是一些λ选择的参考建议
