DEV Community

cognitalk
cognitalk

Posted on

从LLM视角重新思考熵的定义

香农(Claude Shannon)在 1940 年代创立了“信息论”,而现代大语言模型(LLM)天天在用的核心损失函数——交叉熵(Cross Entropy),其实就是从这里演变来的。

这个系列的核心观点是:预测和压缩在数学上是完全等价的,甚至可以说“压缩就是智能”

我们可以把视频拆成 4 个好玩的步骤来理解:


1. 经典思维实验:外星机器人的省钱密码

想象我们送了一个机器人去月球,我们要从地球给它发“上、下、左、右” 4 种指令。因为太空通信按比特(bits,即 0 和 1)收费,非常贵,所以我们想让发送的 0 和 1 尽可能少

但是,这 4 种指令出现的概率不一样:

  • :50% 的时间都在往上走
  • :25% 的时间往下走
  • :12.5%
  • :12.5%

如果是老实人设计编码,可能会想:4 个方向,那就用固定 2 位比特呗(比如 上=00, 下=01, 左=10, 右=11)。这样平均下来,每个指令死板地消耗 2 个比特

但聪明人会想:既然“上”出现得最频繁,那给它分配最短的编码!

  • = 0 (只占 1 位)
  • = 10 (占 2 位)
  • = 110 (占 3 位)
  • = 111 (占 3 位)

我们来算一笔账(加权平均):

$$\text{平均长度} = (50\% \times 1) + (25\% \times 2) + (12.5\% \times 3) + (12.5\% \times 3) = 1.75 \text{ 位}$$

看!平均每个指令只需要 1.75 个比特,比固定 2 位省了 12.5% 的钱。

为什么机器人收到 010110 不会搞混?
因为这个编码满足“前缀码”规则:没有任何一个短编码是长编码的开头。比如机器人看到 0,因为没有别的编码是以 0 开头的,它就知道这绝对是“上”;接着看到 1,不知道是啥,再看一位是 0,合成 10,它就知道绝对是“下”。


2. 什么是“信息量”?(惊喜度)

视频里提到一个颠覆性的视角:一个完美的压缩算法,它输出的比特流应该看起来像“纯随机噪声”

为什么?因为如果输出里还有规律、还能被预测,就说明你压缩得还不够狠,还有精简的空间。

顺着这个思路,香农推导出了一个数学公式。他发现,某个事件完美的“编码比特数”,正好等于这个事件发生的概率的倒数取对数。他把这个东西定义为“信息量”(Information):

$$\text{信息量} = -\log_2(\text{概率})$$

用大白话翻译,信息量其实就是“惊喜度”“意外程度”:

  • 太阳从东方升起:概率接近 100%,惊不惊喜?一点都不。所以它不包含任何信息量(信息量趋于 0)。
  • 国足踢赢了巴西:概率极低,一旦发生大家惊掉下巴。它包含巨大的信息量

在语言里也是同理。如果前文是 "I am going to the...",后面接 "hospital" 的概率就比接 "apple" 高得多。越容易被预测的词,信息量越低,需要的比特数就越少。


3. 什么是“熵”?(平均不确定性)

有了单个事件的“信息量”,我们把所有可能发生的事情的信息量,按照它们各自发生的概率做一次加权平均,得到的总和就叫做“熵”(Entropy)。

  • 熵很大:说明世界非常混乱,所有事情发生的概率都差不多,你完全猜不到接下来会发生什么(比如抛硬币,正面反面各 50%,熵达到最大值)。
  • 熵很小:说明世界规律性极强,某件事情几乎必然发生,非常好预测(熵趋于 0)。

香农提出了著名的“无噪声编码定理”“熵”就是物理世界的硬法则,它代表了一段数据在保证不丢失任何内容的情况下,能够被压缩的绝对极限。 任何压缩算法平均下来用的比特数,都不可能比“熵”更少。


4. 压缩与 AI 的终极结合

那么,这跟现代的 ChatGPT 等人工智能有什么关系呢?

香农为了研究英文的“熵”到底是多少(也就是英文到底最多能压缩到什么程度),在 1950 年代做了一个好玩的实验:他让他的妻子去盲猜一本书接下来的每一个字母。

  • 猜对了,香农就画个破折号;猜错了,就写下正确字母。
  • 最后剩下的“破折号文本”体积大大缩小。只要把这个文本丢给一个和妻子一模一样的大脑,那个人就能完美还原出整本书。

香农发现:要想把文本压缩到极限,你手里必须有一个对语言极度了解的“模型”(比如人脑)。

现代大语言模型(LLM)在做的“预测下一个词(Token)”,其实就是在做一模一样的事情。

  • 如果一个 AI 模型非常聪明,它能完美预测下一个词,它就能把这个词的概率算得极高。
  • 根据香农的理论,概率越高,分配给它的比特数就越少,压缩效率就越高。

所以,一个 AI 模型预测得越准,它对文本的压缩能力就越强。 训练大模型的“交叉熵损失函数”,本质上就是在测量:“我的 AI 模型离最完美的文本压缩器还有多大差距?”

这就是为什么说:智能的本质,就是对海量世界数据的无损压缩。 掌握了世界运转的规律(智能),你就能用最少的语言去概括它(压缩)。

Top comments (0)