从零推 REINFORCE:环境不可微,梯度从哪来
SFT 教得起示范,教不起只有结果对错的任务。L9 p.18 一句「你怎么对单元测试求导?」把直接求导的路堵死:奖励来自采样与环境,两处都不可微。本篇从零推通答案:先把 agent 任务形式化成 agent–环境循环、轨迹与轨迹概率(p.9-13,含文本生成 / Web agent / Number Search 三实例与 0.50 的期望账),四步推出策略梯度 ∇J = E[R·∇log p](p.18-20),看环境项如何从 log 里整个掉落(p.21),最后落在题眼:工程上不过是对标准 SFT 计算做一次掩码与一次再加权(p.22-23);R∈{0,1} 时退化为只学成功轨迹的 ReST(p.24),Search-R1 用同一张 mask 在多轮搜索上拿到 7B 平均 +41%,PPO 则是这条裸 REINFORCE 的稳定化后裔。
第 4 讲的 SFT 把示范抄进权重,前提是有示范可抄。可 agent 任务最常到手的监督,是末尾才揭晓的一个分数:单元测试过没过、任务成没成。
slides 把困局问得直白:「你怎么对单元测试求导?」(L9 p.18)本篇从零把答案推出来:REINFORCE(Williams 1992)的策略梯度(policy gradient)。推导一路落到代码层,终点就是第三节题眼的那行 loss。
一、先把任务写成公式:循环、轨迹、概率质量
形式化从 L9 p.9 最简单的一个圈开始:每个时刻 t,策略(policy,就是 LLM)给出动作 a_t,环境接过去,吐回下一个观测 o_{t+1} 与奖励 r_{t+1}。同一个圈,套得住 L9 p.9-13 三种长得毫不相像的任务:
| 任务 | 观测 o | 动作 a | 奖励 r |
|---|---|---|---|
| 文本生成 | 目前为止的 tokens | 下一个 token | judge 打分 |
| Web agent | 页面与交互历史 | click / type / scroll | 完成子任务数 |
| Number Search | higher / lower / correct | 猜一个数 | 猜中 1,否则 0 |
L9 p.10 的一个设定决定后面所有公式:策略只条件于历史 h_t=(o_0,a_0,…,o_t),看不见环境的隐藏状态。Number Search 里藏的那个数,模型永远只能从 higher/lower 的回答里推断。
L9 p.11 用轨迹(trajectory)把整段交互记账:τ=(o_0,a_0,r_1,o_1,…),总回报 R (τ)=Σ r_t。Number Search 只在结尾付那 1 分,中间一路是 0。奖励稀疏,agent 任务的常态。
L9 p.12 把轨迹当成带概率的事件:每一步要么来自策略 πθ(a_t|h_t),要么来自环境 P (o_{t+1},r_{t+1}|h_t,a_t,x)。连乘起来,就是轨迹概率 p_θ(τ|x)。
两项地位悬殊。策略项每一步都算得出来;环境项 P 写不出来,好在能采样。目标在 L9 p.13 落定:
slides 用四条轨迹把期望算成实数:概率 0.30 / 0.20 / 0.25 / 0.25,奖励 1 / 1 / 0 / 0,乘加得 J=0.50。训练的全部含义也就一句话:把概率质量从低奖励轨迹搬向高奖励轨迹,不动奖励、不动环境,只动 θ 控制的那一半概率。
二、四步推导:绕开环境,把梯度装进 log 里
想训练就得对 J 求梯度,而 J=Σ_τ p_θ(τ) R (τ) 两头都够不着(L9 p.18):R 要靠采样,环境动力学 P 未知。对单元测试求导,此路不通。出路在换求导对象,L9 p.19 四步走完:
- 对 J 求梯度:∇θJ = Σ_τ ∇θp_θ(τ)・R (τ)。奖励与环境都不含 θ,梯度只落在概率项上;
- 承认只有 p_θ(τ) 依赖 θ;
- 同乘同除 p_θ(τ),式子值不变、形状大变;
- 用恒等式 ∇p/p = ∇log p 收拢,回到期望形态:
期望算不了,就采一条算一条。L9 p.20 的做法是蒙特卡洛(Monte Carlo)估计:∇θJ ≈ R (τ)・Σ_t ∇θ log πθ(a_t|h_t),τ 采自当前策略。
直觉值钱:R (τ) 是整条轨迹共享的权重。奖励高,这条轨迹上每个动作的概率都抬;奖励低,都压。环境从头到尾没被求导,只是被反复采样。
L9 p.21 还有一处漂亮的化简:p_θ(τ|x) 里那个写不出来的环境项 P,对 θ 是常数。log 把连乘变连加后,它的梯度恒为 0,整个掉出公式:
不可微的环境,就这样从梯度里彻底消失,只剩模型自己做出的每一步选择。每个动作再按 token 拆开(a_t = u_{t,1},…,u_{t,m_t}),公式就到了能落码的形状。
完整的推导与记号,RL Fundamentals 讲义是权威底本。
∇p = p・∇log p 本身只是恒等式。妙处在乘回期望后,求导对象从环境的输出偷换成策略自己的 log 概率。环境不可微的问题,代数把它消掉了,没有解决它。
三、题眼:一次掩码,一次再加权
落到代码,L9 p.22 先把多轮轨迹用聊天模板(chat template)串成一条 token 序列:<|im_start|>user … assistant guess(8) … tool higher …。接下来这行 loss,就是整篇的题眼:
把它与 SFT 的 −Σ_{t:m_t=1} log πθ(u_t|u_<t) 并排看。同一格 next-token 交叉熵,同一种掩码(loss mask)语义:m_t=1 只标策略采样的 token,含收尾的 end-of-turn;prompt 与观测上下文一律 m_t=0。唯一的差别,是头上乘了一个全轨迹共享的标量 R (τ)。
所以 slides 才把话挑明:「对标准 SFT 计算做掩码与再加权」(L9 p.22)。
同一格交叉熵,mask 内才计;每 token 权重恒为 1—— 因为示范是给定的好轨迹,条条等价。
同一格交叉熵、同一张 mask;整条轨迹乘同一个 R (τ)——R>0 抬概率,R<0 压概率,R=0 白跑一趟。
L9 p.23 把训练循环排成四拍:
这套裸式有两个天然的去向。
其一是 L9 p.24 的退化视角:R∈{0,1} 时,策略梯度就是只对成功轨迹做 SFT,这就是 ReST 的做法;差别在 ReST 走批式更新:先聚合成数据集再训练。RL 的极限情形,恰好是你已经会的东西。
其二是稳定化。L9 p.20 的蒙特卡洛估计要求 τ 采自当前策略,一条轨迹用一次就得重采,步子迈大还不稳。PPO(Schulman et al. 2017)把目标改写成对概率比做 clip,换来 minibatch 复用,是这条裸 REINFORCE 的稳定化后裔。
实证锚点来自 Search-R1(Jin et al. 2025,COLM 2025,UIUC):把同一张 mask 用到多轮搜索,检索返回的 token 全部掩掉,只训模型自己生成的 token。7B 模型较 RAG 基线平均提升 41%。
上一讲问 loss mask 的三个问题,角色头?stop token?think 块?在 RL 这边原样适用,只是答案换了一层含义:mask 划定的不再是抄谁,而是谁的功劳。
与本讲的连接
本篇下钻伴读第一节「把 RL 老三样翻译成 LLM 语」里策略梯度定理的来历与去处。页码对位:
- 形式化在 L9 p.9-13:循环、轨迹、轨迹概率与那笔 0.50 的期望账
- 四步推导在 p.18-20,环境项掉落的化简在 p.21
- 掩码与再加权的落码在 p.22-23,ReST 退化视角在 p.24
伴读里带 advantage 与基线的成品公式,是这套裸式的下一层稳定化,第二节 PPO/GRPO 的谱系从那里展开。三张资料卡各就各位:m5-rlhf-book 把 REINFORCE 放回 RLHF 全景,m5-ppo 是稳定化后裔的原典,m5-search-r1 承接上文 Search-R1 的实证。
跨讲看,上一讲「loss mask 的细节:模型到底在学哪些 token」把 mask 语义问到底,本篇补上乘在头上的 R (τ),SFT 与 RL 在代码层只隔这一行。5b 的 Deep Research 线上,Search-R1 就是打通 5a 与 5b 的那座桥。
下次打开任一 RL 训练代码,先找两样东西:mask 数组在哪定、R (τ) 标量在哪乘。两行找到,再问一句同构的问题:这条轨迹的功劳,记给了哪些 token?
本节论文与规范
本节资料
- Proximal Policy Optimization Algorithms 论文1707.06347入门
经典·高引(2017)。对概率比做 clip 换来可多次 minibatch 复用样本的稳定策略梯度更新,LLM-RL 一切变体的默认底座;局限是需要与策略同量级的 critic。全文只有 actor、critic 两个网络和一段截断目标函数,没有花活,却定下了「重要性采样比 + 信赖域近似」的技术路线。读 GRPO 之前先读它,L9 的每一条公式都能回溯到这里。
- RLHF Book 课程入门
免费在线书+代码+视频课(2024–2026,Manning 纸质版 2026-07):从 RL 记号、奖励建模、PPO/GRPO 到正则化与评测的全栈后训练教材,中译本社区维护。推导密度接近课程讲义而非博客,每章配代码与习题。公式吃不透时系统补课,比零散读博客省一半时间。
- Search-R1: Training LLMs to Reason and Leverage Search Engines with Reinforcement Learning 论文2503.09516进阶
2025(COLM 2025)。多轮搜索交互中用结果奖励训出「何时搜、搜什么」:检索 token 掩码+只训生成 token,7B 较 RAG 基线平均 +41%。模型自己决定发起检索的时机与 query,检索返回内容不进策略梯度,奖励只在最终答案结算。打通 5a(RL 损失设计)与 5b(检索智能体)的桥。
AI 生成 · 仅供参考,与课程方无关。选中正文里的任何一段也能直接问我(解释一下 / 举个例子)。
本详解以 CMU 11-768 AI Agents (Fall 2026) 课程大纲为参考框架独立撰写,AI 辅助起草、人工抽审。 涉及的官方课件、论文与课程材料版权归原所有方,讲义为站内镜像、其余外链原文出处; 观点与文字(除标注引用外)为作者原创。