信息论精简:熵、交叉熵与 KL
WARNING
🧪 Beta公测版本提示:教程主体已完成,正在优化细节,欢迎大家提Issue反馈问题或建议。
分类损失、VAE/RSSM 的正则、Dreamer 的 KL balancing——背后都是同一套语言。本章只建立三个量:熵、交叉熵、KL 散度,并说明它们如何接到「最大似然」。通信问题(信道、容量、Huffman / Hamming、高斯信道、率失真)请跳到领域 信息论:从 导论 进,容量章是 香农。量子信息的前置是香农容量,不是交叉熵损失。
一、熵:平均惊喜有多大
离散分布
- 事件越不可能,
越大(越「惊喜」); - 熵是按
平均的惊喜; - 均匀分布熵最大;确定性分布熵为
。
对数底决定单位:np.log)得 nat。公平硬币两种算法差一个常数
保姆级数字例(与 demo.py 同一组,单位 nat)。
| 硬币 | ||
|---|---|---|
| 公平 | ||
| 偏置 |
偏置硬币大约只有公平硬币一半的不确定度:十次里九次你已经能猜对。
卡点。 熵描述的是分布,不是某一个样本。抽到了稀有事件,你「这一次」很惊喜,但熵是惊喜的平均。另一个卡点:连续分布的微分熵
逐步推导:从「平均惊喜」到 ,公平硬币为何是 (点击展开)
要一条「惊喜」函数
(必然)时 ; 越小 越大; - 独立事件的联合惊喜可加:
。
可加性是对数的特征方程。再配
公平硬币两项相同:
两点分布
编码视角:用长度

图解说明:公平
,偏置 。越确定,熵越小。
二、交叉熵:用错误码本编码
若真实数据来自
交叉熵 = 「平均码长」。分类里标签是 one-hot 的
对连续或大批数据,样本平均
保姆级数字例。 固定
——比用对码本多付
卡点。
三、KL:多付的那一截
直觉:
用
编码真实来自 的数据时,比用正确码本多付的平均码长。
性质(务必记住):
,当且仅当 时为 ; - 不对称:
; - 不是距离(不满足三角不等式),但常被当「分布有多不像」用。

图解说明:熵描写
自身的不确定;交叉熵是用 编码 的代价;KL 是多出来的那截。
因为
保姆级数字例:不对称。 仍取
两个数不同。
在世界模型里出现的样子
变分推断 / RSSM 常见项:
- 强迫后验别离开先验太远(正则);
- 或强迫先验去追后验(学动力学)。
Dreamer 的 KL balancing / free bits,就是在调整这两边的梯度谁更大,避免某一侧把表示掐死。细节见 Dreamer 与 RSSM。图像生成里的 VAE 用的也是同一项:
逐步推导: 以及为何 且不对称(点击展开)
把定义展开:
这就是「交叉熵减去熵」。
非负(Gibbs / Jensen)。
最后一步用了
不对称没有神秘处。 求和的权重是左边那个分布。
二分类交叉熵。 标签
这就是网络里那行 binary_cross_entropy。多类则换成
两个对角高斯的 KL 有闭式(RSSM 常用)——实现时查公式即可,本章 demo 用离散分布把直觉算清楚。

图解说明:左:固定
,扫描 。交叉熵在 最低,KL 在同一点为 。右: 与 不是同一条曲线。
四、两个常用计算
伯努利 / 二分类(标签
两个对角高斯的 KL 有闭式(RSSM 常用)——实现时查公式即可,本章 demo 用离散分布把直觉算清楚。
五、代码在做什么
demo.py:
- 计算公平/偏置硬币的熵(
nat vs nat); - 固定
,扫描不同 ,画交叉熵与 ; - 展示
与 不对称。


六、小结
| 概念 | 一句话 |
|---|---|
| 熵 | |
| 交叉熵 | 用 |
| KL | 交叉熵减去熵;非负、不对称 |
| 训练联系 | 交叉熵 ↓ ⇔ 似然 ↑ |
| 下游 | 分类、VAE、RSSM/Dreamer、蒸馏;通信见 信息论 |
数学基础到此收束(微积分两章、线代三章、概率统计四章、优化、本章)。建议回到 线性回归 或按兴趣进入 机器学习。世界模型读者可带着 KL 直觉去看 RSSM;生成模型读者可看 VAE 与 扩散。压缩、信道、容量请跳到 信息论。领域地图:数学基础。
📥 Code
| File | View | Download |
|---|---|---|
| demo.py | Open | Download |
| exercise.py | Open | Download |
参考
- Cover & Thomas, Elements of Information Theory(经典)
- MacKay, Information Theory, Inference, and Learning Algorithms(免费电子书)