QUESTION

把λw加进梯度是什么意思,λ和w分别是什么?

A

从L2正则项的求导看懂λw的来源,并区分耦合L2与AdamW权重衰减。

DETAILED ANSWER

直接结论

λw不是一个神秘的新梯度。它来自对L2正则项求导:为了惩罚过大的参数,在原数据损失后加上与有关的代价;求导后,这部分对梯度的贡献就是λw

  • λ:人工设置的正则化强度,是一个标量;
  • w:模型当前的权重参数,可以是一个数、向量或矩阵;
  • λw:与w形状相同的附加梯度,方向会促使权重向0缩小。

λw从哪里来

假设原始数据损失是L_data,加入L2正则化后:

L_total = L_data + λ/2 × w²

w求导:

dL_total/dw
= dL_data/dw + λw

设原数据梯度为g,最终用于更新的梯度就是:

总梯度 = g + λw

公式中写λ/2是为了求导后刚好得到λw。如果正则项写成λw²而没有二分之一,导数就会写成2λw;这只是系数定义不同。

用一个数字看它怎样拉小权重

假设:

w = 10
原数据梯度g = 2
λ = 0.01

那么:

λw = 0.01 × 10 = 0.1
总梯度 = 2 + 0.1 = 2.1

若学习率为0.1

新w = 10 − 0.1 × 2.1 = 9.79

不加正则项时会得到9.8,加入后变成9.79,也就是额外向0移动了一点。

如果w本来为负,λw也为负,执行“减去负数”会让参数向右移动,同样是靠近0,而不是固定往负方向移动。

为什么AdamW不把λw混进梯度

在普通SGD的简化条件下,把λw加入梯度与直接缩小权重可以得到相同形式。但Adam会对梯度计算历史平均和平方平均;如果先加入λw,衰减项也会进入这些自适应统计。

AdamW改为:

原数据梯度g → 只负责Adam更新
权重w → 单独执行−ηλw

所以,λw解释的是L2项求导后的来源;AdamW中的解耦权重衰减则直接作用于参数,不需要把它先伪装成数据梯度。

实际使用时的补充

权重、偏置和归一化层参数是否使用同样的权重衰减,可以通过参数组分别配置。常见做法会对主要权重使用衰减,而对部分偏置或归一化参数关闭衰减,但这属于训练配置选择,不改变λw的数学来源。