信息论深度指南
文档概述
信息论由香农于1948年创立,为量化信息、度量不确定性提供了严格的数学框架。本指南系统介绍熵、交叉熵、KL散度、互信息等核心概念,深入探讨信源编码与信道编码定理、率失真理论、典型序列理论(Large Deviation Theory)、最大熵原理以及信息瓶颈理论的完整推导,并结合机器学习中的变分推断、信息瓶颈、对比学习等前沿应用。附录提供熵的泛函不等式、量子信息论入门、网络信息论展望等高级专题。
关键词
| 序号 | 关键词 | 英文 | 核心公式 |
|---|---|---|---|
| 1 | 信息熵 | Shannon Entropy | |
| 2 | 交叉熵 | Cross-Entropy | |
| 3 | KL散度 | KL Divergence | |
| 4 | 互信息 | Mutual Information | |
| 5 | 信道容量 | Channel Capacity | |
| 6 | 信息瓶颈 | Information Bottleneck | $\min_{p(t |
| 7 | 最大熵 | Maximum Entropy | |
| 8 | 联合熵 | Joint Entropy | |
| 9 | 条件熵 | Conditional Entropy | |
| 10 | 率失真理论 | Rate-Distortion Theory | 压缩与保真度的权衡 |
| 11 | Fano不等式 | Fano’s Inequality | $H(P_e) + P_e \log( |
| 12 | 数据处理不等式 | DPI | |
| 13 | 典型序列 | Typical Set | 集合的体积与熵的关系 |
| 14 | 信源编码 | Source Coding | |
| 15 | 信道编码定理 | Channel Coding | 存在码可达 |
| 16 | 费舍尔信息 | Fisher Information | |
| 17 | 多终端信息论 | Network Information Theory | 多用户信道的容量区域 |
| 18 | 率失真函数 | Rate-Distortion Function | $R(D) = \min_{p(\hat{x} |
| 19 | 香农-麦克斯韦妖 | Maxwell’s Demon | 信息与熵的深层联系 |
| 20 | 通用编码 | Universal Coding | 无需已知信源分布的渐近最优编码 |
零、信息论入门:信息可以量化吗?
0.1 从”今天会下雨吗”说起
你有没有想过,“今天会下雨吗”这个问题里,到底包含了多少信息?
如果天气预报说”今天100%会下雨”,这句话其实没什么信息量——因为结果早就确定了,没有意外。但如果说”今天有50%的概率下雨”,这就有点意思了,至少还有悬念。
反过来,如果我说”明天太阳会从东方升起”,这话信息量几乎为零,因为这是板上钉钉的事。但如果说”明天会发生日全食”,这信息量可就大了,因为这种事极其罕见。
你看,信息这个东西,好像和”意外程度”或者”概率大小”有关系。越不可能发生的事情发生了,信息量就越大。这就是香农(Claude Shannon)发现的核心洞察。
0.2 比特是什么?
香农说,信息可以用”比特”(bit)来衡量。一比特,就是能回答一个是非问题所需的信息量。比如抛一枚硬币,正面还是反面,一比特就能说清楚。
用一个比特可以表示两种状态:0或1。如果你有4种可能性需要编码,理论上需要2比特(因为 )。如果你有8种可能,需要3比特()。规律是:如果有 种等概率的可能,需要 个比特。
这个 函数出现了——它不是巧合,而是信息论的核心数学工具。
0.3 自信息:单条消息的信息量
如果某件事发生的概率是 ,那么这件事发生带来的”惊喜”(信息量)可以用公式表达为:
这就是自信息(Self-Information)。
几个关键性质:
- 时,。确定的事没有信息量。
- 越小, 越大。小概率事件的信息量大。
- 如果两件事独立发生,总信息量是各自信息量之和:。
用比特来表示:
- 抛硬币正面:, 比特
- 掷骰子掷出6:, 比特
- 生日是某一天:, 比特
有意思吧?生日的信息量比掷骰子大多了。
0.4 为什么用对数?
你可能会问,为什么偏偏用对数?简单说几个原因:
第一,对数能把乘法变成加法。独立事件的信息量可以相加,而概率相乘,所以取对数后运算就统一了。
第二, 给出的单位是比特,这是计算机和通信行业最自然的度量。
第三,数学上处理起来很方便,对数的性质优美而简洁。
一、熵与交叉熵
1.1 香农熵的定义
信息熵(Shannon Entropy)是量化随机变量不确定性的基本量。设离散随机变量 的概率分布为 ,则熵定义为:
约定 (因为 )。
对数底数的选择决定熵的单位:
- 底数为 2:单位为 bits(比特)—— 二进制信息的基本单位
- 底数为 :单位为 nats(奈特)—— 数学上更自然(因为 ,与指数分布自然共轭)
- 两者关系:,
熵的直觉理解
熵度量了编码随机变量 所需的平均比特数(最优编码)。若 有 种等可能取值,则 bits——恰好是识别每个取值需要的二进制位数(因为 位二进制数可以表示 种状态)。
熵也可以理解为”惊喜”的期望程度。若某事件概率极低但发生了,我们”惊讶”;若事件几乎必然发生,“惊讶”很少。香农的 恰好度量了这种惊喜程度,而熵是惊喜的期望值。
自信息(Self-Information):单个事件的信息量 。自信息满足:
- 非负性:
- 单调性: 越小, 越大
- 可加性:独立事件的自信息可加
二进制熵函数:伯努利分布 的熵:
在 处达到最大值 1 bit,当 或 时趋近于 0。这反映了完全确定的事件不携带信息。
熵的上界:对于在有限字母表 ()上取值的随机变量,,等号当且仅当均匀分布时成立。
1.2 熵的直观理解:不确定性越大,熵越高
熵这个名字来自热力学,听起来挺吓人的,但核心思想其实特别朴素:熵就是不确定性。
想象你在看一场足球赛:
- 如果赛前你就知道A队必胜无疑(99%概率),比赛其实没什么悬念,熵很低。
- 如果A队和B队势均力敌(50%-50%),你完全猜不出结果,熵很高。
再举一个更具体的例子。假设你有一个袋子,里面装着4个球。现在有两种装法:
装法A:1红1蓝1绿1黄各一个。每抽一个球,猜中颜色的难度一样——4选1,不确定性中等。
装法B:4个全是红球。每次抽到的一定是红球,完全确定,没有不确定性。
装法A的熵更高,装法B的熵是零。
数学上验证一下:
- 装法A:, bits
- 装法B:(确定), bits
这个例子完美展示了:分布越均匀,熵越大;分布越集中,熵越小。
1.3 熵的基本性质
非负性:,当且仅当 是确定分布时取等号。这是熵最基本的不等式。
链式法则:
这个等式将联合熵分解为一系列条件熵的和,表明在已知部分信息后,剩余信息的不确定性逐层递减。
次可加性(Subadditivity):,等号当 时成立。
条件减少熵:,即知道 后不会增加 的不确定性。等号成立当且仅当 。
联合熵: 的联合分布熵:
条件熵:给定 后 的剩余不确定性:
熵的等价表示:互信息的定义 揭示了熵、条件熵和互信息之间的深刻联系。 意味着 ,即条件信息永远不超过无条件信息。
可加性与独立化:
若 与 独立,则 。
二元变量的熵计算
设 ,,。 bits。 若 ,则 bit。 若 ,则 bits。
这个例子说明:分布越均匀,熵越大(不确定性越大);分布越集中,熵越小。
1.4 交叉熵与损失函数
交叉熵(Cross-Entropy)衡量用分布 编码来自分布 的消息所需的平均比特数:
交叉熵与熵的关系:
机器学习中的交叉熵损失:在分类问题中,真实标签 的分布为 (one-hot 编码),模型预测为 (softmax 输出)。优化交叉熵损失:
由于 与 无关,最小化交叉熵等价于最小化 ,即使得模型分布 逼近真实分布 。
二元交叉熵(Binary Cross-Entropy): 的二元分类中,
这正是伯努利分布的负对数似然(NLL)。
交叉熵 vs. 均方误差
交叉熵在梯度上优于均方误差(MSE)。MSE 的梯度在预测接近 0 或 1 时趋于消失,而交叉熵的梯度与 sigmoid 的导数无关(因为来自似然函数),训练更加稳定。因此在分类问题中交叉熵是首选损失函数。
1.5 微分熵
对于连续随机变量 ,微分熵(Differential Entropy)定义为:
注意:与离散熵不同,微分熵可以是负数!
例子:均匀分布 ,(),则
正态分布的微分熵(最大熵分布):
在所有方差为 的连续分布中,正态分布具有最大微分熵。这是最小假设原理(Least Assumptions Principle)在信息论中的体现。
离散熵与微分熵的关系:在离散化意义下,若将连续变量 的取值范围划分为长度为 的小区间,则离散熵 。当 时,(无穷大的常数项)——这解释了为什么离散熵和微分熵不能直接比较。
微分熵的性质:连续变量的熵不满足非负性等离散变量的基本性质,因此使用时要小心。例如,指数分布 ()的微分熵为 (其中 是欧拉-马歇罗尼常数,),可以是负数(当 时)。
二、KL散度(相对熵)
2.1 KL散度的定义
KL散度(Kullback-Leibler Divergence,或称相对熵)衡量两个概率分布的”距离”:
定义要求:若 ,则 ( 支撑集是 支撑集的子集)。否则 。
KL散度不是距离
KL散度不对称:。因此严格来说不是距离度量(不满足三角不等式和对称性)。但它是非负的,当且仅当 时取零。KL 散度是一种 f-散度,是满足某些性质的更广泛散度族中的一员。
两种对称化散度:
- Jensen-Shannon 散度(JS Divergence):,其中 。JS 散度是对称的, 有界。
- Hellinger 距离:,是真正的度量(对称、满足三角不等式)。
2.2 KL散度的直观理解:两个分布有多不同?
KL散度告诉你:用分布 来近似真实分布 ,会损失多少”信息”。
直观的比喻:
- 假设 是真实的天气预报分布(明天有60%概率下雨,40%概率不下雨)
- 假设 是你的猜测分布(你认为50%-50%)
- KL散度 告诉你,用你的猜测分布来编码真实的天气情况,会比最优编码多浪费多少信息。
KL散度的非负性是它的核心——用错误的分布近似,永远不会节省信息,只会更费信息。
举一个更具体的例子:
假设真实分布 和近似分布 如下:
| 事件 | ||
|---|---|---|
| A | 0.5 | 0.3 |
| B | 0.3 | 0.4 |
| C | 0.2 | 0.3 |
计算KL散度:
这意味着,如果你用 来编码来自 的样本,平均每个样本会多浪费约0.137比特的信息。
2.3 KL散度的性质
非负性(KL散度的核心不等式):
证明(离散情形):由 (等号当 时成立,对所有 )
-D_{KL}(P \| Q) &= \sum_x p(x) \log \frac{q(x)}{p(x)} \\ &\leq \sum_x p(x) \left(\frac{q(x)}{p(x)} - 1\right) \quad \text{(由 } \log t \leq t - 1 \text{)}\\ &= \sum_x q(x) - \sum_x p(x) = 0 \end{aligned}$$ 等号成立当且仅当对所有 $x$ 有 $\frac{q(x)}{p(x)} = 1$,即 $P = Q$。 **链式法则**:KL散度满足可加性(对于独立分解的结构) $$D_{KL}(P(X, Y) \| Q(X, Y)) = D_{KL}(P(X) \| Q(X)) + D_{KL}(P(Y|X) \| Q(Y|X))$$ **局部KL散度**:在点 $x$ 处,$p(x)\log\frac{p(x)}{q(x)}$ 可以理解为 $x$ 处对散度的"贡献"。这启发了 **信息几何** 的发展——在概率分布族构成的空间(流形)上,KL 散度定义了黎曼度量(Fisher 信息度量)。 **KL散度的变分下界**:对于难以直接计算的分布 $P$,常常通过构造 $Q$ 来近似 $P$。KL 散度的非负性产生了重要的**变分下界**技术。 > [!example] 变分推断中的 KL 散度 > > 在贝叶斯统计中,后验分布 $p(Z|X) = \frac{p(X|Z)p(Z)}{p(X)}$ 通常难以计算(分母的归一化常数 $p(X)$ 是 intractable 的)。变分推断引入近似分布 $q(Z)$,通过最小化 $D_{KL}(q(Z) \| p(Z|X))$ 来逼近后验。 > > 展开得到: > $$D_{KL}(q \| p) = \mathbb{E}_q[\log q(Z)] - \mathbb{E}_q[\log p(X, Z)] + \log p(X)$$ > 移项得到 $\log p(X) = D_{KL}(q \| p) + \mathcal{L}(q)$,其中 $\mathcal{L}(q) = \mathbb{E}_q[\log p(X, Z)] - \mathbb{E}_q[\log q(Z)]$ 是 **变分下界**(ELBO)。由于 $D_{KL}(q \| p) \geq 0$,故 $\log p(X) \geq \mathcal{L}(q)$——最大化 $\mathcal{L}(q)$ 等价于最小化 KL 散度。 ### 2.4 KL散度在机器学习中的应用 **变分推断**(Variational Inference, VI): 用简单的变分分布 $q(Z)$ 逼近后验分布 $p(Z|X)$,最小化 $D_{KL}(q(Z) \| p(Z|X))$: $$\min_q D_{KL}(q(Z) \| p(Z|X)) \Leftrightarrow \max_q \mathbb{E}_q[\log p(X, Z)] - \mathbb{E}_q[\log q(Z)]$$ 这产生了**变分下界**(ELBO): $$\mathcal{L}(q) = \mathbb{E}_q[\log p(X, Z)] - \mathbb{E}_q[\log q(Z)]$$ ELBO 在变分自编码器(VAE)中作为训练目标出现。 **GAN的对抗损失**: GAN的损失函数本质上是最小化生成分布与真实分布之间的JS散度(Jensen-Shannon Divergence): $$D_{JS}(P \| Q) = \frac{1}{2}D_{KL}(P \| M) + \frac{1}{2}D_{KL}(Q \| M), \quad M = \frac{P+Q}{2}$$ 原始 GAN 最小化 $2 \cdot D_{JS}(P_{\text{data}} \| P_G)$(忽略常数项),JS 散度在分布不重叠时梯度消失——这正是 GAN 训练不稳定的主要原因之一。Wasserstein GAN (WGAN) 使用 Wasserstein 距离替代 JS 散度,显著改善了训练稳定性。 **信息正则化**:许多现代学习方法可以解释为在损失函数中加入信息项。例如: - **信息瓶颈**(Information Bottleneck):$I(X;T) - \beta I(T;Y)$ - **对比学习**(Contrastive Learning):通过 KL 散度构造正负样本的分布差异 - **互信息估计**:MINE (Mutual Information Neural Estimation) 使用 KL 散度的变分下界来估计 $I(X; Y)$ --- ## 三、互信息 ### 3.1 互信息的定义 **互信息**(Mutual Information)衡量两个随机变量之间的信息共享程度: $$I(X; Y) = D_{KL}(P(X, Y) \| P(X)P(Y)) = \sum_{x,y} p(x,y) \log \frac{p(x,y)}{p(x)p(y)}$$ 互信息可以用熵的术语表示: $$I(X; Y) = H(X) - H(X|Y) = H(Y) - H(Y|X) = H(X) + H(Y) - H(X, Y)$$ 这些等价的表达式揭示了互信息的不同侧面: - $I(X;Y)$ 是"知道 $Y$ 后,$X$ 的不确定性的减少量"。 - $I(X;Y)$ 是"知道 $X$ 后,$Y$ 的不确定性的减少量"。 - 对称性是显然的:$I(X;Y) = I(Y;X)$。 > [!note] 互信息的直观理解 > > 互信息 $I(X; Y)$ 可以理解为两个随机变量共享的信息量。如果 $X$ 和 $Y$ 完全相关($Y = f(X)$ 或 $X = g(Y)$),则 $I(X;Y) = H(X) = H(Y)$。如果 $X$ 和 $Y$ 完全独立,则 $I(X;Y) = 0$(知道一个完全不能减少对另一个的不确定性)。 **互信息与相关系数的区别**:互信息是 **非参数** 的,它度量了任意(非线性)依赖关系;而皮尔逊相关系数只度量**线性**相关。因此 $I(X;Y) = 0$ 当且仅当 $X \perp Y$,而 $\rho(X,Y) = 0$ 只意味着无线性相关(非独立是可能的)。 ### 3.2 互信息:两个变量共享多少信息? 想象这样一个场景:你收到天气预报说"今天阴天",这个信息能帮你预测"今天会下雨"吗? 答案是:**看情况**。 如果是在干旱的北京,阴天和下雨关系不大;但如果在广州的梅雨季节,阴天基本上就意味着下雨。 互信息就是在量化这种关系: - 在北京,$I(\text{阴天};\text{下雨})$ 可能接近于0——两个事件几乎独立 - 在广州,$I(\text{阴天};\text{下雨})$ 可能很高——它们共享大量信息 举一个更量化的例子: 假设 $X$ 是某个地区的海拔(高、中、低),$Y$ 是该地区的年均温度(热、温、寒)。 | | 高海拔 | 中海拔 | 低海拔 | |---|---|---|---| | 高温 | 0.05 | 0.15 | 0.30 | | 低温 | 0.30 | 0.15 | 0.05 | 计算一下互信息: $$I(X; Y) = H(X) - H(X|Y)$$ - $H(X) = -2 \times (0.5 \log_2 0.5) = 1$ bit - $H(X|Y=\text{高温}) = -0.1\log_2 0.1 - 0.3\log_2 0.3 - 0.6\log_2 0.6 \approx 1.37$ bits - $H(X|Y=\text{低温}) = -0.6\log_2 0.6 - 0.3\log_2 0.3 - 0.1\log_2 0.1 \approx 1.37$ bits - $H(X|Y) = 0.5 \times 1.37 + 0.5 \times 1.37 = 1.37$ bits - $I(X; Y) = 1 - 1.37 = 0$ bits? 等等,这里我算错了。重新算: $p(X=\text{高}) = 0.05 + 0.3 = 0.35$ $p(X=\text{中}) = 0.15 + 0.15 = 0.3$ $p(X=\text{低}) = 0.3 + 0.05 = 0.35$ $p(Y=\text{热}) = 0.05 + 0.15 + 0.3 = 0.5$ $p(Y=\text{寒}) = 0.3 + 0.15 + 0.05 = 0.5$ $H(X) = -0.35\log_2 0.35 - 0.3\log_2 0.3 - 0.35\log_2 0.35 \approx 1.58$ bits $H(X|Y=\text{热}) = -0.1\log_2 0.1 - 0.3\log_2 0.3 - 0.6\log_2 0.6 \approx 1.37$ bits $H(X|Y=\text{寒}) = -0.6\log_2 0.6 - 0.3\log_2 0.3 - 0.1\log_2 0.1 \approx 1.37$ bits $H(X|Y) = 0.5 \times 1.37 + 0.5 \times 1.37 = 1.37$ bits $I(X; Y) = 1.58 - 1.37 = 0.21$ bits 这意味着,知道温度信息后,你对海拔的不确定性平均减少了0.21比特。 ### 3.3 条件互信息 **条件互信息**:给定 $Z$ 后,$X$ 和 $Y$ 之间的互信息: $$I(X; Y | Z) = H(X|Z) - H(X|Y, Z) = \sum_z p(z) \sum_{x,y} p(x,y|z) \log \frac{p(x,y|z)}{p(x|z)p(y|z)}$$ **链式法则**: $$I(X_1, X_2, \ldots, X_n; Y) = \sum_{i=1}^n I(X_i; Y | X_1, \ldots, X_{i-1})$$ 即总互信息等于各分量对 $Y$ 的条件互信息之和。 **互信息的贝叶斯网络结构**:在概率图模型中,互信息用于描述节点间的信息流动。对于贝叶斯网络(或有向无环图),Markov 毯、条件独立性等概念都与互信息密切相关。 ### 3.4 数据处理不等式(DPI) **数据处理不等式**(Data Processing Inequality):若 $X \to Y \to Z$ 形成马尔可夫链(即 $X \perp Z | Y$),则: $$I(X; Y) \geq I(X; Z)$$ **证明思路**:由于 $Z$ 仅通过 $Y$ 依赖于 $X$,知道 $Z$ 不比直接知道 $Y$ 提供更多信息。具体证明利用互信息的链式法则: $$I(X; Y, Z) = I(X; Y) + \underbrace{I(X; Z | Y)}_{=0} = I(X; Z) + \underbrace{I(X; Y | Z)}_{\geq 0}$$ 由于条件互信息非负,故 $I(X;Y) \geq I(X;Z)$。 > [!example] DPI的应用 > > 在机器学习中,数据经过层层变换 $X \to f_1(X) \to f_2(f_1(X)) \to \cdots$: > - 每一步处理都不能增加与原始输入的互信息 > - 即信息只能损失(不能凭空创造):$I(X; f(X)) \leq I(X; X) = H(X)$ > - 网络的信息瓶颈使得 $I(X; Y)$ 成为容量上界 > - 这为深度网络的信息压缩提供了理论解释 DPI 的推论:**充分统计量**。若 $T(Y)$ 是 $Y$ 关于 $X$ 的充分统计量(即 $X \to Y \to T(Y)$ 构成马尔可夫链),则 $I(X; T(Y)) = I(X; Y)$。这意味着 $T(Y)$ 保留了 $Y$ 中关于 $X$ 的全部信息。 ### 3.5 互信息的估计 在实际应用中,$I(X; Y)$ 往往难以直接计算(因为需要知道联合分布 $p(x,y)$ 或进行高维积分)。互信息的估计方法包括: **直方图估计**:将 $X$ 和 $Y$ 空间离散化,然后计算经验分布下的互信息。简单但维度灾难严重。 **Kraskov-Stögbauer-Grassberger (KSG) 估计器**:基于最近邻距离的无参估计器,在中等维度下表现良好。 $$I(X; Y) \approx \psi(N) + \psi(k) - \mathbb{E}[\log \hat{p}(x,y)/\hat{p}(x)\hat{p}(y)]$$ 其中 $\psi$ 是 digamma 函数。 **变分估计**(MINE):使用神经网络参数化一个统计量 $T_\omega(x,y)$ 来估计 $I(X;Y)$,通过最大化 $I_\omega(X;Y) = \mathbb{E}_p[T_\omega] - \mathbb{E}_{q}[e^{T_\omega-1}]$(其中 $q$ 是乘积边际),这利用了 KL 散度的变分下界。 --- ## 四、信息增益与决策树 ### 4.1 什么是信息增益? 决策树(Decision Tree)是机器学习中经典的算法,而ID3、C4.5等决策树算法的核心就是**信息增益**(Information Gain)。 信息增益定义为: $$\text{Gain}(S, A) = H(S) - H(S|A)$$ 其中 $H(S)$ 是集合 $S$ 的熵,$H(S|A)$ 是在属性 $A$ 上分割后的条件熵。 **直观理解**:选择哪个特征来分裂数据集?答案是:**选择能让不确定性减少最多的特征**。也就是信息增益最大的特征。 ### 4.2 决策树分裂特征的选择 假设我们有一个判断"今天是否适合户外运动"的问题: **数据集**: - 天气 = 晴:3个样本(2个适合,1个不适合) - 天气 = 阴:2个样本(2个适合,0个不适合) - 天气 = 雨:2个样本(0个适合,2个不适合) **计算信息增益**: 首先计算整体熵: - 适合:4个,不适合:3个 - $H(S) = -4/7 \log_2(4/7) - 3/7 \log_2(3/7) \approx 0.985$ bits 再看天气属性的条件熵: - $H(S|\text{天气}) = 3/7 \times H([2,1]) + 2/7 \times H([2,0]) + 2/7 \times H([0,2])$ - $= 3/7 \times 0.918 + 2/7 \times 0 + 2/7 \times 0 = 0.393$ bits 天气的信息增益:$0.985 - 0.393 = 0.592$ bits 如果我们还有温度属性: - 温度 = 高:3个(1适合,2不适合),$H = 0.918$ - 温度 = 中:2个(1适合,1不适合),$H = 1.0$ - 温度 = 低:2个(2适合,0不适合),$H = 0$ $H(S|\text{温度}) = 3/7 \times 0.918 + 2/7 \times 1.0 + 2/7 \times 0 = 0.679$ bits 信息增益:$0.985 - 0.679 = 0.306$ bits 天气的信息增益(0.592)大于温度的信息增益(0.306),所以我们应该先按天气分裂。 ### 4.3 决策树的信息论解释 从信息论角度看,决策树的学习过程就是: 1. 从根节点开始,找到能让熵减少最多的特征进行分裂 2. 对每个子节点递归执行步骤1 3. 直到所有叶节点的熵足够低(或样本数足够少) **信息增益率**(C4.5算法的改进):为了避免偏向取值多的特征,引入信息增益率: $$\text{GainRatio}(S, A) = \frac{\text{Gain}(S, A)}{H_A(S)}$$ 其中 $H_A(S)$ 是属性 $A$ 的分裂信息,度量按 $A$ 分裂后各子集的"均匀程度"。 --- ## 五、信道容量 ### 5.1 信道模型的定义 **离散无记忆信道**(Discrete Memoryless Channel, DMC)由输入字母表 $\mathcal{X}$、输出字母表 $\mathcal{Y}$ 和转移概率 $p(y|x)$ 定义。"无记忆"意味着在不同使用之间,信道特性独立不变。 **信道容量**定义: $$C = \max_{p(x)} I(X; Y)$$ 其中最大化在所有可能的输入分布 $p(x)$ 上进行。 > [!note] 信道容量的意义 > > 信道容量 $C$ 是信道能够可靠传输信息的最大速率(bits/channel use)。当传输速率 $R < C$ 时,理论上可以无误差传输(通过适当的编码方案);当 $R > C$ 时,误差不可避免(信道编码定理)。 信道容量的对称性:$C = \max_{p(x)} I(X;Y) = \max_{p(y)} I(Y;X)$。由于 $I(X;Y) = I(Y;X)$,两种定义方式等价。 **互信息的变分表示**:利用 $I(X;Y) = \max_{q(y|x)} \mathbb{E}[\log \frac{p(y|x)}{q(y|x)}]$,其中最大值在 $q(y|x) = p(y|x)$ 处取得。 ### 5.2 典型信道的容量 **二进制对称信道(BSC)**: - 输入 $X \in \{0, 1\}$,输出 $Y \in \{0, 1\}$ - 交叉概率 $\epsilon$(输入0输出1或输入1输出0的概率) - 转移概率:$p(Y=X) = 1 - \epsilon$,$p(Y \neq X) = \epsilon$ $$C_{BSC} = 1 - H_b(\epsilon) \quad \text{bits/channel use}$$ 其中 $H_b(\epsilon)$ 是二进制熵函数。当 $\epsilon = 0$ 时 $C = 1$(完美信道),当 $\epsilon = 0.5$ 时 $C = 0$(信道完全不传递信息)。 **二进制擦除信道(BEC)**: - 输入 $X \in \{0, 1\}$,输出 $Y \in \{0, 1, e\}$($e$ 表示擦除) - 擦除概率 $\alpha$ $$C_{BEC} = (1 - \alpha) \quad \text{bits/channel use}$$ 直观上:只有非擦除的输出传递信息,而 $1-\alpha$ 比例的输入被正确接收。 **高斯信道**(连续输入): $$C = W \log_2\left(1 + \frac{P}{N}\right) \quad \text{bits/s}$$ 其中 $W$ 是带宽,$P$ 是信号功率,$N$ 是噪声功率。$P/N$ 是信噪比(SNR)。这是 **Shannon-Hartley 定理**。 **多元输入高斯信道**(MIMO): $$C = \log_2 \det(I + \frac{P}{N} HH^T) \quad \text{bits/s}$$ 其中 $H$ 是信道矩阵。当使用注水(water-filling)功率分配时达到容量。 ### 5.3 信道编码定理 **香农第二定理**(信道编码定理): 对于任意 $\epsilon > 0$ 和速率 $R < C$,存在编码方案使得误码率小于 $\epsilon$,且码率任意接近 $C$。 更精确地:对于离散无记忆信道,存在长度为 $n$ 的分组码,其码率 $R$ 满足 $R < C$,且平均误码概率 $P_e^{(n)} \to 0$ 当 $n \to \infty$。 **反方向**:若 $R > C$,则无论码长多大,误码概率必然大于某个正常数(> 0)。这由 Fano 不等式严格证明。 > [!note] 定理的深远意义 > > 香农信道编码定理是信息论最深刻的结果之一。它证明了: > 1. **可靠通信是可能的**:即使信道有噪声,通过精心设计的编码和译码,仍可实现无差错传输。 > 2. **容量 $C$ 是可达速率的终极上界**:没有任何编码方案能够突破信道容量的限制。 > 3. **无需告知发送者信道特性**:存在"通用"码(如 LDPC 码、Turbo 码)在不知晓具体信道参数的情况下渐近达到容量。 > > 这为现代通信理论奠定了基础。 **Fano不等式**(误差下界): $$H(X|\hat{X}) \leq H(P_e) + P_e \log(|\mathcal{X}| - 1)$$ 其中 $P_e = P(X \neq \hat{X})$ 是误码概率,$H(P_e)$ 是熵函数。 结合 $I(X; \hat{X}) = H(X) - H(X|\hat{X})$ 和 $I(X; \hat{X}) \leq I(X; Y) \leq C$,可以推导出误码概率与速率之间的关系。 ### 5.4 达到容量的编码 **分组码 vs. 卷积码**:分组码将信息分组独立编码;卷积码利用连续符号间的约束关系。 **低密度奇偶校验码**(LDPC, Low-Density Parity-Check Codes):Gallager 在 1962 年提出,被证明在 Belief Propagation 译码下可以任意接近容量(稀疏图的置信传播具有接近 MAP 解的性能)。 **Turbo码**:Berrou 等人在 1993 年提出,通过迭代译码(类似置信传播)在信噪比接近香农极限时仍能可靠通信,是信息论与工程结合的里程碑。 **极化码**(Polar Codes):Arikan 在 2009 年提出,是首个可证明达到任意二元对称信道容量的构造性编码方案,已被纳入 5G 标准。 **香农极限**:在给定信道条件下,可靠通信所需的最小信噪比。当实际性能逼近香农极限时,我们说"接近香农极限"。 --- ## 六、信源编码定理 ### 6.1 信源模型 **离散无记忆信源**(Discrete Memoryless Source, DMS):一系列独立同分布的随机变量 $X_1, X_2, \ldots$,每个 $X_i$ 从字母表 $\mathcal{X}$ 中取值,服从分布 $p(x)$。 **信源编码的目标**:用尽可能少的比特来表示信源产生的符号序列,使得译码误差任意小(或者,在有损压缩下,失真度任意小)。 **即时码与前缀码**:每个码字不应该是另一个码字的前缀,即码树中所有码字都是叶子(无公共前缀)。这保证了唯一可译性,且译码可以即时完成。 ### 6.2 Kraft不等式 **Kraft不等式**:对于前缀码,若码字长度集合 $\{l_1, \ldots, l_m\}$ 可实现,则必须满足: $$\sum_{i=1}^m D^{-l_i} \leq 1$$ 其中 $D$ 是码字母表大小(如二进制编码则 $D=2$)。 **McMillan不等式**:Kraft 不等式不仅是前缀码存在的必要条件,也是充分条件。 ### 6.3 香农信源编码定理(无损压缩) **信源编码定理**:设信源熵为 $H(S)$。对于任意 $\epsilon > 0$,存在编码方案使得: $$H(S) \leq \mathbb{E}[l(S)] < H(S) + \epsilon$$ 即平均码长趋近于信源熵的下界。 **定理的等价表述**: - 下界:任意无失真编码的平均码长至少为熵(以 bits/symbol 为单位)。 - 可达性:通过典型序列编码(典型序列编码),可以实现任意接近熵的压缩率。 ### 6.4 典型序列编码 **典型序列集合**(Typical Set)$A_\epsilon^{(n)}$: 对于长度为 $n$ 的序列 $x^n = (x_1, \ldots, x_n)$,若 $$\left|-\frac{1}{n}\log p(x^n) - H(X)\right| < \epsilon$$ 则 $x^n \in A_\epsilon^{(n)}$。 **典型序列的性质**: - $|A_\epsilon^{(n)}| \approx 2^{nH(X)}$ - $P(A_\epsilon^{(n)}) \approx 1$(当 $n$ 足够大时) - 典型序列覆盖了绝大部分概率质量("概率集中在少数典型序列上") **编码方案**: - 将信源序列划分为长度为 $n$ 的块 - 每个典型序列分配一个唯一的二进制索引(长度约为 $nH(X)$ bits) - 非典型序列可分配任意固定长度码字(或在块足够长时忽略——概率趋于零) - 平均码长趋近于 $H(X)$ bits/symbol > [!example] 英文文本的熵 > > 英文字母的熵约为 $H \approx 4.14$ bits/字符(考虑到字母频率统计相关性后降低)。这是 26 个字母均匀分布时的 $\log_2 26 \approx 4.7$ bits 的约 88%。ZIP 等压缩算法利用了统计结构(字母频率、上下文相关性),可以达到约 2-3 bits/字符的压缩率。 --- ## 七、率失真理论 ### 7.1 率失真函数 **率失真理论**处理**有损压缩**:在允许一定失真的前提下,能将信息压缩到多低? **失真度量** $d(x, \hat{x})$:衡量源符号 $x$ 与重构 $\hat{x}$ 之间的不相似程度。常见选择: - 平方误差:$d(x, \hat{x}) = \|x - \hat{x}\|^2$ - Hamming 失真:$d(x, \hat{x}) = 1$ 若 $x \neq \hat{x}$,否则 $0$ - $L_p$ 范数:$d(x, \hat{x}) = |x - \hat{x}|^p$ **平均失真**:$\mathbb{E}[d(X, \hat{X})] = \sum_{x, \hat{x}} p(x) p(\hat{x}|x) d(x, \hat{x})$。 **率失真函数**: $$R(D) = \min_{p(\hat{x}|x): \mathbb{E}d(X,\hat{X})\leq D} I(X;\hat{X})$$ $R(D)$ 是在平均失真不超过 $D$ 的约束下,压缩所需的最少互信息。 ### 7.2 率失真定理 **率失真编码定理**:对于任意失真水平 $D$ 和率 $R > R(D)$,存在编码方案使平均失真 $\leq D$,且码率 $R$(当块长趋于无穷时)。反过来,若 $R < R(D)$,则平均失真必大于 $D$。 **$R(D)$ 的性质**: - $R(D)$ 是关于 $D$ 的非增函数(允许更大失真 $\implies$ 可以用更少比特) - $R(D) = 0$ 当 $D \geq D_{\max}$(其中 $D_{\max} = \mathbb{E}[\arg\min_{\hat{x}} d(X, \hat{x})]$) - $R(0) = H(X)$(零失真即无损压缩) **高斯信源的率失真函数**:对于方差为 $\sigma^2$ 的高斯信源,使用平方误差失真: $$R(D) = \begin{cases} \frac{1}{2}\log_2\frac{\sigma^2}{D} & \text{若 } 0 \leq D \leq \sigma^2 \\ 0 & \text{若 } D \geq \sigma^2 \end{cases}$$ 这个结果的美学在于:率失真函数完全由信源的方差决定。 > [!example] 图像压缩中的率失真 > > JPEG 使用离散余弦变换(DCT),通过量化矩阵控制压缩率和失真。量化步长越大,压缩率越高(率越低),但图像质量(以 PSNR 或 SSIM 度量)越差。这正是率失真权衡的实际体现。 > > JPEG2000 使用小波变换,其率失真优化通过 Embedded Coding(EBCOT)实现,可以在任意码率截断码流,生成质量可分级(scalable)的码流。 --- ## 八、变分推断与ELBO ### 8.1 为什么需要变分推断? 在贝叶斯统计中,我们想要求后验分布: $$p(Z|X) = \frac{p(X|Z)p(Z)}{p(X)}$$ 问题在于,分母 $p(X) = \int p(X|Z)p(Z) dZ$ 通常难以计算——这叫**归一化常数不可求**(intractable)。 变分推断(Variational Inference)就是来解决这个问题的:找一个简单的近似分布 $q(Z)$,让它尽可能接近真实后验 $p(Z|X)$。 ### 8.2 证据下界(ELBO) 我们定义**证据下界**(Evidence Lower Bound): $$\mathcal{L}(q) = \mathbb{E}_q[\log p(X, Z)] - \mathbb{E}_q[\log q(Z)]$$ 这个名字的由来是:$\log p(X) \geq \mathcal{L}(q)$——对数边缘似然(evidence)有一个下界。 **推导**: $$\begin{aligned} \log p(X) &= \log \int p(X, Z) dZ \\ &= \log \int \frac{q(Z)}{q(Z)} p(X, Z) dZ \\ &= \log \mathbb{E}_q\left[\frac{p(X, Z)}{q(Z)}\right] \\ &\geq \mathbb{E}_q\left[\log \frac{p(X, Z)}{q(Z)}\right] \quad \text{(Jensen不等式)}\\ &= \mathcal{L}(q) \end{aligned}$$ 等号成立当且仅当 $q(Z) = p(Z|X)$。 ### 8.3 ELBO的直观理解 ELBO $\mathcal{L}(q) = \mathbb{E}_q[\log p(X, Z)] - \mathbb{E}_q[\log q(Z)]$ 可以拆解为两部分: **重构项**(Reconstruction Term):$\mathbb{E}_q[\log p(X|Z)]$——给定隐变量 $Z$,重构数据 $X$ 的能力。这鼓励 $q$ 的均值附近有高的数据密度。 **正则化项**(Regularization Term):$-\mathbb{E}_q[\log q(Z)] + \mathbb{E}_q[\log p(Z)] = -D_{KL}(q(Z) || p(Z))$——近似后验 $q$ 与先验 $p$ 的KL散度。这鼓励 $q$ 不要偏离先验太远。 在VAE中,这两项分别对应: - 重构损失 - KL散度正则化损失 ### 8.4 最大化ELBO = 最小化KL散度 还记得KL散度的展开吗? $$D_{KL}(q(Z) \| p(Z|X)) = \mathbb{E}_q[\log q(Z)] - \mathbb{E}_q[\log p(X, Z)] + \log p(X)$$ 移项得: $$\log p(X) = D_{KL}(q \| p) + \mathcal{L}(q)$$ 由于 $D_{KL}(q \| p) \geq 0$,所以 $\log p(X) \geq \mathcal{L}(q)$。 **关键洞察**:最大化 $\mathcal{L}(q)$ 等价于最小化 $D_{KL}(q(Z) \| p(Z|X))$! --- ## 九、最大似然估计与信息论 ### 9.1 MLE的信息论视角 最大似然估计(Maximum Likelihood Estimation, MLE)是统计学中最基本的方法之一。但你有没有想过,MLE和信息论有什么关系? **关键结论**:在一定条件下,MLE等价于最小化KL散度! 设真实数据分布为 $p_{\text{data}}(x)$,模型分布为 $p_\theta(x)$。MLE的目标是: $$\max_\theta \mathbb{E}_{p_{\text{data}}}[\log p_\theta(X)]$$ 等价于: $$\min_\theta D_{KL}(p_{\text{data}} \| p_\theta)$$ **推导**: $$\begin{aligned} D_{KL}(p_{\text{data}} \| p_\theta) &= \mathbb{E}_{p_{\text{data}}}\left[\log \frac{p_{\text{data}}(X)}{p_\theta(X)}\right] \\ &= \mathbb{E}_{p_{\text{data}}}[\log p_{\text{data}}(X)] - \mathbb{E}_{p_{\text{data}}}[\log p_\theta(X)] \end{aligned}$$ 第一项与 $\theta$ 无关,所以最小化KL散度等价于最大化 $\mathbb{E}_{p_{\text{data}}}[\log p_\theta(X)]$——这正是MLE的目标! ### 9.2 最大熵与最大似然的等价性 Jaynes的最大熵原理告诉我们:在所有满足约束的分布中,选择熵最大的分布。 当约束是经验均值 $\mathbb{E}_p[f(X)] = \mathbb{E}_{\hat{p}}[f(X)]$ 时,最大熵解具有指数族形式。 而对指数族分布进行MLE,正好等价于让经验约束成立。这建立了最大熵与最大似然之间的深层联系: **最大熵 = 最大似然 = 最小化与经验分布的KL散度** --- ## 十、信息瓶颈理论(IB) ### 10.1 IB框架的提出 **信息瓶颈**(Information Bottleneck, IB)理论由 Tishby、Pereira 和 Bialek 于1999年提出,用于分析深度学习中的表示学习。 **IB优化问题**: $$\min_{p(t|x)} \quad I(X; T) - \beta I(T; Y)$$ 约束:$p(t|x) \geq 0$,$\sum_t p(t|x) = 1$,$p(t) = \sum_x p(t|x) p(x)$。 **直观理解**: - $I(X; T)$:压缩表示 $T$ 保留了多少关于输入 $X$ 的信息 - $I(T; Y)$:表示 $T$ 对于预测目标 $Y$ 的有用程度 - $\beta \in [0, \infty)$:权衡参数 - $\beta \to \infty$:强调预测性,最小化压缩,趋向于充分统计量 - $\beta \to 0$:强调压缩性,趋向于极大压缩(但可能丢失所有预测信息) ### 10.2 IB的理论性质 **Pareto最优**:IB曲线($I(T;Y)$ vs $I(X;T)$)是Pareto前沿,表示压缩与预测之间的最优权衡。对于每个 $\beta$,最优解 $(I(X;T), I(T;Y))$ 落在 Pareto 前沿上。 **信息瓶颈分布的变分近似**:直接求解 IB 通常 intractable,因为需要计算 $p(t|x)$ 的最优分布。变分信息瓶颈(VIB)用参数化的变分分布近似: $$\mathcal{L} = \mathbb{E}_{p(x,y)}[\mathbb{E}_{q(t|x)}[-\log p(y|t)]] - \beta \cdot D_{KL}(q(t|x) \| r(t))$$ 其中 $r(t)$ 是先验分布(通常取标准高斯),$q(t|x)$ 是编码器(高斯分布),$p(y|t)$ 是解码器。 **IB与聚类的联系**:当 $Y$ 被忽略($\beta = 0$),IB 退化为最大化 $I(X;T)$,即找到保留 $X$ 信息最多的压缩表示,这等价于找到最小描述长度(MDL)的表示。 > [!note] IB与深度学习的联系 > > Tishby 等人(2015)提出:深度神经网络训练过程中经历两个阶段: > 1. **拟合阶段**(fitting phase):$I(X;T)$ 增加,$I(T;Y)$ 增加——网络学习标签相关信息 > 2. **压缩阶段**(compression phase):$I(X;T)$ 减小,$I(T;Y)$ 继续增加——网络丢弃输入中的冗余信息 > > 这一假说为理解深度学习的泛化能力提供了信息论框架:网络通过压缩输入表示,丢弃对标签无关的输入信息,从而获得更好的泛化能力(类似信息瓶颈中的去噪效果)。 > > 后续研究(Noshad et al. 2019, Saxe et al. 2019)对这一假说提出了质疑和修正,指出 $I(X;T)$ 的测量困难且依赖离散化方式。但 IB 框架本身作为分析工具仍然有价值。 ### 10.3 IB的求解方法 **IB的迭代算法**:由于 $I(X;T) - \beta I(T;Y)$ 对 $p(t|x)$ 是凸的,可以使用类似 Blahut-Arimoto 算法(用于信道容量计算)的迭代方法求解。 **Blahut-Arimoto IB算法**: 1. 初始化 $p(t|x)$ 或 $q(t)$(先验) 2. 迭代更新: - $p(t|x) \propto \exp\left(-\frac{D_{KL}(p(\cdot|x) \| p(\cdot))}{\beta}\right)$(编码器) - $p(t) = \sum_x p(t|x) p(x)$(先验) - $p(y|t) = \sum_x p(y|x) p(t|x) p(x) / p(t)$(解码器) 3. 直到收敛 **应用场景**: - 特征选择与降维 - 语音识别中的瓶颈特征 - 神经网络的表示分析 - 脑科学中的信息流分析 --- ## 十一、最大熵原理 ### 11.1 最大熵原理的哲学 **最大熵原理**(Principle of Maximum Entropy):在所有满足已知约束的分布中,应选择熵最大的分布。 这一原理体现了**奥卡姆剃刀**的思想:在没有额外信息时,不做任何不必要的假设。 **Jaynes 的论证**:若我们只知道某些可观测量的期望值,那么在所有与之兼容的概率分布中,最大熵分布是唯一能够避免引入任何未经验证的额外假设的分布。 从博弈论角度:最大熵分布是使你最不容易在赌局中吃亏的保守策略(如果你只知道某些统计量的话)。 ### 11.2 最大熵分布 **约束**:给定矩约束 $\mathbb{E}[f_i(X)] = \alpha_i$(如均值、方差)。 **最大熵解**:具有指数族形式 $$p(x) = \frac{1}{Z(\lambda)} \exp\left(\sum_i \lambda_i f_i(x)\right)$$ 其中 $Z(\lambda) = \int \exp\left(\sum_i \lambda_i f_i(x)\right) dx$ 是**配分函数**,使得分布归一化。$\lambda_i$ 是拉格朗日乘子,通过约束条件确定。 **为什么是指数族?** 利用 Jensen 不等式可以从最大熵原理推导出指数族形式。反过来,所有最大熵分布都是指数族分布。 **常见情况**: | 约束 | 最大熵分布 | |------|------------| | 固定均值 | 指数分布 | | 固定均值和方差 | 正态分布 | | 固定均值和方差(离散) | 二项分布 | | 固定均值(离散,非负) | 泊松分布 | | 固定和为1(分类变量) | 均匀分布 | | 固定支撑集,无其他约束 | 均匀分布 | | 固定均值和方差的下界 | 截断正态分布 | | 固定均值(正实数) | Gamma 分布 | > [!example] 最大熵与统计物理 > > 最大熵分布与统计物理中的玻尔兹曼分布完全一致。在统计物理中,给定总能量约束时,宏观状态的概率分布是 $\frac{1}{Z}e^{-E/kT}$。这不是巧合——熵最大化是统计物理微观状态数最大化的信息论表述。 > > Jaynes (1957) 正是用信息论重构了统计力学,将熵最大化视为统计推断的基本原理,而非物理假设。这开启了最大熵方法在统计学、机器学习、经济学等多个领域的广泛应用。 ### 11.3 最大熵与机器学习 **最大熵马尔可夫模型**(MEMM):结合最大熵分类与序列标注,用条件最大熵模型作为状态转移和发射概率。 **条件随机场**(CRF):在给定输入序列的条件下,最大化输出标签序列的条件概率。用特征函数的权重学习来建模标签的条件分布。 **指数族分布**:最大熵原理等价于选择指数族分布,这解释了为什么指数族在概率建模中如此普遍。指数族具有: - 共轭先验性质(便于贝叶斯推断) - 足够的统计量(有限维充分统计量) - 自然梯度下降结构 **最大似然估计与最大熵的等价性**:当数据来自某个未知分布 $p^*$ 时,对指数族分布进行最大似然估计(MLE),等价于在约束 $p$ 的经验矩等于 $p^*$ 的经验矩的条件下,最大化 $H(p)$。这建立了最大似然与最大熵之间的深层联系。 ### 11.4 最大熵方法的实践 **文本分类**:朴素贝叶斯和最大熵分类器都可以视为最大熵原理的应用(尽管朴素贝叶斯的条件独立性假设使结果不一定是真正的最大熵分布)。 **语言模型**:$n$-gram 语言模型可以通过最大熵方法与更丰富的特征结合(最大熵语言模型)。 **统计物理中的应用**:Ising 模型、Potts 模型、配分函数估计(从物理学家角度)和置信传播(从计算机科学家角度)是同一个数学框架的两个侧面。 --- ## 十二、信息论视角看注意力机制 ### 12.1 Transformer在做什么信息处理? 注意力机制(Attention Mechanism)是现代大语言模型的核心。但从信息论角度看,注意力机制在做什么? **Query-Key-Value的信息论解读**: - Query $Q$:当前需要获取的信息 - Key $K$:候选信息的"索引" - Value $V$ :实际的信息内容 - Attention weights:$\text{softmax}(QK^T/\sqrt{d_k})$ 表示 Query 对各个 Key 的"相关性" 从信息瓶颈角度看: - 注意力选择性地保留与 Query 相关的信息 - 丢弃与 Query 无关的信息 - 这是对信息的动态路由(routing) ### 12.2 自注意力的信息压缩视角 在自注意力中: $$\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right) V$$ **信息瓶颈视角**: - 输入序列 $X$ 被投影为 $Q, K, V$ - Attention weights $A = \text{softmax}(QK^T/\sqrt{d_k})$ 表示选择哪些信息 - 输出是 $V$ 的加权平均 从信息论角度,注意力机制实现了: - **信息路由**:根据上下文动态选择相关信息 - **信息聚合**:将分散的信息整合为紧凑表示 - **去噪**:抑制不相关信息的干扰 --- ## 十三、信息论与GAN ### 13.1 GAN训练为什么难? 生成对抗网络(GAN)由Goodfellow等人2014年提出,包含生成器 $G$ 和判别器 $D$ 两个网络。 **原始GAN的目标**: $$\min_G \max_D \mathbb{E}_{x \sim p_{\text{data}}}[\log D(x)] + \mathbb{E}_{z \sim p_z}[\log(1-D(G(z)))]$$ **信息论解释**:这个目标等价于最小化真实分布 $p_{\text{data}}$ 和生成分布 $p_g$ 之间的JS散度: $$2 \cdot D_{JS}(p_{\text{data}} \| p_g) = \max_D V(G, D)$$ **问题所在**:JS散度的致命缺陷是——**当两个分布完全不重叠时,JS散度是常数 $\log 2$**,梯度为零! 这就是mode collapse和训练不稳定的根本原因。 ### 13.2 Wasserstein GAN的改进 Wasserstein GAN (WGAN) 使用Wasserstein距离(Earth-Mover Distance)替代JS散度: $$W(p, q) = \inf_{\gamma \in \Pi(p, q)} \mathbb{E}_{(x,y)\sim\gamma}[\|x - y\|]$$ Wasserstein距离即使在分布完全不重叠时仍然有意义,因为它度量的是"把一个分布变成另一个分布需要搬运多少'质量'"。 WGAN的判别器不再输出概率,而是输出一个实数值(用了Wasserstein距离的变分形式)。这使得训练更加稳定。 --- ## 十四、信息论与大语言模型 ### 14.1 困惑度:语言模型的信息论评估 **困惑度**(Perplexity, PPL)是评估语言模型最常用的指标之一。 定义: $$\text{PPL}(W) = 2^{-\frac{1}{N} \sum_{i=1}^N \log_2 p(w_i|w_1, \ldots, w_{i-1})}$$ 信息论解释:困惑度是语言模型预测概率的交叉熵的指数: $$\text{PPL} = 2^{H(P, Q)}$$ 其中 $P$ 是真实语言分布,$Q$ 是模型预测分布。 **直观理解**: - 困惑度越低,语言模型越好 - 困惑度 $= 2^{H}$ 可以理解为"模型平均需要多少个等概率选择来预测下一个词" - 完美模型的困惑度为1(熵为0,每个词的概率都是确定的) - 困惑度为 $V$(词表大小)的模型等价于随机猜测 ### 14.2 互信息在LLM评估中的应用 **Token之间的互信息**:计算文本中相邻token之间的互信息 $I(w_n; w_{n-1})$,可以度量语言的"可预测性"。 **对比学习中的InfoNCE**:大语言模型训练中用到的对比学习目标,本质上是在最大化正样本对之间的互信息下界: $$\mathcal{L} = -\log \frac{\exp(\text{sim}(z_i, z_j^+)/\tau)}{\sum_{k=1}^N \exp(\text{sim}(z_i, z_k)/\tau)}$$ ### 14.3 信息瓶颈与LLM压缩 从信息瓶颈视角看,大语言模型训练过程可以被理解为: - **压缩**:学习在有限参数中编码语言数据的信息 - **去噪**:丢弃表面语法,保留语义信息 - **泛化**:在压缩过程中保留对预测有用的模式 研究表明,训练良好的语言模型会对训练数据进行"压缩"——相同语义的内容会被映射到相似的表示。 --- ## 十五、代码演示 ### 15.1 用NumPy计算基本量 下面展示如何用NumPy计算信息论中的基本量。 ```python import numpy as np from scipy.stats import entropy def shannon_entropy(p, base=2): """ 计算香农熵 H(X) = -sum(p(x) * log(p(x))) 参数: p: 概率分布(numpy数组或列表) base: 对数底数,2为比特,e为nats 返回: 熵值 """ # 过滤掉零概率事件 p = np.array(p) p = p[p > 0] return -np.sum(p * np.log(p) / np.log(base)) def cross_entropy(p, q, base=2): """ 计算交叉熵 H(P, Q) = -sum(p(x) * log(q(x))) """ p = np.array(p) q = np.array(q) # 只考虑p中非零的事件 mask = p > 0 return -np.sum(p[mask] * np.log(q[mask]) / np.log(base)) def kl_divergence(p, q, base=2): """ 计算KL散度 D_KL(P || Q) = sum(p(x) * log(p(x)/q(x))) """ p = np.array(p) q = np.array(q) mask = (p > 0) & (q > 0) # 需要p和q都非零 return np.sum(p[mask] * np.log(p[mask]/q[mask]) / np.log(base)) def mutual_information(p_xy): """ 计算互信息 I(X; Y) 参数: p_xy: 联合概率分布 (nx, ny) 的numpy数组 返回: 互信息值 """ p_xy = np.array(p_xy) nx, ny = p_xy.shape # 边缘分布 p_x = np.sum(p_xy, axis=1) p_y = np.sum(p_xy, axis=0) # 熵 H_X = shannon_entropy(p_x) H_Y = shannon_entropy(p_y) H_XY = entropy(p_xy.flatten(), base=2) # 互信息 = H(X) + H(Y) - H(X,Y) return H_X + H_Y - H_XY def conditional_entropy(p_xy, base=2): """ 计算条件熵 H(X|Y) """ p_xy = np.array(p_xy) p_y = np.sum(p_xy, axis=0) H_XY = entropy(p_xy.flatten(), base=base) H_Y = entropy(p_y, base=base) return H_XY - H_Y # 测试 if __name__ == "__main__": # 测试1: 二元分布的熵 p = [0.5, 0.5] print(f"均匀硬币熵: {shannon_entropy(p):.4f} bits") p = [0.7, 0.3] print(f"偏置硬币熵: {shannon_entropy(p):.4f} bits") # 测试2: KL散度 p = [0.5, 0.3, 0.2] q = [0.4, 0.4, 0.2] print(f"\nKL散度 D(P||Q): {kl_divergence(p, q):.4f} bits") print(f"KL散度 D(Q||P): {kl_divergence(q, p):.4f} bits") # 不对称! # 测试3: 互信息 # X和Y完全独立 p_xy_independent = np.array([[0.25, 0.25], [0.25, 0.25]]) print(f"\n独立变量的互信息: {mutual_information(p_xy_independent):.4f} bits") # X和Y完全相关 p_xy_dependent = np.array([[0.5, 0.0], [0.0, 0.5]]) print(f"完全相关变量的互信息: {mutual_information(p_xy_dependent):.4f} bits") ``` ### 15.2 文本语料库的信息论分析 ```python import numpy as np from collections import Counter import re def text_to_probabilities(text): """将文本转换为字符概率分布""" counter = Counter(text) total = sum(counter.values()) return {char: count/total for char, count in counter.items()} def character_entropy(text, base=2): """计算文本的字符级熵""" probs = text_to_probabilities(text) p_values = list(probs.values()) return shannon_entropy(p_values, base) def bigram_entropy(text, base=2): """计算二元语法熵(考虑相邻字符依赖)""" # 过滤非字母数字字符并转小写 text = re.sub(r'[^a-zA-Z0-9\s]', '', text.lower()) words = text.split() # 统计词频 unigram_counts = Counter(words) bigram_counts = Counter() for i in range(len(words) - 1): bigram = (words[i], words[i+1]) bigram_counts[bigram] += 1 # 计算条件熵 H(W_i | W_{i-1}) total = sum(unigram_counts.values()) conditional_entropy = 0 for (w1, w2), count in bigram_counts.items(): p_w1 = unigram_counts[w1] / total p_w1_w2 = count / total p_w2_given_w1 = p_w1_w2 / p_w1 conditional_entropy -= p_w1_w2 * np.log(p_w2_given_w1) return conditional_entropy / np.log(base) if base != np.e else conditional_entropy def compression_ratio(text): """估算压缩比(使用简单编码)""" # 字符级熵给出无损压缩的理论下界 H = character_entropy(text) n = len(text) # 理论最小比特数 min_bits = H * n # 原始比特数(8 bits per char) original_bits = n * 8 return min_bits / original_bits # 示例文本分析 sample_texts = [ "The quick brown fox jumps over the lazy dog", "aaaaaaaaaaabbbbbbbbbbcccccccddddd", # 高重复性 "The sun was shining brightly in the clear blue sky", ] for text in sample_texts: H = character_entropy(text) comp_ratio = compression_ratio(text) print(f"\n文本: {text[:40]}...") print(f" 字符熵: {H:.4f} bits/char") print(f" 理论压缩比: {comp_ratio:.4f}") ``` ### 15.3 互信息的实际应用 ```python def normalized_mutual_information(p_xy): """ 计算归一化互信息 (NMI) 用于比较不同数据集的依赖强度 """ mi = mutual_information(p_xy) # 边缘熵 p_x = np.sum(p_xy, axis=1) p_y = np.sum(p_xy, axis=0) H_X = entropy(p_x, base=2) H_Y = entropy(p_y, base=2) # 归一化 return 2 * mi / (H_X + H_Y) if (H_X + H_Y) > 0 else 0 def joint_entropy(p_xy, base=2): """计算联合熵""" return entropy(p_xy.flatten(), base=base) # 信息增益计算(决策树用) def information_gain(data, labels, feature_index): """ 计算某特征的信息增益 data: (n_samples, n_features) labels: (n_samples,) """ n = len(labels) # 整体熵 overall_entropy = shannon_entropy([np.mean(labels == c) for c in np.unique(labels)]) # 按特征值分组 feature_values = data[:, feature_index] unique_values = np.unique(feature_values) # 加权条件熵 weighted_entropy = 0 for val in unique_values: mask = feature_values == val subset_labels = labels[mask] subset_size = np.sum(mask) subset_entropy = shannon_entropy([np.mean(subset_labels == c) for c in np.unique(labels)]) weighted_entropy += (subset_size / n) * subset_entropy return overall_entropy - weighted_entropy ``` --- ## 十六、动手实验:分析文本语料库 ### 16.1 实验目标 通过实际操作,深入理解信息论指标在自然语言处理中的应用。 ### 16.2 实验步骤 **数据准备**:收集不同类型的文本(新闻、小说、技术文档、代码等) **计算指标**: 1. 字符级熵:反映字符分布的随机性 2. 词级熵:反映词语选择的随机性 3. 互信息:衡量上下文中词语之间的依赖 **结果分析**: - 技术文档通常有较低的熵(词汇受限) - 创意写作通常有较高的熵(词汇丰富) - 代码可能有中等的熵(语法约束但可以有创意) ### 16.3 预期发现 | 文本类型 | 字符熵 | 词熵 | 互信息特征 | |---------|--------|------|------------| | 新闻 | 中等 | 中等 | 较弱的远程依赖 | | 小说 | 较高 | 较高 | 较强的语义依赖 | | 代码 | 中低 | 低 | 强语法依赖 | | 对话 | 中高 | 中高 | 强上下文依赖 | --- ## 十七、费舍尔信息与克拉美-罗不等式 ### 17.1 费舍尔信息的定义 **费舍尔信息**(Fisher Information)度量概率分布参数携带的关于参数的信息量: $$J_X(\theta) = \mathbb{E}_X\left[\left(\frac{\partial}{\partial\theta}\log p(X;\theta)\right)^2\right]$$ **等价定义**(在正则条件下): $$J_X(\theta) = -\mathbb{E}_X\left[\frac{\partial^2}{\partial\theta^2}\log p(X;\theta)\right]$$ **多参数情形**:费舍尔信息矩阵 $$[J(\theta)]_{ij} = \mathbb{E}\left[\frac{\partial \log p(X;\theta)}{\partial \theta_i} \cdot \frac{\partial \log p(X;\theta)}{\partial \theta_j}\right]$$ **费舍尔信息的直观理解**: - $J_X(\theta)$ 越大,似然函数 $\log p(X;\theta)$ 关于 $\theta$ 越陡,意味着从数据 $X$ 中能获得更多关于 $\theta$ 的信息。 - $J_X(\theta)$ 可以理解为"有效样本量"的度量。 - 费舍尔信息等于对数似然函数的方差(忽略常数项)。 ### 17.2 克拉美-罗不等式 **克拉美-罗不等式**(Cramér-Rao Lower Bound, CRLB):对于任意无偏估计量 $\hat{\theta}(X)$, $$\text{Var}(\hat{\theta}) \geq \frac{1}{n J_X(\theta)}$$ 其中 $n$ 是样本数量,$J_X(\theta)$ 是单个样本的费舍尔信息。 **意义**:克拉美-罗不等式给出了参数估计精度的理论下界。任何无偏估计量的方差都不能低于这个下界。 > [!example] 正态分布的费舍尔信息 > > 设 $X_i \sim N(\mu, \sigma^2)$(i.i.d.),参数为 $\mu$(已知 $\sigma^2$)。 > $\log p(x;\mu) = -\frac{1}{2}\log(2\pi\sigma^2) - \frac{(x-\mu)^2}{2\sigma^2}$ > $\frac{\partial}{\partial\mu}\log p(x;\mu) = \frac{x-\mu}{\sigma^2}$ > $J_X(\mu) = \mathbb{E}\left[\left(\frac{X-\mu}{\sigma^2}\right)^2\right] = \frac{1}{\sigma^4}\text{Var}(X) = \frac{1}{\sigma^2}$ > 因此 CRLB 为 $\text{Var}(\hat{\mu}) \geq \frac{\sigma^2}{n}$,而样本均值 $\bar{X}$ 恰好达到这个下界——是 $\mu$ 的 **有效估计量**(efficient estimator)。 ### 17.3 费舍尔信息与信息论的联系 **费舍尔信息与KL散度**: $$D_{KL}(p(\cdot|\theta) \| p(\cdot|\theta + \Delta)) \approx \frac{1}{2}\Delta^T J(\theta) \Delta + o(\|\Delta\|^2)$$ 这表明在局部邻域内,KL 散度由费舍尔信息矩阵决定。费舍尔信息度量了分布空间的黎曼度量(**信息几何**的核心)。 **费舍尔信息与互信息**: $$J_X(\theta) = \text{Var}_X\left(\frac{\partial}{\partial\theta}\log p(X;\theta)\right) = I(X; \theta)$$ 虽然这最后一步不是严格相等,但费舍尔信息可以被理解为在贝叶斯框架下,参数和数据之间的互信息。 **自然梯度**:在参数空间使用黎曼度量 $J(\theta)^{-1}$ 而非欧氏度量,可以得到 **自然梯度下降**——一种具有仿射不变性的优化方法,在统计学习中有更好的收敛性质。 --- ## 十八、熵的不等式专题 ### 18.1 基本的熵不等式 **次可加性**: $$H(X_1, \ldots, X_n) \leq \sum_{i=1}^n H(X_i)$$ 等号成立当且仅当所有 $X_i$ 独立。 **强次可加性**(Strong Subadditivity): $$H(X, Y, Z) + H(Y) \leq H(X, Y) + H(Y, Z)$$ 即 $H(Z) \geq H(Z|X)$。 强次可加性在信息论中对应数据处理不等式,是熵结构的基本约束。 **条件增强熵**(Conditioning Reduces Entropy): $$H(X|Y) \leq H(X)$$ 或等价的 $I(X; Y|Z) \leq I(X; Y)$。 **Fano不等式**(更精确的版本): $$H(X|\hat{X}) \leq H(P_e) + P_e \log_2(|\mathcal{X}| - 1) \leq H_b(P_e) + P_e \log_2(|\mathcal{X}| - 1)$$ 其中 $H_b(P_e) = -P_e \log_2 P_e - (1-P_e)\log_2(1-P_e)$。 Fano不等式建立了条件熵(译码误差的不确定性)与误码概率之间的精确关系,是信道编码定理逆向证明的核心工具。 ### 18.2 Shearer不等式与熵的区域 **Shearer不等式**:对于任意随机变量集合 $X_1, \ldots, X_n$ 和子集族 $\mathcal{F}$(每个元素覆盖了至少 $r$ 个变量), $$H_\mathcal{F} \geq r \cdot H(X_1, \ldots, X_n)$$ 其中 $H_\mathcal{F} = \frac{1}{|\mathcal{F}|}\sum_{S \in \mathcal{F}} H(X_S)$ 是子集的熵的平均值。 **应用**:从 Shearer 不等式可以推导出: - 熵是次可加的(取 $\mathcal{F} = \{\{X_1\}, \ldots, \{X_n\}\}$,$r=1$) - 条件熵的下界估计 - 在随机图上的信息传播不等式 ### 18.3 熵向量的特征化(Zhang-Yeung 不等式) **香农熵不等式的完备性**:长期以来的开放问题——香农熵的不等式能否完全描述所有熵函数的约束?Zhang 和 Yeung (1998) 给出否定答案:存在非 Shannon 型不等式(即不能从香农不等式推导出的不等式)。 **信息不等式的维度**:对于 $n$ 个随机变量,线性独立的信息不等式个数随 $n$ 指数增长(精确数字与整数分拆数有关)。对于 $n=3$,所有信息不等式可以完全描述;对于 $n=4$,存在非 Shannon 型不等式。 --- ## 十九、熵的泛函不等式 ### 19.1 Poincaré不等式与对数Sobolev不等式 **对数Sobolev不等式**(Logarithmic Sobolev Inequality, LSI): 对于概率分布 $p(x) \propto e^{-V(x)}$(玻尔兹曼型分布),若势能 $V$ 满足 Hessian 下界(强凸),则 $$H_{\pi}(f^2) \leq \frac{2}{\lambda} D_{\pi}(f \cdot \pi, f^2 \cdot \pi)$$ 其中 $H_\pi$ 是 $\pi$ 下的熵,$D_\pi$ 是 KL 散度。 **与收敛率的联系**:对数 Sobolev 不等式常数 $\alpha$ 直接控制马尔可夫链的**混合时间**。$\alpha$ 越大,收敛越快。这将分析不等式与概率论(随机过程)联系起来。 ### 19.2 Gross 不等式与超压缩性 **超压缩性**(Hypercontractivity):半群(如热核)满足的强型不等式,在布尔函数分析、随机图和量子信息论中有深刻应用。 **Gross 不等式**:若分布满足 LSI(对数 Sobolev 不等式),则相应的 Ornstein-Uhlenbeck 半群具有超压缩性。 --- ## 二十、量子信息论初步 ### 20.1 量子态与冯诺依曼熵 **量子态**:密度矩阵 $\rho$(半正定、迹为1的厄米矩阵)描述量子状态。 **冯诺依曼熵**(von Neumann Entropy): $$S(\rho) = -\text{tr}(\rho \log \rho)$$ 对于纯态 $\rho = |\psi\rangle\langle\psi|$,$S(\rho) = 0$。对于最大混态 $I/d$,$S(I/d) = \log d$。 **量子互信息**: $$I(A:B)_\rho = S(\rho_A) + S(\rho_B) - S(\rho_{AB})$$ ### 20.2 量子信道容量 **量子信道容量**涉及量子态的传输,与经典信道容量有本质区别(涉及相干信息、辅助量子比特等概念)。 **相干信息**:$I(A\rangle B)_\rho = S(\rho_B) - S(\rho_{AB})$,是量子信道容量的关键量。 --- ## 二十一、信息论在人工智能中的前沿应用 ### 21.1 对比学习与互信息估计 **对比学习**(Contrastive Learning)的目标是最大化正样本对之间的相似性,同时最小化负样本对之间的相似性。InfoNCE 损失: $$\mathcal{L} = -\log \frac{\exp(\text{sim}(z_i, z_j^+)/\tau)}{\sum_{k=1}^N \exp(\text{sim}(z_i, z_k)/\tau)}$$ 其中 $\tau$ 是温度参数,$\text{sim}(\cdot, \cdot)$ 是相似度函数(通常为余弦相似度)。在渐近意义下,InfoNCE 优化目标与 $I(Z; Y)$ 的下界相关联。 **DIM(Deep InfoMax)**:最大化输入 $X$ 与表示 $Z$ 之间的互信息: $$\max_\theta I(X; Z) - \lambda \cdot I(Z; Y)$$ 这直接借鉴了信息瓶颈的思想。 ### 21.2 信息瓶颈作为正则化 **信息瓶颈正则化**在神经网络训练中: $$\min_\theta \quad \mathbb{E}[d(Y, f_\theta(X))] + \beta \cdot I(X; T_\theta(X))$$ 通过限制网络表示 $T_\theta(X)$ 与输入 $X$ 之间的互信息,可以控制网络的泛化能力(类似 VIB 的思想)。 ### 21.3 信息瓶颈的神经网络解释 **Tishby 的深度网络信息瓶颈分析**: - 每一层的表示 $T$ 可以用典型序列集合来描述 - 层间变换对应信息瓶颈的投影操作 - 网络通过在每一层丢弃与标签无关的输入信息来提升泛化能力 **后续发展**: - Shwartz-Ziv 和 Tishby (2017) 通过数值实验验证了压缩阶段的存在,但实验方法(离散化 binning)引入了争议。 - Saxe et al. (2019) 使用线性网络证明了严格的双阶段现象,但非线性网络的情况更复杂。 - Alemdar et al. (2019) 探讨了三元/低精度神经网络中的信息瓶颈效应。 ### 21.4 Rate-Distortion 与生成模型 **变分自编码器**(VAE)的 ELBO 可以解释为率失真理论的变分近似: $$\mathcal{L} = \mathbb{E}_{q_\phi}[-\log p_\theta(x|z)] - \beta \cdot D_{KL}(q_\phi(z|x) \| r(z))$$ - 第一项是重构损失(失真 $D$) - 第二项是码率(压缩程度) - $\beta$ 是率-失真权衡参数 **流模型**(Flow Models)和**自回归模型**显式地建模了编码率,而**扩散模型**通过噪声调度实现了隐式的信息压缩-重构过程。 --- ## 二十二、典型习题 > [!exercise] 习题 1:熵的计算与边界 > > 1. 设 $X$ 服从分布 $P(X=0)=p$,$P(X=1)=1-p$。求 $H(X)$ 并绘图。证明 $H(X) \leq 1$ bits,等号何时成立? > 2. 设 $X$ 和 $Y$ 独立且均服从上述分布,求 $H(X,Y)$ 和 $I(X;Y)$。 > > **答案**:1. $H(X) = -p\log p - (1-p)\log(1-p)$,对称,在 $p=0.5$ 时取最大值 1 bit。2. $H(X,Y) = 2H(p)$ bits,$I(X;Y) = 0$ bits(独立)。 > [!exercise] 习题 2:KL 散度的性质证明 > > 证明 $D_{KL}(P \| Q) = 0 \iff P = Q$。 > > **答案**:充分性显然。若 $D_{KL}(P\|Q) = 0$,则由非负性和 $\log t \leq t - 1$ 的证明过程可知等号必须处处成立,故 $p(x)/q(x) = 1$ 对所有 $x$ 成立,即 $P = Q$。 > [!exercise] 习题 3:互信息的等价性 > > 证明 $I(X;Y) = H(X) + H(Y) - H(X,Y) = H(X) - H(X|Y) = H(Y) - H(Y|X)$。 > > **答案**:利用链式法则 $H(X,Y) = H(X) + H(Y|X) = H(Y) + H(X|Y)$,代入即得所有等价形式。 > [!exercise] 习题 4:二元对称信道的容量 > > 计算二元对称信道(BSC,交叉概率 $\epsilon$)的信道容量,并说明当 $\epsilon = 0.1$ 时的物理意义。 > > **答案**:$C = 1 - H_b(\epsilon)$ bits/channel use。当 $\epsilon = 0.1$ 时 $C \approx 1 - 0.469 = 0.531$ bits/channel use。意义:每使用一次信道,平均可以可靠传输约 0.531 bits 的信息。 > [!exercise] 习题 5:变分推断的 ELBO 推导 > > 从 $\log p(X) = D_{KL}(q(Z)\|p(Z|X)) + \mathcal{L}(q)$ 出发,证明 ELBO $\mathcal{L}(q) = \mathbb{E}_q[\log p(X, Z)] - \mathbb{E}_q[\log q(Z)]$。 > > **答案**:直接展开 KL 散度定义即可。 > [!exercise] 习题 6:最大熵分布推导 > > 在约束 $\mathbb{E}[X] = \mu$ 下,求连续随机变量 $X$ 的最大熵分布(无其他假设)。该分布属于哪个概率分布族? > > **答案**:利用拉格朗日乘子,设 $\mathcal{L} = -\int p(x)\log p(x)dx + \lambda_0(\int p(x)dx - 1) + \lambda_1(\int xp(x)dx - \mu)$,求导得 $p(x) \propto e^{-\lambda_1 x}$,即指数分布。 --- ## 二十三、延伸阅读与参考文献 **经典文献**: 1. Shannon, C. E. (1948). A Mathematical Theory of Communication. *Bell System Technical Journal*, 27(3), 379-423; (4), 623-656. —— 信息论的奠基之作。 2. Cover, T. M., & Thomas, J. A. (2006). *Elements of Information Theory* (2nd ed.). Wiley-Interscience. —— 信息论的标准教材。 3. MacKay, D. J. C. (2003). *Information Theory, Inference, and Learning Algorithms*. Cambridge University Press. —— 涵盖信息论、编码和机器学习的交叉视角。 **信息瓶颈理论**: 4. Tishby, N., Pereira, F. C., & Bialek, W. (1999). The Information Bottleneck Method. *Proceedings of the 37th Annual Allerton Conference*, 368-377. 5. Tishby, N., & Zaslavsky, N. (2015). Deep Learning and the Information Bottleneck Principle. *IEEE ITW*, 1-5. **变分推断与信息论**: 6. Blei, D. M., Kucukelbir, A., & McAuliffe, J. D. (2017). Variational Inference: A Review for Statisticians. *J. Amer. Statist. Assoc.*, 112(518), 859-877. 7. Alemdar, H., Leroy, V., et al. (2019). Ternary Neural Networks for Resource-Efficient AI Applications. *IJCNN*, 1-8. **信道编码与容量**: 8. Csiszár, I., & Körner, J. (2011). *Information Theory: Coding Theorems for Discrete Memoryless Systems* (2nd ed.). Cambridge University Press. 9. Gallager, R. G. (1963). *Low-Density Parity-Check Codes*. MIT Press. **信息几何与费舍尔信息**: 10. Amari, S. (1985). *Differential-Geometrical Methods in Statistics*. Springer. 11. Amari, S. (2016). *Information Geometry and Its Applications*. Springer. **量子信息论**: 12. Nielsen, M. A., & Chuang, I. L. (2010). *Quantum Computation and Quantum Information* (10th ed.). Cambridge University Press. 13. Wilde, M. M. (2013). *Quantum Information Theory*. Cambridge University Press. **最新研究**: 14. Shwartz-Ziv, R., & Tishby, N. (2017). Opening the Black Box of Deep Neural Networks via Information. *arXiv:1703.00810*. 15. Poole, B., Lahiri, S., Raghu, M., Sohl-Dickstein, J., & Ganguli, S. (2016). Exponential Expressivity in Deep Neural Networks Through Transient Chaos. *NeurIPS*, 3360-3368. 16. Gabrié, M. (2018). *Entropy and Mutual Information in Martingale Models and Deep Neural Networks*. PhD Thesis, ENS Paris. --- ## 相关文档 - [[概率论深度指南]] - 熵的概率论基础与指数族分布 - [[统计学深度指南]] - 最大似然估计与指数族的关系 - [[凸优化深度指南]] - 信息瓶颈的优化视角 - [[概率论深度指南]] - 随机过程与信息论的关系 - [[线性代数深度指南]] - 特征值与谱信息论