1. 权重衰减的本质与数学原理
权重衰减(Weight Decay)是机器学习中最常用的正则化技术之一,本质上是通过在损失函数中添加L2范数惩罚项来控制模型复杂度。其数学表达式为:
L'(w) = L(w) + λ/2 * ||w||²
其中L(w)是原始损失函数,λ是正则化系数,||w||²表示权重向量的L2范数平方和。这个附加项会惩罚过大的权重值,促使模型参数趋向于较小的数值。
关键理解:L2正则化在优化过程中等价于每次参数更新时先对权重进行缩放(1-ηλ),再进行常规梯度下降。这种特性使其能有效防止参数爆炸式增长。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 权重衰减对训练过程的动态影响
2.1 梯度更新公式的变化
加入权重衰减后,参数的更新公式变为:
w ← (1-ηλ)w - η∇L(w)
这个公式揭示了权重衰减的双重作用:
- (1-ηλ)项导致权重在每一步更新前先收缩
- 常规梯度项∇L(w)继续推动权重向损失最小化方向移动
2.2 不同λ值的影响效果
通过实验可以观察到:
- λ=0时:等同于普通训练,容易过拟合
- λ较小时:轻微约束权重幅度,测试误差开始下降
- λ适中时:达到最佳平衡,测试误差最低
- λ过大时:模型欠拟合,训练和测试误差都升高
2.3 与L1正则化的对比
| 特性 | L2正则化 | L1正则化 |
|---|---|---|
| 数学形式 | ||
| 效果特点 | 分散权重 | 稀疏权重 |
| 计算特性 | 处处可导 | 在0点不可导 |
| 适用场景 | 一般性正则化 | 特征选择 |
3. 权重衰减的工程实现
3.1 手动实现示例(PyTorch)
python复制def train(lambd):
w = torch.normal(0, 1,
