小叶收到一份课程材料,同学附了一句话:“帮我用 AI 整理一下。”
材料有多少页,什么时候交,字体用多大,这些都可以问。但小叶首先想知道的是:同学到底需要什么成果?
假设这次只能交付一种主要成果,可能是摘要、对照表、术语表或者练习题。小叶可以凭经验先做最常见的摘要,也可以补问一句,减少理解错任务的可能。这个时候,一句很短的回答,可能比再收到五页背景介绍更有帮助。
怎样描述这种帮助?前面的条件概率告诉我们,获得线索后,应当重新考虑各种结果的可能性。本章再向前走一步:能不能用一个量,描述原来有多不确定,以及获得信息后平均少了多少不确定性?
信息熵、条件熵和信息增益,就是围绕这个问题建立的概念。理解它们,还能帮助我们看懂为什么同一句话在不同上下文中意义不同,为什么重复资料未必增加认识,以及为什么一个看起来很自信的模型,仍可能作出很差的概率预测。
**本章所有小叶案例、概率分布和数值均为虚构教学模型,不是对大学生行为或某个 AI 产品的实测统计。**我们先把概率当作已知条件来理解概念,再讨论实际工作里概率未知时怎样使用这些思路。
一、一条消息带来多少信息,要看它原来有多难猜
1.常见消息与罕见消息
假设在小叶当前面对的这类请求中,四种成果的概率如下:
| 所需成果 | 概率 | 用自然语言理解 |
|---|---|---|
| 摘要 | 1/2 | 约一半请求需要摘要 |
| 对照表 | 1/4 | 约四分之一需要对照表 |
| 术语表 | 1/8 | 约八分之一需要术语表 |
| 练习题 | 1/8 | 约八分之一需要练习题 |
四种情况彼此排斥,并覆盖本例全部可能。现实中可以同时需要多种成果,但那样要把结果重新定义为相应组合;本例先研究单一主要成果。
如果同学说“做摘要”,小叶不会特别意外,因为这原本就是最可能的情况。如果同学说“做练习题”,小叶的预期改变得更多。这不是说练习题比摘要重要,而是说:在当前分布下,练习题这个结果原来更难猜中。
要给单个结果的信息量定一个数,可以采用:
是实际发生的结果, 是在得知结果之前赋予它的概率, 叫作这个结果的自信息,也常称为惊讶度。这里的“惊讶”是数学上的叫法,不要求人真的表现出惊讶情绪。
2.为什么这里会出现对数
先不用急着做复杂对数运算。二分之一对应一个二选一的不确定选择,四分之一相当于两个独立二选一选择都取到指定结果,八分之一相当于三个。
我们希望两个独立消息合起来的信息量可以相加。若一个指定结果发生的概率为二分之一,另一个独立结果的概率为四分之一,它们同时发生的概率是八分之一。对数刚好能把概率的相乘变成信息量的相加:
因此,主案例中摘要对应一单位,对照表对应两单位,术语表和练习题各对应三单位。以二为对数底时,单位叫作比特,写作 bit。
这个单位表示信息的量度,不表示同学说出“摘要”两个汉字,就只需要在电脑中存储一个二进制位。原始文字怎样编码,还有文件格式、字符集等问题。这里测量的是指定结果相对于原有概率带来的信息,不是那句话实际占用的文件大小。
Shannon 在信息论原始论文中采用对数度量,并说明了不同对数底与单位的关系。《A Mathematical Theory of Communication》
3.概率变了,同一个结果的信息量也会变
假如换到另一门课,老师每次都要求提交练习题,那么“做练习题”就不是罕见消息。若小叶事先已经确定这一点,它的概率为一,自信息就是零。
零不表示练习题没有价值,而是表示这句话没有告诉小叶关于“本次做哪类成果”的新情况。
这使信息量与句子长度产生明显区别。一份重复已知要求的长文,可能没有改变当前目标的概率判断;一句“这次改成交概念对照表”,却可能改变整个工作方向。反过来,如果一段长材料逐项补充了尚不知道的内容,它当然也可能包含大量信息。
自信息还依赖我们采用的概率模型。如果小叶误以为练习题几乎不可能出现,收到这个要求时会得到很大的惊讶度。这个数也许在提醒他修正预期,不能因此断言这份请求本身特别深刻。
对于概率很小但大于零的结果,自信息可以很大。对于事先模型明确赋零概率、后来却观察到的结果,负对数评分会趋于无穷,这说明原模型把实际可能发生的情形排除得过于绝对。后面讨论模型评价时,我们还会回到这一点。
二、信息熵:把各种可能的惊讶按概率平均
1.单次结果与事先的不确定性
小叶还没有问同学时,并不知道接下来会收到哪一种答案。摘要出现得多,信息量为一;另外三类较少出现,信息量为二或三。
如果想描述“在收到答案之前,平均有多少尚待确定的信息”,就要按各结果发生的概率,对自信息取平均:
是“本次所需成果类型”这个随机变量, 就是它的信息熵。
代入主案例:
这里不应把四个自信息一、二、三、三直接平均成二点二五,因为四种结果并不等概率。摘要出现得更多,应该有更大的权重。
也可以想象一组构造出来的四十个请求,恰好二十个摘要、十个对照表、五个术语表、五个练习题。它们的自信息总和是七十 bit,除以四十,仍为一点七五 bit。这个计数只是对同一加权计算的直观展示,不是要求每四十次实际请求都必须出现这些数量。
2.结果一样多,熵也可能不同
如果四种成果各占四分之一,每一种的自信息都是二,熵就是二 bit。可能结果数量仍为四,为什么比原来的一点七五更大?
因为在等概率情况下,小叶没有一个更有把握的起始猜测。原来的分布则向摘要集中,部分结果更容易预料。不确定性不仅取决于“有多少种可能”,还取决于“概率怎样分布在这些可能上”。
对于固定的 个可能结果,熵最大为 ,在各结果等概率时达到。若概率全部集中在一个结果上,熵为零。换一套名称不会改变熵;改变概率分配则可能改变。
这些性质可以在 MIT 信息论讲义第一章中查到。阅读本章时,先通过下面的二类情形把它们理解清楚即可。
3.二元熵为什么中间高、两边低
如果结果只有两种,概率分别为 和 ,熵为:
当两种结果各占一半时,熵为一 bit;当概率为九成与一成时,熵约为零点四六九 bit;当概率为百分之九十九与百分之一时,熵只有约零点零八一 bit。
后一种分布里,罕见的百分之一结果一旦发生,确实会带来很高的自信息。但它极少发生,平均时权重很小;常见结果则几乎可以猜到,所以整个分布的平均熵仍低。
这正好说明,**罕见事件的信息量大,与这种分布的平均熵低,并不矛盾。**它们说的是单个结果和全部结果的概率平均。

在公式中,零概率项按极限取零,也就是把 这一项视为零贡献。它不表示零概率事件发生时惊讶度为零,而是说该事件在这个分布的平均中不出现。这两个位置的“零”需要分别理解。
4.先问是在描述哪一个变量
一份课程任务可以包含很多未知量:交付类型、正确结论、引用来源、截止时间、文件格式。它们各自有分布,也可以合起来构成更大的联合变量。
本章前面的熵只描述“成果类型”。即使小叶已经确定要写摘要,类型的熵降为零,他仍然可能不知道材料内容,也不知道摘要中的某个事实是否正确。
所以,“不确定性为零”必须连着变量一起读。它不会自动变成“这项任务的一切都已弄明白”。在使用 AI 时,这个习惯很有用:我们要减少的是哪个问题的不确定性,而不是希望得到一个没有对象的“更确定”。
三、条件熵:问过一句之后,还剩多少没有弄清
1.先看一个具体回答造成的变化
回到四类成果的主案例。小叶准备问:“这次需要摘要吗?”
如果同学回答“是”,成果类型已经确定,剩余熵为零。如果回答“不是”,摘要被排除,其余三类需要重新归一化。
原来对照表、术语表、练习题的概率分别为四分之一、八分之一、八分之一,它们总共占二分之一。因此,在已知不是摘要时,三类的条件概率分别为二分之一、四分之一、四分之一。
这时的剩余熵为:
这里用 表示回答。“已经知道回答不是摘要”对应一个确定的分支,而不是两个回答的平均。
2.在问之前,不能只盯着最理想的那个回答
小叶决定要不要问时,还不知道同学将回答哪一种。他需要把各分支的剩余熵,再按回答出现的概率平均。
回答“是”的概率为二分之一,回答“不是”的概率也为二分之一,所以:
这叫作条件熵:知道 之后,关于 平均还剩多少不确定性。一般写为:
竖线表示“在给定条件下”。左边对所有可能回答作了平均;右边的每个 则属于一个具体分支。
开始时一点七五,问完后平均还剩零点七五,因此,这个问题平均减少了一 bit 的不确定性。
3.另一个同样简短的问题,帮助可能更小
如果先问“这次需要练习题吗”,回答“是”的概率只有八分之一,回答“不是”的概率为八分之七。
“是”这个分支同样能把成果类型完全确定;“不是”这个分支里,剩下摘要、对照表、术语表,条件概率分别为七分之四、七分之二、七分之一,即:
该分布的熵约为一点三七九 bit。加权后的条件熵为:
因此,这个问题的平均信息增益约为:
只看理想分支,两个问题都可能直接知道答案;但第二个问题直接解决问题的机会较小,大多数时候只排除一个较少出现的结果,所以平均帮助更小。
4.一个是非回答,为什么有时可以带来三 bit
假如问“是不是练习题”,同学恰好回答“是”,这条消息的自信息是三 bit,因为这个回答原来的概率为八分之一。
这不违反“二元变量最大熵为一 bit”。最大熵说的是两个回答的平均自信息;罕见的那个回答可以超过一 bit,常见的回答则少于一 bit。
在本例里,“不是”的自信息是 ,约零点一九三 bit。两者加权:
这恰好等于前面计算的信息增益,因为本例回答由成果类型完全决定,而且按设定回答准确。二元问题的平均回答信息没有超过一 bit,具体某个回答的信息量却可以超过。
三 bit 是罕见回答本身的自信息,不能直接从原先的 中减掉三。对这一次确定答案,成果类型的熵是从一点七五降到零。前面的问题信息增益,则是在回答前把全部分支的剩余熵加权后计算的。
5.回答本身有变化,不代表它回答了当前问题
设小叶改问“是不是今天提交”,今天与非今天各占一半,并且在这个教学模型里,提交日期与成果类型独立。
小叶确实获得了一条关于时间的信息,回答本身的熵为一 bit。但无论回答今天还是非今天,四种成果的概率仍为二分之一、四分之一、八分之一、八分之一。关于成果类型的剩余熵仍为一点七五,信息增益为零。
这并不是说截止时间不重要。它说明“获得了多少回答信息”与“这些信息消除了哪个未知问题”需要对应。后面讨论行动价值时,还会看到截止条件为什么可能值得优先问。

图中三种问题都从同一个起点比较,不是连续问三次之后的累积结果。绿色部分表示关于成果类型的平均信息增益,黄色部分是平均剩余熵。
四、互信息:一份信息与目标之间有多少联系
1.从减少不确定性得到互信息
对于本章有限的离散变量,可以把观察 对了解 的平均帮助写成:
它叫作互信息。前面用熵减少来衡量的问题信息增益,就是相应目标变量与回答变量之间的互信息。
“互”字还包含一个性质:。从联合分布来看,知道 X 对了解 Y 的平均帮助,与知道 Y 对了解 X 的平均帮助相等。但二者原有的不确定性可以不同,剩余不确定性也可以不同。
例如,成果类型完全决定“是不是摘要”这个准确回答,所以知道成果类型后,对这个回答没有不确定性;但只知道“不是摘要”,仍不能区分剩下三种成果。互信息相等,不表示两个变量能互相完全还原。
2.把联系写成联合概率
另一种写法是:
分子是实际联合分布,分母是把两者当成独立时会得到的联合分布。如果 X 与 Y 独立,每一项中的比值都是一,对数为零,互信息就是零。
如果不独立,有些组合会比独立情况下更常出现,有些更少出现。全部按实际联合概率平均之后,得到非负的互信息。这个量刻画的是分布中的依赖,不只是直线型联系。
它也能写成 :把两个变量分开描述的不确定性加起来,再减去联合描述的不确定性,剩下的就是两者共享的部分。相关定义、非负性与链式关系可查阅 MIT 信息论讲义第二章。
3.有预测联系,不等于有因果作用
如果某种材料文件名与成果类型高度关联,文件名可能对预测类型很有帮助,互信息可以较大。但把文件名改一下,并不必然让同学改变原来的需求。
这与上一章的因果判断相接:互信息利用观察到的依赖关系,不负责单独证明改变一个变量会造成另一个变量改变。
有时这种区别直接影响系统设计。用文件名作临时线索也许方便,但如果命名习惯一换就失效,小叶就知道这条线索依赖具体分布。相比之下,直接取得同学对成果类型的明确要求,通常更接近任务本身。
4.含噪线索的帮助要打折
前面的直接回答按模型设定完全准确。如果小叶没有询问同学,只让一个辅助程序根据含混请求猜“是不是摘要”,就可能出现错误。
设程序对上述每一种成果,判断“是不是摘要”的正确率都为九成。也就是说,需要摘要时有九成概率判断为摘要;需要对照表、术语表或练习题时,也各有九成概率判断为非摘要。因为摘要与非摘要在主案例中各占一半,程序输出的两种判断也各占一半,输出熵为一 bit。
即使已经知道具体是哪一种成果,程序的判断仍有一成概率出错;这部分输出变化并没有增加关于任务的认识。其条件熵为 ,所以互信息为:
输出看起来同样有“是”和“否”两种,并不意味着它与准确回答一样有用。真正决定信息增益的是它与目标的联合关系,而不是它表面上产生了多少变化。
五、一条有用的消息,为什么可能让人暂时更不确定
1.一个新的二类任务模型
考虑小叶面对的另一批请求,这次只有摘要和对照表两种成果。摘要的概率为百分之九十,对照表为百分之十。
小叶尚未检查请求是否带附件。假设任务类型与附件情况的联合概率如下:
| 任务类型 | 有附件 | 无附件 | 合计 |
|---|---|---|---|
| 摘要 | 0.10 | 0.80 | 0.90 |
| 对照表 | 0.10 | 0 | 0.10 |
| 合计 | 0.20 | 0.80 | 1 |
这张表是新的教学设定,不沿用前面四类成果的概率。它表示:所有对照表请求都带附件,一部分摘要请求也带附件。
观察之前,类型的熵为 ,约零点四六九 bit。小叶原本相当有把握地倾向摘要。
2.发现有附件时,原来的把握降低了
如果发现有附件,两种任务各占附件请求的一半。因此,条件概率变成摘要百分之五十、对照表百分之五十,熵上升到一 bit。
小叶现在比观察之前更难猜中具体类型。但这条信息并没有让他变笨,也不一定是干扰:它告诉他,当前请求属于原来较少见、类型更难区分的那一部分。
原先九成倾向摘要,对整体请求有依据;在已经发现附件后,还坚持用原先的九成判断,就忽略了与当前请求有关的证据。
如果发现没有附件,则根据模型可以确定任务为摘要,剩余熵为零。
3.条件熵的不增加,说的是加权平均
发现有附件的概率为两成,无附件为八成,所以观察后的平均剩余熵为:
它比观察前约零点四六九小,平均信息增益约为零点二六九 bit。

这解释了“知道更多,条件熵不会增加”这句话里的平均含义。不能把它误读为每一种具体消息都必须使熵下降。某个分支可以上升,另一些分支下降更多,平均仍然下降。
在 AI 工作中,小叶可能先认为一篇资料只有一种解释,读到某个限定条件后,才发现还存在另一种合理解释。这个时候,比较好的进展可能是从过早确定回到有根据的不确定,再找下一条能区分解释的证据。
这里也没有推出“越不确定越好”。如果增加的内容与目标无关,或把不可靠说法当成证据,也可能造成无意义的摇摆。判断进展,要看概率变化有没有依据,而不能只看分布变尖还是变平。
六、两份资料的价值,常常取决于它们怎样放在一起
1.重复了一遍,不会把同一事实变成两份独立信息
小叶已经收到同学明确、准确的回答:“这次要做术语表。”随后另一个文档只是把同一条确认原样复制了一遍。
对于成果类型,第一条确认已经消除了不确定性。第二条在这个设定下没有新增信息;它可能方便归档或交接,但不会让关于同一类型的熵从零继续降成负数。
即使第二份材料换了一种说法,只要它完全来自第一份材料,没有新的观察,也没有增加独立的核验依据,就不能因为文字不同而直接当成第二次独立支持。
实际资料未必像这个例子一样完全重复。两份说明可能部分重合、部分新增。这个时候,我们需要的量是:已经知道第一份之后,第二份还能帮助多少。
2.条件互信息描述“在已有信息上再增加多少”
设 是已有资料, 是准备补充的资料,仍用 表示目标未知量。可以定义:
这叫作条件互信息。它比较的是已经知道 Y 时的平均剩余熵,与连 Z 也知道之后的平均剩余熵。
于是,两份资料合起来的帮助可以拆成:
先取得第一份资料带来多少,再加上有了第一份以后第二份新增多少,就是两份合起来的总量。这里的第二项不是不加条件的 ,因为已有资料改变了下一份资料的作用。
完全重复的情况里,第二项为零。这个公式也告诉我们,评价一段补充上下文时,不能只问它单独看是否有内容,还要问它相对于当前已经知道的东西增加了什么。
3.也有两份资料单独看不够,合起来才起作用
另一种情况更有意思。
小叶准备让 AI 依据一份校订表修改课程材料。校订表可能对应第零版或第一版,待修改文件也可能是第零版或第一版。他真正需要判断的是:两者版本是否匹配。
为了看清关系,假设两边版本独立,各有一半概率为零或一。四种情况等概率:
| 校订表对应版本 R | 待修改文件版本 F | 是否匹配 X |
|---|---|---|
| 0 | 0 | 是 |
| 0 | 1 | 否 |
| 1 | 0 | 否 |
| 1 | 1 | 是 |
匹配与不匹配各占一半,起初熵为一 bit。
如果只知道校订表对应第零版,文件仍然可能为零或一,匹配概率仍是一半;只知道校订表对应第一版,也一样。因此,单独知道 R 对判断匹配的互信息为零。
同理,只知道文件版本 F,也不能减少是否匹配的不确定性。可是,两边版本都知道后,匹配状态就完全确定了。
所以这个模型中:
零加零为什么会得到一?因为两份资料的总帮助不是两个单独互信息的机械相加。正确分解为:
单独知道某一边没法判断;有了另一边,它就成为决定性的补充。
4.这怎样改变我们组织上下文的方式
这个模型不是说真实版本总是等概率、独立,而是用四种简单状态展示一种关系:信息的作用可以来自配合。
一份错误日志可能需要对应版本的代码才能解释;一张数据表可能需要单位和字段定义才能使用;一条评价标准可能需要具体成果才能判断是否满足。单独拿其中一项来评价“信息量够不够”,可能会错过它们之间的关系。
因此,整理给 AI 的资料时,可以同时注意两件事:减少没有必要的重复,同时保留解释资料所需的对应关系。减少字数与减少冗余不是完全相同的事。如果把关键单位、版本号或适用条件删掉,文字变短了,目标所需的信息却可能不再可恢复。
条件互信息的链式关系,以及条件信息可能因配合而增加的情形,在 MIT 互信息讲义的条件互信息部分有进一步说明。下一章讨论编码和压缩时,我们会把“保留什么才能恢复目标内容”展开。
七、交叉熵:模型自己的确定,不等于对真实结果预测得好
1.同一批任务,三种概率预测
回到四类成果分布,真实教学分布 P 仍然是摘要二分之一、对照表四分之一、术语表与练习题各八分之一。
设有三种候选预测,它们在尚无额外线索时,为每次请求给出固定概率:
| 预测方式 | 摘要 | 对照表 | 术语表 | 练习题 |
|---|---|---|---|---|
| 与 P 一致 | 0.50 | 0.25 | 0.125 | 0.125 |
| 四类平均 | 0.25 | 0.25 | 0.25 | 0.25 |
| 过度倾向摘要 | 0.90 | 0.05 | 0.025 | 0.025 |
第三种预测的分布最集中,自己的熵约为零点六一九 bit;第一种为一点七五,第二种为二。
如果只按照模型自身的熵越低越好来选择,就会选第三种。但真实任务中有一半并非摘要,它却只给这些结果合计一成的概率。它的确定程度超过了这里实际可获得的依据。
我们需要一种评价:真实结果发生以后,检查模型事先给这个结果多少概率,而不是让模型自己评价自己有多确定。
2.负对数评分怎样惩罚没有依据的确定
设模型使用分布 Q,实际结果是 。给它的损失分数为:
给实际结果的概率越大,损失越小;把实际发生的结果说得越不可能,损失越大。
在第三种预测下,摘要发生时损失约为零点一五二;对照表发生时约为四点三二二;术语表或练习题发生时,各约五点三二二。
它确实在摘要出现时得到较小损失,但另外一半请求的损失很大。按照真实分布 P 加权,平均损失为:
这叫作交叉熵。外面的权重来自实际分布 P,里面被评分的概率来自模型 Q。这是“交叉”的一个直观理解。
三种方式的结果为:
| 预测方式 | 模型自身的熵 | 在 P 下的交叉熵,越小越好 |
|---|---|---|
| 与 P 一致 | 1.750 | 1.750 |
| 四类平均 | 2.000 | 2.000 |
| 过度倾向摘要 | 0.619 | 2.487 |
最确定的预测反而有最大的平均损失。它给另外三类报出的概率过低,而这些请求实际占了一半,因此它在摘要上的评分优势不足以弥补其他请求上的损失。
3.KL 散度把多出来的损失单独写出来
交叉熵可以拆成:
其中:
右边第二项叫作 KL 散度,也称相对熵。在这里,它衡量真实结果按 P 出现时,使用 Q 的概率预测比使用 P 多付出多少平均负对数损失。
当 P 与 Q 一致时,散度为零;不一致时,散度非负。在主案例中,平均预测多付出零点二五 bit,过度倾向摘要的预测多付出约零点七三七 bit。
散度的两个位置有不同角色:P 决定哪些结果多出现,Q 决定我们给这些结果报了多少概率。交换位置通常会改变数值,因此它不能直接当成日常几何中对称的距离。关于定义与方向,可参看 MIT 熵与散度讲义。
4.实际不知道 P 时,可以用结果记录来评价
现实中小叶通常不知道真实分布 P。他可以先保存模型对每次任务给出的概率,等真实需求得到确认后,记录对应结果的负对数损失,再求平均。
若共有 n 次,用 表示第 i 次实际结果, 表示该次观察结果之前的预测,平均评分为:
这里允许不同任务具有不同上下文,模型每次给出的分布也可以不同。这个经验评分来自所观察的任务,未来表现仍涉及抽样、环境变化和估计误差,不能仅凭有限数据就知道全部真实概率。
用来调整模型的任务和用来评价它的任务也需要区分。模型把已经看过的答案概率调得很高,不代表它能对尚未见过的任务同样预测准确。
语言模型也常用类似的负对数概率评价:观察实际文本中的下一个单位,检查模型在此前上下文下给它的概率。Jurafsky 与 Martin 的语言模型教材介绍了这种评分与交叉熵、困惑度之间的联系。《Speech and Language Processing》第三章
这些指标反映指定数据上的概率预测表现,不是全部应用质量。一个模型在常见文本上平均预测得好,仍可能在小叶特别关心的引用、计算或任务交付上出错;还需要相应的实际检查。
5.回头看“知道更多却更不确定”
第五节有附件时,概率从九成摘要、一成对照表变成各占一半。虽然熵上升了,但后验分布确实改变了。
如果用“后验相对于先验的 KL 散度”描述这次更新,得到约零点七三七 bit;发现无附件时,对应值约为零点一五二 bit。按两成、八成加权,平均约为零点二六九 bit,恰好是之前算出的互信息。
这提供了第二个观察角度:一条消息可以显著修正判断,却不必让具体分支的熵下降。有些资料也把这种后验相对先验的变化称为信息增益,所以阅读时需要看它正在计算哪个量。平均熵减少、一次具体的熵变化、一次后验相对先验的散度,不是同一件事。
无需因为名称不同就陷入分类争论。只要把概率分布和计算对象写出来,我们就能判断那个数究竟表示什么。
八、怎样让这些知识帮助实际行动
1.信息增益大,不自动意味着更值得先取得
假设小叶需要了解一项任务的两个属性:封面要蓝色还是绿色,以及是否存在一个特殊的紧急要求。颜色两种各占一半,紧急要求只有百分之一概率出现,二者独立。
把两个属性合起来看,颜色包含一 bit 的熵,紧急性只有约零点零八一 bit。若分别得到准确答案,颜色问题带来的信息量更大。
当前只评价要不要提前采取紧急安排这项决策,颜色可以稍后补定。设定如下行动成本:普通安排没有额外准备成本,遇到紧急要求却没提前准备,会造成一百单位损失;提前采用紧急安排,固定多花两单位成本,并能避免这项损失。颜色不会改变这两种行动的成本。这里的单位是为了比较而设定的同一成本尺度。
不知道紧急性时,普通安排的预期损失为百分之一乘一百,即一单位;所有任务都提前准备则要两单位,所以小叶会选择普通安排。
若事先准确知道紧急性,他只在那百分之一的任务中采用紧急安排,平均成本为:
因此,知道紧急性可以使预期成本从一降到零点零二,改善零点九八单位。相比之下,提前知道颜色虽然得到更多 bit,却不改变这里的最优行动和相应成本。
这不是要把颜色说成永远无用。我们只在给定的决策目标里比较它们。换成一个不能改色的制作流程,颜色就可能影响很大。
信息论帮助我们描述减少多少不确定性,经济学的信息价值进一步问:这些减少怎样改变行动结果。两个问题相接,但不能把 bit 直接当成收益。
2.提问顺序可以根据剩余问题逐步调整
在四类成果的主案例中,小叶先问是否摘要。如果不是,再问是否对照表;若仍不是,再区分术语表与练习题。
这样,摘要只需一个问题,对照表两个,另外两类各三个。平均问题数为:
它与本例的熵恰好相等。这给熵的量级提供了一个直观参照:在这个特定分布和准确是非回答的设置里,我们可以用平均一点七五次提问把成果类型确定下来。
并不是任意分布都能让单次识别所需的平均问题数恰好等于熵,也不是现实沟通只能问是非题。实际一句“你希望交付哪种成果”就可以列出四个选项;它与一个只允许是、否的回答具有不同的表达容量。
有用的思想是根据当前尚未区分的情形组织下一步,而不是机械地问固定数量的问题。问题的回答成本、理解难度和后续影响,也应参与安排。
3.给 AI 补上下文,要补的是能够改变判断的依据
小叶让 AI 写概念说明时,可能提供大量背景,却没有告诉它读者已经学过什么、哪些术语必须沿用、最终用于复习还是用于课堂展示。
这些信息有时能直接区分不同的合理写法。已经知道目标受众以后,下一段最有帮助的补充又可能变成课程中的术语定义或一个例子。因此,上下文的作用是相对于已有上下文而言的。
但不能因为我们在概率模型里证明条件熵平均不增加,就推断任何 AI 多收到一段文字都一定做得更好。模型可能误读资料,提供者可能给错信息,输入也可能包含相互冲突的要求。理论里的条件概率来自明确的联合分布,实际模型给出的概率与它未必一致。
在工作中,小叶不必先给每句话测出精确的 bit 数。他可以具体检查:这段内容消除了什么歧义,支持哪个判断,是否只是重复已经确定的要求,是否需要与别的信息配合才能使用。
4.表达可以多样,事实依据仍需要单独判断
同一个正确概念,可以用不同句式解释。语言模型对下一种表述存在多种选择,未必表示它对事实本身也有同样程度的不确定。
例如,小叶要求解释机会成本,开头可以写“选择一种行动时……”,也可以写“当资源只能用于其中一个方案……”。词语层面的概率可以分散,两个方向却都能导向正确说明。
反过来,模型也可能非常稳定地给出一个缺少依据的年份。输出分布集中,只说明它在该情境下倾向这一输出,不能仅由集中程度推得事实已被核实。
因此,信息论让我们更敏感地看待概率分布,但不会让一个熵值替代全部判断。对于目标是否清楚、证据是否充分、表达是否合适,需要先区分所研究的变量。
5.把测量当作理解的帮助
实际任务的全部可能状态往往难以列完,概率也不容易准确估计。为了使用本章思路,小叶可以先列几种真正影响工作的候选情况,再看看哪项观察最能区分它们。
如果候选情况还没列清楚,却为它们计算很多小数位,精确的数字可能只是隐藏了起点的含混。相反,一个只列三种合理解释、清楚说明证据分别支持什么的粗略模型,已经能帮助组织下一步。
需要自动比较大量模型、处理成批数据或分析系统时,再把这些概念变成可计算的指标。学会公式和理解它的应用层次,可以同时进行,不需要把其中一层做完才开始另一层。
九、练习与参考分析
练习一:把文件名缩短,未知内容就减少了吗
小叶要在八份文件中确定老师指定的一份,八种情况等概率。请计算文件身份的熵。如果把八个长文件名改成八个互不相同的短编号,并保留编号与原文件的一一对应关系,身份的熵会改变吗?
**参考分析:**每份文件的概率为八分之一,自信息为三 bit,平均熵也是三 bit。文件名长度改变,并没有改变八种身份的概率,熵仍为三。
短编号可能减少实际传输和记录长度,但它没有让“究竟是哪份”变得更容易预料。一一对应关系保证编号可以还原身份。若几个文件用了相同编号,则观察编号可能无法确定文件,这是另一个信息保留问题,不再只是改名。
练习二:先问是不是对照表,有多少帮助
使用四类成果的主案例分布,假定回答完全准确。小叶准备问“是不是对照表”。请计算两个回答的概率、“不是”时的条件分布、平均条件熵与信息增益。再与先问摘要和先问练习题比较。
参考分析:“是”的概率为四分之一,剩余熵为零;“不是”的概率为四分之三。此时摘要、术语表、练习题的概率分别为三分之二、六分之一、六分之一。
这个三类分布的熵约为一点二五二 bit,所以平均条件熵为四分之三乘一点二五二,约零点九三九 bit。信息增益为一点七五减零点九三九,约零点八一一 bit。
在回答成本相同、准确且只关心减少类型不确定性的设定下,它的平均增益小于先问摘要的一 bit,大于先问练习题的约零点五四四 bit。决定比较的是回答发生前的平均帮助,不能只看某个回答能否一次结束。
练习三:有附件,是否说明信息论公式错了
二类任务模型中,观察前摘要概率九成,对照表一成。有附件时两类各占一半,无附件时确定为摘要。小叶发现有附件后,类型熵从约零点四六九上升到一。
请说明这是否否定“条件熵不大于原来的熵”,并计算观察前评估这项检查的信息增益。能否把有附件回答的自信息当成这一次类型熵的减少?
**参考分析:**没有否定。具体分支的熵可以增大,条件熵则需要按所有可能观察加权。有附件概率两成、无附件八成,平均剩余熵为零点二,所以平均增益约为零点二六九 bit。
有附件回答本身的自信息为 ,约二点三二二 bit;这次类型熵的减少却为零点四六九减一,约负零点五三一 bit。它们不是同一个量。前者描述回答有多罕见,后者描述这一分支前后类型分布的不确定性怎样变化。
练习四:为什么两个“零帮助”可以合成有帮助
在版本模型中,只知道校订表版本 R,或者只知道文件版本 F,都无法改变是否匹配 X 的一半一半概率。请解释为什么知道两者后能确定匹配,并写出正确的信息增益分解。
**参考分析:**只知道一边时,另一边独立且仍有两种等概率可能;知道两边后可以直接比较是否相同,所以条件熵从一降到零。
正确分解为 。第二项是在已有 R 时,F 增加多少,不是单独 F 的互信息。
如果第二份资料只是把已知的 R 又抄了一遍,就仍然不知道 F,匹配的熵不会因此下降。这两种情况分别展示了配合与重复,资料数量相同不代表信息关系相同。
练习五:某一次预测非常好,就可以选它了吗
三种预测方式中,某次实际需要摘要,它们给摘要的概率分别为零点五、零点二五、零点九。请比较这一次的负对数损失,并解释为什么不能仅由这一次结果认定第三种预测长期最好。
**参考分析:**三者的损失分别为一、二、约零点一五二,第三种在这一次最好。这个评分没有算错,它确实给实际结果分配了更高概率。
但主案例还有一半请求不是摘要。按整个真实分布加权,三者交叉熵分别为一点七五、二、约二点四八七,第三种反而最高。一个结果只能评价当次预测;判断长期表现,需要让不同结果按实际出现规律参与比较,并考虑样本不确定性。
模型自身的低熵与实际数据上的低平均损失,在这里给出了相反排序。这是选择概率模型时不能只追求“看起来更确定”的原因。
练习六:取得信息也要花成本
沿用紧急安排案例,事先不知道紧急性时最优预期成本为一单位;准确知道后,行动本身平均成本为零点零二单位。
现在准确询问紧急性还要花零点三单位成本,准确询问颜色要花零点一单位。两者对当前紧急安排决策的作用保持正文设定。应选择哪一种,净改善多少?
**参考分析:**询问紧急性后的总预期成本为零点零二加零点三,等于零点三二;比不问的一单位减少零点六八,因此在这些假设下值得问。
颜色信息不改变当前两种行动的成本比较,加上询问成本,总预期成本为一点一,反而更高。颜色的一 bit 信息量大于紧急性的约零点零八一 bit,却不决定当前询问信息的优先顺序。
若紧急性难以准确回答,或取得答案耗费更多时间,就要重新估计信息与行动的关系。不能把本例的优先级当成不随任务条件改变的固定规则。
本章资料与计算说明
本章以Shannon原始论文、MIT信息论课程讲义及Jurafsky与Martin的语言模型教材核对定义与关系,正文在相关位置提供直接链接。案例叙述和教学图自行构造;常用的二元分布与二进制概率用于把公式变成可检查的计算。
计算程序分别用条件分布加权、联合熵差和联合概率对数比,交叉核对条件熵与互信息;核对版本配合、重复消息、含噪判断、后验散度平均、交叉熵分解与全部练习数值。三张教学图均已实际查看。