Skip to content

E.4.4 互信息与表征学习

前置知识E.4.1 熵E.4.2 KL 散度——你需要知道熵和 KL 散度的定义。


前面三节讨论了单个分布的性质(熵)和两个分布之间的距离(KL 散度)。但有时候我们想问一个更微妙的问题:两个随机变量之间共享了多少信息?这就需要互信息——它衡量"知道一个变量后,另一个变量的不确定性减少了多少",在表征学习中用来评估状态表征是否保留了任务相关信息。

互信息:知道一个变量能帮多少

互信息回答的核心问题是:知道 YY 以后,XX 的不确定性减少了多少?公式是:

I(X;Y)=H(X)H(XY).I(X;Y)=H(X)-H(X\mid Y).

这里 H(X)H(X)XX 自身的不确定性(熵),H(XY)H(X\mid Y) 是"已知 YY 之后 XX 还剩多少不确定性"。两者之差就是"因为知道 YY 而消除的不确定性"。

看一个直觉例子。假设 XX 是"下一步是否成功",YY 是"当前状态表征"。如果不知道状态表征,成功与失败各一半:

H(X)=1 bit.H(X)=1\text{ bit}.

知道状态表征后,几乎可以判断是否成功,不确定性下降到:

H(XY)=0.2 bit.H(X\mid Y)=0.2\text{ bit}.

那么互信息是:

I(X;Y)=10.2=0.8 bit.I(X;Y)=1-0.2=0.8\text{ bit}.

0.80.8 bit 意味着 YY 消除了 XX80%80\% 的不确定性——它对预测 XX 帮了很大的忙。

互信息也可以用 KL 散度来定义:

I(X;Y)=DKL(PXYPXPY).I(X;Y)=D_{KL}(P_{XY}\|P_XP_Y).

这个形式说的是:XXYY 的联合分布 PXYP_{XY} 与"假设它们独立时的分布 PXPYP_XP_Y"之间的 KL 散度。如果 XXYY 真的独立,这两个分布相同,互信息为 00

在强化学习中,互信息常用于表征学习。一个好的状态表征 ϕ(s)\phi(s) 应该保留与未来回报有关的信息,而丢掉任务无关的噪声:

I(ϕ(s);Gt) 越大,表征越包含回报相关信息。I(\phi(s);G_t)\ \text{越大,表征越包含回报相关信息。}

这类公式在基础算法中不一定直接出现,但在探索、表示学习、世界模型和无监督 RL 的研究中很常见。


小结

本篇引入了衡量"两个随机变量之间共享多少信息"的工具:

概念解决什么问题核心公式RL 中的角色
互信息知道一个变量后另一个的不确定性减少多少I(X;Y)=H(X)H(XY)I(X;Y)=H(X)-H(X\mid Y)评估表征是否保留任务相关信息
互信息的 KL 定义用 KL 散度表达互信息I(X;Y)=DKL(PXYPXPY)I(X;Y)=D_{KL}(P_{XY}|P_XP_Y)独立时互信息为 0

互信息把前面几篇的熵和 KL 散度串联起来:用 KL 衡量联合分布与独立假设的差异,用熵的减少量衡量信息的增益。下一篇汇总 E.4 模块的所有完整公式。

下一篇E.4.5 完整信息论公式 —— 汇总 KL、RLHF、DPO、互信息完整表达。

Built for reusable bilingual course delivery