5D Library › 欲望的热力学 · English

第四章 自由能原理:既要安全又要新奇的心智

两种抱怨,其实是一种

在长久关系里不快乐的人,通常会说出两种抱怨中的一种。第一种是:「我早就知道他会说什么」「什么都不会让我意外了」「我们像合租室友」。第二种正好相反:「我永远不知道回家的会是哪个她」「我一直提心吊胆」「我放松不下来」。一个听起来像无聊,一个听起来像焦虑,通常被当作两个不同的问题。

本章认为,它们是从两侧看到的同一个问题,而且都关乎预测。一个心智需要它的世界,尤其是离它最近的人,足够可预测,才觉得安全;它也需要这个世界不断教给它一些东西。前者不足,是焦虑;后者不足,是无聊。第三章末尾介绍的自由能原理,提供了一种同时描述这两种需要的精确方式,并让我们可以问:平衡点在哪里。

意外,以及它的上界

先看一个量。当一件事发生,而心智原先给它的概率是 p(o)p(o),这次观察的意外度(surprisal)就是 −lnp(o)-\ln p(o)。可能的事意外度低,不太可能的事意外度高。意外度在时间上取平均,就是第一章的熵。

大脑无法直接算出自身感觉的概率,因为那需要对世界上所有可能的隐藏原因求平均。弗里斯顿的提议是:大脑转而最小化一个它能算出来的量,即变分自由能

F=DKL[q(s)∥p(s∣o)]−lnp(o)≥−lnp(o),F = D_{\mathrm{KL}}\big[q(s)\,\|\,p(s \mid o)\big] – \ln p(o) \;\geq\; -\ln p(o),

其中 q(s)q(s) 是大脑对它所感知之物背后隐藏原因 ss 的当前最佳猜测。因为散度 DKLD_{\mathrm{KL}} 永远不会是负的,FF 总是不小于意外度。系统一方面让猜测更准(减小散度),一方面通过行动让感觉落在预期之内(减小意外度),从而让两者都保持在低位 (Friston 2010; Parr, Pezzulo, and Friston 2022)。

证据

自由能原理及其过程理论「主动推理」,把感知、学习和行动描述为变分自由能的最小化,把计划描述为在各种可能行动方案上最小化期望自由能 (Parr, Pezzulo, and Friston 2022)。这一原理影响很大,也有争议:批评者认为,作为一条原理,它普遍到很难看出什么样的观察能够反驳它,它可检验的内容在于依据它建立的具体模型 (Colombo and Wright 2021)。本书使用的是那些可以检验的具体模型,而不是整条原理。

把伴侣当作一个需要学习的模型

设想一方在学习另一方的晚上。大多数晚上按惯常模式度过,大约五个里有一个不一样。学习者一开始一无所知,对「惯常」出现的频率维持一个简单的贝叶斯信念并不断更新。每个晚上可以量两样东西:学习者有多意外,以及这个晚上教会了它多少,即信念的改变,用更新后与更新前信念之间的散度来度量。

推导

from math import lgamma, log

def digamma(x):
    r = 0.0
    while x < 6:
        r, x = r - 1 / x, x + 1
    f = 1 / (x * x)
    return r + log(x) - 0.5 / x - f * (1 / 12 - f * (1 / 120 - f * (1 / 252 - f * (1 / 240 - f / 132))))

def kl_beta(a1, b1, a0, b0):
    """KL divergence of Beta(a1, b1) from Beta(a0, b0): what one evening taught us, in nats."""
    lnB = lambda a, b: lgamma(a) + lgamma(b) - lgamma(a + b)
    return (lnB(a0, b0) - lnB(a1, b1) + (a1 - a0) * digamma(a1)
            + (b1 - b0) * digamma(b1) + (a0 - a1 + b0 - b1) * digamma(a1 + b1))

a, b = 1.0, 1.0                                  # no idea yet how the partner's evenings go
evenings = [1, 1, 0, 1, 1, 1, 0, 1, 1, 1] * 10   # 100 evenings: 1 = the usual, 0 = something different
rows, s, g = [], 0.0, 0.0
for n, x in enumerate(evenings, 1):
    p = a / (a + b)                              # predicted chance of "the usual"
    s += -log(p if x == 1 else 1 - p)            # surprisal of what happened
    a1, b1 = (a + 1, b) if x == 1 else (a, b + 1)
    g += kl_beta(a1, b1, a, b)                   # information gained
    a, b = a1, b1
    if n in (10, 30, 100):
        rows.append((n, s, g))

print("evenings     mean surprisal   mean information gain (nats)")
prev_n, prev_s, prev_g = 0, 0.0, 0.0
for n, s, g in rows:
    k = n - prev_n
    print(f"{prev_n + 1:3d}-{n:<3d}   {(s - prev_s) / k:14.3f}   {(g - prev_g) / k:16.4f}")
    prev_n, prev_s, prev_g = n, s, g
print(f"floor: entropy of a 0.8/0.2 pattern = {-(0.8 * log(0.8) + 0.2 * log(0.2)):.3f} nats")
# evenings     mean surprisal   mean information gain (nats)
#   1-10             0.620             0.0927
#  11-30             0.526             0.0239
#  31-100            0.509             0.0082
# floor: entropy of a 0.8/0.2 pattern = 0.500 nats

两列数字讲的是不同的故事。意外度起初下降,然后不再下降:它趋近 0.500 奈特,也就是 0.8/0.2 这个模式本身的熵,永远不会低于它。剩下的意外是噪声,再怎么学习也消除不了。信息增益则下降到原来的十分之一,并继续趋向零。一百个晚上之后,伴侣仍有一点不可预测,却已经教不了什么了。

这是「无聊」的一个精确版本。它不是没有意外,晚上之间仍有差别;它是没有可学习的意外,没有信息。这也说明了为什么治无聊的办法不是单纯的随机。一个变得反复无常的伴侣,会提高意外度却不提高信息增益,结果是第二种抱怨,而不是第一种抱怨的终结。

心智为什么会探索:期望自由能

第三章提到过暗室问题:如果心智在最小化意外,它为什么不待在暗室里?主动推理的回答是:心智选择下一步做什么时,权衡的是两样东西 (Friston et al. 2015)。一是风险:一个行动可能的结果偏离它所偏好的结果有多远。二是认识价值:这个行动预计能教给它多少。要最小化的量是

G=风险⏟不想要的结果的代价−认识价值⏟期望信息增益。G = \underbrace{\text{风险}}_{\text{不想要的结果的代价}} \; – \; \underbrace{\text{认识价值}}_{\text{期望信息增益}} 。

安全却什么也教不了的行动,风险低,认识价值为零。狂野的行动教得很多,风险也很大。心智怎样选择,取决于它把风险看得多重。

推导

一对伴侣在选怎样度过一个晚上。他们对每个选项的信念是一个贝塔分布:熟悉的老一套顺利过 45 次、不顺利 5 次;一项新的共同活动试过几次;「来点狂野的」完全未知。设 λ\lambda 为一个糟糕的晚上让人觉得有多大代价。风险就是 λ⋅P(糟糕)\lambda \cdot P(\text{糟糕}),认识价值是尝试一次该选项的期望信息增益。

from math import log

def digamma(x):
    r = 0.0
    while x < 6:
        r, x = r - 1 / x, x + 1
    f = 1 / (x * x)
    return r + log(x) - 0.5 / x - f * (1 / 12 - f * (1 / 120 - f * (1 / 252 - f * (1 / 240 - f / 132))))

def h(p):
    return -(p * log(p) + (1 - p) * log(1 - p))

def info_gain(a, b):
    """Expected information gain (nats) about the option from trying it once: the epistemic value."""
    m = a / (a + b)
    expected_h = digamma(a + b + 1) - m * digamma(a + 1) - (1 - m) * digamma(b + 1)
    return h(m) - expected_h

options = {                       # what the couple believes about each kind of evening: Beta(good, bad)
    "familiar routine":   (45, 5),
    "new shared activity": (3, 1),
    "something wild":     (1, 1),
}
print("option                P(bad)   epistemic value")
stats = {}
for name, (a, b) in options.items():
    stats[name] = (b / (a + b), info_gain(a, b))
    print(f"{name:20s}  {stats[name][0]:6.2f}   {stats[name][1]:15.3f}")

print("\nlambda (cost of a bad evening)   choice that minimises G = lambda*P(bad) - epistemic value")
for lam in (0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 1.0):
    G = {n: lam * pb - ig for n, (pb, ig) in stats.items()}
    print(f"{lam:6.1f}                          {min(G, key=G.get)}")

names = list(stats)
for i in range(len(names)):
    for j in range(i + 1, len(names)):
        (p1, g1), (p2, g2) = stats[names[i]], stats[names[j]]
        print(f"indifferent between '{names[i]}' and '{names[j]}' at lambda = {(g2 - g1) / (p2 - p1):.3f}")
# option                P(bad)   epistemic value
# familiar routine        0.10             0.010
# new shared activity     0.25             0.104
# something wild          0.50             0.193
# 
# lambda (cost of a bad evening)   choice that minimises G = lambda*P(bad) - epistemic value
#    0.2                          something wild
#    0.3                          something wild
#    0.4                          new shared activity
#    0.5                          new shared activity
#    0.6                          new shared activity
#    0.7                          familiar routine
#    1.0                          familiar routine
# indifferent between 'familiar routine' and 'new shared activity' at lambda = 0.629
# indifferent between 'familiar routine' and 'something wild' at lambda = 0.459
# indifferent between 'new shared activity' and 'something wild' at lambda = 0.357
三种晚上的期望自由能随 λ(糟糕的晚上让人觉得的代价)的变化。每个 λ 处最低的那条线就是被选中的。在 λ = 0.36 到 0.63 之间,新的共同活动胜出:新到足以学到东西,又安全到敢于尝试。

结果的形状很清楚。当糟糕的晚上代价很小(λ<0.36\lambda < 0.36),最好的选择是最狂野的那个,因为它教得最多。当糟糕的晚上代价很大(λ>0.63\lambda > 0.63),最好的选择是老一套,因为什么都不值得冒险。两者之间有一个区间,最好的选择是新的共同活动:不确定到值得从中学习,熟悉到足够安全。

这个计算有两点对后文很重要。这个区间之所以存在,只是因为认识价值是真实的;一个只在乎风险的心智永远会选老一套。而区间的边界取决于 λ\lambda,它不是活动本身的固定属性,而是人和关系的属性。

证据:金发姑娘区间与安全基地

证据

丹尼尔·伯莱因(Daniel Berlyne)在二十世纪六七十年代的实验发现,人们对图案和声音的喜爱程度,随新奇和复杂程度上升到某一点,然后下降,呈倒 U 形 (Berlyne 1970)。塞莱斯特·基德(Celeste Kidd)和同事在婴儿的注意力上发现了同样的形状:七八个月大的婴儿,最容易从非常可预测或非常不可预测的视觉序列上移开目光,对介于两者之间的序列看得最久 (Kidd, Piantadosi, and Aslin 2012)。

证据

依恋研究描述了一种安全基地:伴侣的可及性使探索变得安全。布鲁克·菲尼(Brooke Feeney)与南希·柯林斯(Nancy Collins)综述的证据表明,这种支持,即鼓励伴侣去探索与成长、而不只是在其困顿时给予安慰,与人们接受新挑战并茁壮成长相关 (Feeney and Collins 2015)。

两条证据线与计算吻合:兴趣在中等新奇度处最高,而什么算「中等」,取决于探索者觉得有多安全。

安全买来新奇

假说 · 尚未验证 · 安全买来新奇

在一段关系里,λ\lambda,即一次糟糕的共同经历让人觉得的代价,很大程度上取决于伴侣有多可靠:是否在场,是否守诺,事情出错时是否依然温和。可靠的伴侣降低 λ\lambda,把金发姑娘区间推向更新奇的共同活动。因此,安全与新奇不是此消彼长的两端;一个可预测的伴侣,正是让不可预测的经历变得负担得起的东西。

这个假说有可检验的预测。自感安全感更高的伴侣,在自由选择时应当选择更新奇的共同活动,并从中获益更多;在同一对伴侣内部,安全感的上升应当发生在共同探索增加之前,而不是之后。如果安全与不安全的伴侣选择新奇、获益于新奇的程度相同,或者探索先增加、安全感随后才跟上,这个假说就是错的。

由此得出的实践原则很好说:让伴侣可预测,让冒险不可预测。可靠属于关系的核心:承诺、善意、在场;新奇属于关系的内容:两个人一起做什么、学什么、创造什么。许多伴侣恰好弄反了:他们的活动是固定的(同一家餐馆、同一个节目、同一种假期),而他们对彼此的反应却难以预测(今天热、明天冷)。模型预言,这种组合会同时产生两种抱怨。

原典

复命曰常,知常曰明。不知常,妄作,凶。(老子, n.d.)

白话(作者译):回归本性叫做常,认识常叫做明。不认识常,轻举妄动,就会招来凶险。(《道德经》第十六章)

《道德经》并不反对变化,全书大半都在讲变化。但它坚持:只有从一个已知的「常」出发,变化才是可以驾驭的。用本章的语言说,这个「常」就是低意外度的核心,它让心智负担得起探索。

注

本章的任何内容,都不是留在一个令人恐惧或控制欲强的伴侣身边的理由。在模型里,这样的伴侣会使 λ\lambda 极高,关系本身成为意外的来源;再多新奇的活动也修不好它,正确的做法是像序言所说的那样寻求帮助。

第五章从心智所追求的,转向耗尽心智的:注意力的外漏,以及那种被设计成永远不会变得可预测的奖赏。

参考文献

Berlyne, D. E. 1970. “Novelty, Complexity, and Hedonic Value.” Perception & Psychophysics 8 (5): 279–86.
Colombo, Matteo, and Cory Wright. 2021. “First Principles in the Life Sciences: The Free-Energy Principle, Organicism, and Mechanism.” Synthese 198: 3463–88.
Feeney, Brooke C., and Nancy L. Collins. 2015. “A New Look at Social Support: A Theoretical Perspective on Thriving Through Relationships.” Personality and Social Psychology Review 19 (2): 113–47.
Friston, Karl. 2010. “The Free-Energy Principle: A Unified Brain Theory?” Nature Reviews Neuroscience 11 (2): 127–38.
Friston, Karl, Francesco Rigoli, Dimitri Ognibene, Christoph Mathys, Thomas Fitzgerald, and Giovanni Pezzulo. 2015. “Active Inference and Epistemic Value.” Cognitive Neuroscience 6 (4): 187–214.
Kidd, Celeste, Steven T. Piantadosi, and Richard N. Aslin. 2012. “The Goldilocks Effect: Human Infants Allocate Attention to Visual Sequences That Are Neither Too Simple nor Too Complex.” PLoS ONE 7 (5): e36399.
Parr, Thomas, Giovanni Pezzulo, and Karl J. Friston. 2022. Active Inference: The Free Energy Principle in Mind, Brain, and Behavior. Cambridge, MA: MIT Press.
老子. n.d. 道德经.

Fan, Y. (2026). The Thermodynamics of Desire: Entropy, Dopamine Prediction Error and Dissipative Structures in Human Bonds [欲望的热力学] (Version 1.0.0). 5D Library. https://doi.org/10.5281/zenodo.23682498 · Licensed under Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0).