Anthropic 工程博客 · 中文学习笔记Anthropic 工程笔记

    用最短描述长度让神经网络保持简单:给权重加噪声、按比特计价

    Keeping Neural Networks Simple by Minimizing the Description Length of the Weights

    Day 04 · P6 原论文发布:1993-08-01 发表:COLT 1993 阅读约 7 分钟 原论文链接 ↗ 30u30 单元 ↗
    作者
    Geoffrey E. Hinton, Drew van Camp
    30u30 单元
    04_Minimizing_Description_Length(讲解、实现与练习请到原仓库查看,本站不翻译、不改编,见导读)
    ⚠️ source_url 是 Hinton 主页上的论文摘要页,页面注明发表于第六届 ACM 计算学习理论会议(COLT,Santa Cruz,1993 年 7 月),并提供 PDF。published 取 ACM 数字图书馆检索结果显示的会议论文集出版日期 1993-08-01(待核实:本笔记未能直接打开 ACM 页面)。
    本页目录(17)
    1. 一句话总结
    2. 解决什么问题
    3. 核心思想
    4. 发送者与接收者
    5. 从平方误差和权重衰减说起
    6. 带噪声的权重
    7. 关键公式或机制
    8. 1. 比特返还(bits back)论证
    9. 2. 精确导数
    10. 3. 混合高斯先验
    11. 4. 初步实验(论文所写)
    12. 图解
    13. 关键原话
    14. 和 Anthropic 笔记的对应
    15. 读的时候要注意
    16. 30u30 对应单元
    17. 延伸阅读

    一句话总结#

    把“模型有多复杂”换算成“把权重发给别人要花多少比特”:总成本 = 描述权重的比特 + 描述预测误差的比特,最小化总成本就是在拟合和简单之间找平衡。

    解决什么问题#

    训练数据少、模型参数多时,网络很容易过拟合。论文开头给出一个判断标准:权重里包含的信息要远少于训练样本输出里包含的信息,网络才能泛化。

    当时已有的限制信息量的办法各有缺点:

    • 减少连接数:只能寄希望于每个权重里信息不多。
    • 权重共享:需要事先知道任务的对称性。
    • 把权重量化后按概率计比特:代价函数不光滑,难以用梯度优化。

    作者要找一个可以求导、能直接用反向传播优化的信息量度量。

    核心思想#

    发送者与接收者#

    论文借用了最小描述长度(MDL)原理的通信比喻:发送者能看到输入和正确输出,接收者只能看到输入。发送者先训练好网络,把权重发过去,再把每个样本上“网络输出和正确答案的差”发过去,接收者就能还原出正确输出。最好的模型是让权重成本 + 误差成本之和最小的那个。

    从平方误差和权重衰减说起#

    • 如果误差按零均值高斯分布编码,误差的描述长度就和平方误差成正比——这给了平方误差一个 MDL 解释。
    • 如果权重也按固定方差的零均值高斯编码,权重成本就和权重平方和成正比——这正是常用的权重衰减。
    • 作者指出这种粗糙版本的缺陷:它只看权重值的概率密度,却假定所有权重都按同样的精度传送,忽略了“有些权重根本不需要精确”这件事,论文称之为对比特的极大浪费。

    带噪声的权重#

    改为给每个权重一个高斯分布(一个均值、一个方差),训练时同时调整均值和方差:

    • 方差大的权重传送起来便宜,但会让输出更不准,误差成本上升。
    • 方差小的权重传送起来贵,但输出更准。
    • 优化在两者之间自动取舍。

    关键公式或机制#

    1. 比特返还(bits back)论证#

    发送者用随机比特从后验分布 Q 里抽出一个精确权重,按先验 P 编码发送;接收者收到全部权重和误差后,可以重跑同样的学习算法,恢复出 Q,进而还原出发送者当初用掉的那些随机比特。这些比特“免费”传过去了,应当从成本里扣掉。扣完之后,一个带噪权重的期望成本恰好是:

    G(P, Q) = ∫ Q(w) · log( Q(w) / P(w) ) dw

    也就是后验 Q 相对先验 P 的 KL 散度。

    2. 精确导数#

    对于一层非线性隐藏单元加线性输出单元的网络,作者给出了期望平方误差和权重信息量的精确导数计算方法,不需要蒙特卡洛模拟。

    3. 混合高斯先验#

    先验也可以用一个可学习的混合高斯分布(借鉴 Nowlan 与 Hinton 1992 年的工作),让权重自动聚成几簇;论文还给出了用混合先验时的编码方案。

    4. 初步实验(论文所写)#

    • 任务:预测一类多肽分子的有效性,每个分子用 128 个参数描述,训练集只有 105 个样本,测试集 420 个。
    • 网络:4 个隐藏单元,共 521 个可调权重,比训练样本多得多。
    • 先验:5 个高斯的混合分布。
    • 相对误差:本文方法 0.286;同一网络不加噪声、不惩罚信息量为 0.967;简单权重衰减最好为 0.317;线性回归 35.6,加按测试集调好的岭惩罚后为 0.291。

    作者自己的结论很克制:新方法在至少一个任务上略好于权重衰减,是否有竞争力还需要大量实验。他们还坦白指出,总描述长度最小的那个解,相对误差约为 1.0,几乎没有预测能力,这对 MDL 原理或他们的权重编码方式是一个严重的尴尬。

    图解#

    flowchart LR
        S["发送者:看得到输入和正确输出"] -->|"1. 发送权重:成本约为 KL(Q ‖ P)"| R["接收者:只看得到输入"]
        S -->|"2. 发送误差:成本随平方误差增加"| R
        R --> O["接收者还原出正确输出"]
        R -.->|"3. 重跑学习算法,收回随机比特"| BB["比特返还"]

    图解:发送者先发送带噪权重,再发送每个样本上的误差,接收者据此还原正确输出;接收者重跑学习算法后还能收回发送者抽样时用掉的随机比特,所以权重的净成本是后验相对先验的 KL 散度。

    关键原话#

    “Supervised neural networks generalize well if there is much less information in the weights than there is in the output vectors of the training cases.”

    和 Anthropic 笔记的对应#

    这篇是 1993 年的理论论文,与 Anthropic 工程博客没有直接关系。下面只是思路上的类比:

    Anthropic 笔记对得上的地方
    面向 AI 智能体的上下文工程那篇的指导原则是找到“能最大化期望结果概率的、最小的高信号 token 集合”,并强调最小不等于短。本文同样是在“描述得更省”和“结果更准”之间求总成本最小,而不是一味压缩。
    为智能体编写工具那篇用留出测试集防止对评测过拟合。本文讨论的正是过拟合的根源:模型携带的信息比数据能支撑的多。

    读的时候要注意#

    • 实验只有一个小任务:而且线性回归加岭惩罚(0.291)和本文方法(0.286)几乎一样,作者自己也解释了原因。
    • 岭回归的惩罚是按测试集调的:论文写明了这一点,比较时要注意这对基线是有利的设置。
    • “总描述长度最小的解几乎没用”:这个反例是论文自己报告的,读的时候别跳过。
    • 和后来工作的关系:比特返还和 KL 形式的成本,后来常被视为变分推断、贝叶斯神经网络的前身(待核实:本笔记没有逐一核对后续文献对本文的引用方式)。
    • 扫描 PDF 的排版:PDF 文字提取后连字(如 fi、ff)会丢失,引用原文时以 PDF 版面为准。

    30u30 对应单元#

    • 30u30 的 Day 4 单元↗(仓库采用 CC BY-NC-ND 4.0,本笔记没有使用其内容)。
    • 路线位置:30u30 导读 的 P6 理论段(压缩、复杂性、通用智能)。

    延伸阅读#


    本笔记依据 2026-10-18 抓取的在线原文撰写,仅为导读与总结。原文:Geoffrey E. Hinton, Drew van Camp,《Keeping Neural Networks Simple by Minimizing the Description Length of the Weights》, COLT 1993。

    本页目录