Prospective Hindsight:模型先自猜成败,训练就顺手校准
为什么"自信地错"和"幸运地对"在策略梯度里是同一个样本?
一个多轮 agent 在第三步调用了一个错误的工具,但它当时很确信这一步会成功,任务最终失败。另一条轨迹里,它对同一步毫无把握,却因为环境的偶然性侥幸成功。对绝大多数后训练方法来说,这两条轨迹进入损失函数时,只有最终的成功或失败被看见。第一种失败和"清醒地失败"拿到同一条惩罚,侥幸成功和"笃定成功"拿到同一条奖励。
Salesforce AI Research 的这篇论文把这个现象叫 hindsight trap,事后陷阱。它的形式化写出来近乎朴素:
$$E[\nabla \ell_t^{\text{base}} \mid z_t, y_t] = E[\nabla \ell_t^{\text{base}} \mid y_t]$$
这里 $z_t$ 是智能体在行动那一刻对自己的判断,取值 $+1$ 表示"这步会成功",$-1$ 表示"这步会失败";$y_t$ 是任务结束后验证器给出的真实结果。等式说的是:一旦知道了结果 $y_t$,再告诉你智能体当时怎么想,对基础损失的梯度没有任何额外贡献。模型行动时的信念,在数学上对策略梯度不可见 PH。
为什么值得当回事?因为"自信地错"和"清醒地错"对系统是两种风险。前者意味着策略已经把一个错误动作当成了正确动作,下一次它还会这么做;后者至少说明模型知道这一步悬着。传统的事后训练只能看到结果,于是它擅长把准确率刷上去,却治不好过度自信。提高准确率和获得校准,是两条不同的路。
校准这个词在这里有可度量的含义。把预测按置信度分箱,统计每一箱里模型平均有多信、实际有多对,就得到一张可靠性图 Guo 2017。

图注:Guo 等人 2017 年的可靠性图。上排是置信度分布直方图,下排是每一档置信度对应的实际准确率,对角线代表完美校准。LeNet-5 的柱子大致贴着对角线,而 ResNet-110 在高置信区明显低于对角线,也就是它比自己以为的更常出错。Guo 2017
需要说明的是,论文要补的这个盲区,和强化学习里若干"事后"老办法不是一回事。Hindsight Experience Replay 的 hindsight 是把轨迹按最终到达的状态重新打目标标签,属于换目标 HER。ICM 那条线把前向预测误差直接加进奖励,属于奖励塑形 ICM。PH 两边都不是,它只在损失上做加权。
一个自然的反驳是:多训一会儿,模型总会学会判断自己吧?论文的回答是不能,原因不在训练量。
凭什么说这个盲区是结构上补不上的,而不是调参问题?
关键在于"行动时的信息"和"事后的信息"处在不同位置。先看一个更老也更一般的框架:Learning Under Privileged Information,特权信息学习。它研究的是这样一类设定:训练时能看到额外的 $x^*$,推断时却只能看到普通输入 $x$。老师批改作业时给的旁注、病人在化验报告之外的主诉,都属于只有训练阶段才拿得到的特权信息 LUPI。
PH 的处境正是这个框架在 agentic RL 里的投影。要看清这一点,得先把论文里两个容易混的符号分开。
$c_t$ 是"只有事后才有"的那部分上下文:它可以是下一步的状态 $s_{t+1}$,也可以是一份标准答案。验证器正是靠它给出这一步的分数 $r_t = R(s_t, a_t, c_t)$,而行动那一刻,$c_t$ 根本不在智能体手里。$z_t$ 则完全是另一回事。它是智能体在行动前自己给出的前瞻判断,存在于事前而非事后,而且天然可观测,问一句就能拿到。所以这两个符号不是同一个信号,关系更像"缺的东西"和"临时顶上的替代品":$c_t$ 是智能体当时真正想要却拿不到的信息,$z_t$ 是它愿意在这一刻先交出来的自估 PH。
把这个区分代进论文 Prop. 1 的方差分解,缺口卡在哪儿就清楚了:
$$Var(y_t \mid s_t, a_t) = E[Var(y_t \mid s_t, a_t, c_t) \mid s_t, a_t] + I^{\star}(s_t, a_t)$$
左边是"在给定状态和动作后,结果还有多不确定"。论文把它拆成两块。第一块是环境固有的随机性,掷骰子就是掷骰子,谁来都一样。第二块是 $I^{\star}$,论文称它为特权信息缺口。它衡量的正是:假如行动时能看到那个只有事后才存在的 $c_t$,结果的波动会减少多少。关键性质是 $I^{\star}$ 恒非负,而且和环境的随机性无关 PH。
缺口的位置也就决定了补法。$I^{\star}$ 问的是"假如我早知道 $c_t$",可智能体在行动那一刻拿不到 $c_t$,这个假设它满足不了。它能拿到的是 $z_t$。$z_t$ 不是 $c_t$ 本身,只是一个此刻就可观测的替代信号,但它恰好站在缺口的位置上:它产生于行动之前,携带的正是"这一步会不会成"这个判断。等真实结果 $y_t$ 落地,把 $z_t$ 和 $y_t$ 一比,落差就露出来了。PH 要做的,就是让这个替代品进到梯度里去。
这也点出了问题为什么调参调不掉。在一条已经跑完的轨迹里,$z_t$ 并没有凭空消失,它就在那段上下文里,只是事后的损失函数根本不看它;而 $y_t$ 一旦确定,$(s_t, a_t, y_t)$ 这个三元组已经把该记的信息记全了,你没法再从里面反推出智能体当时是笃定还是心虚。缺口是信息结构造成的,不是训练不充分造成的。正确的补法只有一种,在行动那一刻、结果还没出现的时候,把信念问出来。
那么,问出来之后,怎么让它进梯度?
PH 怎么把"行动时的自信"变成能进梯度的信号?
论文的做法小到只有三个动作。
第一,让策略自己当自评估器。研究者不去训一个额外的打分模型,而是拿同一个策略 $\pi_\theta$,换一个 prompt 再问它一次:"这一步会不会成功?"然后采 $M$ 次,取多数票得到 $z_t$。参数完全共享,没有新增任何可训练参数,代价只是每个 rollout 步多跑 $M$ 次前向。单轮实验里取 $M=1$,因为验证器是确定性的;多轮实验里取 $M=3$,用来给基于 LLM 的过程奖励模型去噪 PH。有人会把它想象成一个内部世界模型,就像 World Models 里那套 V / M / C 结构 World Models。PH 没有走这条路径,它的前瞻判断就是同一个模型换句话自问一遍,不引入额外的动力学网络。
第二,按 $(z_t, y_t)$ 把每个 rollout 归入四格。
| 验证器判定成功 $y=1$ | 验证器判定失败 $y=0$ | |
|---|---|---|
| 自评成功 $z=+1$ | CS 自信地做对 | OF 过度自信的失败 |
| 自评失败 $z=-1$ | US 低估自己的成功 | AF 清醒地做错 |
对角线上的两格是校准的:CS 是自信地做对,AF 是清醒地做错。反对角线上的两格是校准失败的:OF 是过度自信的失败,US 是低估了自己的成功。把反对角写成指示函数,$\xi_t = 1[(z_t, y_t) \in {OF, US}]$,就得到了"意外"这件事的定义。
第三,把意外乘到原有损失上:
$$\ell_t^{\text{PH}} = (1 + \alpha \xi_t) \cdot \ell_t^{\text{base}}$$
$\alpha$ 是整篇论文唯一的新超参。$\alpha = 0$ 时,PH 严格退化成原来的方法;默认的 $\alpha = 1$ 会把落在反对角上的 rollout 的梯度翻倍。$\xi_t$ 本身是一个 stop-gradient 常数,它只决定这份梯度被乘多重,不回传去影响产生这个判断的那次前向。这个细节重要,因为如果让它回传,模型就会学会去调自己的自评,而不是去修正行为。

图注:PH 的整体流程。从行动采样,到策略对自己给出前瞻判断 $z_t$,再到 rollout 结束拿到验证结果 $y_t$,接着把每个 rollout 归入 CS / OF / US / AF 四格,对落在反对角上的样本把损失乘以 $(1+\alpha\xi_t)$,最后更新策略。底部的 GRPO / OPD / Combined 表示它可以包在任意一种 base method 外面。PH
举个具体例子。Science Q&A 上,模型对一道化学题答出了错误答案"X",同时自评这一步会成功,也就是 $z_t=+1$;验证器随后判它错,$y_t=0$。这个样本落进 OF 格,$\xi_t=1$,于是这次更新在它身上加倍。反向地,如果模型答对了但自评说不会成功,落进 US 格,同样的加权会让这段轨迹被更用力地强化。反差就在这里:传统方法只看到"答错了要减分",PH 还看到"而且它当时还觉得自己对",后一层信息此时才第一次进入梯度。
机制小到只有一行,但论文声称校准会自己出现。这是怎么成立的?
为什么不用额外加一个校准损失,校准就会自己出现?
答案在 PH 自己的目标函数里。不过得先分清它严格说明了什么、没说明什么。把 $\xi_t$ 的定义代进去算期望,PH 的损失可以拆成两块:
$$E[\ell_t^{\text{PH}}] = E[\ell_t^{\text{base}}] + \alpha \cdot R(\theta)$$
后面这项 $R(\theta) = E[\xi_t \ell_t^{\text{base}}]$ 是意外残差,也就是所有落在反对角上的 rollout 的基础损失的期望。PH 相对基础方法多出来的那份优化压力,全在这里。
再往下拆一层。记 $c(\theta)$ 为意外 rollout 上的平均基础损失,记 $\mathcal{M}(\theta) = E[\xi_t]$ 为意外发生的比例。用全期望公式展开,得到
$$R(\theta) = c(\theta) \cdot \mathcal{M}(\theta)$$
这不是不等式,是恒等式,两边严格相等。但它严格给出的只有一件事:$R$ 被分解成了两个因子。$c(\theta)$ 是"错了多少",$\mathcal{M}(\theta)$ 是"意外发生的频率"。而 $\mathcal{M}$ 正好等于一个二值预测器的 Brier 分,这个二值预测器的输出来自自评估器 $z_t$,真值就是 $y_t$ PH。也就是说,PH 多出来的那笔损失里,确实含着一个校准指标作为因子。
因子出现在目标函数里,并不等于梯度一定会去压它。这条恒等式本身不规定梯度走哪条路。$R$ 要变小,可以让 $c$ 变小,也就是把反对角上的基础损失压下去,这叫修能力;也可以让 $\mathcal{M}$ 变小,也就是让意外比例降下来,这叫修校准。两条路都通向 $R$ 变小,恒等式对二者一视同仁。
要让"降低 PH 目标"真的伴随 $\mathcal{M}$ 下降,得有两个条件同时成立。第一个是近似条件:意外样本上的基础损失大致均匀,论文称之为 uniform-base-loss 假设。只有在这个近似下,$c$ 才近似是个常数,压低 $R$ 才只能靠压 $\mathcal{M}$。第二个是训练动态条件:自评估器和策略共享同一套参数,于是那些修能力的梯度会顺带改善自评本身,让意外比例跟着走。实际训练中每条 rollout 的对数概率各不相同,$c$ 会随样本起伏,这个假设并不严格成立,对齐因此是定量的,不是硬保证。论文在附录 G 里把这件事单独列成限制,讲的正是这个位置 PH。
也正因为它是定量对齐,而不是一条恒等式推出的必然,论文才不需要写一个单独的校准损失项。它做的是把"降 loss"和"降误校准率"尽量摆进同一条梯度,校准作为这个共同目标的一部分自己露头,剩下的交给训练动态和参数共享去完成。

图注:PH 在 Science Q&A 上的自评估动态,固定 $\alpha=1$。左图给出 CS / OF / US / AF 四格随训练的占比,过度自信的失败逐步缩小、自信的成功逐步上升;右图显示平均 PH 权重随着验证通过率上升而衰减。PH
这条性质还有一个漂亮的副作用。当预测和现实越来越吻合,$\xi_t$ 趋于 $0$,$(1+\alpha\xi_t)$ 趋于 $1$,PH 就自动退回到基础方法。论文的原话是,PH 不需要为这个权重写一个学习率 schedule,数据自己控制课程 PH。校准一旦达成,加权就自动熄火;校准还差,加权就继续生效。这就是论文说的自熄课程。
到这里,理论故事是自洽的。但一个自洽的故事也可能只是故事。真接上训练器会怎样?
接上 GRPO / OPD 跑真任务,误差到底降在哪儿?
PH 不改 base method 的任何内部流程,只在损失上乘一个因子。为了检验这一点,论文把它包在两种后训练算法外面。
GRPO 是 PPO 的去 critic 版本。PPO 需要一个和策略差不多大的价值网络来估 advantage,GRPO 直接用同一个问题下多条输出的组内平均奖励当 baseline,并把 KL 惩罚从奖励挪进损失 DeepSeekMath。

图注:PPO 与 GRPO 的结构对比。GRPO 去掉了独立的价值网络,改用同一 prompt 下多条输出的组内平均奖励作为 baseline,并把 KL 惩罚直接放进损失而不是奖励里。DeepSeekMath
OPD 是在线蒸馏。它的关键改动是学生会自己采样轨迹,再让教师在 token 粒度上给出分布反馈,而不是像序列级蒸馏那样让学生去背教师生成的整段文本 MiniLLM。PH 对这两者的处理完全一样:GRPO 的组内归一化仍在原始奖励上算,OPD 的逐 token 优势先聚合成每轮一个数,然后才乘上 $(1+\alpha\xi_t)$。
单轮任务上的结果最直接。在 Science Q&A 上,基线 SDPO 的过度自信失败率 OFR 是 34.2%,PH 用 $\alpha=0.5$ 把它降到 20.9%,同时能力基本没掉,mean@16 从 63.0 到 65.7 PH。两个对照实验更能说明机制:把权重随机分配给任意 rollout,几乎没有任何效果;只放大失败的 rollout,能在 Science Q&A 上把 OFR 压到 25.0%,但它的意外率是 24.4%,不如 PH 的 21.8%,因为它看不见"低估了自己的成功"。论文的结论是选择比质量重要,有用的不是多加权,而是加在最该加的那类样本上。
多轮任务把这一点推得更远。在 OpenClaw-RL 这个个人助手环境里,同一套 PH 在 RL、OPD、Combined 三块上分别把轨迹级教师评分提升了 7.2、15.3、3.9 分,注意 OPD 那块基线最弱而收益最大 PH。更关键的是四格组成的反转。

图注:PH 四格组成在单轮与多轮任务之间的结构性反转。单轮里占比最大的是过度自信的失败,多轮里主角换成低估自己的成功,后者随 base method 增大而单调上升,而过度自信的失败一直维持在很小的比例。PH
单轮任务里最多的意外是过度自信的失败,多轮任务里最多的意外换成了低估自己的成功。失效模式的主角和配角对调了,可是同一个 $\alpha$ 把两边都压住了。论文据此给出它最强的判断:PH 放大的不是某一种失败,而是"预测和现实不一致"这个事件本身。所以这个标量才能跨任务、跨算法、跨模型规模而不需要重新调参。论文的主实验用 OLMo-3-7B-Instruct 同时充当策略与自评估器,跨规模对照则换到 gpt-oss-20B 上跑 PH。
这些数字说明什么?不是"多学对了几个样本",而是训练第一次能看见模型自己都没意识到的对错。
这套"免费校准"的边界在哪儿?
"免费"指的只是不用额外写一个校准损失,不表示没有前提。论文在附录 G 里把边界列得很清楚。
| 失效模式 | 触发条件 | 缓解或建议 |
|---|---|---|
| 梯度尖峰、自评塌缩 | $\alpha \ge 2$,多轮长程任务 | 用默认 $\alpha = 1$ |
| 校准对齐只是定量的 | 各样本基础损失不均 | 视为近似性质,不作严格保证 |
| 额外计算开销 | 每个 rollout 步多跑 $M$ 次前向 | 单轮同步约 6%,多轮异步约 0% |
| 意外信号嘈杂 | 基础模型校准极差 | 依赖前期训练质量 |
| 适用面未覆盖 | 创意、主观生成任务 | 论文明确未研究 |
$\alpha$ 不能开太大。默认的 $\alpha=1$ 稳定,$\alpha\ge 2$ 在多轮长程任务里会出现梯度范数尖峰,自评估也可能塌缩成一律回答"不会成功"。"每一步都在校准"这个说法也有前提,就是 uniform-base-loss 假设,即意外样本上的基础损失大致均匀。实际训练中每条 rollout 的对数概率各不相同,所以对齐是定量的而不是绝对的。开销方面,单轮同步设置下大约多花 6%,多轮异步设置下因为自评估和 rollout 交错,开销接近 0。信号质量则取决于模型会不会自评,如果基础模型被校准得极差,早期训练里的意外信号会更嘈杂 PH。
验证范围也值得说清。论文只在可验证任务和数学辅导这类场景上做了实验。对于那些"事后奖励本身就模糊"的创意或主观生成任务,PH 会怎样,论文明确说没有研究。
把这些限制收成一句判断:PH 把校准的成本从"加一个目标函数"挪到了"你得有一个还算会自评的模型,加一个可信的验证器"。这既是它便宜的原因,也是它会失效的场景。
回头看,这篇论文真正抓住的东西其实很小。策略梯度天生只看结果,于是"自信地错"和"清醒地错"混在一起。PH 只是让模型在行动前先自问一句会不会成功,再用这句自问和现实的落差去放大那些意外的样本。校准没有作为目标被写进去,它作为副产品自己长了出来。
想深入可以读原文:Prospective Hindsight: Self-Calibrating Reinforcement Learning via Prediction-Reality Gaps — arXiv:2610.02740
参考文献
- Prospective Hindsight: Self-Calibrating Reinforcement Learning via Prediction-Reality Gaps — Jiaxin Zhang 等,Salesforce AI Research,arXiv:2610.02740(论文自述 NeurIPS 2026 接收)
- DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models — Shao 等,arXiv:2402.03300,提出 GRPO
- MiniLLM: On-Policy Distillation of Large Language Models — Gu 等,arXiv:2306.08543,ICLR 2024
- Hindsight Experience Replay — Andrychowicz 等,arXiv:1707.01495,NIPS 2017
- Recurrent World Models Facilitate Policy Evolution — Ha 与 Schmidhuber,arXiv:1803.10122
- Curiosity-driven Exploration by Self-supervised Prediction — Pathak 等,arXiv:1705.05363,ICML 2017
- On Calibration of Modern Neural Networks — Guo 等,arXiv:1706.04599,ICML 2017
- A new learning paradigm: Learning using privileged information — Vapnik 与 Vashist,Neural Networks 22(5-6):544-557,2009