跳至内容
返回

信息压缩与信息瓶颈:从“文件变小”到“表示变干净”

发布于:
🔒

标签:#信息论 #信息瓶颈 #IB #互信息 #表示学习 #概念瓶颈 #单域泛化

0 前言

很多同学第一次听到“信息压缩”,会以为是 ZIP、JPEG 那种把文件变小、还能还原的技术。但在深度学习里,“信息压缩”完全是另一回事——它压缩的不是数据文件,而是模型内部学到的表示(representation)

本文从熵和互信息出发,讲清楚:什么是表示层面的信息压缩、为什么它能让模型更鲁棒、以及信息瓶颈(Information Bottleneck, IB)如何把这件事变成可训练的损失函数。最后落到你正在读的 CIBM 论文和你的课题(Cauvis / 蒸馏 / 单域泛化)上。


1 信息是什么:从熵说起

信息论的开端是 Shannon 的一个朴素观察:信息量 ≈ 不确定性的减少

  • “太阳从东方升起”——太常见,信息量≈0;
  • “明天太阳不会升起”——极意外,信息量巨大。

单事件的信息量:

I(x)=logP(x)I(x)=-\log P(x)

概率越低,信息量越高。一个系统的平均信息量就是

H(X)=xp(x)logp(x)H(X)=-\sum_x p(x)\log p(x)

熵回答的问题是:这个变量平均有多不确定?

系统直觉
100% 正面硬币0结果完全确定,没有信息
50/50 硬币1 bit每次抛都有一半的意外
640×640 图像巨大可能性无穷多

如果你已经读过《从熵到大模型》那篇博客,这部分可以直接跳过;这里只是为互信息做铺垫。


2 互信息:两个变量共享多少信息

单看熵还不够——我们更关心:表示 Z 里到底携带了多少输入 X 的信息?

这就是互信息(Mutual Information):

I(X;Z)=H(X)H(XZ)I(X; Z)=H(X)-H(X|Z)

大白话:知道 Z 之后,对 X 的不确定性减少了多少

  • Z 完全复制了 X → H(XZ)=0H(X|Z)=0I(X;Z)=H(X)I(X;Z)=H(X)(信息全带上了);
  • Z 只保留“够用”的部分 → I(X;Z)I(X;Z) 适中(压缩了);
  • Z 全是噪声 → I(X;Z)0I(X;Z)\approx 0(压过头,任务也废了)。

互信息还可以写成 KL 形式:

I(X;Z)=DKL(p(x,z)p(x)p(z))I(X; Z)=D_{KL}\big(p(x,z)\,\|\,p(x)p(z)\big)

含义:X 和 Z 越“不独立”,互信息越大


3 “信息压缩”到底是什么:表示压缩 vs 文件压缩

文件压缩(ZIP/JPEG)表示压缩(IB/表示学习)
对象数据本身(字节)模型内部的表示(特征/概念层)
目标文件变小,还能还原特征变“干净”,不需要还原
衡量文件大小/比特数互信息 I(X;Z)I(X;Z)
是否可逆通常要可逆刻意不可逆(丢掉冗余)

所以“信息压缩”是:让模型内部表示少携带输入的冗余信息,但保留对任务有用的信息

一个直觉例子:识别猫

一张猫的图片包含的信息:

有用的:轮廓、耳朵形状、胡须……(判断“这是猫”)
多余的:背景是草地、光线偏黄、猫是白色的……(换了场景就变)

信息压缩要做的:把“草地、光线、颜色”扔掉,只留“判断是猫需要的信息”

  • 扔掉前:特征携带了 X 的全部信息 → I(X;Z)I(X;Z) 很大;
  • 扔掉后:特征只带任务相关部分 → I(X;Z)I(X;Z) 变小,但 I(Z;Y)I(Z;Y) 不掉。

4 信息瓶颈 IB:有任务目标的信息压缩

光说“压缩”不够——怎么压才不把任务信息也压掉?

Tishby 等人在 2000 年给出的答案(信息瓶颈, IB):

minp(zx)  I(X;Z)βI(Z;Y)\min_{p(z|x)}\; I(X; Z)-\beta\, I(Z; Y)

两项各管一件事:

作用方向
I(X;Z)I(X;Z)压缩:Z 少带输入冗余越小越好
I(Z;Y)I(Z;Y)保真:Z 仍能预测标签越大越好
β\beta权衡:多看重任务信息越大越不愿牺牲精度

这个目标求出的 Z 叫最小充分表示(minimal sufficient representation)

少,但够用。


5 变分信息瓶颈 VIB:让 IB 可训练

IB 的原始形式不好算——互信息需要对分布求积分。Alemi 等人在 2017 年(Deep Variational Information Bottleneck)把它改成可用神经网络优化的形式:

LVIB=Ep(x,y)[Ep(zx)[logq(yz)]+βDKL(p(zx)r(z))]\mathcal{L}_{VIB}=E_{p(x,y)}\Big[E_{p(z|x)}\big[-\log q(y|z)\big]+\beta\, D_{KL}\big(p(z|x)\,\|\,r(z)\big)\Big]

直觉拆解:

  1. 第一项是重建/预测损失(让 Z 对 Y 有用);
  2. 第二项是正则项(把编码分布 p(zx)p(z|x) 拉向先验 r(z)r(z),逼它“少带输入特例”);
  3. β\beta 控制压缩强度。

从 VIB 之后,IB 思想开始大量进入深度学习:表示学习、域泛化、蒸馏、可解释模型……


6 为什么信息压缩有用:泛化 / 抗伪相关 / 可解释

6.1 泛化

压掉的是和具体场景绑定的信息(背景、光照、天气)→ 换一个域也不崩。这正是单域泛化(Single-DGOD)最需要的性质。

6.2 抗伪相关

Cauvis 论文里的“颜色偏置、位置偏置”就是 X 中与 Y 存在虚假关联的信息——信息压缩就是把这些洗掉。

6.3 可解释(概念泄漏)

CIBM 论文说的 concept leakage,本质就是“概念层 C 里混进了太多 X 的信息”。压 I(X;C)I(X;C) 之后,概念才真的只代表它该代表的东西。

6.4 理论背书:PAC-Bayes

Kawaguchi 等人(2023)证明:把 IB 加进目标函数,可以在 PAC-Bayes 框架下得到更紧的泛化上界——复杂度降低带来的收益,超过训练误差的轻微增加。CIBM 论文的定理 2 正是把这一套搬到了概念层。


7 概念信息瓶颈 CIBM:把 IB 用到概念层

概念瓶颈模型(CBM)的管道是:XZCYX \to Z \to C \to Y

传统 IB 压的是潜在空间:

LCIB=I(Z;C)+I(C;Y)βI(X;Z)L_{CIB}=I(Z; C)+I(C; Y)-\beta\, I(X; Z)

CIBM 的改动是把压缩从潜在空间搬到概念空间

LCIBM=I(Z;C)+I(C;Y)βI(X;C)L_{CIBM}=I(Z; C)+I(C; Y)-\beta\, I(X; C)

为什么?因为 I(X;C)I(X;Z)I(X;C)\le I(X;Z)(数据处理不等式)——压 Z 只能间接限制 C,泄漏可能从 Z→C 幸存;显式压 I(X;C)I(X;C) 才能直接掐断输入冗余进入概念层的通路。

CIBM 给了两个可落地的变体:

  • IBB(Bounded):把互信息拆成交叉熵,实现简单,但训练不稳定(需对 H(C)H(C) 做 stop-gradient);
  • IBE(Estimator-based):保留显式 I(X;C)I(X;C) 项,用 Monte-Carlo 估计(假设概念 logits 服从高斯,采样 batch 近似边缘分布),效果更好。

🔒 8 与课题的关系:Cauvis / 蒸馏 / 单域泛化

你手头所有东西,本质都在做“信息压缩”:

东西压掉什么保留什么
Cauvis 的 SVD top-k小奇异值方向(伪相关/噪声)大奇异值方向(因果/任务相关)
CIBMI(X;C)I(X;C)(输入泄漏进概念的信息)I(C;Y)I(C;Y)(概念对任务有用的信息)
蒸馏教师的冗余/噪声教师“会什么”的核心知识
域泛化域特有/风格信息域不变/语义信息

8.1 对 Cauvis 的启发

Cauvis 论文写的是“SVD + 软阈值抑制伪相关”,但代码里没有实现。CIBM 给了另一种更原则化的实现路径:

用 IB 正则替代缺失的软阈值惩罚: L=Ldet+λ[I(X;Ccausal)βI(Ccausal;Y)]L = L_{det} + \lambda\big[I(X; C_{causal}) - \beta\, I(C_{causal}; Y)\big] 其中 CcausalC_{causal} 取 Cauvis 因果分支的输出,目标就是“显式压缩伪相关、保留任务信息”。

8.2 对蒸馏的启发

蒸馏 = 知识压缩。CIBM 给出判据:只传“与任务充分(高 I(C;Y)I(C;Y))又不泄漏输入冗余(低 I(X;C)I(X;C))”的表示,别传教师的域特有/风格成分。

8.3 对 Night Rainy 短板的启发

雨夜特征里“泄漏”最重(低照度+雨纹都是强伪相关)。用 IB 式压缩压低 I(X;C)I(X;C),可能比“造更真实的雨夜样本”更根本——这与 Cauvis 因果派“不造数据、洗伪相关”的哲学一致。


9 参考资料

  1. Tishby, Pereira & BialekThe Information Bottleneck Method(2000):https://arxiv.org/abs/physics/0004057
  2. Alemi et al.Deep Variational Information Bottleneck(ICLR 2017):https://arxiv.org/abs/1612.00410
  3. Kawaguchi et al.How Does Information Bottleneck Help Deep Learning?(ICML 2023):https://arxiv.org/abs/2305.18887
  4. Galliamov et al.Concepts’ Information Bottleneck Models(ICLR 2026):https://arxiv.org/abs/2602.14626
  5. 本目录相关博客:

一句话记住:信息压缩 = 减少特征携带的输入信息(I(X;Z)I(X;Z)),但不减少它对任务有用的信息(I(Z;Y)I(Z;Y))。 它不是把数据变小,而是让模型的表示更干净——只记该记的,不记不该记的。


在以下平台分享此文章:

上一篇
论文阅读:CIBM(ICLR 2026)——概念信息瓶颈:用 I(X;C) 压缩抑制概念泄漏
下一篇
论文阅读:UniRain(CVPR 2026)——RAG 数据蒸馏与多目标重加权的统一图像去雨