概念界定
互信息度量一个随机变量包含了多少关于另一个随机变量的信息。它可以理解为:知道 X 后,Y 的不确定性减少了多少。
背景与问题
在 NLP 和表示学习中,我们经常关心上下文、标签、文档、图像或隐藏表示之间共享了多少信息。互信息提供了一种理论语言,用于描述变量之间的信息关联。
定义与记号
互信息定义为:
I(X; Y) = H(Y) - H(Y | X)也可以写成:
I(X; Y) = KL(p(x, y) || p(x)p(y))这表示联合分布与独立分布之间的差异。
直观解释
如果知道 X 后,Y 的不确定性大幅降低,那么 X 和 Y 的互信息高。如果知道 X 对预测 Y 没有帮助,那么互信息为 0。
基本性质
- 互信息非负。
I(X; Y) = I(Y; X),互信息是对称的。- 如果
X和Y独立,则互信息为 0。 - 互信息高不等于因果关系强,只表示统计信息相关。
示例
在语言模型中,前文上下文 X_<t 与下一个 token X_t 通常有互信息。上下文越能减少对下一个 token 的不确定性,互信息越高。
在 RAG 中,检索文档 D 如果真的与答案 Y 相关,那么 D 应该提供关于 Y 的信息。
常见误解
- 误解:互信息高说明存在因果关系。
- 正确理解:互信息只刻画统计依赖,不保证因果。
- 误解:互信息可以轻易在高维大模型中精确计算。
- 正确理解:高维连续变量的互信息估计通常很困难。
- 误解:互信息越高一定越好。
- 正确理解:任务相关信息有价值,噪声或泄漏信息也可能提高互信息。
相关概念
- 熵 — 互信息基于熵差定义。
- 联合熵与条件熵 — 互信息描述条件后不确定性减少。
- RAG 检索增强生成 — 检索文档应提供与答案相关的信息。