L1 与 L2:参数惩罚怎样改变最优解#
TL;DR#
本页内容7 个部分
1. 背景与问题#
只降低训练误差,可能得到幅度很大或依赖较多特征的参数。参数正则化在任务损失之外加入惩罚,改变“拟合数据”与“限制参数”的取舍。L1 和 L2 都约束参数大小,但前者可能得到精确零解,后者通常连续地收缩参数。
2. 目标与定义#
记待训练参数为 ,任务损失为 ,强度为 。两种目标分别为:
这里只讨论显式参数惩罚,随机化激活由 Dropout单独解释;损失缩放后,同一个 的相对强度也会变化。[1]
3. 方法与推导#
3.1 两种惩罚提供什么梯度#
非零坐标上,L1 惩罚梯度为 ,L2 为 。L1 对小参数仍施加同量级压力;L2 的压力随参数绝对值减小而减小。L1 在零点不可微,需要次梯度或近端方法。
3.2 在二次损失里求出最优解#
设一个坐标的任务损失为 。L2 的驻点满足 ,因此 。
L1 分别检查正、负与零:正区间有 ,要求 ;负区间有 ,要求 ;当 时,零点的次梯度包含零。因此:
这就是软阈值的来源。它说明合适目标下精确零解怎样出现,不表示普通梯度步总会恰好落在零上。
4. 计算过程#
设任务损失为 ,取 ,逐坐标使用上面的规则:
| 坐标 | 无惩罚最优值 | L1 最优值 | L2 最优值 |
|---|---|---|---|
| 3 | |||
| 0.1 |
L1 将第二个坐标压至零,L2 则缩小两个坐标。几何上,二维 L1 约束为菱形、L2 为圆;前者在坐标轴上的角点提供了稀疏解的直觉,具体解仍取决于任务损失。
5. 比较与边界#
惩罚改变了优化目标,不保证真实任务指标一定改善。稀疏性是否有用、应惩罚哪些参数,需要结合模型和评价方式。
L2 惩罚与直接权重衰减只在相应更新条件下等价。无动量 SGD 可以直接展开;Adam 中正则项会进入矩历史,差别由 AdamW完整解释。
参考资料#
- Deep Learning,Chapter 7(2016). 参数范数惩罚:L1、L2 与约束解释;第 3、4 节为可分二次目标的直接推导。