技术博客

权重衰减与有效学习率:归一化层的尺度不变性让 WD 变成另一种学习率

第 141 / 147 篇 · 2025-09-22 · ai · 正则化优化器归一化

权重衰减(weight decay)的经典解释是正则化:给损失加上 $\frac{\lambda}{2}\lVert w\rVert^2$,把权重往原点拉,防止过拟合。但在归一化层无处不在的 Transformer 里,这个解释对大部分参数失效了——不是 WD 不起作用,而是它起的作用完全不同。

尺度不变性:函数对权重的径向分量免疫

考虑一个带 RMSNorm 的线性层,输出为

$$ y = \mathrm{RMSNorm}(Wx) = \frac{Wx}{\sqrt{\frac{1}{n}\lVert Wx\rVert^2 + \varepsilon}}. $$

把 $W$ 乘任意正数 $c$:

$$ \mathrm{RMSNorm}(cWx) = \frac{cWx}{\sqrt{\frac{1}{n}c^2\lVert Wx\rVert^2 + \varepsilon}} = \mathrm{RMSNorm}(Wx) \quad (c \to \infty\ \text{极限意义下}). $$

严格说有限 $\varepsilon$ 时不是精确不变,但训练网络里 $\lVert Wx\rVert^2 \gg \varepsilon$,不变性近似精确。函数 $f$ 对 $W$ 的径向伸缩完全不敏感。既然不同范数的 $W$ 表示同一个函数,往原点拉 $W$ 就不可能改变模型的表达能力——正则化解释在这里是空转的。

径向-切向分解

把参数向量分解为径向和切向分量:$g = g_\parallel + g_\perp$,其中 $g_\parallel = \frac{\langle g, w\rangle}{\lVert w\rVert^2}w$。尺度不变性有一个直接推论:损失 $L$ 沿径向不变,即 $L(w + c w) = L(w)$,所以

$$ \Big\langle \frac{\partial L}{\partial w},\, w \Big\rangle = 0 \;\Longrightarrow\; g \perp w, $$

梯度天然与权重正交——精确成立,不是近似。检验方法很简单:训练一个 LN 网络几百步,打印 $\langle g, w\rangle / (\lVert g\rVert \lVert w\rVert)$,数值贴着零走。

于是 SGD 的更新动力学分解为(含权重衰减 $\lambda$ 和学习率 $\eta$):

$$ \Delta w = -\eta g - \eta\lambda w. $$

径向:梯度无贡献,只有 WD 把范数往内拉,$\lVert w\rVert \leftarrow (1 - \eta\lambda)\lVert w\rVert$。切向:WD 无贡献($w$ 与 $g_\perp$ 正交),参数沿球面以步长 $\eta\lVert g\rVert$ 移动。

稳态范数与"有效学习率"

范数的离散递推:

$$ r_{t+1} = \sqrt{r_t^2 - 2\eta\lambda r_t^2 + \eta^2\lVert g\rVert^2 + \eta^2\lambda^2 r_t^2} \;\approx\; r_t\Big(1 - \eta\lambda + \frac{\eta^2\lVert g\rVert^2}{2r_t^2}\Big). $$

令 $\Delta r = 0$ 解出稳态范数:

$$ r^* \approx \sqrt{\frac{\eta}{2\lambda}}\,\lVert g\rVert^{1/2}\text{ 量级}, \qquad\text{更干净的写法:}\quad r^{*2} \sim \frac{\eta\,\overline{\lVert g\rVert^2}}{2\lambda}. $$

稳态范数由 $\eta/\lambda$ 的比值决定。而函数的行为——切向移动造成的实际变化——度量的是角位移 $\Delta\phi \approx \eta\lVert g\rVert / r^*$。代入稳态范数:

$$ \Delta\phi \;\sim\; \eta\lVert g\rVert \Big/ \sqrt{\frac{\eta\,\overline{\lVert g\rVert^2}}{2\lambda}} \;\propto\; \sqrt{\eta\lambda}. $$

函数空间里的有效学习率正比于 $\sqrt{\eta\lambda}$。把 WD 翻倍和把 lr 翻倍,对归一化参数的效果近似等价——这就是"调 WD 等于调 lr"的定量版本(van Laarhoven 2017;Hoffer et al. 2018)。

尺度不变参数的更新轨道:切向移动 + 径向衰减,螺旋收敛到稳态半径 r* -ηλw(径向) -ηg(切向) 稳态时径向拉力与切向步长平衡: ηλ·r* 约等于 η|g| 的径向投影 函数空间的角步长 ∝ sqrt(ηλ) eta 与 lambda 在此不可分 推论:WD 不再正则化函数, 而是间接控制有效学习率

AdamW 下的修正形式

Adam 让图像倾斜了一点。Adam 的更新方向是 $\hat m / (\sqrt{\hat v} + \varepsilon)$,与梯度幅值解耦,近似为符号向量;归一化参数的 Adam 更新近似也在切向上。AdamW 解耦的权重衰减 $w \leftarrow w - \eta\lambda w$ 与 Adam 步 $-\eta\,\hat m/(\sqrt{\hat v}+\varepsilon)$ 叠加,稳态条件变为

$$ \eta\lambda\, r^* \approx \eta \cdot (\text{Adam 更新的径向投影均值}) \;\sim\; \eta \cdot \frac{\sqrt{d}}{r^*}\cdot c, $$

$d$ 是参数维度。整理得 $r^{*2} \sim \frac{\eta}{\lambda}\cdot\frac{c\sqrt{d}}{\sqrt{d}}$ 一类形式——结论不变:稳态范数仍由 $\eta/\lambda$ 控制,函数空间的有效步长仍随 $\eta\lambda$ 单调。AdamW 带来的实际差异有两点:一是由于 Adam 步长近似恒定(符号化),$\lVert g\rVert$ 的波动不传导到稳态范数上,$\eta$-$\lambda$ 的耦合比 SGD 更干净;二是 WD 对 Adam 非归一化参数(如 bias、layernorm 的增益)仍然扮演经典正则化角色,这两个群体要分开看——现代框架的 no_weight_decay 参数分组列表就是为此存在。

对调参的直接推论

  • 耦合意味着只调一个。在 LN/RMSNorm 占主导的 Transformer 里,扫 $\eta$ 和扫 $\lambda$ 的信息量大部重叠。常见做法:固定一个量级合理的 $\lambda$(如 0.1,注意 AdamW 下这是乘在 lr 上的系数),重点扫 lr;或反过来固定 lr 扫 $\lambda$。两个一起扫效率低,还容易把等价曲面上的不同点误认为不同最优。
  • WD 的"正则化效果"来自非不变参数。嵌入层、输出头、偏置、增益这些参数没有尺度不变性,WD 对它们仍是经典惩罚。若发现去掉 WD 后训练退化,先看退化来自哪类参数。
  • 训练末期 $\lambda$ 的退火等价于末期降 lr——这条经验规则的合法性正是上面的 $\sqrt{\eta\lambda}$ 等价关系。

小结

尺度不变性把权重空间切成"函数无关的径向"和"函数决定的切向"两个子空间:梯度纯切向,WD 纯径向,训练轨迹是向稳态半径收敛的球面螺旋。因为函数只活在切向上,WD 的全部作用是通过稳态半径 $r^* \propto \sqrt{\eta/\lambda}$ 间接缩放角步长——$\sqrt{\eta\lambda}$ 就是它在函数空间的有效学习率。理解这个等价关系,Transformer 调参里"WD 和 lr 为什么像同一个旋钮"的困惑就有了定量答案。