TailRL:从平均奖励转向高奖励尾部#

进阶8 分钟阅读查看源文件 ↗

TL;DR#

本页内容8 个部分

1. 平均奖励与高奖励事件的概率#

REINFORCE 用回答的得分给策略梯度加权,目标是提高平均奖励。RLOO 改进了 baseline,目标仍然是平均奖励。

但平均分没有告诉我们:模型获得高奖励的概率是多少?在多次生成并选取最高分回答的设置中,高奖励事件的概率也影响最终表现。

TailRL(Tail-Likelihood Reinforcement Learning)因此改变训练目标,提高当前策略下罕见高奖励事件的概率。它先将奖励分解为超过各阈值的事件,再按事件概率的倒数分配权重。[1]

2. 奖励阈值事件与尾部目标#

先看一组手算数据:甲、乙、丙三条回答分别得到 0、0.5、1 分。阈值为 0.3 时,乙、丙的奖励均超过阈值;阈值为 0.8 时,仅丙超过阈值。每个阈值对应一个“奖励超过阈值”的事件。

本页固定这道题 qq。策略 πθ(y∣q)\pi_\theta(y\mid q) 生成回答 yy,固定评分规则给出奖励 R(q,y)∈[0,1]R(q,y)\in[0,1]。

用 τ\tau 表示奖励阈值。策略生成回答的奖励超过 τ\tau 的概率定义为:

pθ(q,τ)=Pr⁡y∼πθ(⋅∣q)(R(q,y)>τ).p_\theta(q,\tau)=\Pr_{y\sim\pi_\theta(\cdot\mid q)}\bigl(R(q,y)>\tau\bigr).

乙的奖励为 0.5,因此对 [0,0.5)[0,0.5) 内的所有阈值,奖励均超过阈值。这个区间的长度为 0.5。

用指示函数 1{R(q,y)>τ}\mathbf1\{R(q,y)>\tau\} 表示阈值事件:奖励超过阈值时取 1,否则取 0。固定一条回答,对阈值从 0 到 1 积分,便得到该回答的奖励:

R(q,y)=∫011{R(q,y)>τ} dτ.R(q,y)=\int_0^1\mathbf1\{R(q,y)>\tau\}\,d\tau.

再对策略生成的回答取平均。由于 R∈[0,1]R\in[0,1],可以交换期望与积分;而阈值事件指示函数的期望就是该事件的概率。因此:

Jmean(θ;q)=E[R∣q]=∫01E[1{R(q,y)>τ}∣q] dτ=∫01pθ(q,τ) dτ.\begin{aligned} J_{\mathrm{mean}}(\theta;q)=\mathbb E[R\mid q] &=\int_0^1\mathbb E[\mathbf1\{R(q,y)>\tau\}\mid q]\,d\tau\\ &=\int_0^1p_\theta(q,\tau)\,d\tau. \end{aligned}

TailRL 改为最大化各阈值事件的 log 概率在奖励区间上的积分。先假设相关阈值事件的概率非零,且该积分有限:

JTailRL(θ;q)=∫01log⁡pθ(q,τ) dτ.J_{\mathrm{TailRL}}(\theta;q)=\int_0^1\log p_\theta(q,\tau)\,d\tau.

选择 log,是因为它的斜率为 1/p1/p:事件概率越小,增加相同微小概率所产生的目标增量越大。对同一个奖励分布,阈值升高时,超过阈值的概率不会增加,因此高阈值事件对应的概率倒数不小于低阈值事件。取 log 的是超过阈值的概率,不是回答的分数。 [1]

3. 按阈值区间分配回答权重#

3.1 分配阈值区间权重#

先按“区间长度除以超过阈值的回答数”分配权重。沿用甲、乙、丙三条回答,得分为 0、0.5、1。在 [0,1)[0,1) 内,超过阈值的回答集合仅在 0.5 处变化,因此分为两段:

TailRL:两段阈值怎样分给三条回答

  1. 阈值区间 [0,0.5)[0,0.5):总权重为 0.5,乙、丙的奖励均超过该区间内的阈值,因此各获得 0.5/2=0.250.5/2=0.25。
  2. 阈值区间 [0.5,1)[0.5,1):总权重同样为 0.5,仅丙的奖励超过该区间内的阈值,因此全部分配给丙。

累加后,甲的权重为 0,乙为 0.25,丙为 0.75。丙获得低阈值区间的一半权重,以及高阈值区间的全部权重。

3.2 用组内回答估计阈值事件概率#

真实阈值事件概率未知,实际用当前策略独立采样 KK 条回答来估计。把得分记为 RiR_i,完整回答的 score 记为 zi=∇θlog⁡πθ(yi∣q)z_i=\nabla_\theta\log\pi_\theta(y_i\mid q);在阈值 τ\tau 上,组内超过阈值的回答数记为 n(τ)n(\tau),用比例 n(τ)/Kn(\tau)/K 估计超过阈值的概率。

对每条回答,在低于其得分的阈值区间累计事件概率倒数,作为回答权重。用组内比例估计事件概率,再对这 KK 条回答的加权 score 取样本平均:

g^K=1K∑i=1Kzi∫0Ridτn(τ)/K=∑i=1K(∫0Ridτn(τ))zi=∑i=1Kωizi.\begin{aligned} \hat g_K &=\frac1K\sum_{i=1}^K z_i\int_0^{R_i}\frac{d\tau}{n(\tau)/K}\\ &=\sum_{i=1}^K\left(\int_0^{R_i}\frac{d\tau}{n(\tau)}\right)z_i =\sum_{i=1}^K\omega_i z_i. \end{aligned}

事件概率倒数中的 KK 与样本平均的 1/K1/K 抵消。因此,这个估计式正好得到按阈值区间均分的计算规则。

积分中的 ωi=∫0Ridτn(τ)\omega_i=\int_0^{R_i}\frac{d\tau}{n(\tau)},就是已算出的回答权重。上限 RiR_i 只计入低于该回答得分的阈值,分母 n(τ)n(\tau) 则让同一区间的权重由超过阈值的回答平分。没有回答超过阈值的区间,不向本组分配权重。[1]

3.3 中心化并更新策略#

先减去组均值:ωˉ=1K∑iωi\bar\omega=\frac1K\sum_i\omega_i,得到 A^i=ωi−ωˉ\hat A_i=\omega_i-\bar\omega。这一步叫中心化。本例三个权重的均值为 1/31/3:

回答 得分 累积权重 ωi\omega_i 中心化后的 A^i\hat A_i
甲 0 0 −1/3-1/3
乙 0.5 0.25 −1/12-1/12
丙 1 0.75 5/125/12

固定这些系数,最小化:

Ltask(θ)=−∑i=1KA^ilog⁡πθ(yi∣q).L_{\mathrm{task}}(\theta)=-\sum_{i=1}^K\hat A_i\log\pi_\theta(y_i\mid q).

梯度只通过回答的 log 概率传播,不通过 A^i\hat A_i。本例的更新方向为 g^centered=−13z甲−112z乙+512z丙\hat g_{\mathrm{centered}}=-\frac13z_{\text{甲}}-\frac1{12}z_{\text{乙}}+\frac5{12}z_{\text{丙}}:甲、乙得到负系数,丙得到正系数,三条回答都保留。

完整回答的 log 概率是各有效生成 token 的 log 概率之和,因此回答内的 token 共用这份系数。更新后重新采样、评分,再计算下一批权重。[1]

4. 从总体目标推导回答权重#

对尾部目标求导,可以得到每条回答的训练权重。假定相关阈值事件的概率非零,且求导、积分与期望可以交换:

∇θJTailRL=∫01∇θpθ(q,τ)pθ(q,τ) dτ.\nabla_\theta J_{\mathrm{TailRL}}=\int_0^1\frac{\nabla_\theta p_\theta(q,\tau)}{p_\theta(q,\tau)}\,d\tau.

把阈值事件的指示函数当作一个 0/1 奖励。记完整回答的 score 向量为 z(y)=∇θlog⁡πθ(y∣q)z(y)=\nabla_\theta\log\pi_\theta(y\mid q),REINFORCE 给出:

∇θpθ(q,τ)=E ⁣[1{R(q,y)>τ} z(y)].\nabla_\theta p_\theta(q,\tau)=\mathbb E\!\left[\mathbf1\{R(q,y)>\tau\}\,z(y)\right].

代入上一式,一条回答仅对低于其奖励值的阈值贡献权重:

∇θJTailRL=∫01E[1{R(q,y)>τ} z(y)]pθ(q,τ) dτ=E ⁣[z(y)∫0R(q,y)dτpθ(q,τ)].\begin{aligned} \nabla_\theta J_{\mathrm{TailRL}} &=\int_0^1\frac{\mathbb E[\mathbf1\{R(q,y)>\tau\}\,z(y)]}{p_\theta(q,\tau)}\,d\tau\\ &=\mathbb E\!\left[z(y)\int_0^{R(q,y)}\frac{d\tau}{p_\theta(q,\tau)}\right]. \end{aligned}

最后一行给出了回答的权重:对低于该回答奖励值的各段阈值区间,按事件概率的倒数加权并积分。超过某阈值的概率越小,其倒数越大,对回答权重的贡献也越大。[1]

5. 目标比较与尾部加权的局限性#

RLOO 为平均奖励梯度构造与当前回答独立的 baseline;TailRL 改变了优化目标,再推导权重。因此,这里的改动不能仅解释为降低原平均奖励梯度估计的方差。

ReCo 根据回答似然与 token 方差比重加权;TailRL 则使用超过奖励阈值的概率。同题同组中,两条回答同样得 0.9 分,TailRL 给它们相同的原始权重;ReCo 仍可能因似然不同给出不同权重。[1] [2]

有限组的更新对应一个与组大小 KK 有关的目标;减去同组均值还会改变这个目标,不能直接套用动作独立 baseline 的无偏证明。

前面的推导采用当前策略独立采样、固定评分和纯策略梯度。复用旧数据、加入 clipping 或其他正则后,需要重新分析完整更新。尾部加权会额外强调罕见高分;若这些高分来自评分漏洞,该设计也可能强化相应的异常回答。

参考资料#

  1. Tail-Likelihood Reinforcement Learning(2026). §3–4、附录 C:目标、有限组权重与中心化。
  2. ReCo(2026). §3:回答与 token 的重加权,用于方法比较。

补充推导#

有限组采样与中心化对应的优化目标

有限组的目标

用经验比例代替真实概率后,更新并不是总体 TailRL 梯度的无偏估计。它精确对应一个由组大小 KK 决定的目标。

Best-of-kk 表示独立生成 kk 条回答、取最高分,再对这个最高分求期望。Best-of-1 就是平均奖励。对同一当前策略独立采样、固定评分、采用权重求和的估计器,有:

J(K)(θ;q)=∑k=1KBest ⁣- ⁣of ⁣-k(θ;q)−1k,E[g^K]=∇θJ(K).J^{(K)}(\theta;q)=\sum_{k=1}^K\frac{\mathrm{Best\!\text{-}\!of\!\text{-}}k(\theta;q)-1}{k},\qquad \mathbb E[\hat g_K]=\nabla_\theta J^{(K)}.

其中的 −1-1 是常数,不影响梯度。KK 越大,目标包含更多生成预算下的 Best-of-kk 项;在相应收敛条件下,无限阶极限恢复总体 TailRL。增加组大小因此也改变了目标组成。[1]

例如,K=3K=3、不中心化时,对应目标的梯度为:

∇θJ(3)=∇θ ⁣[Best ⁣- ⁣of ⁣-1+12Best ⁣- ⁣of ⁣-2+13Best ⁣- ⁣of ⁣-3].\nabla_\theta J^{(3)}=\nabla_\theta\!\left[\mathrm{Best\!\text{-}\!of\!\text{-}}1+\frac12\mathrm{Best\!\text{-}\!of\!\text{-}}2+\frac13\mathrm{Best\!\text{-}\!of\!\text{-}}3\right].

这里的 kk 是评估目标中的生成次数,不是在给第 kk 条训练回答编号。三条训练样本甲、乙、丙,可以全部用于估计 Best-of-2:

Best ⁣- ⁣of ⁣-2^=max⁡(R甲,R乙)+max⁡(R甲,R丙)+max⁡(R乙,R丙)3.\widehat{\mathrm{Best\!\text{-}\!of\!\text{-}}2}=\frac{\max(R_{\text{甲}},R_{\text{乙}})+\max(R_{\text{甲}},R_{\text{丙}})+\max(R_{\text{乙}},R_{\text{丙}})}3.

这是区分指标与样本数的例子,不是替换前面的训练算法。

中心化减去了什么

每段阈值区间的权重全部分配给超过阈值的回答,因此原始权重之和等于本组最高分 Rmax⁡=max⁡iRiR_{\max}=\max_iR_i,即 ωˉ=Rmax⁡/K\bar\omega=R_{\max}/K。中心化把估计器改成:

g^centered=∑i(ωi−ωˉ)zi=g^K−Rmax⁡K∑izi.\hat g_{\mathrm{centered}}=\sum_i(\omega_i-\bar\omega)z_i=\hat g_K-\frac{R_{\max}}K\sum_i z_i.

独立回答的联合 score 是 ∑izi\sum_i z_i。对“本组最高分”的期望使用 REINFORCE,便有:

E ⁣[Rmax⁡∑izi]=∇θE[Rmax⁡]=∇θBest ⁣- ⁣of ⁣-K.\mathbb E\!\left[R_{\max}\sum_i z_i\right]=\nabla_\theta\mathbb E[R_{\max}]=\nabla_\theta\mathrm{Best\!\text{-}\!of\!\text{-}}K.

所以,当 K>1K>1 时:

E[g^centered]=∇θJ(K)−1K∇θBest ⁣- ⁣of ⁣-K=∇θJ(K−1).\mathbb E[\hat g_{\mathrm{centered}}]=\nabla_\theta J^{(K)}-\frac1K\nabla_\theta\mathrm{Best\!\text{-}\!of\!\text{-}}K=\nabla_\theta J^{(K-1)}.

减去同组均值,恰好减掉最高阶目标项的梯度,没有删除任何训练回答。组均值 Rmax⁡/KR_{\max}/K 随采样结果变化,也不是从目标减去一个常数 1/K1/K。[1]

采三条再中心化,平均更新方向对应 Best-of-1 与 Best-of-2 的组合;采两条再中心化,对应平均奖励梯度;K=1K=1 时中心化信号为零。

权重的递推计算与求和、平均换算

排序后逐段累加

把分数升序排为 R(1)≤⋯≤R(K)R_{(1)}\le\cdots\le R_{(K)},令 R(0)=0R_{(0)}=0、ω(0)=0\omega_{(0)}=0。第 ii 段长度为 R(i)−R(i−1)R_{(i)}-R_{(i-1)},超过阈值的回答有 K−i+1K-i+1 条,因此:

ω(i)=ω(i−1)+R(i)−R(i−1)K−i+1.\omega_{(i)}=\omega_{(i-1)}+\frac{R_{(i)}-R_{(i-1)}}{K-i+1}.

这只是把前面的平分规则写成递推。分配的权重总和为 ∑iωi=Rmax⁡\sum_i\omega_i=R_{\max},最高分为 1 时权重和才是 1。[1]

Loss 的分母

本文的 loss 对回答求和。若改用 KK 条回答的均值,应使用 KA^iK\hat A_i,才能保持相同尺度。三条回答例子中,对应系数为 [−1,−0.25,1.25][-1,-0.25,1.25]。若再给每条回答除以自身长度,还会改变回答间的相对权重;具体见 Loss 平均。[1]

目标偏好与阈值事件概率为零的情形

平均奖励相同的策略比较

下面另用两种策略的奖励分布,核对目标的偏好。这些是假设分布,不是训练实验:

策略 奖励分布 平均奖励 得到 1 分的概率
A 一半为 0.2,一半为 1 0.6 0.5
B 八成为 0.5,两成为 1 0.6 0.2

阈值 τ∈[0,0.2)\tau\in[0,0.2) 时,A 的阈值事件概率为 1;τ∈[0.2,1)\tau\in[0.2,1) 时,该概率为 0.5,因此目标为 策略 A 的 TailRL 目标=0.2log⁡1+0.8log⁡0.5≈−0.5545\text{策略 A 的 TailRL 目标}=0.2\log1+0.8\log0.5\approx-0.5545。

阈值 τ∈[0,0.5)\tau\in[0,0.5) 时,B 的阈值事件概率为 1;τ∈[0.5,1)\tau\in[0.5,1) 时,该概率为 0.2,因此目标为 策略 B 的 TailRL 目标=0.5log⁡1+0.5log⁡0.2≈−0.8047\text{策略 B 的 TailRL 目标}=0.5\log1+0.5\log0.2\approx-0.8047。

A 的 TailRL 目标值更高,但它以 0.5 的概率仅获得 0.2 分,而 B 的奖励始终不低于 0.5。因此,目标值更高不表示超过每个奖励阈值的概率都更高。

适用条件

若一段正长度的阈值区间上,真实阈值事件概率为零,总体目标会出现 log⁡0\log0。本组没有回答超过某个阈值,不说明该事件的真实概率为零。有限组估计器不给这段区间分配权重,也不能直接对为零的样本事件比例取 log,将其当作总体目标。

本文固定奖励范围为 [0,1][0,1]。改变范围时要说明变换;非线性奖励变换会改变各阈值的权重。罕见高分若来自评分漏洞,也可能被额外强化,所以方法依赖评分可靠性。

本文推导采用当前策略独立采样、固定评分和纯策略梯度。复用旧数据,或加入 old ratio、clipping、其他正则后,需要重新分析完整更新,不能直接沿用上面的精确目标结论。