「信息」到底是什么?香农 1948 年的答案惊人地简单:信息 = 被消除的不确定性。「明天太阳会升起」不带任何信息,因为你早就确定;「明天下雨」带信息,因为它本来不确定。
一枚公平硬币,抛前两种等可能,结果揭晓消除了这份不确定——香农定义它值 1 比特(bit);一个骰子 6 种可能更不确定,约 2.58 比特。熵衡量的正是:平均一次观测带给你多少「惊讶」。所以熵既是「不确定性」也是「信息量」——不确定性是揭晓前的期待,信息量是揭晓后的收获。
$p(x)$ 是事件概率,$-\log_2 p(x)$ 是它的「惊讶度」——概率越小越大,越出人意料。前面的 $\sum p(x)\cdot$ 是按概率加权求平均,所以 $H(X)$ 就是「平均惊讶度」($\log_2$ 对应比特,$\ln$ 对应 nat)。为什么用对数?因为信息要可加:两次独立抛硬币的信息应是 $1+1=2$ 比特,而概率相乘 $\frac12\cdot\frac12$——对数恰好把「相乘」翻译成「相加」。
熵的公式和 热力学熵(玻尔兹曼 $S=k\ln W$)形式几乎一样——这不是巧合,物理熵度量「微观状态的混乱」,信息熵度量「概率分布的不确定」,深层是同一个对象。据说冯·诺依曼建议香农用「熵」这个名字,「因为没人真正知道熵是什么,你在辩论中永远占上风」。更美的是:熵给出了无损压缩的理论极限——任何编码的平均码长都不可能短于 $H(X)$ 比特。「信息」从此从哲学概念变成可测量、有硬下界的物理量。
ZIP、PNG、FLAC 无损压缩的核心是 Huffman 编码:高频符号给短码、低频给长码,逼近熵极限。决策树(随机森林、XGBoost)用信息增益(熵的下降量)决定在哪个特征上分裂。甚至语言学:英文每个字母实际约 1.1 比特熵,远低于 $\log_2 26\approx4.7$——正是这份冗余让我们能读懂缺字的句子。
你想知道明天会不会堵车($Y$)。有人告诉你今天是不是周五($X$)。知道 $X$ 后,你对 $Y$ 的不确定性下降了多少?下降的这部分,就是 $X$ 与 $Y$ 的互信息。
它衡量两个变量共享多少信息。$X$、$Y$ 完全独立时,知道一个对另一个毫无帮助,互信息为 0;$Y$ 完全由 $X$ 决定时,知道 $X$ 就等于知道 $Y$,互信息等于 $Y$ 的全部熵。它是「关联」的信息论度量——却比统计学的相关系数强大得多。
$H(Y)$ 是 $Y$ 本身的不确定性;$H(Y\mid X)$ 是「知道 $X$ 后 $Y$ 剩余的不确定性」(条件熵)。两者相减,正是「$X$ 帮你消除的那部分」。第二个等式更对称:$H(X)+H(Y)$ 减去联合熵 $H(X,Y)$,剩下的是重叠部分——像两个圆的交集。它立刻给出一个漂亮性质:$I(X;Y)=I(Y;X)$,互信息是对称的——X 关于 Y 说了多少,就等于 Y 关于 X 说了多少。
皮尔逊相关系数只能捕捉线性关系。若 $Y=X^2$、$X\in[-1,1]$,相关系数是 0,仿佛毫无关系,尽管 $Y$ 完全由 $X$ 决定。互信息不受此限:线性、非线性、周期性依赖都能捕捉;只要有任何统计关联它就为正,当且仅当严格独立时才为 0。它是一个「独立性的完备探测器」——不关心关系长什么样,只关心「知道一个能减少另一个多少不确定性」。
特征选择挑与标签互信息最高的特征。神经科学用互信息度量一个神经元的放电编码了多少外界刺激(神经编码的核心工具)。表示学习:自监督方法(InfoNCE、对比学习 SimCLR)本质是最大化同一图像不同视角间的互信息,逼模型学到不变的语义。医学影像配准让 CT/MRI 两模态图像的互信息最大以对齐。
你在嘈杂酒吧里喊话,对方总有听错的风险。通信信道也一样:电线有热噪声、光纤有衰减。天真的想法是——既然有噪声,传输就必然出错,速度越快错得越多,可靠通信不可能。
香农 1948 年推翻了这个直觉。他证明:每条信道都有一个确定的「容量」$C$,只要传输速率低于 $C$,就存在一种编码把错误率压到任意接近 0——哪怕信道充满噪声。就像酒吧里重复关键词、用对方能预测的句式,就能在噪声中几乎无误地传达。噪声不是让通信「变得不可靠」,而是给可靠通信设了一个速度上限:超过它错误无法避免,不到它近乎完美的传输总是可能。
左式是定义:容量 = 所有输入分布里,$X$ 与输出 $Y$ 之间最大的互信息——即每次使用信道最多能可靠携带的比特数。右式是最著名的特例(香农–哈特利定理):$B$ 是带宽,$S/N$ 是信噪比。容量随带宽线性增长,却随信噪比只对数增长——想让速率翻倍,加带宽远比加功率划算。这一个公式定下了从 WiFi 到深空探测器的所有通信速度天花板。
香农的噪声信道编码定理是个「存在性奇迹」:他没告诉你怎么造出近乎完美的编码,只证明它一定存在。手法极美——他「随机挑一本码书」,证明平均而言随机码就足够好,故至少存在一个好码。这是概率方法的经典胜利:用「平均达标」倒推「个体存在」。而人类花了近半世纪(Turbo 码、LDPC、Polar 码)才造出真正逼近香农极限的实用编码——追赶一个 1948 年就被证明存在的目标。
5G / WiFi 6 用自适应调制:信道好就切高阶星座传更快,差就退回稳健模式——直接在跑香农公式。旅行者号在数十亿公里外、信号极弱却仍能传回图像,靠的正是逼近容量的纠错码。硬盘、二维码嵌入 Reed–Solomon 等纠错码,让你划花光盘、污损二维码仍能读出。信息论把「传输」与「存储」统一成同一个问题:都是在噪声信道上可靠搬运比特。
训练一个分类模型(「这张图是猫还是狗」),本质是让模型输出的概率分布 $q$ 逼近真实分布 $p$。怎么衡量逼近好坏?信息论的答案:用为 $q$ 设计的最优编码去编码真正服从 $p$ 的数据,你会浪费多少比特?浪费越少,$q$ 越接近 $p$。
这份「浪费」有两个名字:全部编码开销叫交叉熵 $H(p,q)$;其中「因用错分布而多花」的部分叫 KL 散度 $D_{KL}(p\Vert q)$,它永远 $\ge 0$,当且仅当 $q=p$ 时为 0——是分布间的「距离」(虽不对称)。「交叉熵损失」字面就是在最小化这份浪费。
交叉熵 $H(p,q)=-\sum_x p(x)\log q(x)$ 是用模型分布 $q$ 给真实数据 $p$ 编码的平均码长,拆成两块:$H(p)$ 是数据固有的熵(与模型无关,是常数),$D_{KL}(p\Vert q)$ 是模型的「误差税」。因 $H(p)$ 固定,最小化交叉熵 = 最小化 KL 散度 = 让模型分布贴近真实分布。更深一层:可证「最小化交叉熵」与统计学的「最大似然估计」完全等价——两条不同学科出发的路,指向同一个损失函数。
为什么全世界的分类器、语言模型都用交叉熵?因为它同时满足「信息论最优编码」「统计最大似然」「贝叶斯后验」三重身份,不是随便挑的。训练 GPT 预测下一个词就是在最小化交叉熵;语言模型的核心指标困惑度(perplexity)正是 $2^{H}$,读作「模型每步平均在多少个词间纠结」。信息论给了深度学习一个本来缺的东西:损失数值的物理意义。
几乎所有分类任务都用交叉熵损失,大语言模型预训练 = 最小化下一词预测的交叉熵。VAE 与扩散模型的训练目标 ELBO 含一项 KL,逼隐变量分布靠近先验;知识蒸馏让小模型输出分布用 KL 逼近大模型——信息论成了「压缩神经网络」的语言。跨学科看:这与神经科学的预测编码理论呼应——大脑也可能在最小化「预测」与「感官输入」间的某种散度。