权重衰减(weight decay)、L2 正则、dropout、早停——正则化技术的清单很长,动机表述五花八门:防过拟合、压权重、加噪声。贝叶斯统计给出一个统一视角:所有显式正则化都是先验分布的对数密度。这不是哲学比喻,是逐行代数对应。看懂这个对应,正则化系数该怎么调、为什么 Adam 下 L2 和 weight decay 不是一回事,都会有答案。
贝叶斯定理的分解
贝叶斯定理把参数 $\theta$ 的后验拆成三项:
$$ p(\theta\mid D)=\frac{p(D\mid\theta)\,p(\theta)}{p(D)}\ \propto\ \underbrace{p(D\mid\theta)}_{\text{似然}}\times\underbrace{p(\theta)}_{\text{先验}}, $$
取对数:
$$ \ln p(\theta\mid D)=\underbrace{\ln p(D\mid\theta)}_{\text{数据拟合}}+\underbrace{\ln p(\theta)}_{\text{先验}}+\text{const}. $$
机器学习里"最小化损失"的习惯写法,对应取负号并除以样本数:平均负对数似然 $\frac1N\sum_i-\ln p(y_i|x_i,\theta)$ 就是经验风险。于是MAP(最大后验)估计 = MLE(最大似然)+ 先验对数密度的负值,而后者正是"正则化项"的标准定义:
$$ \theta_{\text{MAP}}=\arg\min_\theta\ \mathcal{L}(\theta)-\ln p(\theta). $$
惩罚项从哪里来?从参数"在见到数据之前该长什么样"的信念里来。
对应表:每个惩罚项都是个先验
逐一带入具体的 $p(\theta)$,经典正则化逐个现出原形。
L2 正则 ↔ 高斯先验。 取零均值各向同性高斯 $\theta\sim\mathcal{N}(0,\sigma_\theta^2 I)$,对数密度
$$ \ln p(\theta)=-\frac{d}{2}\ln(2\pi\sigma_\theta^2)-\frac{1}{2\sigma_\theta^2}\|\theta\|^2. $$
第一项是常数,第二项正是 L2 惩罚:$-\ln p(\theta)=\frac{1}{2\sigma_\theta^2}\|\theta\|^2+\text{const}$。套进 MAP:
$$ \theta_{\text{MAP}}=\arg\min\ \mathcal{L}(\theta)+\lambda\|\theta\|^2,\qquad \lambda=\frac{1}{2\sigma_\theta^2}. $$
先验方差越小(对参数约束越紧),等效 $\lambda$ 越大。L2 系数 = 先验不确定性的倒数,调 $\lambda$ 就是在报"我对参数大小的先验把握"。
L1 正则 ↔ 拉普拉斯先验。 取零均值拉普拉斯分布 $p(\theta)\propto e^{-|\theta|/b}$,对数密度是 $-\|\theta\|_1/b$ 加常数,对应的正是 L1 惩罚。拉普拉斯分布在零点有尖峰(密度 $\propto e^{-|\theta|/b}$ 在 0 处斜率跳跃),所以 MAP 解里大量参数被压到恰好为零——这就是 L1 产生稀疏模型的机制,不是 L1"喜欢小权重",是它先验里零就是个高密度点。
这个对应表还能往下续:弹性网络(L1+L2 混合)对应高斯与拉普拉斯的混合先验(spike-and-slab 的连续近似);早停在贝叶斯视角下近似于对训练轨迹截断的隐式先验(MacKay 的经典论证:SGD 有限步数只走到后验的高概率区域,等效于给参数加了一个以初始化为中心的高斯先验);dropout 对应参数的乘性噪声先验。
定量关系:λ 与噪声方差联动
上面的推导还藏着一个常被忽略的定量结论。把似然也写全:回归任务设观测噪声 $y=f_\theta(x)+\varepsilon$,$\varepsilon\sim\mathcal{N}(0,\sigma_\varepsilon^2)$,则
$$ \ln p(D\mid\theta)=-\frac{1}{2\sigma_\varepsilon^2}\sum_i\|y_i-f_\theta(x_i)\|^2+\text{const}, $$
MAP 目标变成
$$ \min_\theta\ \frac{1}{2\sigma_\varepsilon^2}\sum_i\|y_i-f_\theta(x_i)\|^2+\frac{1}{2\sigma_\theta^2}\|\theta\|^2. $$
乘上 $2\sigma_\varepsilon^2$,等效 L2 系数是
$$ \lambda=\frac{\sigma_\varepsilon^2}{\sigma_\theta^2}. $$
正则强度由"信噪比"决定:观测噪声大(数据本身不可信),$\lambda$ 应该大——少信数据,多信先验。这条关系解释了为什么同一模型换数据集要重调 weight decay:不是模型变了,是数据的噪声水平变了。经验调参 $\lambda\in[10^{-4},10^{-2}]$ 的惯例,本质是在摸索数据集的隐含信噪比。
从 MAP 到全贝叶斯:先验的工作还没完
MAP 只用先验找到后验的众数,把后验本身丢掉了。全贝叶斯方法(如变分推断、MCMC 那一族)保留整个后验 $p(\theta|D)$,预测时做边缘化 $p(y|x,D)=\int p(y|x,\theta)p(\theta|D)d\theta$。好处是预测自带不确定性量化:数据稀疏的区域后验宽,预测方差大。代价是积分算不动——又回到上一篇蒙特卡洛的地盘。
深度学习的现实位置在两者之间:训练是 MAP(带 weight decay),但 dropout 在测试时保留、深度集成训练多个 MAP 解,这些都是对后验不确定性的廉价逼近。深度集成尤其诚实:每个成员的 MAP 解近似后验的一个模,成员间的分歧近似后验方差。
Adam 下 L2 与 weight decay 为什么分道扬镳
经典 SGD 里,"损失加 L2 项"和"每步权重乘 $(1-\eta\lambda)$"完全等价:SGD 对 $\lambda\|\theta\|^2$ 求梯度得 $2\lambda\theta$,更新里正好多一项 $-2\eta\lambda\theta$,与衰减同形。所以 SGD 时代两个名字混用无伤大雅。
Adam 破坏了这个等价。Adam 的二阶矩归一化让每个参数有自己的有效学习率:$\theta_j$ 的更新幅度正比于 $\eta/(\sqrt{\hat v_j}+\varepsilon)$。L2 项进入梯度后同样被这个归一化缩放——梯度常年小的参数,其 L2 衰减被归一化压扁;梯度大的参数衰减被放大。结果是:L2 在 Adam 下不再是对所有权重的均匀收缩,惩罚效果与参数自身的梯度尺度纠缠,等效 $\lambda$ 逐参数不同。
AdamW(Loshchilov & Hutter, 2019, ICLR)的修复是把两件事解耦:衰减项不进梯度,直接 $\theta\leftarrow\theta-\eta\lambda\theta-\eta\cdot\text{Adam更新}$。衰减对所有参数一视同仁,恢复"先验收缩"的本来面目。论文实验里 AdamW 在 Transformer 上稳定优于 Adam+L2,差异随模型变大而拉开——这也是为什么现代 LLM 训练配置清一色写 adamw 而不是 adam。细节留给优化器章节的 AdamW 专篇,这里只需记住贝叶斯视角给出的判据:weight decay 才是真正的"高斯先验收缩",L2 只是它在 SGD 下的等价化身,换个优化器等价就断了。
小结
贝叶斯定理把正则化统一为先验的对数密度:L2 是零均值高斯先验,L1 是拉普拉斯先验,惩罚系数与先验方差互为倒数;写全噪声模型后,$\lambda=\sigma_\varepsilon^2/\sigma_\theta^2$ 说明正则强度该随数据信噪比调整。MAP 只是贝叶斯推断的一个截面(取后验众数),全贝叶斯的不确定性量化是深度学习里 dropout、深度集成在廉价逼近的东西。最后,AdamW 的存在提醒:L2 与 weight decay 的等价是 SGD 的偶然,不是正则化的本质——本质是参数空间里的先验收缩。