对应:Stanford CS329H Fall 2026 Lecture 6(10/12 Bayesian estimation & finetuning)。依据教材第 2 章(贝叶斯推断、MCMC、拉普拉斯近似、高斯过程偏好学习、LLM 奖励模型)及第 2 章幻灯片;MCMC 诊断依据 Gelman 等的 Bayesian Data Analysis 和 Vehtari 等(2021);GP 偏好学习依据 Chu & Ghahramani(2005);奖励模型的训练细节依据 InstructGPT(Ouyang 等 2022)和 Llama 2(Touvron 等 2023)的论文。 配套代码:
code/lecture06/(numpy;05、06 号文件需要 PyTorch,CPU 即可) 预计阅读时间:3~4 小时(含运行代码)
0. 本讲导航
0.1 学完本讲,你应该能够
- 写出贝叶斯 BT 模型的先验、似然和后验;从后验得到 MAP、后验均值、可信区间、“a 比 b 强”的概率和后验预测,并解释它们和最大似然的区别。
- 说出先验在什么时候重要、什么时候不重要;解释”可信区间在先验正确时校准”的含义和边界。
- 实现随机游走 Metropolis–Hastings,解释它为什么只需要”未归一化的后验”;会用接受率调步长,用 和有效样本数(ESS)诊断收敛。
- 推导拉普拉斯近似,说出它和第 5 讲标准误的关系,以及它在什么时候不准(后验偏斜)。
- 用后验样本回答排行榜的问题:“谁是第一”的概率、排名的可信区间。
- 解释高斯过程偏好学习:核函数表示什么先验,为什么它在没有数据的地方”知道自己不知道”,怎样用边际似然选超参数。
- 说出在预训练模型上训练奖励模型的几种方式(从零、线性探针、全量微调、先探针再微调、参数高效微调)的取舍;解释”微调扭曲预训练特征”,以及为什么奖励模型通常只训练 1 个 epoch。
- 用奖励模型集成表示不确定性;识别”原始分歧”的陷阱;说出集成怎样缓解(但不能消除)奖励过度优化。
0.2 先修知识
| 知识点 | 用在哪里 | 最低要求 |
|---|---|---|
| 第 5 讲 | 全部 | BT 的梯度与海森矩阵、标准误、L2 正则化 = 高斯先验的 MAP |
| 概率 | 第 2~4 节 | 条件概率、贝叶斯公式、正态分布 |
| 线性代数 | 第 3~5 节 | 协方差矩阵、特征值;Cholesky 分解不需要预先会 |
| PyTorch | 第 6、7 节 | 不需要预先会;text_world.py 开头有集中说明 |
0.3 本讲地图
第1节 为什么要“分布”而不是“一个数”
第2节 贝叶斯 BT:先验、后验、预测 ← 代码 01
第3节 MCMC:Metropolis–Hastings 与诊断 ← 代码 02
第4节 拉普拉斯近似;用后验回答排行榜的问题 ← 代码 03
第5节 高斯过程偏好学习 ← 代码 04
第6节 微调:在预训练模型上训练奖励模型 ← 代码 05
第7节 奖励模型集成:一个实用的不确定性 ← 代码 06
第8–12节 小结、与考核的关系、练习、延伸阅读、下一讲预告
0.4 关于数字
本讲引用的实验数字都来自配套代码的实际运行(随机种子固定)。真实论文里的数字(InstructGPT、Llama 2 等)单独标出,不和模拟结果混用。玩具实验说明不了的事,会在【边界】里写明。
1. 为什么要”分布”而不是”一个数”
第 5 讲的最大似然给出一个最好的分数,再用海森矩阵近似它的标准误。这在数据多的时候很好用。可是偏好学习里,下面这些情形天天发生:
- 新模型上榜:一个新模型只比了 3 场,3 场全胜。最大似然说它比对手强 (第 5 讲练习 1)。我们想要的回答是:“它大概比对手强 1.4 左右,但也可能只强一点点,甚至更弱。”
- 谁是第一:排行榜前三名的分数只差 0.1。“第一名”有多大把握真的是第一?
- 下一个问题问什么:标注预算有限,应该把问题花在”已经很确定”的地方,还是”还不确定”的地方?(第 7、10~13 讲)
- 奖励模型靠不靠得住:RLHF 里策略会生成各种奇怪的回答,奖励模型在没见过的回答上打的分可信吗?(第 8 讲)
这些问题都要求我们表示对偏好的不确定性。贝叶斯方法把不确定性写成一个概率分布:在看到数据之前,我们对参数有一个看法(先验);看到数据之后,用贝叶斯公式更新这个看法(后验)。后验不是一个数,而是”每个可能的值有多可信”。
本讲的后半部分转向一个工程问题:真实的奖励模型有几十亿个参数,是在预训练语言模型上微调出来的。我们会看到预训练带来了什么、怎样微调、以及在这种规模下最实用的”不确定性”——集成。
2. 贝叶斯 BT:先验、后验、预测
2.1 贝叶斯公式
直觉:后验 = “数据出现之前我信什么” × “如果参数是这样,数据有多可能出现”,再归一化。
本讲用最简单的先验:每个分数独立地服从 。 表达”分数大概在多大范围内”: 意味着两个选项的差距大多在 以内(胜率在 5%~95% 之间)。
分母 是一个 维积分,叫边际似然或证据。它通常算不出来——本讲的三种方法(网格、MCMC、拉普拉斯近似)都是绕开它的办法。
和第 5 讲的关系。取对数:
除以 就是第 5 讲的”平均对数似然 ”,。所以第 5 讲的 L2 正则化估计就是后验的最高点(MAP)。贝叶斯方法多做的事情是:不只要最高点,还要整个分布。
2.2 两个选项:精确的后验
只有两个选项时,未知参数只有一个 (先验 , 时标准差 1.41)。把 的范围切成 8001 个格点,逐个算”先验 × 似然”再归一化,就得到精确的后验。代码 01_posterior_basics.py 演示 1 的结果:
| 数据(胜-负) | MLE | MAP | 后验均值 | 后验标准差 | 95% 可信区间 | P(Δ>0) | 预测下一场 | σ(MAP) |
|---|---|---|---|---|---|---|---|---|
| 0-0 | 任意 | 0.000 | 0.000 | 1.414 | [−2.77, +2.77] | 0.500 | 0.500 | 0.500 |
| 1-0 | +∞ | 0.675 | 0.726 | 1.213 | [−1.62, +3.16] | 0.725 | 0.637 | 0.663 |
| 3-0 | +∞ | 1.293 | 1.417 | 1.030 | [−0.50, +3.55] | 0.923 | 0.764 | 0.785 |
| 7-3 | 0.847 | 0.688 | 0.738 | 0.629 | [−0.45, +2.02] | 0.884 | 0.663 | 0.665 |
| 70-30 | 0.847 | 0.828 | 0.837 | 0.216 | [+0.42, +1.27] | 1.000 | 0.696 | 0.696 |
| 700-300 | 0.847 | 0.845 | 0.846 | 0.069 | [+0.71, +0.98] | 1.000 | 0.700 | 0.700 |
几个值得慢慢看的地方:
- 3-0 不再发散。最大似然是 ,后验给出一个有限、合理的答案:差距大概在 1.4 左右,“a 更强”的把握约 92%。
- MAP ≠ 后验均值。3-0 的后验是偏斜的:左边被”已经赢了 3 场”挡住,右边拖着一条长尾(代码里有横条图)。最高点 1.29,均值 1.42。数据越多,后验越对称,两者越接近。
- 7-3 时 MAP 比 MLE 小(0.688 vs 0.847):先验把估计往 0 拉(“收缩”)。数据到 700-300 时,拉力几乎消失。
- 后验预测。“下一场 a 赢的概率”有两种算法:贝叶斯的做法是对所有可能的 求平均 ;“插入”的做法是只用一个点估计 。数据少时前者更保守(3-0:0.764 vs 0.785)——它把”我们还不确定 “也算进了预测。数据多时两者一样。
名词:可信区间(credible interval)是后验分布的区间:“给定数据,参数有 95% 的概率落在这里”。第 5 讲的置信区间(confidence interval)是频率学派的说法:“如果重复实验很多次,这样构造的区间有 95% 会覆盖真值”。两者问的问题不同,第 2.5 节会看到它们什么时候一致。
2.3 先验有多重要
演示 2 对 3-0、7-3、70-30 三种数据,换了五种先验标准差:
| 数据 | 先验 0.5 | 1.0 | 1.41 | 3.0 | 10.0 |
|---|---|---|---|---|---|
| 3-0 后验均值 | 0.32 | 0.92 | 1.42 | 3.01 | 5.27 |
| 70-30 后验均值 | 0.72 | 0.82 | 0.84 | 0.85 | 0.86 |
数据少时,结论主要由先验决定;数据多时,先验几乎不重要。 这既是贝叶斯方法的优点(小数据时给出合理答案),也是它常被批评的地方(“结论取决于你的先验”)。实践中的两条原则:
- 先验要有依据。例如”排行榜上两个模型的胜率很少超过 95%“,即 ,对应 约为 1。先验标准差 10 意味着”差距可能大到 10(胜率 99.995%)“,这本身就不合理——“没有信息”的先验并不存在,宽得离谱的先验也是一种很强的主张。
- 做敏感性分析:换几个合理的先验,报告结论变不变。
2.4 逐条更新
贝叶斯更新可以一条一条地做:今天的后验就是明天的先验。演示 3 逐条加入 400 场比赛,最终的后验和一次性计算的完全一样(差 ,只是浮点误差),后验标准差按 缩小(“标准差 × “稳定在 2.1~2.2,即 )。
这正是在线评分系统 TrueSkill(Herbrich 等 2006,Xbox 的匹配系统)和 Glicko(Glickman 1999)的思路:和 Elo 一样逐场更新,但每个选手除了一个”分数”,还有一个”不确定性”。新选手的不确定性大,一场比赛就能让分数大幅变动;老选手的不确定性小,分数很稳。Elo 的固定 因子做不到这一点(第 5 讲第 5.2 节的权衡)。
2.5 可信区间准不准
演示 4 问:90% 的可信区间真的会覆盖真值 90% 吗?每次实验比 10 场;因为后验只依赖”赢了几场”(11 种可能),覆盖率可以精确算出来:
| 真实 Δ | 精确后验区间 | 拉普拉斯区间 |
|---|---|---|
| 固定为 0.0 | 0.891 | 0.891 |
| 固定为 0.5 | 0.898 | 0.951 |
| 固定为 1.0 | 0.898 | 0.898 |
| 固定为 2.0 | 0.893 | 0.893 |
| 固定为 3.0 | 0.615 | 0.615 |
| 固定为 4.0 | 0.000 | 0.000 |
| 按先验随机抽取(平均) | 0.901 | 0.884 |
为什么最后一行正好是 90%? 如果真值确实是从先验里抽出来的,那么”给定数据、参数落在区间里的后验概率是 90%“对所有数据都成立,对数据求平均,覆盖率就是 90%。这是贝叶斯推断的自洽性:先验对了,后验的概率说法就是校准的。Cook、Gelman、Rubin(2006)正是用这一点检查采样软件有没有写错。
为什么 Δ = 4 时是 0? 只比 10 场,即使 10 场全胜,先验也把估计往 0 拉得太厉害,区间的上界够不着 4。这就是先验的代价:对”先验认为很少见”的真值有系统性偏差,换来的是小数据时不发散、方差更小。先验错了,区间就会系统性地偏。
3. MCMC:Metropolis–Hastings 与诊断
3.1 为什么网格不够用
两个选项时网格有 8001 个点。8 个选项时,每个维度哪怕只取 100 个点,也要 个点——算不动。这就是维数灾难。
马尔可夫链蒙特卡洛(MCMC)换了一个思路:不去算后验在每一点的值,而是从后验里抽样本,再用样本回答问题。均值就是样本的平均,区间就是样本的分位数,“谁是第一”的概率就是”在多少比例的样本里它排第一”。
3.2 Metropolis–Hastings
随机游走 Metropolis(Metropolis 等 1953;Hastings 1970 推广)的每一步:
- 从当前位置 提议一个新位置 ,;
- 计算接受率 ;
- 以概率 移到 ,否则留在 (留在原地也要记一次样本)。
直觉:往后验更高的地方走,总是接受;往更低的地方走,只是”有时”接受。所以链会在后验高的地方多待、低的地方少待,但不会永远困在最高点——这就是它能描出整个分布、而不只是找到最高点的原因。
为什么只需要”未归一化的后验”? 接受率里只有两个后验的比值,难算的 正好消掉。这是 MCMC 能工作的关键。
为什么它是对的? 这个规则满足细致平衡:(练习 3)。满足细致平衡的链,长期来看在每个位置停留的比例就是 。
演示 1 用 MH 采样代码 01 的 3-0 后验:均值 1.423(精确值 1.417),5%、50%、95% 分位数都对得上。但 55000 个样本只”相当于”约 11000 个独立样本——这引出了 MCMC 的核心问题:样本是相关的。
3.3 步长、接受率与有效样本数
有效样本数(ESS):相邻样本相关时, 个样本的平均值的方差比 个独立样本大,
是相隔 步的样本之间的自相关。蒙特卡洛误差 ≈ 标准差 / 。
演示 2:8 个选项、60 条比较,4 条链 × 5000 步,换六种步长(ESS 和 对”减去平均值之后”的分数计算,取最差的那个):
| 步长 | 接受率 | 最小 ESS | 最大 |
|---|---|---|---|
| 0.02 | 0.95 | 3 | 2.025 |
| 0.10 | 0.79 | 83 | 1.046 |
| 0.30 | 0.46 | 429 | 1.013 |
| 0.60 | 0.15 | 482 | 1.017 |
| 1.50 | 0.01 | 9 | 1.266 |
| 4.00 | 0.00 | 2 | 4.005 |
- 步长太小:几乎每步都接受,但每步只挪一点点,16000 个样本只相当于 3 个独立样本。
- 步长太大:提议的点大多落在后验很低的地方,几乎都被拒绝,链原地不动。
- 中间最好。理论上,对高维正态目标的随机游走 Metropolis,最优接受率约为 0.234(Roberts、Gelman、Gilks 1997),一维时约为 0.44。接受率高不等于采样好:它只是调步长的参考,真正要看 ESS。
3.4 诊断:多条链与
一条链”看起来稳定了”,可能只是困在某个区域。标准做法是从几个分散的起点各跑一条链,比较”链之间”和”链内部”的差异——这就是 (Gelman–Rubin 诊断):
是链内方差的平均, 是各链均值的方差。各条链描的是同一个分布时 ;有的链还没走到别的链去过的地方时, 明显大于 1。现代版本(Vehtari 等 2021)把每条链切成两半再算(能发现”一条链前后不一样”),并建议 、ESS 至少几百才认为结果可用。
演示 3 从 里抽 4 个分散的起点:
| 链长 | 不丢预热:最大 | 丢掉前一半:最大 | 丢掉前一半:最小 ESS |
|---|---|---|---|
| 50 | 9.449 | 11.321 | 2 |
| 200 | 2.638 | 3.607 | 3 |
| 1000 | 1.151 | 1.128 | 14 |
| 4000 | 1.027 | 1.032 | 173 |
| 8000 | 1.009 | 1.013 | 384 |
链要长到几千步, 才降到 1.01 附近。这个例子里起点几百步就被”忘掉”了,所以丢不丢预热差别不大;主要问题是链不够长。
是必要条件,不是充分条件:如果所有链都困在同一个错误的区域, 也会接近 1。BT 的后验是对数凹的(只有一个峰,第 5 讲),这种风险很小;第 4 讲的因子模型(旋转、符号翻转造成多个峰)就要格外小心。
3.5 提议的形状
BT 的后验有一个特殊的方向:“所有分数一起加一个常数”不改变似然,只由先验约束。演示 4 用 600 条比较:差值被数据定得很准(方差 0.024),“平均值”方向只由先验约束(方差 1.0),两者差 41 倍。
| 提议方式 | 步长 | 接受率 | 差值的最小 ESS | 平均值方向的 ESS |
|---|---|---|---|---|
| 各向同性 | 0.10 | 0.48 | 356 | 16 |
| 按拉普拉斯协方差 | 0.84 | 0.27 | 581 | 602 |
各向同性的提议在每个方向走一样大的步子,步长要迁就最窄的方向,于是在宽的方向上寸步难行。先用拉普拉斯近似(第 4 节)得到后验的大致形状 ,按这个形状提议(步长 ,正态目标下的理论最优尺度),每个方向的步子都和它的宽度匹配。
这个思路推到极致就是哈密顿蒙特卡洛(HMC)和它的自适应版本 NUTS(Hoffman & Gelman 2014):用梯度信息让链”滑”过后验,维数高时比随机游走高效得多。Stan、PyMC、NumPyro 都默认用它。实际项目里不用自己写 MH——但懂了 MH,才看得懂这些工具的诊断输出。
4. 拉普拉斯近似;用后验回答排行榜的问题
4.1 思想
在后验的最高点 (MAP)做二阶泰勒展开:
右边正是正态分布 的对数密度。所以拉普拉斯近似 = 最高点 + 最高点的曲率。代价只是一次优化(第 5 讲的牛顿法)加一次矩阵求逆,比 MCMC 便宜几个数量级。
第 5 讲的”标准误 = 负海森矩阵逆的对角线的平方根”就是拉普拉斯近似(没有先验的版本)。Bernstein–von Mises 定理说:数据足够多、模型正确时,后验趋于以 MLE 为中心、协方差为 Fisher 信息逆的正态分布——拉普拉斯近似在大样本下是对的,贝叶斯和频率学派的区间也趋于一致。
4.2 什么时候不准
代码 03_laplace_vs_mcmc.py 演示 1:先验 ;5 个老模型之间有很多比较;新模型 0 和每个老模型各比 1 场,5 场全胜。
| 拉普拉斯均值 | MCMC 均值 | 拉普拉斯 90% 区间 | MCMC 90% 区间 | |
|---|---|---|---|---|
| 新模型 0(老模型之间 1500 条比较) | 1.967 | 2.209 | [+0.25, +3.68] | [+0.66, +4.01] |
| 新模型 0(老模型之间 40 条比较) | 2.143 | 2.477 | [+0.44, +3.84] | [+0.84, +4.34] |
老模型(数据多)两种方法的标准差几乎一样;新模型的后验偏斜,拉普拉斯以 MAP 为中心、左右对称,把均值低估了约 0.25~0.35,区间整体偏左。如果要回答”新模型的胜率至少是多少”(区间下界),拉普拉斯会给出过于悲观的答案。
实践建议:数据多、后验不偏斜时首选拉普拉斯;小样本、全胜 / 全负、或者要算尾部概率时,用 MCMC 检查一下。
4.3 排行榜:谁是第一?
后验样本最有用的地方,是回答那些”最大似然 + 标准误”很难直接回答的问题。演示 2:10 个模型、400 条比较(每个模型约 80 场),真实分数前几名很接近:
| 最大似然排名 | 模型 | 真实分数 | P(第一) | P(前三) | 排名的 90% 区间 |
|---|---|---|---|---|---|
| 1 | M0 | 1.20 | 0.63 | 0.99 | [1, 3] |
| 2 | M2 | 1.05 | 0.33 | 0.94 | [1, 4] |
| 3 | M3 | 0.70 | 0.04 | 0.70 | [2, 4] |
| 4 | M1 | 1.10 | 0.01 | 0.36 | [2, 5] |
| 5 | M4 | 0.40 | 0.00 | 0.01 | [4, 6] |
做法极其简单:对每个后验样本排一次序,数一数每个模型排第几。我们看到:
- 最大似然排第一的 M0,只有约 63% 的把握真是第一。400 条比较不足以分出冠军。
- 真实排第二的 M1 这次运气不好,最大似然把它排到第 4;但它排名的 90% 区间 [2, 5] 仍然包含真实名次。只报告名次,会误导读者。
Chatbot Arena 的排行榜就是这样做的:用自助法给每个模型的 BT 分数一个置信区间,报告”排名的上界”(有多少个模型显著地比它强),而不只是一个名次(Chiang 等 2024)。后验样本还是决策的工具:第 12 讲的 Thompson 采样就是”从后验里抽一个样本,按它行动”。
4.4 重复实验:区间的覆盖率
演示 3:6 个选项的真实分数从先验 里抽,模拟 30 条比较,重复 300 次:
| 方法 | 90% 区间的覆盖率 | 平均宽度 |
|---|---|---|
| MCMC | 0.903 | 1.74 |
| 拉普拉斯近似 | 0.888 | 1.68 |
| 最大似然 ± 1.645 标准误 | 0.929(只在 182 次能算的实验里) | — |
- 先验正确时,MCMC 的区间覆盖率接近 90%;拉普拉斯也很接近——对 BT 这种对数凹的后验,正态近似通常不差。
- 300 次里有 118 次最大似然根本不存在(有选项全胜 / 全负,或比较图不连通,第 2 讲第 4.2 节)。能算的那些是”挑过的”实验,不代表全部。先验在小数据时的价值就在这里:任何数据都能给出合理的答案。
5. 高斯过程偏好学习
5.1 从”每个选项一个分数”到”效用函数”
到目前为止,每个选项有一个独立的分数。第 2 讲的线性 BT 用特征把选项联系起来:。可很多偏好不是线性的:回答太短不好、太长也不好;温度太低呆板、太高胡说。我们想学一个未知的函数 ,又不想事先假设它的形状。
高斯过程(GP)是”函数上的先验”:它不说 长什么样,只说相近的输入,效用相近。具体地,任意几个点上的效用 服从多元正态 ,
(RBF 核)。长度尺度 是”多远的两个点算不相关”: 小,函数可以快速起伏; 大,函数很平滑。 是”效用一般在多大范围内变化”。
和本讲前半部分的关系:如果 (不同的点完全不相关),GP 偏好学习就是第 2 节的贝叶斯 BT。GP 只是把”独立的先验”换成了”相关的先验”(练习 6)。
5.2 似然与推断
偏好数据的似然和 BT 一样:(Chu & Ghahramani 2005 用的是 probit 版本,这里用 logistic)。后验不是正态的,用拉普拉斯近似:
- 白化:令 ,(Cholesky 分解),。先验变成了”每个分量独立的标准正态”,避免了求 ( 常常接近奇异)。
- 对 做牛顿法:梯度 ,海森 。其中 、 正是第 5 讲 BT 的梯度(实际胜场 − 预期胜场)和海森矩阵(负的加权图拉普拉斯)。
- 后验协方差 。
代码 04_gp_preference.py 的设定: 是”回答长度”,真实效用有一个主峰()和一个小峰();292 条比较全部在 的范围内(数据收集时没生成过很长的回答)。
| 模型 | 内的准确率 | 全范围的准确率 | 认为最好的长度 |
|---|---|---|---|
| 真实效用 | 0.676 | 0.685 | 0.30 |
| 线性 BT | 0.546 | 0.593 | 0.00 |
| 二次 BT | 0.601 | 0.612 | 0.17 |
| GP() | 0.680 | 0.633 | 0.30 |
- 线性 BT 只能说”越短越好”,完全错过主峰;二次 BT 画出一个峰,但形状不对,并且在 处信心十足地一路下降——二次函数的形状替它做了外推。
- GP 在有数据的范围内把主峰学得很准(准确率和真实效用一样)。
- 在没有数据的 ,GP 的均值慢慢回到先验,后验标准差从 0.25 涨到 1.51(接近先验的 1.5):它知道自己不知道。
这和第 2 讲”奖励模型的外推”是同一个问题:参数化的模型在数据之外会”自信地胡说”,非参数的贝叶斯模型会”老实地说不知道”。
5.3 选超参数:边际似然
GP 的长度尺度怎么选?贝叶斯的回答是最大化边际似然(证据)。用拉普拉斯近似:
第一项奖励拟合,后两项惩罚”后验相对先验收缩得太厉害”(能拟合任何东西的模型,看到数据后要大幅收缩)。这就是贝叶斯的奥卡姆剃刀。演示 2:
| log 边际似然 | 留出对数损失 | 留出准确率 | |
|---|---|---|---|
| 0.01 | −186.42 | 0.6374 | 0.662 |
| 0.05 | −176.15 | 0.5913 | 0.689 |
| 0.08 | −175.29 | 0.5830 | 0.686 |
| 0.15 | −173.98 | 0.5852 | 0.688 |
| 0.30 | −177.74 | 0.6077 | 0.686 |
| 1.00 | −197.22 | 0.6638 | 0.567 |
边际似然只用训练数据就挑出了 0.15,和留出数据最好的 0.08 表现几乎一样,不需要交叉验证。 太小,数据被摊得太薄(相当于”每个长度一个独立分数”); 太大,函数被迫接近直线,画不出峰。
5.4 不确定性指导提问
后验不确定性最大的用处,是告诉我们下一个问题该问什么。演示 3 用一个简单的规则:拿”和当前最好的长度比,乐观地看能好多少”(均值差 + 2 倍标准差,即 UCB)最大的长度,和当前最好的长度比较。再问 40 个问题:
| 提问方式 | 区域的平均绝对误差 | 问到 的次数 |
|---|---|---|
| 按乐观值提问 | 0.45 | 16 / 40 |
| 随机提问(全范围) | 0.86 | 20 / 40 |
按乐观值提问时,第一个问题落在最远的 ,随后集中在小峰附近(0.77~0.88);大约 16 个问题之后,那一侧”乐观地看”也不可能比 0.3 好了,于是转而反复比较 0.27 和 0.30——先探索、再利用。它学到的长长度一侧的形状更准(误差约为随机提问的一半)。
但它也有一个明显的毛病:不确定性带反而比随机提问宽。每个问题都是”拿某个长度和 0.3 比”,而 0.3 几乎总是赢——答案几乎是预先知道的,每个回答带来的信息很少。第 7 讲会把这一点说清楚:一个比较的信息量正比于 , 接近 0 或 1 时接近 0。好的提问策略要同时考虑”哪里可能更好”和”哪个问题信息量大”(第 7、13 讲)。
5.5 【边界】
- GP 的计算量是 ( 是输入点数),几千个点以上要用稀疏近似、诱导点等方法。
- RBF 核在高维输入(例如文本嵌入)上效果有限,“距离”在高维空间里不太有意义。LLM 的奖励模型因此用神经网络(第 6 节),GP 更多用在低维的问题上:调超参数、个性化推荐里的少数几个连续特征、机器人的步态参数(第 10、13 讲)。
6. 微调:在预训练模型上训练奖励模型
6.1 为什么要预训练
真实的奖励模型要给任意文本打分。如果从零训练,它只能从偏好数据里学”哪些词好”——而偏好数据很贵、很少(InstructGPT 的奖励模型训练数据约 3.3 万个提示词;即使几十万对,比起预训练的万亿个词也微不足道)。预训练模型已经从海量无标注文本里学会了”哪些说法意思相近""什么是事实错误""什么是礼貌”,奖励模型只需要学在这些表示之上,哪个方向是”好”。
真实的做法(InstructGPT,Ouyang 等 2022):取 SFT 过的语言模型,去掉最后”预测下一个词”的输出层,换成一个输出一个数的线性层,用回答最后一个位置的隐藏状态打分。用 BT 损失训练。InstructGPT 用的是 6B 的奖励模型(他们发现 175B 的训练不稳定)。Llama 2(Touvron 等 2023)从预训练的聊天模型初始化奖励模型。
6.2 玩具世界
代码 text_world.py 造了一个极小的”文本世界”:
- 词表:10 个概念(准确 +1.2、清晰 +0.8、例子 +0.6……啰嗦 −0.6、跑题 −0.9、错误 −1.5),每个概念 4 个同义词,共 40 个词。
- 预训练语料:2 万个无标注的句子,每个句子的词来自一两个概念。同义词总是出现在相似的上下文里,但语料里没有任何”好坏”信息。预训练模型是 CBOW(word2vec 的一种:遮住一个词,用其余词向量的平均预测它)。
- 回答的真实奖励 = 各个词所属概念的评价的平均值。标注员按 BT 模型 选择。
- 训练用的偏好数据只用每个概念的前两个同义词(“常用说法”);测试时分”同分布”和”换了说法”(只用后两个同义词,训练时从没见过)。
奖励模型 = 线性打分头(16 → 1)作用在”词向量的平均”上。
预训练学到了什么(代码 05 演示 1):同义词之间的平均余弦相似度 0.520,不同概念之间 −0.056。例如”准确³”(偏好数据里从没出现过)最像的三个词是准确¹、准确²、准确⁴。预训练从没被告诉过谁和谁是同义词——这是分布假设:意思相近的词出现在相似的上下文里。
6.3 四种训练方式
| 方式 | 做法 | 可训练参数 |
|---|---|---|
| 从零训练 | 随机初始化嵌入表,全部一起训练 | 673 |
| 线性探针 | 冻结预训练的嵌入表,只训练打分头 | 17 |
| 全量微调 | 用预训练的嵌入表初始化,全部一起训练 | 673 |
| 先探针再微调(LP-FT) | 先只训练打分头,再解冻一起训练 | 673 |
代码 05_reward_model_finetune.py 演示 2(每种设定重复 5 次取平均;指标是和真实偏好方向一致的比例,去掉了标注噪声):
| 训练对数 | 方式 | 同分布 | 换了说法 |
|---|---|---|---|
| 100 | 从零训练 | 0.795 | 0.474 |
| 100 | 线性探针 | 0.776 | 0.764 |
| 100 | 全量微调 | 0.821 | 0.741 |
| 100 | 先探针再微调 | 0.849 | 0.807 |
| 400 | 从零训练 | 0.929 | 0.471 |
| 400 | 线性探针 | 0.900 | 0.849 |
| 400 | 全量微调 | 0.933 | 0.782 |
| 400 | 先探针再微调 | 0.932 | 0.857 |
| 1600 | 从零训练 | 0.963 | 0.486 |
| 1600 | 线性探针 | 0.944 | 0.855 |
| 1600 | 全量微调 | 0.962 | 0.803 |
| 1600 | 先探针再微调 | 0.961 | 0.853 |
怎么读这张表:
- 从零训练在同分布上随数据增加而变好,在”换了说法”上始终和瞎猜差不多:没见过的词,它的词向量还是随机初始化的样子。数据再多也帮不了没见过的东西。
- 线性探针只训练 17 个参数,“换了说法”远好于从零训练:没见过的词和见过的同义词有相近的词向量,打分头给它们的分数也相近。代价是同分布的上限较低:预训练的表示不是为”打分”准备的。
- 全量微调同分布最好,“换了说法”却比线性探针差。原因:微调只移动训练数据里出现过的词的向量,没出现过的同义词留在原地,两者之间的关系被破坏了。Kumar 等(2022)把这个现象叫做”微调扭曲了预训练的特征”,并在真实的视觉和语言模型上证明了”全量微调在分布外不如线性探针”。
- 先探针再微调:同分布接近全量微调,换了说法接近线性探针。为什么?全量微调一开始,打分头是随机的,它传回来的梯度把词向量往”随机方向”推;先把打分头训练好,再微调时词向量只需要小幅改动。
为什么”换了说法”这一列对奖励模型特别重要? 奖励模型在 RLHF 里要给策略生成的新回答打分,这些回答的分布和偏好数据不同,而且策略会主动寻找奖励模型高估的地方(第 8 讲)。同分布的准确率高,不代表在 RL 里靠得住。
参数高效微调。真实的模型有几十亿个参数,全量微调又贵又容易扭曲特征。LoRA(Hu 等 2021)冻结原始权重 ,只训练一个低秩的修正 (、 是很”瘦”的矩阵)。它介于线性探针和全量微调之间:可训练参数少(常常不到 1%),改动受限,保留了更多预训练的结构。玩具世界里没有实现它(嵌入表加低秩修正在这里意义不大),但道理相通。
6.4 为什么只训练 1 个 epoch
演示 3:200 对训练数据,全量微调,记录每遍之后的训练损失和验证损失:
| 训练遍数 | 1 | 3 | 5 | 10 | 15 | 20 | 30 | 60 |
|---|---|---|---|---|---|---|---|---|
| 训练损失 | 0.670 | 0.555 | 0.479 | 0.381 | 0.352 | 0.345 | 0.339 | 0.340 |
| 验证损失 | 0.618 | 0.548 | 0.516 | 0.497 | 0.500 | 0.525 | 0.542 | 0.562 |
验证损失在第 9 遍最低,之后上升。更醒目的是:训练损失降到了 0.34,低于理论下限 0.420(知道真实偏好概率时验证损失能达到的最小值,由标注本身的随机性决定)。模型对训练数据的”确定”程度,超过了标注员自己的一致程度——这是过拟合最直接的信号。
真实的奖励模型有几十亿个参数,一遍就能记住不少训练数据。InstructGPT 和 Llama 2 都只训练 1 个 epoch(Llama 2 的论文说”训练更久会过拟合”)。InstructGPT 还有一个细节:每个提示词有 个回答(4~9 个)的排序,产生 对比较;他们把同一个提示词的所有对放在同一个批次里,而不是打散成独立的数据点——打散后每个回答会被看到 次,一遍下来就过拟合了。
其他常见的训练细节:
- 奖励的零点:BT 损失只依赖分数差,奖励可以整体平移(第 1 讲)。InstructGPT 在 RL 之前加一个偏置,让标注员写的示范回答平均得分为 0。
- 偏好强度的间隔:Llama 2 让标注员同时标”明显更好 / 更好 / 稍好 / 几乎一样”,在损失里加一个间隔 ,“明显更好”的对要求更大的分数差。
6.5 准确率的天花板
演示 4:用 1600 对训练的 LP-FT 模型,在同分布测试集上,和真实偏好方向一致的比例 0.968,但和标注一致的比例(准确率)只有 0.796——而完美模型的期望准确率也只有 0.813。准确率的天花板由标注的噪声决定,不由模型决定(第 5 讲第 8 节)。
真实世界的数字:InstructGPT 报告训练标注员之间的一致率约 73%(留出标注员之间约 77%),奖励模型在训练标注员上的准确率约 72%、在留出标注员上约 70%。Llama 2 的奖励模型整体准确率在 60% 多,在”明显更好”的对上高得多,在”几乎一样”的对上接近 50%。看到”奖励模型准确率只有 70%“时,先问:标注员之间的一致率是多少?
7. 奖励模型集成:一个实用的不确定性
7.1 为什么集成能表示不确定性
几十亿个参数的神经网络,MCMC 跑不动,拉普拉斯近似的海森矩阵也存不下。最实用的替代是集成(“深度集成”,Lakshminarayanan 等 2017):用不同的随机种子(和 / 或自助抽样的数据)训练几个模型,看它们是否一致。意见不一致的地方,就是不确定的地方。
为什么这像贝叶斯?不同的随机种子和数据子集,让每个成员落到”同样能解释训练数据”的不同参数上(第 4 讲的 Rashomon 集合)。在训练数据覆盖的地方,它们被数据约束得很紧,意见一致;在数据之外,约束消失,各自的”偏好”暴露出来。这和 GP 在没有数据的地方后验变宽是同一个道理。
7.2 什么样的分歧有意义
代码 06_reward_ensemble.py 比较三种 5 成员集成:从零训练、共享同一个预训练 + 微调、各自预训练 + 微调。测试集是同分布和”换了说法”各 2000 对,混在一起:
| 集成 | 判错率(同分布 / 换了说法) | 相对分歧识别”换了说法” | 预测判错:单模型信心 | 预测判错:相对分歧 | 预测判错:原始标准差 |
|---|---|---|---|---|---|
| 从零训练 | 0.067 / 0.429 | 0.914 | 0.716 | 0.810 | 0.677 |
| 共享预训练 | 0.070 / 0.108 | 0.482 | 0.890 | 0.864 | 0.403 |
| 各自预训练 | 0.068 / 0.115 | 0.794 | 0.832 | 0.854 | 0.484 |
(后四列都是 AUC,0.5 = 毫无用处。“相对分歧” = 成员给出的分数差的标准差 ÷ |平均分数差|。)
- 从零训练的集成:在没见过的输入上几乎是瞎猜,但它知道——相对分歧以 0.914 的 AUC 把”换了说法”的对挑了出来。单个模型做不到:它对没见过的输入也给出一个看起来正常的分数差。
- 共享预训练的集成:判断得好,但分歧完全识别不出”换了说法”的输入(0.482)。成员共享同一份表示,看法高度一致。这里恰好没出大问题;可如果共享的表示有盲点,集成看不见。
- 各自预训练的集成:成员更多样,分歧又能识别分布外的输入(0.794),判错率也低。Eisenstein 等(2023)在真实奖励模型上的发现一致:预训练种子不同的集成,比只有微调种子不同的集成更能缓解奖励黑客。
- 一个坑:直接用分数差的原始标准差预测判错,AUC 低于 0.5!两个回答差距大时,各成员的分数差都大,绝对分歧也大,可这些对几乎不会判错。分歧要相对于判断的强度来看。
7.3 集成与过度优化
演示 2 做 Best-of-n:每个候选池 n 个回答(一半常用说法、一半换了说法),按奖励模型挑分数最高的,看挑中回答的真实奖励。“各自预训练”集成的结果:
| n | 只用一个成员 | 集成平均 | 平均 − 标准差 | 最好的 | 挑中换了说法的比例(单个 / 平均) |
|---|---|---|---|---|---|
| 4 | 0.311 | 0.336 | 0.331 | 0.353 | 0.48 / 0.46 |
| 16 | 0.587 | 0.588 | 0.588 | 0.666 | 0.38 / 0.16 |
| 64 | 0.774 | 0.819 | 0.830 | 0.906 | 0.36 / 0.04 |
| 256 | 0.898 | 0.956 | 0.967 | 1.056 | 0.39 / 0.00 |
单个成员对”换了说法”的回答有自己的系统性误差。n 越大(优化压力越大),“挑分数最高的”越会挑中它高估的回答,和”最好的”的差距从 0.04 拉大到 0.16。集成平均把成员们独立的误差平均掉,几乎不再挑中被高估的回答;“平均 − 标准差”(保守的下置信界)再好一点点。这就是奖励过度优化的雏形,第 8 讲会在 RL 里系统地看。
另外两种集成的结果也要诚实地说:共享预训练的集成三种挑法几乎一样(成员看法一致,平均了也一样);从零训练的集成在这个玩具世界里看不到过度优化——没见过的词让分数趋于”平庸”(随机词向量平均下来接近 0),很少被挑中。【边界】这是玩具世界的特点;真实的奖励模型对分布外的输入可能给出极端的分数。
真实世界:Coste 等(2023)在 RLHF 里用奖励模型集成,比较了”平均""最差的成员”(WCO)和”平均减去若干倍方差”(UWO),发现后两者明显减轻了过度优化。Eisenstein 等(2023)的标题说得很准确:集成能缓解、但不能消除奖励黑客——所有成员共同的盲点(共享的预训练数据、共享的标注偏差,例如第 1 讲的长度偏差)集成看不见。
7.4 其他办法
- 最后一层贝叶斯:把预训练表示固定,只对最后的线性打分头做贝叶斯推断(就是第 2 节的贝叶斯线性 BT,可以用拉普拉斯近似)。便宜,常用于主动学习(第 10 讲)。
- Laplace-LoRA:只对 LoRA 的参数做拉普拉斯近似(Yang 等 2024 用于奖励模型)。
- MC dropout:测试时也打开 dropout,多次前向传播的差异当作不确定性。便宜但校准一般。
8. 小结
- 贝叶斯 BT:后验 ∝ 先验 × 似然。MAP 就是第 5 讲的 L2 正则化估计();后验还给出可信区间、“a 更强”的概率、后验预测。全胜时最大似然发散,后验仍然合理。
- 先验:数据少时决定结论,数据多时无关紧要。先验要有依据,并做敏感性分析。先验正确时可信区间校准;先验错了,区间会系统性地偏。
- MCMC:Metropolis–Hastings 只需要未归一化的后验。用 ESS(而不是样本数)衡量精度;用多条链的 诊断收敛;按后验形状提议(或用 HMC / NUTS)大幅提高效率。
- 拉普拉斯近似 = MAP + 曲率。便宜,大样本下准确;后验偏斜(全胜、小样本)时会低估尾部。
- 后验样本直接回答”谁是第一”的概率、排名区间——比单个名次诚实得多。
- GP 偏好学习:函数上的先验(相近的输入效用相近)+ BT 似然 + 拉普拉斯近似。形状学得准,在没有数据的地方知道自己不知道;边际似然选超参数。不确定性告诉我们该问什么,但还要考虑问题的信息量(第 7 讲)。
- 奖励模型微调:预训练让奖励模型能泛化到没见过的说法。线性探针保住预训练结构但不够灵活;全量微调灵活但会扭曲特征、损害分布外表现;先探针再微调兼顾两者。奖励模型通常只训练 1 个 epoch;准确率的天花板由标注一致率决定。
- 集成是大模型最实用的不确定性:成员要多样(不同的预训练更好),分歧要相对地看。集成平均和保守的奖励能缓解、但不能消除过度优化。
9. 与测验、口试和项目的关系
- 测验与口试可能会问:写出贝叶斯 BT 的后验并解释和 L2 正则化的关系;MAP、后验均值、后验预测的区别;为什么 MH 不需要归一化常数;步长和接受率、ESS 的关系; 是什么、为什么要多条链;拉普拉斯近似什么时候不准;GP 的长度尺度有什么作用;线性探针和全量微调的取舍;为什么奖励模型只训练 1 个 epoch;集成怎样表示不确定性、有什么局限。
- 期末项目:如果你的数据少(每个选项几十次比较以下),考虑用贝叶斯方法,并报告先验的敏感性;如果要报告排行榜,报告排名区间而不只是名次;如果训练神经网络奖励模型,报告分布外的表现(换一批提示词、换一种回答来源),并考虑用集成估计不确定性。
10. 练习
练习 1(共轭先验)。换一种参数化:直接把 当参数,先验 。 (a) 证明观察到 胜 负后,后验是 。 (b) 取 (均匀先验),3-0 时后验预测”下一场 a 赢”的概率是多少?和本讲代码 01 的 0.764 比较。
参考答案
(a) 先验密度 ,似然 ,相乘得 ,正是 的形状。先验和后验属于同一族,叫共轭先验,后验不需要任何近似。 (b) 后验 ,预测概率 = 后验均值 (拉普拉斯的”继承法则” )。比 0.764 稍大,因为均匀先验在 上是”平的”,对应到 上是一个比 更宽的分布(逻辑斯蒂分布,标准差约 1.81)。BT 的多选项模型没有这样的共轭先验,所以需要 MCMC 或拉普拉斯近似。
练习 2(先验与 λ)。你有 条比较,认为分数的先验标准差 。用第 5 讲”平均对数似然 “的写法,λ 应该取多少?如果数据增加到 20000 条而先验不变呢?
参考答案
。 时 。先验不变,数据越多,λ 越小——这是第 5 讲练习 5 的另一面。
练习 3(细致平衡)。提议分布对称(),接受率 。证明 (),其中 。
参考答案
不妨设 。则 ,。 左边 ;右边 。由对称性两者相等。 时同理。细致平衡意味着”从 流到 的概率质量 = 从 流回 的”,所以 是平稳分布。注意 只以比值出现,归一化常数无关紧要。
练习 4(有效样本数)。一条链的自相关是 (一阶自回归)。 (a) 证明 。 (b) 、 时 ESS 是多少?要让均值的蒙特卡洛误差是后验标准差的 1%,需要多长的链?
参考答案
(a) ,所以 。 (b) 。误差 = 标准差 / = 1% × 标准差 ⇒ ESS = 10000 ⇒ 。相关性让链要长 19 倍。
练习 5(拉普拉斯近似)。两个选项,先验 , 在 场里赢了 场。 (a) 写出 MAP 满足的方程和拉普拉斯近似的标准差。 (b) 70-30、 时,已知 MAP = 0.828,算出拉普拉斯标准差,和代码 01 的精确值 0.216 比较。
参考答案
(a) 对 求导:。二阶导数 ,标准差 ,。 (b) ,,加 0.5 得 21.66,标准差 。和精确的 0.216 几乎一样——100 场比赛后,后验已经很接近正态。
练习 6(GP 与贝叶斯 BT)。 (a) 证明:如果核矩阵 ,GP 偏好学习的后验就是第 2 节的贝叶斯 BT。 (b) 长度尺度 时 RBF 核趋向什么? 呢?分别对应什么样的效用函数?
参考答案
(a) 先验 就是”每个网格点的效用独立地 ~ “,似然相同,所以后验相同。 (b) :不同点之间 ,,即每个点独立(相当于每个输入一个独立分数,不能在点之间借用信息)。:所有元素 ,,所有点的效用完全相同(常数函数)——而常数在 BT 里消掉,什么也学不到。代码 04 演示 2 的 和 分别接近这两个极端。
练习 7(微调的机制)。在代码 05 的玩具世界里: (a) 解释为什么全量微调后,“准确³”(训练数据里没出现过)的词向量和训练前一模一样。 (b) 既然如此,为什么全量微调在”换了说法”上会比线性探针差? (c) 提出一个不同于 LP-FT 的改进办法,并说明它解决了哪个问题。
参考答案
(a) 训练数据里没有”准确³”,它的词向量从不出现在任何前向计算里,梯度恒为 0,Adam 也不会更新它(Adam 只用梯度)。 (b) 打分头是在”微调后的”常用词向量上训练的。常用词的向量被移动了(例如为了把”准确¹”的分数推高,它可能沿着打分头的方向移动),而”准确³”留在原地。打分头在新位置上学到的方向,和”准确³”原来的位置不再匹配。线性探针不移动任何词向量,同义词之间的关系完整保留。 (c) 例如:给词向量的改动加 L2 惩罚 (“别离预训练太远”,和第 8 讲 RLHF 的 KL 约束同一个思想);或者用参数高效微调(LoRA),限制改动的自由度;或者在微调时让同义词共享改动(如果知道哪些是同义词)。前两种都在”灵活”和”保住预训练结构”之间取折中。
练习 8(集成的分歧)。一个奖励模型集成对两对回答给出的分数差:对 A:成员给出 (3.0, 2.5, 3.6, 2.8, 3.1);对 B:(0.3, −0.2, 0.4, −0.1, 0.2)。 (a) 算出每对的平均分数差、原始标准差和相对分歧。哪一对更可能判错? (b) 解释为什么代码 06 里”原始标准差”预测判错的 AUC 低于 0.5。
参考答案
(a) A:平均 3.0,标准差约 0.36,相对分歧约 0.12。B:平均 0.12,标准差约 0.23,相对分歧约 1.9,并且有两个成员判反了。B 的原始标准差更小,却更可能判错。 (b) 分数差越大的对,各成员的分数差的绝对波动也越大(成员之间的”尺度”略有不同,乘在大数上就是大波动),所以原始标准差和”差距大小”正相关;而差距大的对很少判错。于是”原始标准差大”反而意味着”不太会错”,AUC 低于 0.5。要除以平均差(相对分歧),或者看”多少成员判反了”。
11. 延伸阅读
课程教材
- Truong, Haupt, Koyejo. Machine Learning from Human Preferences. 第 2 章(贝叶斯推断、高斯过程、LLM 奖励模型)。
贝叶斯推断与 MCMC
- Gelman, Carlin, Stern, Dunson, Vehtari, Rubin. Bayesian Data Analysis(第 3 版). 第 11、12 章(MCMC 与诊断)。
- Metropolis et al. Equation of State Calculations by Fast Computing Machines. 1953;Hastings. Monte Carlo Sampling Methods Using Markov Chains and Their Applications. Biometrika 1970.
- Roberts, Gelman, Gilks. Weak Convergence and Optimal Scaling of Random Walk Metropolis Algorithms. Annals of Applied Probability 1997.
- Vehtari, Gelman, Simpson, Carpenter, Bürkner. Rank-Normalization, Folding, and Localization: An Improved for Assessing Convergence of MCMC. Bayesian Analysis 2021.
- Hoffman, Gelman. The No-U-Turn Sampler. JMLR 2014.
- Cook, Gelman, Rubin. Validation of Software for Bayesian Models Using Posterior Quantiles. JCGS 2006.
贝叶斯评分系统
- Herbrich, Minka, Graepel. TrueSkill: A Bayesian Skill Rating System. NeurIPS 2006.
- Glickman. Parameter Estimation in Large Dynamic Paired Comparison Experiments. Applied Statistics 1999.
- Chiang et al. Chatbot Arena: An Open Platform for Evaluating LLMs by Human Preference. ICML 2024.
高斯过程偏好学习
- Chu, Ghahramani. Preference Learning with Gaussian Processes. ICML 2005.
- Rasmussen, Williams. Gaussian Processes for Machine Learning. 2006. 第 2、3、5 章(免费在线)。
奖励模型与微调
- Ouyang et al. Training Language Models to Follow Instructions with Human Feedback(InstructGPT). NeurIPS 2022.
- Touvron et al. Llama 2: Open Foundation and Fine-Tuned Chat Models. 2023. 第 3.2 节(奖励模型)。
- Kumar, Raghunathan, Jones, Ma, Liang. Fine-Tuning can Distort Pretrained Features and Underperform Out-of-Distribution. ICLR 2022.
- Hu et al. LoRA: Low-Rank Adaptation of Large Language Models. 2021.
集成与不确定性
- Lakshminarayanan, Pritzel, Blundell. Simple and Scalable Predictive Uncertainty Estimation using Deep Ensembles. NeurIPS 2017.
- Coste, Anwar, Kirk, Krueger. Reward Model Ensembles Help Mitigate Overoptimization. ICLR 2024.
- Eisenstein et al. Helping or Herding? Reward Model Ensembles Mitigate but do not Eliminate Reward Hacking. 2023.
- Yang et al. Bayesian Reward Models for LLM Alignment. 2024.
12. 下一讲预告
本讲学会了表示”对偏好的不确定性”,也看到了它的一个用处:指导下一个问题该问什么(代码 04 演示 3)。可是那个实验也暴露了一个问题:按”哪里可能更好”提问,问出来的常常是答案几乎确定的问题,信息量很小。
第 7 讲讲 Fisher 信息与实验设计:
- Fisher 信息:一个问题能带来多少信息?为什么”五五开”的比较信息量最大()?Cramér–Rao 下界说明了”再聪明的估计也做不到更好”。
- 计算机自适应测试:GRE、GMAT 这类考试怎样根据你答对答错挑下一道题,用一半的题目测得一样准。同样的思路正在被用来给大语言模型做更便宜的评测。
- 最优实验设计:多个参数时,“信息量”是一个矩阵。A、D、E 三种最优准则;用 Sherman–Morrison 公式在线地挑下一对比较;为什么只挑”最不确定”的问题会挑出一堆重复的问题。
- 度量获取:只用”你更喜欢哪个分类器”这种问题,二分搜索出一个人心中的评价指标。