all_lessons/计算心智/03第 4 课 / 共 13 课

A · 把「建构」写成数学

自由能原理与主动推断

第 02 课把感知讲成「不断最小化预测误差」。可一个聪明的怀疑应该冒出来了:感知、学习、行动,听起来是三件不同的事,凭什么都归到「最小化预测误差」名下?有没有一个总原则,能把这三件事写成同一个被最小化的量?这一课就去找那个量——并诚实地说清,这个号称能解释一切的原则,争议有多大。

承接上一课
第 02 课的结论是:大脑持一个分层生成模型,自上而下发预测,只把预测误差往上传,迭代逼近后验。那时「最小化预测误差」还只管感知——给定不动的输入,把信念调到能解释它。可现实里你不会只坐着调信念:你会转头、伸手、调温度。行动也能改变你收到的输入。如果感知是「改信念去配合世界」,那行动能不能反过来是「改世界去配合信念」?要把这两条路装进同一个框架,就需要一个比「预测误差」更大的量。
本课路线
(1) 先说清为什么单靠「预测误差」还不够,需要一个能被真正最小化、又有保证的量;(2) 引入变分自由能 (variational free energy)——它是证据下界的负数、是预测误差的上界,最小化它=做近似贝叶斯推断;(3) 揭示关键升级:降自由能有两条路——改信念(感知/学习)或改世界(行动),后者就是主动推断 (active inference);(4) 严肃标注自由能原理 (FEP) 的争议;(5) 点出 ML 镜像:自由能就是你在变分推断、VAE 里见过的 ELBO;(6) 玩一个「主动推断恒温器」,亲手看同一个误差怎么被两种方式压下去。

为什么「最小化预测误差」还差一口气

第 02 课说大脑在最小化预测误差,这很对,但也藏着一个漏洞:预测误差是逐层、逐个时刻的局部信号,它没告诉你整体上到底在优化什么。更要命的是,光盯着「让预测误差变小」,有一个偷懒的作弊解——把信念调得极其自信而模糊,什么都解释得通,误差自然小。可这样的信念毫无内容。真正的贝叶斯推断要的是后验:既要拟合证据,又不能凭空过度自信。我们需要一个量,把「拟合得多好」和「信念是否过度自信」同时记进去。

这个量就是变分自由能。它的来历是这样:真正的后验 P(世界 | 感官) 通常算不出来(分母那个证据项要对所有可能世界积分,大脑没法做)。于是退而求其次——大脑维护一个近似后验 Q,再想办法把 Q 调得尽量接近真后验。自由能 F 就是衡量「Q 离真后验还有多远」的一把尺;把 F 压到最小,Q 就最接近真后验。最小化自由能,等价于做近似贝叶斯推断。这就是它比「预测误差」更根本的原因:预测误差是它的一部分,而它管的是整件事。

F ≈ 预测误差 − 复杂度

读这条式子要小心两个方向。预测误差项要小,逼着信念去拟合证据;复杂度项是「为了解释证据,信念偏离了先验多远」——偏离越多越复杂,要罚。(注意符号:上式把复杂度写成减号项是为了直观呈现「拟合 vs 偏离」的拉锯;不同教材按精度−复杂度或 误差+复杂度 排列,正负号取决于约定,别死记号,记住拉锯。)这一项正是防止前面那个作弊解的关键:你不能为了把误差压到零,就把信念扭成离先验十万八千里的怪样子。最小化 F,就是在「解释好证据」和「别把信念整得太离谱」之间找平衡——这恰恰是贝叶斯后验本身的形状。

一个等价的名字 · 证据下界
把上面的式子翻个号,−F 就是统计学里大名鼎鼎的证据下界 (evidence lower bound, ELBO)——它是「模型有多大可能产生这批数据」(对数证据)的一个下界。最小化自由能 = 最大化 ELBO = 让你的模型尽量「不意外」地解释收到的数据。所以「自由能」「ELBO」「(负)对数证据的界」说的是同一个东西的不同侧面。Friston 借了物理里「自由能」这个名字,但这里它纯粹是个信息论/统计量,和热力学的自由能只是数学形式上的呼应,不要望文生义当成能量。

关键升级:降自由能的两条路

现在到了这一课真正的转折。F 衡量的是「预测和现实的差距」。要把这个差距压小,你有两条完全不同的路

路一 · 改信念去拟合世界世界不动,调整内部信念(近似后验 Q)去更好地解释收到的感官输入。这就是感知(快速调信念)与学习(慢速调生成模型的参数)。第 01、02 课讲的全是这条路。
路二 · 改世界去拟合预测信念不动,去行动,主动改变环境,让你收到的感官输入变成你预测的样子。你预测手会摸到杯子——于是真的伸手把这个预测变成现实。预测误差也降了。

第二条路就是主动推断 (active inference):行动不再是推断之外的另一套系统,而是最小化同一个自由能的另一种手段。这下,感知、学习、行动被收进了同一个最小化里。一句话:

最小化 F:要么更新信念(感知 / 学习),要么采取行动(改世界)

举个具身的例子。你觉得有点冷——按生成模型,你预期自己处在温暖状态,可皮肤的感官证据说「冷」,预测误差出现了。路一:你可以更新信念,接受「现在就是冷的」。路二:你伸手把暖气开大,让环境真的变暖,使感官输入回到「温暖」的预测上。同一个预测误差,两种消解方式。智能体之所以会行动,在这个框架里,是因为行动是降低自由能(让预测成真)的有效途径。这就把第 00 课那句「行动=让预测成真」从口号兑现成了机制。

为什么这是个漂亮的统一
在主动推断之前,我们得分别讲:感知是一套(贝叶斯更新)、运动控制是另一套(比如经典的「指令→执行→反馈纠错」)。FEP 的诱人之处在于,它声称这两套是同一道题:运动也是推断——大脑「相信」手该在那个位置,脊髓与肌肉只是去消解这个信念与本体感觉之间的预测误差。优雅、统一、覆盖面极广。正因为它这么能「解释一切」,下面必须停下来泼一盆冷水。

诚实:自由能原理的争议有多大

这是一个宏大、诱人,但可证伪性备受争议的框架
自由能原理 (free energy principle, FEP) 由 Karl Friston 提出,野心极大——它想用「任何能持续存在的自组织系统都在最小化自由能」一句话,统一感知、学习、行动,甚至生命本身。问题恰恰出在这份野心上:一个几乎能解释一切的原则,往往很难被任何具体观察否证。批评者(如认知科学家与哲学家们)反复追问:FEP 到底预测了什么具体、可测、且与其他理论不同的现象?如果任何行为都能事后被讲成「在最小化某个自由能」,那它更像一个无所不包的数学框架/视角,而非一个能被实验拉下马的经验理论。这正是第 00 课立下的暗线:能解释一切,在科学里是警讯而非褒奖。把 FEP 当成一个富有启发的统一视角来用很好;把它当成已被证实的大脑定律,就过头了。本课其余结论(贝叶斯推断、预测编码、ELBO/变分推断)站得很稳,但 FEP 这层「大统一」必须打上问号。

说清楚边界很重要:怀疑 FEP 的统一叙事,等于否定它的零件。变分自由能/ELBO 是扎实的数学;预测编码有实验支持;行动可以被建模成推断,这个想法本身富有成效。受争议的是那一步飞跃——「所有能存续的系统在最小化自由能」这种近乎不可证伪的全称主张。学会把「有用的工具」和「未被证实的大一统」分开,正是这门课要训练的科学素养。

ML 镜像:你早就在训练里见过自由能

如果你训过变分自编码器 (variational autoencoder, VAE) 或读过站内的生成模型课,那条「重建误差 + KL 散度」的损失函数,就是自由能本人。对照着看:

预测误差 ↔ 重建项VAE 损失里的重建误差,对应自由能里逼信念去拟合证据的那一项——「模型预测的输入」和「真实输入」差多少。
复杂度 ↔ KL 项VAE 损失里的 KL 散度,罚的是近似后验 Q 偏离先验多远——正是自由能里的复杂度项。两边是同一个拉锯。
最小化 F ↔ 最大化 ELBO训练 VAE=最大化 ELBO=最小化变分自由能=做近似贝叶斯推断。机器为「学会生成数据」发明的目标,和大脑为「推断世界」用的目标,写出来是同一行。

这就是本课的特色暗线又一次兑现:大脑最小化自由能 = 你训练生成模型时最小化的那个变分目标。区别在于,VAE 只走路一(调参数拟合固定数据集),而主动推断还多了路二(行动去改变它收到的数据)——这也正是为什么把强化学习/智能体接进来后,「行动也是推断」会成为一个诱人的桥。

动手:主动推断恒温器

下面这个 agent 有一个期望状态(它「相信」环境该是的样子),环境有一个你能拖动的真实状态。预测误差 = 期望 − 实际。给你两个开关:只允许感知(agent 只能更新信念去接受现实),还是允许行动(agent 还能改变环境去符合期望)。拖动真实状态制造误差,按「跑一步」看 agent 怎么把误差压下去——并读它每一步的判定:到底走了哪条路。

主动推断恒温器:两条路降同一个误差
先拖「真实状态」制造预测误差,再选模式、连点「跑一步」。看「只感知」如何靠改信念逼近现实,「可行动」如何靠改世界逼近期望——同一个误差,两种消解。
期望状态(信念)
70
真实状态(环境)
20
预测误差 = 期望 − 实际
+50
当前模式
— 请先选模式 —
判定

玩到这里你会摸到主动推断的全部要点:预测误差只有一个,消解它的手段却有两种。「只感知」时 agent 别无选择,只能改信念去接受世界(期望滑向真实状态);「可行动」时它可以反过来推动环境去符合期望(真实状态滑向期望)。两种模式最后都让预测误差趋近 0——这就是把感知、学习、行动收进同一个最小化里的意思。

常见误解

一句话带走
给「最小化预测误差」找一个总原则,答案是变分自由能:它是(负)证据下界、是预测误差加复杂度罚项的上界,最小化它就等于做近似贝叶斯推断。关键升级是它打开了第二条路——不只改信念去拟合世界(感知/学习),还能改世界去拟合预测(行动)=主动推断,于是感知、学习、行动被收进同一个最小化里。ML 镜像:自由能就是你训练 VAE 时最小化的那个 ELBO。但要清醒:自由能原理这层「大一统」因近乎能解释一切而可证伪性备受争议,是个有用的视角,不是已被证实的定律。
下一步
主动推断说「行动是为了让预测成真」——可这听着不太对劲:我们也明明为了奖赏去行动(为了好吃的、为了赢、为了钱)。「让预测成真」和「追求奖赏」是同一回事,还是两套语言?大脑里有没有一个具体信号,把这两者接上?→ 第 04 课《强化学习与多巴胺》会给出那个信号——多巴胺 ≈ 奖赏预测误差,并让你看到它和强化学习里的 TD 误差是同一个东西。