
1. 离散采样的求导问题#
假设一个一步任务有两个动作:动作 1 得 1 分,动作 0 得 0 分。一次交互只观测到所选动作及其回报,怎样用这次结果估计期望回报对参数的梯度?
在长轨迹任务中,可能结果更多,通常无法完整枚举,离散采样操作也无法直接求导。REINFORCE 对已采到动作的 log 概率求导,再用回报加权,得到可采样的梯度估计。
2. 从期望回报到两动作采样计算#
REINFORCE 不对采样动作本身求导,而是对“选择这个动作的 log 概率”求导,再用回报给它加权。正回报轨迹提供提高其 log 概率的梯度系数,负回报轨迹提供相反系数。对多条独立轨迹的采样梯度取平均,可以估计无法逐项枚举的期望梯度。一次策略与环境交互得到的轨迹称为 rollout。
2.1 轨迹与期望回报#
策略 πθ(at∣st) 给出状态 st 下选择动作 at 的概率,θ 是待训练的参数。一条有限轨迹记为 τ=(s0,a0,…,sT−1,aT−1,sT),在终止前共执行 T 个动作。
令 Rt 为动作 at 之后得到的一步奖励。本篇先用不折扣的完整回合,轨迹总回报为 R(τ)=∑t=0T−1Rt;只有终局评分的任务,把评分放在最后一步即可。目标是:
J(θ)=Eτ∼Pθ[R(τ)]=τ∑Pθ(τ)R(τ).
Pθ(τ) 是策略与环境共同产生这条轨迹的概率。策略优化通过调整轨迹概率,提高期望回报。
以下用当前策略采样,初始状态、环境转移和奖励机制都不显式依赖 θ。另假定策略在固定支持上可微,期望存在,且可交换求导与求和;连续轨迹改用积分。
例如,一步任务只有动作 1 和 0,回报分别为 1 和 0;当前策略选择它们的概率为 0.9 和 0.1,则期望回报为 J=0.9×1+0.1×0=0.9。一次采样可能只得到 0,并不意味着这个策略的期望回报是 0。
2.2 两动作任务的采样梯度计算#
用动作 log 概率对参数的导数 z(a)=∇θlogπθ(a) 表示该动作的 score。对这个一步任务,令 p=πθ(1)=σ(θ)=0.9,其中 σ 是 sigmoid。此时 z(1)=1−p=0.1、z(0)=−p=−0.9:
按两种动作的概率加权,平均梯度=0.9×0.1+0.1×0=0.09,恰好等于 ∂θJ=∂θp=p(1−p)=0.09。但单次估计只可能为 0.1 或 0,仍有波动。
实际训练可以将固定的采样回报乘以负 log 概率,构造样本 loss ℓ=−Rlogπθ(a)。它的梯度是 −Rz,所以梯度下降实现上面的上升方向;这个样本 loss 的数值本身不是期望奖励 J。每批先完成采样与评分,再固定采样回报进行策略更新,随后用更新后的策略重新采样。
3. 期望回报的采样梯度推导#
3.1 利用 log 导数恒等式改写期望#
对目标直接求导,奖励没有额外的参数导数:
∇θJ(θ)=τ∑R(τ)∇θPθ(τ).
在一般任务中,轨迹数量通常大到无法逐项枚举。若能把 ∇θPθ(τ) 写成“轨迹概率 × 可计算的量”,即可按轨迹概率采样,并对回报与该可计算量的乘积取平均。
对概率为正的轨迹,∇θlogPθ(τ)=∇θPθ(τ)/Pθ(τ),所以 ∇θPθ(τ)=Pθ(τ)∇θlogPθ(τ)。代入目标梯度:
∇θJ(θ)=τ∑Pθ(τ)R(τ)∇θlogPθ(τ)=Eτ∼Pθ[R(τ)∇θlogPθ(τ)].
现在可以按 Pθ 采样轨迹,再计算回报与 log 概率梯度的乘积。
3.2 轨迹梯度的逐动作分解#
一条轨迹的概率由初始状态、策略选动作和环境转移共同决定:
Pθ(τ)=P(s0)t=0∏T−1πθ(at∣st)P(st+1∣st,at).
取 log 后,乘积变成和:
logPθ(τ)=logP(s0)+t∑logπθ(at∣st)+t∑logP(st+1∣st,at).
只有策略显式依赖 θ,因此 ∇θlogPθ(τ)=∑t∇θlogπθ(at∣st)。把每一步的 log-prob 梯度记为 score 向量 zt=∇θlogπθ(at∣st),得到:
∇θJ(θ)=Eτ∼Pθ[R(τ)t=0∑T−1zt].
轨迹分布 Pθ 已包含策略对后续状态的影响。计算单条轨迹的 log 概率梯度时,只需固定采到的状态和动作。[1]
3.3 对采样轨迹取平均#
独立采样 N 条轨迹,用样本平均估计期望:
g^=N1i=1∑NR(τi)t=0∑Ti−1∇θlogπθ(ai,t∣si,t).
在上述假设下,E[g^]=∇θJ。无偏指估计量的期望等于真实梯度,单次估计仍可能偏离真实梯度。更新策略时固定采样回报,梯度只经过动作 log 概率。
4. 中间奖励与 LLM 的逐 token 更新#
4.1 每步只保留后续回报#
若过程中有多步奖励,时刻 t 的动作不能改变此前已经发生的奖励。给定动作前的完整历史,过去奖励是固定值。在本文的 Markov 策略设定下,当前动作的平均 score 为 E[zt∣st]=∑a∇θπθ(a∣st)=0。所以过去奖励乘 zt 的期望为零,可以从当前动作的梯度权重中移除过去奖励。
定义从当前时刻开始的 return 为 Gt=∑k=tT−1Rk,便得到同一期望梯度的另一种形式:[2]
∇θJ(θ)=E[t=0∑T−1Gtzt].
例如奖励依次是 (1,2,3),各动作对应的后续回报就是 (6,5,3)。只有终局奖励 R、其余奖励为零时,每个 Gt 都等于同一个 R,与终局奖励的序列级梯度形式一致。这里仍是完整回合、不折扣,即折扣因子 γ=1;有折扣时需同步修改目标和时间权重。
4.2 LLM 的逐 token 策略梯度#
给定问题 q,回答为 y=(y1,…,yT),这里包含终止 token。状态是 st=(q,y<t),动作是 yt。完整回答概率为 πθ(y∣q)=∏t=1Tπθ(yt∣q,y<t)。
若只有完整回答的评分 R(q,y),固定问题下的梯度为:
∇θJ(θ∣q)=Ey∼πθ(⋅∣q)[R(q,y)t=1∑T∇θlogπθ(yt∣q,y<t)].
实际训练还会对问题取平均。正回报鼓励提高所采回答的 log 概率,负回报则相反;回报大小决定 score 的系数。各 token 共享参数,因此实际概率变化还受其他位置的梯度影响。
5. 采样梯度的局限性与使用条件#
5.1 回报加权的梯度方差#
不同 rollout 的回报和 score 都会变化。在两动作算例中,单次梯度为 0.1 或 0,而平均梯度为 0.09。单样本梯度估计具有有限方差时,N 个独立同分布估计的均值方差为单样本方差的 1/N;合适的 baseline 则可降低单样本梯度估计的方差。
5.2 无偏估计的条件#
上面的无偏估计使用当前策略采样和完整回报。复用旧数据时要校正分布;奖励显式依赖参数时要检查额外导数;轨迹截断时要说明如何估计剩余回报。
参考资料#
- Policy Gradient Methods(1999). 原文:策略梯度定理与价值函数。
- Generalized Advantage Estimation(2015). 原文:Return、价值参照与 Advantage 估计。