卷 VI · 界CH 23深度 23/24

好的调节器,必然是被控对象的模型

上一章是物理的边界。这一章是控制的边界,而它同样可以写成一个熵的不等式。写出来之后,你会发现 KPI 失效、reward hacking 和「压不住的干扰」是同一件事。

必要多样性定律Goodhart 台通向控制论

▷ 先猜一下

一个代理指标和真实目标的相关性是 0.9(相当高)。你从 4096 个候选里挑代理指标最高的那一个。它的真实目标大概能达到代理指标的百分之多少?

A 约 90%(就是相关性)B 约 70%C 约 50%D 几乎为 0

第一条定律:你压不住你分辨不出来的东西

1956 年,英国精神病学家兼控制论学者 W. Ross Ashby 提出了一条定律,名字很拗口——必要多样性定律(Law of Requisite Variety)——但内容极其简单:

◆ 必要多样性定律

艾什比自己的说法是:「只有多样性才能吸收多样性。」(Only variety can destroy variety.)

用熵写出来是这样:

H(结果) ≥ H(干扰) − H(控制器)

# 干扰有多少种花样,控制器至少要能做出同样多种花样的应对,
# 否则剩下的差额【必然】漏到结果里。

换句话说:一个只会「开」和「关」的控制器,压不住一个有一百种花样的干扰。它最多能吸收 1 比特,剩下的 log₂100 − 1 = 5.64 比特必然出现在结果里。

下面那台 demo 的后半部分就在算这笔账。而前半部分先讲另一件事:

第二条定律:Goodhart 不是人性问题

Goodhart 定律的流行版本是:「当一个指标成为目标,它就不再是一个好指标。」

常见的解释是「人会钻空子」——员工发现绩效看代码行数,就开始写又臭又长的代码。这个解释不能说错,但它把这件事归给了道德,于是让人误以为「找诚实的人就能解决」。

不能。因为这件事在没有任何人作弊的情况下也一样会发生。

◆ 用一点算术把它拆开

设真实目标是 G(看不见),你能测到的代理指标是:

M = ρ · G + √(1−ρ²) · ε

ρ = 代理和真值的相关性
ε = 和真值无关的噪声(测量误差、运气、可以被优化但无意义的东西)

现在你从 N 个候选里挑 M 最大的那个。

关键在于:M 特别高的候选,往往不是因为 G 高,而是因为 ε 高。

N 越大,这个效应越强。因为「G 特别高」是罕见的,「ε 特别高」也是罕见的,但当你从很多个里挑最大值时,你实际上在挑「两个罕见事件的和最大」——而运气那一项更容易被拉到极端(它没有任何约束,而 G 通常有)。

把 demo 里的「优化压力」滑杆一路拉大,看那两条柱子怎么分家:

从几个候选里挑代理指标 M真实目标 G白干的比例
1(不挑)≈ 0≈ 0
16跟着涨约 10%
256更高涨得慢了约 10%
4096很高停在约 ρ 倍约 10%

(具体数字随随机种子波动,拉一拉滑杆看趋势。)

◆ 结论

真实目标最多只能达到代理指标的 ρ 倍,剩下的 (1−ρ) 全部是白干。而且优化压力越大,你付出的努力里白干的绝对量越大。

更糟的是:在很多真实场景里,代理和真值的关系不是固定的线性相关,而是会在被优化时崩坏——因为「让 M 高」的那些做法本身就在破坏 G。这时候曲线不只是变平,而是掉头向下

这不需要任何人有恶意。它只需要:一个不完美的代理,加上足够大的优化压力。

▸ 在现实里:同一个机制的七次现身
  • KPI 与绩效考核。「代码行数」「工单关闭数」「会议时长」——每一个都是真实贡献的含噪声代理。
  • 论文引用数。是学术影响力的代理。优化压力上来之后,出现了引用农场、切香肠式发表。
  • 点击率。是「用户觉得有价值」的代理。用力优化它,得到的是标题党和信息茧房。
  • 考试分数。是学习成果的代理。用力优化它,得到的是应试技巧。
  • 基准测试分数。是模型能力的代理。用力优化它,得到的是基准污染——模型在榜上很好,在真实任务上不行。
  • RLHF 里的奖励模型。是「人类偏好」的代理。用力优化它会出现 reward model overoptimization:奖励分一路涨,人类实际评分先涨后跌。这条曲线在论文里被反复画出来,形状和 demo 里那两条柱子分家一模一样。
  • 交通事故率 vs 报告的事故数。考核报告数,结果是少报。

七个例子横跨管理学、学术界、产品、教育和 AI 安全。它们不是「七个类似的现象」,是同一个算术后果在七个地方现身。

那怎么办

既然这是算术,就不能靠「加强管理」解决。但算术也给出了可行的方向:

  1. 提高 ρ。找一个更贴近真值的代理,这是最直接的。代价是通常更难测。
  2. 降低优化压力。不要从一万个候选里挑最好的那一个。「够好就行」(satisficing)在数学上是有道理的。RLHF 里的 KL 惩罚项做的就是这件事——它限制模型偏离初始策略太远,字面上就是在给优化压力设上限。
  3. 用多个不相关的代理。如果几个代理的噪声互相独立,同时把它们都推高就难得多。这是「不要只看一个指标」的信息论理由。
  4. 定期换代理。让被考核方来不及适应。(有效,但代价是可比性丧失。)
  5. 把代理和真值的差距本身当成监控对象。定期抽样做一次昂贵的真值测量,看它和代理还对不对得上。

两条定律合起来:好的调节器必是模型

1970 年,Roger Conant 和 Ashby 证明了一条比必要多样性更锋利的定理,标题就是结论:

◆ Conant–Ashby 定理(1970)

「Every good regulator of a system must be a model of that system.」

任何一个好的调节器,必然是被调节系统的一个模型。

大意是:如果一个控制器能把系统的输出熵压到最小,那么它内部必然存在一个从「系统状态」到「应对动作」的映射——而那个映射,就是这个系统的一个模型。它不是「用了模型」,它就是模型。

这条定理值得停下来想一想,因为它把这本书前面二十二章接了起来。

◆ 一条从压缩到智能的链
第 12 章:压得越小  ⟺  预测得越准  ⟺  模型越好
第 23 章:模型越好  ⟺  控制得越好

于是:  压缩  ⟺  预测  ⟺  建模  ⟺  控制

这条链解释了一件很多人觉得奇怪的事:为什么「预测下一个词」这么一个看起来纯粹是文字游戏的训练目标,能训练出会做事的系统?

因为按 Conant–Ashby,要在一个环境里有效行动,你必须携带那个环境的模型;而按第 12 章,要把关于那个环境的描述压到最小,你也必须携带那个环境的模型。两个任务要求的是同一样东西。

但要小心不要把这条链读得太满。它说的是「必要」不是「充分」——一个好的压缩器必然含有模型,但「含有模型」离「会用模型去行动」还差着执行、规划、和与环境的实际交互。这条链解释了为什么预训练有用,它没有证明预训练就够了。

必要多样性在工程里

▸ 在现实里:「你压不住你分辨不出来的东西」
  • 只有开/关两档的空调压不住连续变化的室温——所以它必然在设定值附近来回震荡。要压平,需要变频(连续档位)。这是必要多样性的物理版:控制器的输出多样性不足。
  • 只有「重启」一个动作的运维压不住多样的故障。你的应对手段必须和故障模式一样丰富。
  • 只监控 CPU 和内存的告警系统看不见网络分区、时钟漂移、依赖服务降级——传感器的多样性不足,比执行器不足更隐蔽,因为你连「没压住」都不知道。
  • 只有单一策略的限流器挡不住多样的流量模式。
  • 只有一条规则的内容审核挡不住多样的规避方式——这是必要多样性和 Goodhart 的合流:对抗方会主动增加自己的多样性。

共同的诊断问题是:「我能分辨出多少种不同的情况?我能做出多少种不同的反应?」如果这两个数小于「实际会发生多少种情况」,剩下的差额一定会漏到结果里,而且是可以算出来的。

✗ 这个直觉是错的
「指标失效是因为人会钻空子,所以找可信的人、加强监督就能解决。」 指标失效是「用力优化一个含噪声的代理」的算术后果。它在完全诚实的参与者身上一样发生,在没有参与者的纯自动优化系统里也一样发生。

最干净的证据就是 AI:一个强化学习智能体没有动机、没有道德、也不会「钻空子」——它只是在最大化你写下的那个数。而 reward hacking 照样发生,而且比人类更彻底。

所以对策不能只放在「人」那一侧。它必须放在「指标设计」和「优化压力」这两侧。

◇ 结账
A:约 90%——就是相关性 ρ 本身

这个答案听起来不算太糟(毕竟 90%),但要看清楚它的含义:

你付出的全部优化努力里,有恒定的 10% 是在推高噪声,而不是推高真实目标。而且这个比例不随优化压力下降——你越用力,白干的绝对量越大。

更要紧的是,ρ = 0.9 已经是一个非常好的代理了。现实里的 KPI、基准测试、奖励模型,ρ 常常只有 0.5–0.7。把 demo 里的相关性滑杆拉到 0.5 看看那两条柱子——那才是大多数指标的真实处境。

这一章的一句话

你压不住你分辨不出来的东西(必要多样性),而任何一个好的调节器必然携带被控对象的模型(Conant–Ashby)。所以「压缩 = 预测 = 建模 = 控制」是一条链——而 Goodhart 定律是这条链上不可避免的税。

最后一章:把二十三章里散落的错误直觉集中收一次账,把这本书的尺子交到你手上,然后告诉你从这里可以往哪走。