第 7 讲:Fisher 信息与实验设计

Machine Learning from Human Preferences · Lecture 07。个人学习讲义与配套实验,按主题整理并持续修订。

课程源码 ZIP ↓

个人整理的学习笔记,非官方讲义;课程来源与整理说明见课程介绍。配套示例未逐一运行验证。

本篇目录

对应:Stanford CS329H Fall 2026 Lecture 7(10/14 Fisher information & experimental design)。依据教材第 2 章(Fisher 信息、计算机自适应测试、最优实验设计、度量获取)及第 2 章幻灯片;度量获取依据 Hiranandani、Boodaghians、Mehta、Koyejo(2019);用 IRT 评测大语言模型依据 Polo 等(2024)与 Hofmann 等(2025)。 配套代码:code/lecture07/(numpy) 预计阅读时间:3 小时(含运行代码)


0. 本讲导航

0.1 学完本讲,你应该能够

  1. 用两种方式定义 Fisher 信息(得分的方差、负二阶导数的期望),推导”二选一”观察的信息 p(1−p)p(1-p),并解释为什么”五五开”的问题信息最多。
  2. 说出 Cramér–Rao 下界,以及最大似然估计和它的关系;用信息估算”要多少次比较才能达到某个精度”。
  3. 写出 IRT 的 2PL 模型和项目信息函数,解释难度和区分度各自的作用;实现计算机自适应测试,并说出它为什么能用一半的题目测得一样准。
  4. 解释怎样用 IRT 少量题目估计大语言模型在整个基准上的表现,以及”自适应选题之后直接数正确率”为什么是错的。
  5. 写出多维情形的信息矩阵,说出 A、D、E 三种最优准则的含义;用矩阵行列式引理和 Sherman–Morrison 公式实现在线的 D 最优选择。
  6. 解释为什么”只挑最没把握的问题”(不确定性采样)和”只挑最不确定的方向”都不够好;为什么一次挑一批时要贪心地逐个加入。
  7. 说出最优设计的局限:依赖未知参数(局部设计)、短视、依赖模型正确。
  8. 解释度量获取的思路:用”你更喜欢哪个分类器”的两两比较,二分搜索出一个人心中的评价指标。

0.2 先修知识

知识点用在哪里最低要求
第 5、6 讲全部最大似然、海森矩阵与标准误、网格后验、拉普拉斯近似
第 4 讲第 4 节Rasch 模型(“人和题目的 BT 比较”)
线性代数第 5 节矩阵的逆、行列式、特征值、外积 uu⊤uu^\top

0.3 本讲地图

第1节  为什么要设计实验:标注很贵
第2节  Fisher 信息与 Cramér–Rao 下界                     ← 代码 01 演示 1
第3节  一维的自适应设计:给新模型安排对手                  ← 代码 01 演示 3
第4节  项目反应理论与计算机自适应测试;评测大语言模型       ← 代码 01 演示 2、代码 02
第5节  多维的最优设计:A / D / E、在线与批量选择            ← 代码 03
第6节  度量获取:二分搜索一个人心中的指标                   ← 代码 04
第7–11节 小结、与考核的关系、练习、延伸阅读、下一讲预告

0.4 关于数字

本讲引用的实验数字都来自配套代码的实际运行(随机种子固定,每个文件几秒钟)。


1. 为什么要设计实验

第 5、6 讲回答了”有了数据,怎样估计”。这一讲回答一个更早的问题:还没有数据时,该收集什么数据?

在偏好学习里,这个问题特别要紧,因为数据是问出来的,而问人很贵:

  • 专业标注员(医生、律师、程序员)的时间很贵;即使是众包,高质量的偏好标注也需要培训和质量控制。
  • 用户的耐心有限:推荐系统不能一直问”你喜欢 A 还是 B”。
  • 有些”问题”本身代价很高:机器人要真的走一遍给你看,一个新模型要真的和别人比一场。

所以,同样的预算,问哪些问题能学得最多? 第 2 讲比较过”问法”(打分、比较、排序)的信息量;这一讲固定问法(主要是两两比较),研究”问哪一对”。

一个日常的例子:你想知道一个新来的棋手有多强。让他和世界冠军下 10 盘,他大概 10 盘全输——你只知道”他不如冠军”;让他和初学者下 10 盘,大概 10 盘全赢——你只知道”他比初学者强”。最有用的,是让他和实力相当的人下。这一讲把这个直觉变成一个可以计算的量:Fisher 信息。


2. Fisher 信息与 Cramér–Rao 下界

2.1 定义

设一次观察 yy 的分布依赖于参数 θ\theta:p(y∣θ)p(y \mid \theta)。对数似然对参数的导数叫得分(score):

S(θ)=∂∂θlog⁡p(y∣θ)S(\theta) = \frac{\partial}{\partial\theta}\log p(y \mid \theta)

它告诉我们”这个观察把 θ\theta 往哪边推、推多大力”。在真实参数处,得分的期望是 0(数据平均来说不推任何方向),Fisher 信息是它的方差:

I(θ)=Var[S(θ)]=− E[∂2∂θ2log⁡p(y∣θ)]I(\theta) = \mathrm{Var}[S(\theta)] = -\,E\Big[\frac{\partial^2}{\partial\theta^2}\log p(y \mid \theta)\Big]

两个定义相等(在常见的正则条件下)。第二个定义的直觉:对数似然在真实参数附近有多”尖”。越尖,数据越能把 θ\theta 定准。

2.2 二选一的观察:p(1−p)p(1-p)

比较两个选项,P(y=1)=σ(Δ)P(y = 1) = \sigma(\Delta),Δ=sa−sb\Delta = s_a - s_b。对数似然 ylog⁡σ(Δ)+(1−y)log⁡σ(−Δ)y\log\sigma(\Delta) + (1-y)\log\sigma(-\Delta) 对 Δ\Delta 求导得 y−py - p(第 5 讲:“观察到的 − 预期的”),所以

I(Δ)=Var(y−p)=Var(y)=p(1−p)I(\Delta) = \mathrm{Var}(y - p) = \mathrm{Var}(y) = p(1-p)

代码 01_fisher_information.py 演示 1:

实力差 Δ胜率 p信息 p(1−p)p(1-p)相对五五开标准误 0.2 需要的场数
0.00.5000.25001.00100
0.50.6220.23500.94107
1.00.7310.19660.79128
2.00.8810.10500.42239
3.00.9530.04520.18554

直觉:结果几乎确定的比较(Δ = 3,胜率 95%),比赛之前你就知道答案了,比完也没学到什么。同样的标注预算,“难分高下”的比较能学到多 5 倍的东西。

信息论的视角:一个”是 / 否”的回答最多带来 1 比特信息,只有在两个答案各占一半时才能达到(熵 H(p)=−plog⁡2p−(1−p)log⁡2(1−p)H(p) = -p\log_2 p - (1-p)\log_2(1-p) 在 p=0.5p = 0.5 时最大)。Fisher 信息 p(1−p)p(1-p) 和熵在 p=0.5p = 0.5 处同时最大,不是巧合:两者都在说”答案越不可预测,问得越值”。

2.3 Cramér–Rao 下界

nn 次独立观察,信息相加:In=n II_n = n\,I。Cramér–Rao 下界说,任何无偏估计的方差至少是

Var(θ^)≥1n I(θ)\mathrm{Var}(\hat\theta) \ge \frac{1}{n\,I(\theta)}

最大似然估计在大样本下达到这个下界(渐近有效,第 5 讲第 2.1 节)。演示 1 每次比 400 场、重复 20000 次:Δ = 0 时下界 0.01000、实际方差 0.01017;Δ = 2 时下界 0.02381、实际 0.02415——几乎完全一样。

所以 Fisher 信息不只是一个”直觉上的信息量”:它精确地告诉我们,问一个问题能让估计的方差减少多少。设计实验 = 选问题,让总信息尽可能大。

2.4 和第 5 讲的海森矩阵是同一个东西

多个参数时,信息是一个矩阵:I(θ)=−E[∇2log⁡p]I(\theta) = -E[\nabla^2 \log p]。对 BT 模型,第 5 讲算过海森矩阵 = 负的加权图拉普拉斯,权重正是 pn(1−pn)p_n(1-p_n),而且它不依赖于 yy(谁赢了都一样)。所以对 BT 来说,“观察到的信息”(负海森矩阵)和”期望的信息”(Fisher 信息)完全相同。第 5、6 讲的标准误、拉普拉斯近似的协方差,都是 Fisher 信息矩阵的逆。

这有一个非常实用的推论:一个问题的信息量,在得到答案之前就能算出来(只要知道 pp)。这是第 5.4 节”不等答案就挑一批”的基础。


3. 一维的自适应设计:给新模型安排对手

问题:排行榜上有 25 个实力已知的参考模型(实力从 −3 到 3)。一个新模型上榜,每场比赛该和谁比?

由第 2 节,和实力相当的对手比信息最多。可是新模型的实力正是我们不知道的——这是实验设计的”鸡生蛋”问题:最优的问题依赖于未知的参数。解决办法:用当前的估计代替,每比一场更新一次估计,再挑下一个对手。这叫自适应(或序贯)设计。

演示 3 比较三种安排(新模型的真实实力 ~ N(0,1.52)N(0, 1.5^2),网格后验估计,重复 400 次):

比赛场数随机挑对手总和实力 0 的比自适应(挑最接近当前估计的)
50.9930.8680.836
100.7790.7660.645
200.5660.5550.480
500.3890.3620.285
1000.2900.2510.205

(估计误差的均方根。)

  • 自适应每个场数下都最好:50 场的误差(0.285)和随机挑对手 100 场(0.290)差不多——省了一半的比赛。
  • 总和中等对手比平均来看还不错,因为新模型的实力大多在 0 附近。但对一个很强的新模型(真实实力 2.5),它几乎总是赢(胜率 92%),每场的信息只有五五开的四分之一多一点:20 场后误差 0.601,和随机(0.603)一样差;自适应是 0.493。
  • 随机有一部分比赛恰好实力相当,其余的(和 ±3 的模型比)几乎没有信息。

【边界】自适应让数据依赖于之前的结果。最大似然和贝叶斯估计仍然有效(“似然原理”:怎样决定下一个问题,不影响已有答案的似然),但依赖”随机分配”的简单统计(例如直接比较两个模型的原始胜率)会有偏差——第 4.4 节会看到一个极端的例子。


4. 项目反应理论与计算机自适应测试

4.1 2PL 模型与项目信息函数

项目反应理论(IRT)是心理测量学的标准工具,用来设计考试。最常用的 2PL 模型(Birnbaum 1968):能力为 θ\theta 的考生答对第 jj 道题的概率

P(答对)=σ(aj(θ−bj))P(\text{答对}) = \sigma\big(a_j(\theta - b_j)\big)
  • bjb_j:难度。能力 θ=bj\theta = b_j 的人答对的概率正好一半。
  • aja_j:区分度。aja_j 大,能力稍高一点就很可能答对,题目能很好地区分能力相近的人。

这就是第 4 讲的 Rasch 模型(a=1a = 1)加上区分度,也可以看成”人和题目的 BT 比较”。由第 2 节,η=a(θ−b)\eta = a(\theta - b),dη/dθ=ad\eta/d\theta = a,所以一道题对能力 θ\theta 的信息是

Ij(θ)=aj2 pj(θ) (1−pj(θ))I_j(\theta) = a_j^2\,p_j(\theta)\,(1 - p_j(\theta))

演示 2 的表格:

题目θ = −3−2−10+1+2+3最大值
容易题 a=1, b=−1.50.1490.2350.2350.1490.0700.0280.0110.250
中等题 a=1, b=00.0450.1050.1970.2500.1970.1050.0450.250
难题 a=1, b=1.50.0110.0280.0700.1490.2350.2350.1490.250
区分度低 a=0.5, b=00.0370.0490.0590.0620.0590.0490.0370.062
区分度高 a=2, b=00.0100.0710.4201.0000.4200.0710.0101.000
  • 难度决定”对谁有用”:每道题在 θ=b\theta = b 处信息最多。难题对高手有用,对新手几乎没用(反正答不对)。
  • 区分度决定”有多有用”:峰值是 a2/4a^2/4。区分度 2 的题信息是区分度 1 的 4 倍,但峰更窄。
  • 一套试卷的测验信息 = 各题信息之和,能力估计的标准误 ≈ 1/测验信息1/\sqrt{\text{测验信息}}。

所以给所有人发同一套试卷很浪费:对每个人来说,大部分题不是太难就是太容易。

4.2 计算机自适应测试(CAT)

CAT 的算法几乎就是第 3 节的”安排对手”:

  1. 从先验(例如 N(0,1)N(0,1))开始;
  2. 挑一道在当前能力估计处信息最大、还没做过的题;
  3. 根据对错更新后验(网格法,第 6 讲);
  4. 重复,直到题数用完,或后验标准差小于某个值(停止规则)。

代码 02_adaptive_testing.py 演示 1:题库 300 道题(2PL),300 个考生:

题数随机出题固定中等试卷自适应出题
50.7460.6870.524
100.6520.5570.417
200.4980.4390.321
400.3500.3500.240

(能力估计误差的均方根。)40 道题时按能力分组:固定中等试卷对中间的人(|θ| < 1)误差 0.310,对两头的人(|θ| ≥ 1)0.424——高手全对、新手全错,答案没有信息;自适应对两组都好(0.228、0.264)。

用停止规则”后验标准差 < 0.3 就停”:随机出题平均要 59.1 题,自适应只要 21.6 题。

现实中的 CAT:GMAT 按题自适应;GRE 在 2011 年前按题自适应,之后改成按”部分”自适应(第一部分做得好,第二部分就更难)。真实系统还要处理题目曝光(信息量最大的好题被所有人做,容易泄露)、内容平衡(不能全是代数题)、多维能力。

4.3 用 IRT 评测大语言模型

大语言模型的基准测试动辄几千、几万道题,每评测一个模型(或一个训练中途的检查点)都要跑一遍,很贵。能不能像 CAT 一样,只做几十道题?

演示 2 的设定:一个 1000 道题的基准。先用 40 个”老模型”的完整作答估计每道题的难度(Rasch,交替牛顿法;估计的难度和真实难度相关 0.963)。然后对 200 个新模型,只让它做 kk 道题,估计它在全部 1000 道题上的正确率:

kkA. 随机 k 题,直接数比例B. 随机 k 题 + IRTC. 自适应 k 题 + IRTD. 自适应 k 题,直接数比例
100.1190.0870.0770.105
300.0690.0560.0420.122
1000.0360.0300.0240.132

(正确率估计的平均绝对误差。)

  • A 无偏,但误差按 1/k1/\sqrt{k} 缩小。
  • B 用同样的题,只是借助了”每道题有多难”的知识:答对一道难题比答对一道容易题说明更多。先估计能力 θ^\hat\theta,再预测全部题目的正确率 11000∑jσ(θ^−b^j)\frac{1}{1000}\sum_j \sigma(\hat\theta - \hat b_j)。这是 tinyBenchmarks(Polo 等 2024)的核心思路。
  • C 再加上自适应选题,误差最小。这是 Fluid Benchmarking(Hofmann 等 2025)的思路。

4.4 一个陷阱:自适应之后不能直接数

D 用的是和 C 一样的题,却直接数”答对的比例”——误差最大,而且题越多越差。原因:自适应选题专挑”五五开”的题,无论模型强弱,答对的比例都会接近 50%。

教训:自适应收集的数据,必须用模型(IRT、BT)来解释,不能用”假设数据是随机抽样”的简单统计。 这个陷阱在偏好学习里随处可见:主动选出来的比较对、Chatbot Arena 里按实力配对的对战,直接看原始胜率都会误导人。

【边界】IRT 评测假设模型是对的:题目难度对所有模型都一样(没有”这个模型恰好背过这道题”),能力是一维的。新模型在某类题上有特殊的强项或弱项时,少量题目的估计会有偏差;题目泄露进训练数据(污染)会让难度估计失效。


5. 多维的最优设计

5.1 信息矩阵与三种准则

现在参数是一个向量。第 2 讲的线性 BT:每个回答有特征 xx,P(a≻b)=σ(w⊤(xa−xb))P(a \succ b) = \sigma(w^\top(x_a - x_b))。一次比较的信息是一个矩阵:

Iab=p(1−p) uu⊤,u=xa−xbI_{ab} = p(1-p)\,u u^\top, \qquad u = x_a - x_b

uu⊤u u^\top 是秩 1 的:一次比较只在一个方向(uu)上提供信息。nn 次比较的总信息 A=Λ0+∑npn(1−pn)unun⊤A = \Lambda_0 + \sum_n p_n(1-p_n)u_n u_n^\top(Λ0\Lambda_0 是先验精度,例如 II),估计的协方差 ≈ A−1A^{-1}。

“让信息矩阵变大”有几种不同的说法:

准则优化什么几何意义
D 最优最大化 log⁡det⁡A\log\det A置信椭球的体积最小
A 最优最小化 tr(A−1)\mathrm{tr}(A^{-1})各参数方差之和最小
E 最优最大化 λmin⁡(A)\lambda_{\min}(A)最不确定的那个方向尽量确定

D 最优最常用:它不受参数缩放的影响(把某个特征乘以 10,最优设计不变),而且计算方便。

5.2 在线选择:矩阵行列式引理与 Sherman–Morrison

逐个挑问题时,每加一个候选 uu(权重 w=p(1−p)w = p(1-p)),D 准则增加多少?矩阵行列式引理:

det⁡(A+w uu⊤)=det⁡(A) (1+w u⊤A−1u)⇒Δlog⁡det⁡=log⁡(1+w u⊤A−1u)\det(A + w\,uu^\top) = \det(A)\,(1 + w\,u^\top A^{-1}u) \quad\Rightarrow\quad \Delta\log\det = \log(1 + w\,u^\top A^{-1} u)

这个式子很好读:

  • u⊤A−1uu^\top A^{-1} u:当前模型在方向 uu 上的方差(还有多不确定);
  • w=p(1−p)w = p(1-p):这个问题的答案有多没把握。

D 最优挑两者的乘积最大的问题:既要在”还不确定的方向”上,又要”答案不是预先知道的”。

问了一个问题之后,协方差怎样更新?Sherman–Morrison 公式:

(A+w uu⊤)−1=A−1−w (A−1u)(A−1u)⊤1+w u⊤A−1u(A + w\,uu^\top)^{-1} = A^{-1} - \frac{w\,(A^{-1}u)(A^{-1}u)^\top}{1 + w\,u^\top A^{-1} u}

只需要 O(d2)O(d^2) 次运算,而重新求逆要 O(d3)O(d^3)。代码 03 演示 3:d=800d = 800 时 50 次更新,重新求逆约 250 毫秒,Sherman–Morrison 约 25 毫秒,结果在 10−1410^{-14} 以内一致。

5.3 五种挑法的比较

代码 03_optimal_design.py 演示 1:50 个回答、6 维特征(各特征在回答之间的差异大小不一:尺度 2.0、1.5、1.0、0.7、0.5、0.3),从 1225 个候选对里依次挑 200 个问。前 6 个随机挑(冷启动:一开始估计全是 0,所有 pp 都是 0.5,按信息挑没有意义)。重复 20 次:

问题数随机不确定性采样方差最大D 最优A 最优
201.7761.6451.7401.3451.234
501.2641.1941.5320.9310.866
1000.9230.8541.3110.6130.643
2000.6380.6200.9560.4240.406

(权重误差 ∥w^−w∥\lVert\hat w - w\rVert。)200 个问题时所选问题的特点:

随机不确定性采样方差最大D 最优A 最优
平均 ∣p−0.5∣\lvert p - 0.5\rvert0.3460.1390.4570.2380.285
log det(信息矩阵)18.3821.0914.8323.3422.35
  • 方差最大(只看 u⊤A−1uu^\top A^{-1}u,不管 pp):最差,比随机还差。它专挑特征差异最大的对,而这些对的结果几乎一边倒(平均 ∣p−0.5∣=0.46|p - 0.5| = 0.46),信息很少。
  • 不确定性采样(只挑 pp 最接近 0.5 的):问题最”没把握”,比随机略好,但远不如 D / A 最优。原因:p≈0.5p \approx 0.5 意味着 w⊤u≈0w^\top u \approx 0——它总在”几乎和 ww 垂直”的方向上提问。这些问题对”边界在哪”很有用,对”沿着 ww 的方向差距有多大”帮助有限,信息也不够分散。
  • D、A 最优把两者乘在一起,学得最快:100 个问题的误差(0.61~0.64)和随机挑 200 个差不多。

这个对比是本讲最重要的实践教训:“最不确定”有两个维度——模型在哪个方向上不确定,以及答案有多不确定。只看其中一个都会走偏。 主动学习文献里常见的”不确定性采样”在分类问题上常常有效,但在偏好学习这种”每个问题只在一个方向上提供信息”的设定里,需要信息矩阵的视角。

5.4 一次挑一批

实际的标注流程通常是批量的:一次发给标注团队几十对,等结果回来再挑下一批。直接取”单个问题得分最高的前 kk 名”会怎样?

演示 2(先随机问 15 对、拟合出当前估计,再一次挑 40 对,重复 100 次):

挑法log det(信息)问完后的权重误差批内方向的平均 |余弦|
随机 40 对13.101.1370.456
单个得分前 40 名16.611.0830.629
贪心逐个加入17.700.9510.483

“前 40 名”彼此很像:同一个”还不确定的方向”上得分高的对全被选了进来,问了第一个之后,后面的很多是在重复。贪心逐个加入:每选一个,就假装已经问了它,用 Sherman–Morrison 更新协方差,再挑下一个。这之所以可行,是因为第 2.4 节的结论:Fisher 信息不依赖答案,只依赖 pp(用当前估计)。

为什么贪心有效?log⁡det⁡(Λ0+∑n∈Swnunun⊤)\log\det(\Lambda_0 + \sum_{n \in S} w_n u_n u_n^\top) 作为”选了哪些问题”的函数是子模的(边际收益递减:已经问了很多相似的问题,再问一个同类问题的收益更小)。对单调子模函数,贪心算法至少能达到最优值的 1−1/e≈63%1 - 1/e \approx 63\%(Nemhauser、Wolsey、Fisher 1978)。第 10 讲的批量主动学习会用到这一点。

5.5 最优设计的局限

  1. 局部设计:信息依赖于未知参数(pp 依赖于 ww)。只能用当前估计代替;估计错了,挑的问题也会偏。所以要先随机问一些(冷启动),或者用贝叶斯设计:对参数的后验求平均的期望信息(Chaloner & Verdinelli 1995)。
  2. 短视:贪心地挑”下一个”最好的问题,不保证整个预算下最好。但对子模目标,贪心有近似保证,实践中通常够用。
  3. 依赖模型正确:最优设计会把问题集中在模型认为最有用的地方。模型错了(例如效用其实是非线性的),集中的设计可能完全看不到模型错在哪里。所以实践中常常留一部分随机问题,用来检查模型、做无偏的评估(第 4.4 节的教训)。
  4. 目标要明确:D 最优追求”所有参数都准”。如果你只关心”谁是第一”,最优的问题完全不同——应该把比较集中在几个候选冠军之间(第 11~13 讲的最佳臂识别和对决老虎机)。

6. 度量获取:二分搜索一个人心中的指标

6.1 问题

一个医生要用一个诊断分类器。漏诊和误诊都不好,但哪个更糟?“请给出漏诊和误诊的相对代价”——人很难直接回答。可是给他看两个分类器的表现,问”你更愿意用哪个”,他通常答得出来。度量获取(metric elicitation,Hiranandani、Boodaghians、Mehta、Koyejo 2019)就是用这种两两比较,把他心中的评价指标找出来。

设定(代码 04_metric_elicitation.py):病人和健康人的风险分数分别 ~ N(1,1)N(1, 1)、N(−1,1)N(-1, 1)。阈值分类器”分数 > tt 就判为病人”的真阳性率 TPR(t)\mathrm{TPR}(t)、真阴性率 TNR(t)\mathrm{TNR}(t) 构成一条上凸的边界曲线(ROC 曲线换个坐标)。医生心中的指标是线性的:

φ=m⋅TPR+(1−m)⋅TNR,m∈[0,1] 未知\varphi = m\cdot\mathrm{TPR} + (1-m)\cdot\mathrm{TNR}, \qquad m \in [0, 1] \text{ 未知}

6.2 为什么二分搜索可行

两个关键性质:

  1. 最好的分类器在边界上,而且对线性指标(以及 F1 这类线性分式指标),它一定是某个阈值分类器。所以只需要沿着边界搜索一个数 tt。
  2. 沿着边界,φ\varphi 是单峰的(先升后降):边界是凸集的边,线性函数在凸曲线上只有一个峰。

于是:在区间中点 cc 处问”c−εc - \varepsilon 和 c+εc + \varepsilon 处的分类器,你更喜欢哪个”,如果更喜欢右边的,峰就在右边,丢掉左半。每个问题砍掉一半区间。

找到最好的阈值 t∗t^* 后,由一阶条件(切线和指标的等高线平行)反推 mm。在这个设定里可以算出封闭解:m=σ(−2t∗)m = \sigma(-2t^*)(练习 6)。

6.3 结果

演示 1:问 5、10、20 次后 mm 的误差,对 m=0.5m = 0.5 分别是 9.3×10−29.3\times10^{-2}、2.9×10−32.9\times10^{-3}、2.9×10−62.9\times10^{-6}——按 2−k2^{-k} 缩小。对照随机提问(随机挑两个分类器问,每个回答是关于 mm 的一个不等式,记下所有回答都允许的 mm 的范围):

问题数 kk随机提问二分搜索
57.1×10−27.1\times10^{-2}3.2×10−23.2\times10^{-2}
104.3×10−24.3\times10^{-2}1.0×10−31.0\times10^{-3}
202.6×10−22.6\times10^{-2}1.1×10−61.1\times10^{-6}
401.4×10−21.4\times10^{-2}5.1×10−105.1\times10^{-10}

随机的问题大多”答案早就知道”(两个分类器差得很远,几乎任何 mm 都选同一个),每次只排除很小一部分可能;二分搜索的每个问题都恰好是”五五开”的——在当前的不确定范围内,一半的 mm 会选甲、一半会选乙。这和 Fisher 信息是同一个原则:每个问题最多 1 比特,五五开时才能拿满。

6.4 回答有噪声

真实的人会答错。演示 3(总共允许问 30 次,含重复;报告 ∣m^−m∣|m̂ - m| 的中位数 / 90% 分位数):

答错的概率每题问 1 遍每题问 3 遍每题问 5 遍
0.001.0×10−91.0\times10^{-9} / 2.3×10−92.3\times10^{-9}9.6×10−49.6\times10^{-4} / 2.2×10−32.2\times10^{-3}1.6×10−21.6\times10^{-2} / 3.5×10−23.5\times10^{-2}
0.052.1×10−42.1\times10^{-4} / 2.3×10−12.3\times10^{-1}1.0×10−31.0\times10^{-3} / 2.5×10−32.5\times10^{-3}1.4×10−21.4\times10^{-2} / 3.7×10−23.7\times10^{-2}
0.102.0×10−22.0\times10^{-2} / 3.9×10−13.9\times10^{-1}1.2×10−31.2\times10^{-3} / 6.4×10−26.4\times10^{-2}1.5×10−21.5\times10^{-2} / 4.0×10−24.0\times10^{-2}
0.201.3×10−11.3\times10^{-1} / 4.8×10−14.8\times10^{-1}1.1×10−21.1\times10^{-2} / 3.3×10−13.3\times10^{-1}2.3×10−22.3\times10^{-2} / 3.0×10−13.0\times10^{-1}

二分搜索很脆弱:某一步答错,峰就被丢到了错误的那一半,后面再怎么问也回不来(90% 分位数一下子变得很大)。每题问 3 遍取多数,大幅降低了每一步出错的概率,代价是步数变少。更系统的做法是”概率二分法”:维护 t∗t^* 的后验分布,每次在后验的中位数处提问——这又回到了第 6 讲的贝叶斯更新。

6.5 非线性的指标

演示 4:如果医生心中的指标是 F1(病人比例 0.3),它不是 TPR、TNR 的线性函数,而是线性分式的(分子分母都是线性的),沿边界仍然是单峰的(拟凹)。二分搜索 15 次后找到的阈值 0.1859,和穷举的最优 0.1857 几乎一样。不过,找到最好的分类器不等于知道了指标的全部参数;线性分式指标需要在边界的不同位置多搜几次(原论文给出了完整算法)。

课程的视角:度量获取是”从偏好学习”的另一种形式——被学习的不是”哪个回答更好”,而是”一个人用什么标准评价”。同样的思想可以用来获取公平性指标里不同群体之间的权衡(第 17 讲)。


7. 小结

  1. Fisher 信息 = 得分的方差 = 负二阶导数的期望。二选一的观察:p(1−p)p(1-p),五五开时最大。信息相加;Cramér–Rao 下界 1/(nI)1/(nI),最大似然在大样本下达到它。
  2. 对 BT,Fisher 信息矩阵 = 负海森矩阵 = 加权图拉普拉斯,不依赖答案——问题的信息量在问之前就能算出来。
  3. 自适应设计:信息依赖于未知参数,用当前估计代替,边问边更新。给新模型安排实力相当的对手,能省一半的比赛。
  4. IRT 与 CAT:难度决定一道题对谁有用,区分度决定有多有用。自适应出题用一半的题测得一样准;停止规则让每个人做到”够准”就停。同样的方法可以用少量题目评测大语言模型——但自适应收集的数据必须用模型解释,不能直接数比例。
  5. 多维设计:一次比较只在一个方向上提供信息(p(1−p)uu⊤p(1-p)uu^\top)。D 最优 = 最大化 log⁡det⁡\log\det,增量 = log⁡(1+p(1−p) u⊤A−1u)\log(1 + p(1-p)\,u^\top A^{-1}u):同时要求”方向不确定”和”答案没把握”。只看其中一个(不确定性采样、方差最大)都会走偏。
  6. 批量:贪心地逐个加入(用 Sherman–Morrison 假装已经问了),避免挑一堆重复的问题;log det 的子模性给了近似保证。
  7. 局限:局部设计(依赖当前估计)、短视、依赖模型正确、目标要明确。留一部分随机问题用于检查和评估。
  8. 度量获取:沿边界单峰 ⇒ 二分搜索,误差按 2−k2^{-k} 缩小;回答有噪声时要重复或用概率二分法。

8. 与测验、口试和项目的关系

  • 测验与口试可能会问:推导二选一观察的 Fisher 信息;为什么五五开的比较信息最多;Cramér–Rao 下界说了什么;项目信息函数的形状和难度、区分度的关系;CAT 的算法;为什么自适应选题之后不能直接数正确率;D 最优的增量公式和它的两个因子;为什么不确定性采样不够;批量选择为什么要贪心逐个加入、为什么不需要等答案;度量获取为什么能用二分搜索。
  • 期末项目:如果你的项目要收集偏好数据,预分析计划里要写清楚:问哪些对、为什么(随机?自适应?按什么准则?);预算多大、预期达到什么精度(用 Fisher 信息估算);如果是自适应收集,分析时怎样避免第 4.4 节的陷阱;留多少随机问题用于检查模型。

9. 练习

练习 1(估算样本量)。两个模型的胜率大约是 70%。要把实力差的标准误控制在 0.1 以内,大约需要多少场比较?如果胜率是 90% 呢?

参考答案

标准误 ≈1/n p(1−p)\approx 1/\sqrt{n\,p(1-p)}。p=0.7p = 0.7:p(1−p)=0.21p(1-p) = 0.21,n≥1/(0.21×0.01)≈477n \ge 1/(0.21 \times 0.01) \approx 477。p=0.9p = 0.9:p(1−p)=0.09p(1-p) = 0.09,n≥1/(0.09×0.01)≈1112n \ge 1/(0.09 \times 0.01) \approx 1112。差距越大的两个模型,要把差距估准反而越难——不过如果你只关心”谁更强”,差距大时很快就能确定。

练习 2(两种定义)。对 P(y=1)=σ(η)P(y = 1) = \sigma(\eta),分别用”得分的方差”和”负二阶导数的期望”计算 I(η)I(\eta),验证都等于 p(1−p)p(1-p)。

参考答案

得分 S=y−pS = y - p,E[S]=0E[S] = 0,Var(S)=Var(y)=p(1−p)\mathrm{Var}(S) = \mathrm{Var}(y) = p(1-p)。二阶导数:ddη(y−σ(η))=−σ(η)(1−σ(η))=−p(1−p)\frac{d}{d\eta}(y - \sigma(\eta)) = -\sigma(\eta)(1-\sigma(\eta)) = -p(1-p),不依赖 yy,取负号即 p(1−p)p(1-p)。

练习 3(项目信息)。一道题 a=1.5a = 1.5、b=0.5b = 0.5。 (a) 它对 θ=0.5\theta = 0.5 和 θ=2\theta = 2 的考生的信息各是多少? (b) 一个考生已经做了 20 道题,测验信息是 4.0。再做这道题,他的标准误会从多少降到多少(假设 θ=0.5\theta = 0.5)?

参考答案

(a) θ=0.5\theta = 0.5:p=0.5p = 0.5,I=2.25×0.25=0.5625I = 2.25 \times 0.25 = 0.5625。θ=2\theta = 2:η=1.5×1.5=2.25\eta = 1.5 \times 1.5 = 2.25,p=σ(2.25)≈0.905p = \sigma(2.25) \approx 0.905,I=2.25×0.905×0.095≈0.194I = 2.25 \times 0.905 \times 0.095 \approx 0.194。 (b) 标准误从 1/4=0.51/\sqrt{4} = 0.5 降到 1/4.5625≈0.4681/\sqrt{4.5625} \approx 0.468。

练习 4(行列式引理与 Sherman–Morrison)。 (a) 验证 Sherman–Morrison 公式:把右边乘以 A+w uu⊤A + w\,uu^\top,证明结果是单位矩阵。 (b) 由行列式引理,说明 D 最优的贪心选择等价于”挑 p(1−p) u⊤A−1up(1-p)\,u^\top A^{-1}u 最大的候选”。

参考答案

(a) 记 v=A−1uv = A^{-1}u,c=1+w u⊤vc = 1 + w\,u^\top v。(A+wuu⊤)(A−1−wvv⊤/c)=I+w uv⊤−w uv⊤/c−w2u(u⊤v)v⊤/c=I+w uv⊤(1−1c−w u⊤vc)=I+w uv⊤⋅c−1−w u⊤vc=I(A + w uu^\top)(A^{-1} - w vv^\top/c) = I + w\,uv^\top - w\,uv^\top/c - w^2 u(u^\top v)v^\top/c = I + w\,uv^\top\big(1 - \frac{1}{c} - \frac{w\,u^\top v}{c}\big) = I + w\,uv^\top\cdot\frac{c - 1 - w\,u^\top v}{c} = I。 (b) Δlog⁡det⁡=log⁡(1+w u⊤A−1u)\Delta\log\det = \log(1 + w\,u^\top A^{-1}u),log⁡(1+x)\log(1 + x) 单调递增,所以最大化它等价于最大化 w u⊤A−1u=p(1−p) u⊤A−1uw\,u^\top A^{-1}u = p(1-p)\,u^\top A^{-1}u。

练习 5(不确定性采样的盲点)。二维线性 BT,真实 w=(2,0)w = (2, 0),候选的特征差 uu 有两类:u=(1,t)u = (1, t)(tt 任意)和 u=(0,1)u = (0, 1)。 (a) 不确定性采样(挑 pp 最接近 0.5 的)会挑哪一类? (b) 只问这一类问题,能估计 w1=2w_1 = 2 吗? (c) D 最优会怎样选?

参考答案

(a) w⊤uw^\top u:第一类是 2(p≈0.88p \approx 0.88),第二类是 0(p=0.5p = 0.5)。不确定性采样永远挑 u=(0,1)u = (0, 1)。 (b) 不能:这类问题的信息矩阵是 14(0001)\frac{1}{4}\begin{pmatrix}0&0\\0&1\end{pmatrix},在 w1w_1 方向上信息为 0。问一万次,w1w_1 的估计也只由先验决定。 (c) D 最优的增量 log⁡(1+p(1−p) u⊤A−1u)\log(1 + p(1-p)\,u^\top A^{-1}u):问了几次 (0,1)(0, 1) 之后,第二个方向的方差 u⊤A−1uu^\top A^{-1}u 变小,第一类问题(第一个方向还完全不确定)的增量就会超过它,D 最优转去问第一类。这就是”两个因子相乘”的作用。

练习 6(度量获取的封闭解)。在代码 04 的设定里(两类的分数分别 ~ N(±1,1)N(\pm1, 1)): (a) 证明最好的阈值 t∗t^* 和 mm 的关系是 m=σ(−2t∗)m = \sigma(-2t^*)。 (b) 搜索区间是 [−6,6][-6, 6]。要让 mm 的误差小于 10−310^{-3},大约需要问多少次?

参考答案

(a) 一阶条件 m TPR′(t)+(1−m) TNR′(t)=0m\,\mathrm{TPR}'(t) + (1-m)\,\mathrm{TNR}'(t) = 0,TPR′=−ϕ(t−1)\mathrm{TPR}' = -\phi(t - 1),TNR′=ϕ(t+1)\mathrm{TNR}' = \phi(t + 1),得 m=ϕ(t+1)ϕ(t+1)+ϕ(t−1)m = \frac{\phi(t+1)}{\phi(t+1) + \phi(t-1)}。而 ϕ(t−1)/ϕ(t+1)=exp⁡(−(t−1)2−(t+1)22)=e2t\phi(t-1)/\phi(t+1) = \exp\big(-\frac{(t-1)^2 - (t+1)^2}{2}\big) = e^{2t},所以 m=11+e2t=σ(−2t)m = \frac{1}{1 + e^{2t}} = \sigma(-2t)。 (b) ∣dm/dt∣=2m(1−m)≤0.5|dm/dt| = 2m(1-m) \le 0.5。kk 次后阈值区间宽 12/2k12/2^k,取中点,阈值误差 ≤6/2k\le 6/2^k,mm 的误差 ≤3/2k\le 3/2^k。要 3/2k<10−33/2^k < 10^{-3},2k>30002^k > 3000,k≥12k \ge 12。(代码 04 里 m=0.5m = 0.5、k=5k = 5 的误差 9.3×10−29.3\times10^{-2} 正好接近这个上界 3/32≈0.0943/32 \approx 0.094:m=0.5m = 0.5 时 ∣dm/dt∣|dm/dt| 最大。)

练习 7(批量选择)。 (a) 为什么可以在没有答案的情况下贪心地挑一整批问题? (b) 这个”不需要答案”在什么情况下不成立?会有什么后果?

参考答案

(a) 信息矩阵 ∑pn(1−pn)unun⊤\sum p_n(1-p_n)u_nu_n^\top 只依赖于问题本身(unu_n)和预测概率 pnp_n,不依赖答案 yny_n。用当前估计算 pnp_n,就能算出”如果问了这些问题,信息会是多少”。 (b) pnp_n 依赖于 ww 的估计,而估计会随答案改变。一批问题的答案回来后,估计可能变了很多(特别是一开始数据少时),按旧估计算的 pp 不准,挑的问题也就不再是最优的。后果是批量设计比”每问一个就更新”的完全序贯设计效率低一些;批越大、估计越不准,损失越大。所以一开始用小批量,估计稳定后再加大批量。

练习 8(开放题:冠军识别)。排行榜上有 30 个模型,你只关心”谁是第一”。你会怎样安排比较?和 D 最优有什么不同?

参考答案(思路)

D 最优追求所有分数都准,会花很多比较在排名靠后的模型之间。只关心冠军时,应该:先用少量比较粗略估计所有模型;把明显不可能是第一的模型排除(它们的分数上界低于当前最强者的下界);把剩下的比较集中在几个”候选冠军”之间,尤其是当前最强的两个之间(它们的胜负最不确定,也最关系到结论)。这是第 11~13 讲”最佳臂识别”和”对决老虎机”的思路。


10. 延伸阅读

课程教材

  • Truong, Haupt, Koyejo. Machine Learning from Human Preferences. 第 2 章(Fisher 信息、自适应测试、最优设计、度量获取)。

Fisher 信息与估计理论

  • Casella, Berger. Statistical Inference(第 2 版). 第 7.3 节(Cramér–Rao 下界)。
  • Cover, Thomas. Elements of Information Theory. 第 11 章(Fisher 信息与熵的联系)。

项目反应理论与自适应测试

  • Lord. Applications of Item Response Theory to Practical Testing Problems. 1980.
  • van der Linden, Glas(编). Elements of Adaptive Testing. 2010.
  • Polo et al. tinyBenchmarks: Evaluating LLMs with Fewer Examples. ICML 2024.
  • Hofmann et al. Fluid Language Model Benchmarking. 2025.

最优实验设计

  • Atkinson, Donev, Tobias. Optimum Experimental Designs, with SAS. 2007.(A / D / E 准则与等价定理)
  • Chaloner, Verdinelli. Bayesian Experimental Design: A Review. Statistical Science 1995.
  • Nemhauser, Wolsey, Fisher. An Analysis of Approximations for Maximizing Submodular Set Functions. 1978.
  • Jamieson, Nowak. Active Ranking using Pairwise Comparisons. NeurIPS 2011.

度量获取

  • Hiranandani, Boodaghians, Mehta, Koyejo. Performance Metric Elicitation from Pairwise Classifier Comparisons. AISTATS 2019.
  • Hiranandani, Boodaghians, Mehta, Koyejo. Multiclass Performance Metric Elicitation. NeurIPS 2019.
  • Hiranandani, Narasimhan, Koyejo. Fair Performance Metric Elicitation. NeurIPS 2020.

11. 下一讲预告

第 5~7 讲回答了”怎样从比较里学偏好、怎样知道学得多准、怎样问得聪明”。学偏好是为了用:第 1 讲的流程图里,奖励模型是用来训练语言模型的。

第 8 讲讲基于人类反馈的强化学习(RLHF):

  • 把”生成一段文字”看成一个马尔可夫决策过程:状态是已经写出的词,动作是下一个词,奖励在结尾由奖励模型给出。
  • 策略梯度、REINFORCE 与基线;KL 约束的目标和它的解析解 π∗∝πrefexp⁡(r/β)\pi^* \propto \pi_{\text{ref}}\exp(r/\beta)(第 1 讲练习 4);PPO 与 GRPO 的组成部分。
  • InstructGPT 的完整流程与数字;Best-of-n 作为对照。
  • 奖励过度优化:代理奖励一路上升,真实质量先升后降(Gao 等 2023)。在一个可以穷举所有回答的玩具语言模型上,我们能精确地画出这条曲线,并看清 KL 系数怎样选。
← 返回课程目录