跳转到内容

Shannon 1948 — 信息论的诞生

是什么

Shannon 1948 是一篇 79 页的论文,第一次把”信息”变成可以用数字称出来的东西,单位叫 bit(比特)

日常类比:以前问”我有多少话要说”,只能凭感觉——“挺多”、“几句”。Shannon 之后能精确回答:“这条消息有 4.3 bit”。就像水有”升”、电有”度”,信息也有了自己的秤。

作者 Claude Shannon,1948 年 32 岁,在 Bell 实验室。论文分两期登在 Bell 公司的内刊上,没人想到 60 年后所有电脑、手机、网络都建在这套数学上。

为什么重要

不理解 Shannon 1948,下面这些事都没法解释:

  • 为什么硬盘容量、CPU 缓存、网速、流量都用 bit/byte 衡量——这个单位是 Shannon 起的
  • 为什么机器学习里的 交叉熵损失、KL 散度、决策树信息增益、Diffusion 损失全是同一个公式 -Σ p log p 的变种
  • 为什么 4G 是 100 Mbps、5G 是 10 Gbps、6G 不可能无限快——Shannon 的信道容量定理给了硬上限
  • 为什么 ZIP 能把文件压一半但压不到 1%——压缩有理论下界,叫

后续大部分编码、压缩、加密、通信论文都是这一篇的徒孙。huffman-1952 哈夫曼编码、reed-solomon-1960 纠错码都是直接衍生。

核心要点

Shannon 给了三件东西:

  1. 熵(H)—— 衡量”出乎意料”:一条消息越罕见,信息量越大。公式 H = -Σ p log p。日常类比:朋友说”今天太阳从东边升起”几乎 0 bit(早知道),说”我中彩票了”就有几十 bit(罕见)。

  2. 信道容量(C)—— 噪声下能传多快:任何带噪声的通道(电话线、Wi-Fi、光纤)都有一个最大传输速率,超过就必然出错。公式 C = B log(1 + S/N),B 是带宽、S/N 是信噪比。

  3. 编码定理 —— 两条上下界:① 数据压缩压到熵 H 以下不可能(无损压缩极限);② 在容量 C 以下传输,可以做到错误率任意低(编码可达极限)。

三件事拼起来:一边告诉你最少需要多少 bit(压缩极限),另一边告诉你最多能传多少 bit(传输极限)。

实践案例

案例 1:抛硬币的熵 = 1 bit

公平硬币正反各 0.5 概率,熵 H = -0.5×log(0.5) - 0.5×log(0.5) = 1 bit

为什么是 1?因为告诉你结果”正面”等于消除了一半可能性,信息量正好等于”一个二选一答案”,就是 1 bit。50/50 是熵最大的情况——最不确定,所以一旦知道结果,信息量也最多。

如果硬币偏置 9:1(9 成正面),熵降到 ≈ 0.47 bit。直觉:你已经基本能猜对,告诉你结果信息量小。

案例 2:英文字母熵 ≈ 1.5 bit/字母

26 个字母均匀分布的话熵是 log₂(26) ≈ 4.7 bit/字母。但实际英文里 e 多、z 少,加上 “th” 后大概率是 “e”,真实熵只有 1-1.5 bit/字母

这就是为什么 ZIP / gzip 能把英文文本压到 30% 左右——因为大部分 bit 是冗余的。理论极限是 ~15%(熵 1.5/4.7),但 ZIP 不建模长程依赖,到不了。

现代神经压缩(用 LLM 当压缩器)能压到 8-10%,更接近熵的极限。

案例 3:4G 频段的速度上限

4G LTE 单载波带宽 20 MHz,信噪比假设 30 dB(即 S/N = 1000):

C = 20×10^6 × log₂(1001) ≈ 200 Mbps

这就是单天线、单载波下 4G 的物理上限。实际 4G 标称 100-150 Mbps,已经接近极限。想再快只有三条路:① 加带宽(5G 用 100 MHz)② 加信噪比(更好天线)③ 多天线并行(MIMO,相当于多通道)。

5G、6G 的”提速”全在这三个维度上推,没有第四条路——这是 Shannon 给的硬约束。

踩过的坑

  1. 熵假设独立同分布:真实数据(语言、图像、视频)有强相关,单点熵会高估实际信息量。要算 H(X_n | X_{n-1}, ...) 这种条件熵才准。这就是为什么 LLM 压缩比 gzip 强 5-10 倍——gzip 没建模长程依赖。

  2. Shannon 极限是渐近极限:定理证明”存在一个码可达 C”,但需要无限长消息块。工程上 n=1024-65536 bit 是实用上限,离 C 还有 0.5-2 dB 差距。所以”逼近 Shannon 极限”是 60 年的工程接力。

  3. Shannon 没构造任何具体编码:他用随机化证明”存在好码”。具体怎么构造?1960 LDPC(Gallager)、1993 Turbo、2009 Polar 才一步步实现。证明存在 ≠ 给出方法。

  4. 互信息在高维难估计:直方图法在维度爆炸下失效。ML 时代用 MINE / InfoNCE 等神经估计器,但精度有限——把信息论工具当万能钥匙会翻车。

  5. 熵不等于”复杂度”:随机噪声熵很高(每位都不可预测),但语义上毫无内容。Shannon 衡量的是”消除多少不确定性”,不是”有多少含义”。这点常被外行误解,把”高熵”当”高质量”。

适用 vs 不适用场景

适用

  • 任何通信系统的极限分析(电话、Wi-Fi、卫星、光纤)
  • 数据压缩(gzip / zstd / Brotli / 神经压缩)的下界估计
  • ML 损失函数设计(交叉熵、KL 散度、InfoNCE)
  • 决策树信息增益、特征选择

不适用

  • 数据有强语义相关性且无法采样估计分布——熵估计失真
  • 需要精确具体编码——Shannon 只给极限不给方案
  • 量子通信——要换成 von Neumann 熵 / Holevo 容量
  • 小样本 ML 任务——互信息估计需要大量数据

历史小故事(可跳过)

  • 1937 年:Shannon 21 岁,MIT 硕士论文用布尔代数描述继电器电路开关——一篇硕论被誉为”史上最重要硕士论文”,因为它把数字逻辑和物理电路连起来。
  • 1940 年:Shannon 在普林斯顿读博,做”群体遗传学的代数”。期间认识冯诺依曼、爱因斯坦、哥德尔。
  • 1941 年:进 Bell Labs,二战做密码学(与 Turing 同期但独立工作)。密码问题让他思考”信息到底是什么”。
  • 1948 年:论文发表。冯诺依曼劝他把这个量叫”熵”——“反正没人懂熵是什么,你用了别人也不敢辩”。
  • 1949 年:Shannon 发《Communication Theory of Secrecy Systems》,密码学的 perfect secrecy 概念由此而来。
  • 后续:1956 mccarthy-lisp 出现,AI 起步——Shannon 是 1956 达特茅斯会议的发起人之一。信息论给了 AI 第一批数学工具(决策树熵、最大熵模型)。

学到什么

  1. 信息可以用数字称——这是 20 世纪最重要的洞见之一,把”通信”从工程经验变成精确科学
  2. 极限思维:理论给上下界,工程师 60 年逼近极限。Shannon 极限、Carnot 效率、Bekenstein 信息密度都是这种”知道不可能更好”的支点
  3. 用随机化证存在性:Shannon 没构造码,只证”随机选一个就行”——这种证明法后来在组合数学、复杂度理论里到处都是
  4. 公理化方法的力量:从 4 条直觉公理(连续、单调、加和性、归零)能逼出唯一函数 -log p——和概率论的 Cox 公理、热力学的 Carathéodory 公理同源
  5. 理论 → 工程的接力跑:1948 给极限,1952 哈夫曼给压缩、1960 LDPC、1993 Turbo、2009 Polar 一步步逼近信道容量。60 年过去,仍未触顶——好理论给方向,工程师拿一辈子去走
  6. 熵不是”信息含量”,是”惊讶程度的平均”:日常说”这条消息信息量大” 容易和”消息长” 混淆;熵其实衡量的是”我猜不到下一个符号的程度”,越确定越接近 0。
  7. 数学单位的命名权:冯诺依曼劝 Shannon 把这个量叫”熵” 是有讲究的——同一个公式,叫”信息量” 大家会争”哪个量才叫信息”,叫”熵” 就直接借了热力学的权威,没人敢辩。
  8. 理论的工业半衰期:从 1948 论文到 2009 Polar 码,逼近 Shannon 极限的工程接力跑了 60 年。今天 ML 里的 NTK / Neural Scaling Laws 也类似——理论上界给了,工程实现要花 30-50 年。
  9. 熵的反直觉公式H = -Σ p log p 看起来不符合”信息” 的日常直觉,但若把它读作”惊讶程度的期望”,每条规律都对得上:罕见事件高 surprise 高熵贡献,常见事件低贡献。
  10. bit 单位的力量:把”信息” 量化成 bit 让通信、压缩、密码、机器学习共享同一套数学;今天 LLM 的”压缩即智能” 讨论,仍然围绕 Shannon 框架展开。
  11. 从硕士论文 → AI 起源:Shannon 21 岁的硕论用布尔代数描述电路开关,1956 又是达特茅斯会议发起人之一;信息论 + AI 在他身上是同根。
  12. MIT 与 Bell Labs 的双轨:Shannon 横跨学术 + 工业两条路线——MIT 给他理论氛围,Bell Labs 给他实际通信问题;这种”研究院 + 大厂” 双栖的工程师后来在 Pixar、DeepMind、Meta FAIR 都能找到对应。

延伸阅读

  • 视频:3Blue1Brown — Solving Wordle using information theory(用熵解 Wordle,把熵讲透)
  • 教科书:Cover & Thomas《Elements of Information Theory》第 2 章(熵的所有性质,公认权威)
  • 论文 PDF:Shannon 1948 原文(79 页,前 30 页可读,后面是连续信道证明)
  • 通俗读物:James Gleick《The Information》(信息史,从烽火台到 Shannon 到互联网)
  • 历史人物纪录片:The Bit Player(Shannon 传记片,包含他的独轮车杂耍、火焰喷射喇叭等怪癖收藏)

关联

  • huffman-1952 —— 哈夫曼编码,逼近熵的实用压缩算法,Shannon 学生 Huffman 上课作业写出来的
  • reed-solomon-1960 —— 纠错码,把 Shannon 的”存在好码”变成具体可用的方案
  • mccarthy-lisp —— Shannon 是 1956 达特茅斯会议发起人,AI 与信息论同根
  • turing-1936 —— 同时代的另一座理论丰碑,可计算性与可传输性是两面

反向链接

  • aes —— AES Rijndael 对称分组密码
  • bitcoin-core —— Bitcoin Core — 比特币参考实现
  • cerf-kahn-1974 —— Cerf-Kahn 1974 — 用网关把异构网络拼成一个互联网
  • cook-levin —— Cook-Levin 定理 — NP-完全性的诞生
  • diskann-2019 —— DiskANN — 单机十亿向量近邻检索(图存 SSD)
  • godel-1931 —— Gödel 1931 — 不完备性定理
  • hamming-1950 —— Hamming 纠错码
  • hnsw-2018 —— HNSW — 多层近邻图让向量检索从 O(N) 降到近似 O(log N)
  • huffman-1952 —— Huffman 编码
  • karp-21 —— Karp 21 — 21 个 NP-完全问题
  • lambda-calculus —— λ-演算 — 用三条规则表达所有可计算函数
  • maron-kuhns-1960 —— Maron-Kuhns 1960 — 检索不是匹配,是猜”对你有用的概率”
  • mccarthy-lisp —— McCarthy LISP 1960
  • polar-codes-2009 —— Polar 极化码 — 把好坏不一的信道整成”完美/全错”两组
  • reed-solomon-1960 —— Reed-Solomon 编码
  • saltzer-1984-e2e —— End-to-End Arguments — 把功能尽量推到端上做
  • turing-1936 —— Turing 1936 可计算性
  • yao-garbled-circuits-1986 —— Yao 混淆电路 — 让两人合算函数却互不泄密