第 4 天 · 权重越模糊,信息越少,泛化越好
一句话
Hinton 和 van Camp 把“防止过拟合”改写成通信问题:发送者要把权重和预测误差一起传给接收者,总比特数越少越好。他们给每个权重配一个可学习的高斯噪声,噪声越大,权重需要的比特越少。这个目标就是今天变分推断和 VAE 损失函数的前身。
论文讲了什么
核心主张。如果权重里的信息量远小于训练数据输出里的信息量,网络就能泛化。所以训练时要惩罚权重携带的信息量。论文把这个信息量量化成比特数。
通信游戏。发送者和接收者都能看到训练输入,只有发送者能看到正确输出。发送者先训练一个网络,然后发送 2 样东西:
- 权重本身,花费
L(w)比特。 - 每个训练样本上,网络输出与正确输出的差值,花费
L(D|w)比特。
接收者用权重算出网络输出,再加上差值,就恢复了全部正确输出。总描述长度 L(w) + L(D|w) 越短,说明网络抓住的规律越多,记住的噪声越少。这就是最小描述长度原则(Minimum Description Length, MDL),第 5 天会系统讲。
关键问题:一个实数权重要多少比特?精确到无限位需要无限比特。论文的答案是不要精确发送。给每个权重一个高斯分布 N(μ_i, σ_i²)。σ_i 越大,这个权重越“模糊”,发送它需要的比特越少。权重的信息量等于这个分布 Q 与先验 P 之间的 KL 散度(KL divergence)KL(Q || P)。
取舍。噪声越大,权重越便宜,但网络输出越不准,差值越贵。训练同时调节每个权重的均值和方差,在两者之间找平衡。目标函数是一行:总代价 = 期望数据误差的编码长度 + KL(Q || P)。论文第 5.2 节给出“比特回收”(bits back)论证:按分布 Q 随机选权重时,接收者事后能收回选择用掉的随机比特,所以权重的真实代价正好是 KL 散度。
技术贡献。网络含一层非线性隐藏单元、输出单元为线性时,作者推导出期望平方误差及其导数的计算方法,不需要耗时的蒙特卡洛采样。先验也可以学习:作者用 5 个高斯组成的自适应混合先验,延续了 Nowlan 和 Hinton 1992 年的软权重共享(soft weight-sharing)。
实验。任务是预测一类多肽分子的活性。每个分子有 128 个输入特征,训练集只有 105 个样本,测试集 420 个。网络有 4 个隐藏单元、521 个权重,不加限制时严重过拟合。结果用相对误差衡量(1.0 表示和“猜均值”一样差):
- 普通权重、不惩罚信息量:0.967。
- 仔细调过系数的权重衰减:0.317。
- 带噪声权重 + MDL 目标:0.286。
作者坦承这只是初步结果,还没有和其他方法做全面比较。今天看,它的价值主要在思想。
关键概念
- 最小描述长度(Minimum Description Length, MDL)
- 选模型的原则:模型的描述长度加上借助模型描述数据的长度,总和最短者最好。复杂模型拟合好但自身贵,简单模型便宜但误差贵。
- KL 散度(KL divergence)
- 衡量两个分布的差别。本文中,KL(Q || P) 等于用先验 P 的编码发送一个按 Q 选出的权重时,平均要花的比特数。KL 为 0 表示权重没有从数据中学到任何信息。
- 比特回收(bits back)
- 从分布 Q 随机选权重要消耗随机比特。接收者知道 Q 后能反推出这些比特,它们可以用来传别的信息。扣掉收回的部分,净代价就是 KL 散度。
- 噪声权重(noisy weights)
- 每个权重不是一个数,而是一个高斯分布,有均值和方差 2 个可学习参数。方差大表示网络不在乎这个权重的精确值,它携带的信息就少。
- 变分自由能(variational free energy)
- “期望数据误差 + KL”这个目标的物理学名字,也就是后来变分推断里的负证据下界(negative ELBO)。描述长度最小化和变分贝叶斯是同一个目标的两种说法。
- 平坦极小值(flat minimum)
- 损失曲面上宽而平的低谷,权重小幅变动时损失几乎不变。能容忍大噪声的权重必然落在这种区域。Hochreiter 和 Schmidhuber 1997 年把它和泛化联系起来。
历史位置:为什么值得读
1993 年,反向传播已经普及。但很多实际任务数据少、参数多,过拟合是主要难题。常用的工具是权重衰减(weight decay)和早停(early stopping),它们缺少统一的理论解释。
这篇论文把 Rissanen 的 MDL 原则用到神经网络上,给出一个信息论答案:模型复杂度 = 描述权重需要的比特数。它还把“给权重加噪声”和“减少权重信息量”严格挂上了钩。论文顺带说明,权重衰减就是“权重服从零均值高斯先验”时的特例。
它的影响在约 20 年后才完全显现:
- Graves 2011 年发表 Practical Variational Inference for Neural Networks,把这个框架用到循环网络上。
- Kingma 和 Welling 2013 年提出变分自编码器(VAE),损失函数同样是“重构误差 + KL”。
- Blundell 等人 2015 年的 Bayes by Backprop 用重参数化技巧训练权重分布,可以看作本文的现代版。
- 比特回收论证后来发展成比特回收编码(bits-back coding),用于基于隐变量模型的无损压缩。
在清单中,它和第 5 天(MDL 教程)、第 23 天(变分有损自编码器)、第 26 天(Kolmogorov 复杂度)构成一条“压缩即学习”的主线。Ilya Sutskever 2023 年的演讲 An Observation on Generalization 专门讲过这条主线。
学前准备
- 理解高斯分布的均值和方差
- 知道编码长度 = -log2 概率,即熵和交叉熵的含义
- 了解 KL 散度的定义和它为什么非负
- 建议先读第 5 天的两部分编码,再回来读本篇
在原仓库怎么学
原仓库第 4 天把论文思想实现为一个“噪声权重”网络,用缺口正弦波回归任务演示。注意本天的练习目录名是大写的 Exercises/。建议按下面的顺序学:
- 先读论文第 2–5 节,再打开 README.md 看本天的结构。
- 读 implementation.py。先看
BayesianLinear的sample_weights和kl_divergence,再看MDLNetwork.update_weights怎样用kl_weight平衡两项代价。 - 运行 train_minimal.py:在中间缺一段数据的正弦波上训练,观察缺口处的预测区间是否变宽。
- 打开 notebook.ipynb,用 visualization.py 画不确定性包络。
- 做 Exercises/ 里的 5 个练习:重参数化技巧、缺口实验、beta 系数研究、蒙特卡洛预测、帕累托前沿。补充题在 exercises_extra.md。
- 对照 solutions.py 和 solutions_extra.py 检查答案,最后用 CHEATSHEET.md 复习。
建议:练习 2 的缺口实验最直观。普通网络在缺口处给出过于自信的预测,噪声权重网络的预测区间会在缺口处变宽。练习 3 改变 beta 系数,可以观察模型在“拟合数据”和“保持简单”之间怎样移动。
今天再看
还活着的:“数据误差 + KL”这个结构到处都是。VAE、扩散模型的变分推导、贝叶斯神经网络都用它。大语言模型对齐时的 RLHF 目标里也有一个 KL 惩罚项,用来限制新策略偏离参考模型(第 29–30 天)。
没走通的:给每个权重学一个方差,在大模型上代价高、收益小。今天的大模型几乎不用贝叶斯权重,主要靠海量数据和权重衰减。
压缩视角在复兴:
- 语言模型的交叉熵损失本身就是编码长度。Delétang 等人 2023 年的 Language Modeling Is Compression 用大模型做算术编码,在图像和音频上的压缩率超过了 PNG 和 FLAC。
- 量化(quantization)把权重压到 4 比特甚至更低,大模型仍能工作。这说明多数权重不需要高精度,正是本文 1993 年的核心直觉。
容易卡住的地方
- 标准差必须为正。直接学 σ 会出现负值。论文优化 log 方差;常见实现学 ρ,再令 σ = log(1 + exp(ρ))。
- 要让梯度传到均值和方差,必须写成 w = μ + σ · ε,其中 ε 取自 N(0, 1),这叫重参数化。直接调用随机采样函数,梯度会断。
- 一开始就用完整的 KL 惩罚,所有权重会塌缩到几乎不含信息的解。论文把 KL 系数从 0.05 逐步升到 1 才避开这个陷阱,今天叫 KL 退火。
- 比特回收论证第一次读很绕。建议先接受结论“权重代价 = KL 散度”,读完第 5 天编码长度与概率的对应关系后,再回来细看。
延伸阅读
- 原论文:Keeping Neural Networks Simple by Minimizing the Description Length of the Weights
- 原仓库第 4 天目录:04_Minimizing_Description_Length/ —— 代码、笔记本、练习与答案(英文)
- Weight Uncertainty in Neural Networks —— Blundell 等人 2015 年,Bayes by Backprop
- Auto-Encoding Variational Bayes —— Kingma 和 Welling,VAE 原论文
- Language Modeling Is Compression —— Delétang 等人 2023 年,大模型即压缩器