标签:#信息论 #信息瓶颈 #IB #互信息 #表示学习 #概念瓶颈 #单域泛化
0 前言
很多同学第一次听到“信息压缩”,会以为是 ZIP、JPEG 那种把文件变小、还能还原的技术。但在深度学习里,“信息压缩”完全是另一回事——它压缩的不是数据文件,而是模型内部学到的表示(representation)。
本文从熵和互信息出发,讲清楚:什么是表示层面的信息压缩、为什么它能让模型更鲁棒、以及信息瓶颈(Information Bottleneck, IB)如何把这件事变成可训练的损失函数。最后落到你正在读的 CIBM 论文和你的课题(Cauvis / 蒸馏 / 单域泛化)上。
1 信息是什么:从熵说起
信息论的开端是 Shannon 的一个朴素观察:信息量 ≈ 不确定性的减少。
- “太阳从东方升起”——太常见,信息量≈0;
- “明天太阳不会升起”——极意外,信息量巨大。
单事件的信息量:
概率越低,信息量越高。一个系统的平均信息量就是熵:
熵回答的问题是:这个变量平均有多不确定?
| 系统 | 熵 | 直觉 |
|---|---|---|
| 100% 正面硬币 | 0 | 结果完全确定,没有信息 |
| 50/50 硬币 | 1 bit | 每次抛都有一半的意外 |
| 640×640 图像 | 巨大 | 可能性无穷多 |
如果你已经读过《从熵到大模型》那篇博客,这部分可以直接跳过;这里只是为互信息做铺垫。
2 互信息:两个变量共享多少信息
单看熵还不够——我们更关心:表示 Z 里到底携带了多少输入 X 的信息?
这就是互信息(Mutual Information):
大白话:知道 Z 之后,对 X 的不确定性减少了多少。
- Z 完全复制了 X → → (信息全带上了);
- Z 只保留“够用”的部分 → 适中(压缩了);
- Z 全是噪声 → (压过头,任务也废了)。
互信息还可以写成 KL 形式:
含义:X 和 Z 越“不独立”,互信息越大。
3 “信息压缩”到底是什么:表示压缩 vs 文件压缩
| 文件压缩(ZIP/JPEG) | 表示压缩(IB/表示学习) | |
|---|---|---|
| 对象 | 数据本身(字节) | 模型内部的表示(特征/概念层) |
| 目标 | 文件变小,还能还原 | 特征变“干净”,不需要还原 |
| 衡量 | 文件大小/比特数 | 互信息 |
| 是否可逆 | 通常要可逆 | 刻意不可逆(丢掉冗余) |
所以“信息压缩”是:让模型内部表示少携带输入的冗余信息,但保留对任务有用的信息。
一个直觉例子:识别猫
一张猫的图片包含的信息:
有用的:轮廓、耳朵形状、胡须……(判断“这是猫”)
多余的:背景是草地、光线偏黄、猫是白色的……(换了场景就变)
信息压缩要做的:把“草地、光线、颜色”扔掉,只留“判断是猫需要的信息”。
- 扔掉前:特征携带了 X 的全部信息 → 很大;
- 扔掉后:特征只带任务相关部分 → 变小,但 不掉。
4 信息瓶颈 IB:有任务目标的信息压缩
光说“压缩”不够——怎么压才不把任务信息也压掉?
Tishby 等人在 2000 年给出的答案(信息瓶颈, IB):
两项各管一件事:
| 项 | 作用 | 方向 |
|---|---|---|
| 压缩:Z 少带输入冗余 | 越小越好 | |
| 保真:Z 仍能预测标签 | 越大越好 | |
| 权衡:多看重任务信息 | 越大越不愿牺牲精度 |
这个目标求出的 Z 叫最小充分表示(minimal sufficient representation):
少,但够用。
5 变分信息瓶颈 VIB:让 IB 可训练
IB 的原始形式不好算——互信息需要对分布求积分。Alemi 等人在 2017 年(Deep Variational Information Bottleneck)把它改成可用神经网络优化的形式:
直觉拆解:
- 第一项是重建/预测损失(让 Z 对 Y 有用);
- 第二项是正则项(把编码分布 拉向先验 ,逼它“少带输入特例”);
- 控制压缩强度。
从 VIB 之后,IB 思想开始大量进入深度学习:表示学习、域泛化、蒸馏、可解释模型……
6 为什么信息压缩有用:泛化 / 抗伪相关 / 可解释
6.1 泛化
压掉的是和具体场景绑定的信息(背景、光照、天气)→ 换一个域也不崩。这正是单域泛化(Single-DGOD)最需要的性质。
6.2 抗伪相关
Cauvis 论文里的“颜色偏置、位置偏置”就是 X 中与 Y 存在虚假关联的信息——信息压缩就是把这些洗掉。
6.3 可解释(概念泄漏)
CIBM 论文说的 concept leakage,本质就是“概念层 C 里混进了太多 X 的信息”。压 之后,概念才真的只代表它该代表的东西。
6.4 理论背书:PAC-Bayes
Kawaguchi 等人(2023)证明:把 IB 加进目标函数,可以在 PAC-Bayes 框架下得到更紧的泛化上界——复杂度降低带来的收益,超过训练误差的轻微增加。CIBM 论文的定理 2 正是把这一套搬到了概念层。
7 概念信息瓶颈 CIBM:把 IB 用到概念层
概念瓶颈模型(CBM)的管道是:。
传统 IB 压的是潜在空间:
CIBM 的改动是把压缩从潜在空间搬到概念空间:
为什么?因为 (数据处理不等式)——压 Z 只能间接限制 C,泄漏可能从 Z→C 幸存;显式压 才能直接掐断输入冗余进入概念层的通路。
CIBM 给了两个可落地的变体:
- IBB(Bounded):把互信息拆成交叉熵,实现简单,但训练不稳定(需对 做 stop-gradient);
- IBE(Estimator-based):保留显式 项,用 Monte-Carlo 估计(假设概念 logits 服从高斯,采样 batch 近似边缘分布),效果更好。
🔒 8 与课题的关系:Cauvis / 蒸馏 / 单域泛化
你手头所有东西,本质都在做“信息压缩”:
| 东西 | 压掉什么 | 保留什么 |
|---|---|---|
| Cauvis 的 SVD top-k | 小奇异值方向(伪相关/噪声) | 大奇异值方向(因果/任务相关) |
| CIBM | (输入泄漏进概念的信息) | (概念对任务有用的信息) |
| 蒸馏 | 教师的冗余/噪声 | 教师“会什么”的核心知识 |
| 域泛化 | 域特有/风格信息 | 域不变/语义信息 |
8.1 对 Cauvis 的启发
Cauvis 论文写的是“SVD + 软阈值抑制伪相关”,但代码里没有实现。CIBM 给了另一种更原则化的实现路径:
用 IB 正则替代缺失的软阈值惩罚: 其中 取 Cauvis 因果分支的输出,目标就是“显式压缩伪相关、保留任务信息”。
8.2 对蒸馏的启发
蒸馏 = 知识压缩。CIBM 给出判据:只传“与任务充分(高 )又不泄漏输入冗余(低 )”的表示,别传教师的域特有/风格成分。
8.3 对 Night Rainy 短板的启发
雨夜特征里“泄漏”最重(低照度+雨纹都是强伪相关)。用 IB 式压缩压低 ,可能比“造更真实的雨夜样本”更根本——这与 Cauvis 因果派“不造数据、洗伪相关”的哲学一致。
9 参考资料
- Tishby, Pereira & Bialek — The Information Bottleneck Method(2000):https://arxiv.org/abs/physics/0004057
- Alemi et al. — Deep Variational Information Bottleneck(ICLR 2017):https://arxiv.org/abs/1612.00410
- Kawaguchi et al. — How Does Information Bottleneck Help Deep Learning?(ICML 2023):https://arxiv.org/abs/2305.18887
- Galliamov et al. — Concepts’ Information Bottleneck Models(ICLR 2026):https://arxiv.org/abs/2602.14626
- 本目录相关博客:
一句话记住:信息压缩 = 减少特征携带的输入信息(),但不减少它对任务有用的信息()。 它不是把数据变小,而是让模型的表示更干净——只记该记的,不记不该记的。