策略梯度
本讲迁移自原课程讲义,经 AI 事实核查未发现存疑项,未逐页人工审核;如有出入,以原始论文和 CS285 课程资料为准。
学习目标
- 用 log-derivative trick 从零推导 $\nabla_\theta J(\theta)$(REINFORCE)。
- 说清为什么策略梯度不需要环境动态,每步用了什么假设。
- 推导因果性(reward-to-go)为何不引入偏差却降方差。
- 证明减去与动作无关的 baseline 不引入偏差,并推导最优 baseline。
- 理解方差的本质来源、重要性采样视角与 off-policy PG,以及"PG=加权最大似然"的直觉。
模块 02 把目标定为 。本模块回答那个关键问题:如何对它求梯度并上升——即使不知道环境动态 ? 答案是策略梯度定理与 REINFORCE。我们会一步步推导它,剖析它的高方差顽疾,并给出三味降方差良药:因果性(reward-to-go)、baseline、以及通往 actor-critic 的桥梁。策略梯度是 TRPO/PPO/GRPO 等现代主力算法的共同祖先。
学习目标
- 用 log-derivative trick 从零推导 (REINFORCE)。
- 说清为什么策略梯度不需要环境动态,每步用了什么假设。
- 推导因果性(reward-to-go) 为何不引入偏差却降方差。
- 证明减去与动作无关的 baseline 不引入偏差,并推导最优 baseline。
- 理解方差的本质来源、重要性采样视角与 off-policy PG,以及”PG=加权最大似然”的直觉。
编者按 · 批判性视角
GRPO 与 RLOO 都展示了不训练 critic 的策略优化路径,但二者的组内估计不同:标准 GRPO 对同一题的组奖励做均值与标准差归一化;RLOO 则对每个样本使用不含自身的 leave-one-out 均值。有限组、样本自包含与归一化都会影响估计量,不能笼统等同为“组均值 baseline” [1] [2]。对照见模块 13(LLM 与 RL)。
1. 直接对目标求梯度
与价值方法(先学 再贪心)不同,策略梯度(policy gradient) 直接把策略参数化为 ,对目标 做梯度上升:
难点在于: 是对分布 求的期望,而 本身依赖 。不能简单把梯度塞进期望里。log-derivative trick 正是为此而生。
本质 Insight:策略梯度 = 加权最大似然
在动手推导前,先记住这条贯穿全书的骨架:策略梯度最终会长成 ,这正是一个以优势 为权重的最大似然(这里的 是”优势估计”,直觉即”该动作比该状态平均好多少”,严格写作 、并会在第 5–6 节由”回报减 baseline”具体给出,此处先记住它是带正负号的权重即可)——把高优势动作的对数似然往上推、把低(负优势)动作的往下压。行为克隆(BC)不过是”权重恒为 1、数据来自专家”的退化特例;RL 用优势赋予不同权重,从而能超越示范。带着这个视角看后面每一味降方差良药,你会发现它们只是在改进”用什么权重、如何估计权重”。这条统一贯穿全书,详见 模块 15(统一视角)。
2. REINFORCE 的完整推导
推导:策略梯度定理 / REINFORCE(逐步无跳跃)
关键假设
- 对 可微,且 不显式依赖 (奖励是环境给的)。
- 可交换积分与求导(在正则条件下成立——见第 2 步 式(3.3))。
- 能从 采样轨迹(在线交互)。
第 1 步(把目标写成积分——用期望的定义)。 “期望”就是”按概率密度加权的积分”,于是目标展开为
注意 只由环境奖励决定、不含 ; 只藏在轨迹分布 里。这是全篇的出发点。
第 2 步(把 移入积分——用 Leibniz / 主导收敛定理)。 求导是对 、积分是对 ,两者可交换的正则性条件是:被积式 对 可微,且其梯度存在一个与 无关的可积上界(主导函数),从而主导收敛定理成立。此条件在紧参数集、光滑策略下满足:
问题: 不再是”某分布乘一个函数”的形式,不是期望,没法直接采样估计。
第 3 步(log-derivative 恒等式——把它变回期望)。 对任意 ,由对数的链式法则 ,两边乘 即得恒等式
把它代回第 2 步 式(3.3),右端重新变成” 加权的积分”,也就是期望:
关键收获:又变回一个期望了,只要能算 就能采样估计。
第 4 步(展开 ——用模块 02 的轨迹分布)。 轨迹概率是”初始分布 × 逐步策略 × 逐步转移”之积 ,取对数把连乘变连加:
第 5 步(对 求梯度——动态项整体消失!)。 上式 式(3.6) 里唯一含 的是策略项 ;初始分布 与转移 都不含 ,对 求梯度恒为零,于是整段动态项被抹去:
这一步正是”无需环境模型”的关键——环境动态 求梯度后彻底消失(第 3 节展开讲)。
第 6 步(代入得策略梯度定理——把第 5 步 式(3.7) 塞回第 3 步 式(3.5) 的期望)。 这里是最容易”跳步”的接缝,我们逐字写全:第 3 步 式(3.5) 已得 ;只需把第 5 步 式(3.7) 的结论 和 原样代进那个期望,别无他技:
到此仍是精确等式,没有任何近似——只是把”对分布求导”改写成了”对分布求期望”。
第 7 步(期望 → 蒙特卡洛估计 = REINFORCE——用大数定律)。 又一处常被跳过的衔接:第 6 步 式(3.8) 的期望是”对所有可能轨迹按概率加权求和”,可我们既无法枚举全部轨迹、也不知道 。办法是采样:独立采 条轨迹 ,用样本均值近似这个期望——这就是蒙特卡洛:
为什么这样合法(无偏)? 记单条轨迹的被平均量为 。由期望的线性性,样本均值的期望 恰好等于第 6 步 式(3.8) 的真实梯度,且与 无关——所以它是无偏估计。 只影响方差:估计量方差 ,按 下降(标准误 )。 局限(方差来源): 单样本方差 极大——整条回报 乘在整段 上,而 本身随机性巨大;第 8 节会把它量化到 。这正是本模块后续所有技巧要对付的敌人。
为什么这样 · 能不能不这样
为什么偏偏对 求导? 全篇枢纽是第 3 步的 (式 (3.4)):它把 这个不是任何分布期望的量,重新写回” 加权”的形式,于是式 (3.3) 的积分又变回可采样的期望(式 (3.5))。取 还有第二重红利——它把轨迹概率的连乘 拆成连加(式 (3.6)),不含 的动态项 求导后才会逐项归零,“无需环境模型”正是 log 形式顺手带出的副产品。
能不能直接对 (不取 log)求导? 可以。对轨迹概率的连乘直接使用乘积法则,再做代数整理,也能得到 score-function 形式并消去不含参数的环境转移项;只是推导更繁琐。log-derivative 是最便利的标准改写:它直接把结果写成可采样的期望,并显式消去不含 的项。
本质 Insight:REINFORCE 在做什么?
看第 7 步(式 (3.9))的形式:它是""(让动作 更可能的方向)乘以回报 (这条轨迹有多好)。所以更新规则是——好轨迹里的动作,提高其概率;坏轨迹里的动作,降低其概率,好坏用回报加权。这就是”试错学习”的数学化:好的多做,坏的少做。这是第一层粗直觉;但它并不严谨——下面的批判性追问会指出问题与修补(第 9 节还会说明它其实是”加权版最大似然”)。
批判性追问:这个直觉科学吗?——好轨迹里的坏动作怎么办
你的质疑完全正确。上面这句”整条轨迹回报高,就强化其中每一个动作”并不严谨:一条高回报轨迹里完全可能混着个别糟糕动作(却被一起强化),一条低回报轨迹里也可能有本来不错的动作(却被一起打压)。用”整条轨迹的集体功过”去评判”单个动作”,正是 RL 的核心难题——信用分配(credit assignment)。
那为什么第 7 步(式 (3.9))还”无偏”? 因为它是在大量轨迹上求期望:某个动作”本身好/坏”的真实倾向会在平均中显现,而”搭便车 / 被牵连”的随机成分正负抵消 → 估计不偏,但方差极大、样本效率极低(大量信号浪费在无关的功过分摊上)。所以问题不在”偏”,而在”吵”。
本材料正是一步步修这个问题(每一步都在”更精准地只表扬/只批评该负责的动作”):
- 因果性 / reward-to-go(本讲):动作 不该为它之前的奖励负责,故只用”从 起的回报” ——先去掉一部分冤枉。
- baseline / 优势 (本讲 §5 与 模块 04):不看绝对回报,而看”这个动作比该状态的平均好多少”,把”状态本身好不好”这份与动作无关的公共功过扣掉。
- critic / GAE(模块 04):用自举把信用进一步局部化到单步。
但要诚实:信用分配从未被完美解决。 即便用 reward-to-go, 仍被记上”它之后的全部奖励”,而那里面也混有后续动作与环境运气的贡献——只是被逐级削弱,而非消除。真正”对单个动作精确记功”的量是精确的 ,可 本身通常只能近似估计,误差可能带来偏差;精确值函数或满足 compatible 条件的估计则不必如此 [3]。这正是把粗直觉推进为严谨方法的动力。
3. 为何无需知道环境动态
这是策略梯度最深刻、最实用的性质,就藏在推导的第 5 步(式 (3.7)): 里唯一含 的是策略项 ,而动态 和初始分布 都与 无关,求梯度后整体消失。
本质 Insight:为什么 PG 不需要环境模型?
我们要的是”改变策略参数如何改变期望回报”。环境动态确实影响回报,但它不随我们的参数改变——它是外生的常量结构。因此在对 求导时它被当作常数消掉了。我们只需要能采样(真实地在环境里跑,让环境”自己”体现 的作用),而无需知道 的解析形式。这正是 model-free RL 的立身之本:会玩就行,不必懂物理。
代价
天下没有免费的午餐:不用模型 → 只能靠采样 → 样本效率低(模块 02 的谱系)。而且采样估计的方差很大,需要大量轨迹才能得到可靠梯度。这是 model-free 的固有取舍。
4. 因果性与 reward-to-go
REINFORCE(式 (3.8)–(3.9))里,每个 都乘上了整条轨迹的总回报,包括 时刻之前的奖励。但直觉上, 时刻的动作不可能影响过去的奖励——这就是因果性(causality)。据此可把权重从”总回报”缩小为”从 起的回报”(reward-to-go),在不引入偏差的前提下降方差。
式(3.10)保留外层 ,因此与式(3.2)定义的“从时间 0 折扣”目标严格一致。很多实现省略这个外层因子,以避免过度压低后期样本;那对应常见的 discounted-occupancy/实践估计约定,不应与上式的代数恒等式混写。
推导:为什么可以丢掉”过去的奖励”而不引入偏差?
要证
对任意 ,。若成立,则把这些过去项从总折扣回报里删掉不改变期望;余下 。
第 1 步。 固定一对 。对期望按时间顺序做条件分解,先对 求内层期望(给定到 为止的历史 ,此时 已确定、是常数):
第 2 步(score function 的期望为零)。 内层期望是”得分函数”的期望:
第 3 步。 内层为 0,整体期望为 0。所以删掉所有 的奖励项不改变梯度期望——无偏;同时权重变小(不再包含无关的过去奖励噪声),方差降低。
局限: 只去掉了”过去奖励”这部分方差;reward-to-go 本身(未来采样回报)仍是高方差的蒙特卡洛估计,需要 baseline 和 critic 进一步处理。
本质 Insight
第 2 步的”得分函数期望为零”是策略梯度里最常复用的引擎:任何与动作无关的量乘上 ,取期望都为零。因果性用它删过去奖励,下一节的 baseline 用它减去 ——本质是同一条定理的两次应用。
为什么这样 · 能不能不这样
为什么只保留”从 起”的回报? 式 (3.10) 把权重从整条回报缩到 ,依据是因果性—— 影响不了它之前发生的奖励,那些项与 相乘后期望恰为零(式 (3.11)–(3.12))。删掉它们不动期望,却甩掉了一堆与该动作无关的纯噪声。
能不能把过去的奖励也留着? 能,留着依然无偏——那正是原始 REINFORCE(式 (3.8))。但过去奖励对 是纯粹的无关随机量,只会白白抬高方差;第 8 节的量化里,朴素版的方差常数就比 reward-to-go 版更大。那能不能更激进、连未来也砍掉一截、只留眼前一两步? 不行:那会砍掉 确实要负责的未来回报,等于人为给梯度塞进系统性偏差。所以 reward-to-go 恰好是”在不引偏差的前提下能砍到的最狠一刀”——多砍(砍未来)有偏,少砍(留过去)徒增方差。
5. Baseline 降方差
REINFORCE 的方差还有一大来源:回报的绝对尺度。如果所有轨迹回报都是很大的正数(比如都在 +1000 附近),那么”好一点”和”差一点”的轨迹都会被同向地推高概率,梯度信号被淹没在共同的大偏置里。解决办法:减去一个基线(baseline) ,只保留”相对好坏”。
这里保留外层 ,与式 (3.2) 的从时间 0 折扣目标一致 [4]。
权威表 · 估计对象—无偏条件—误差来源
估计对象 何时无偏 常见误差来源 / 不应混淆 策略梯度 on-policy;回报/重要性校正与目标一致;所减控制变量满足条件正交。 不依赖本次动作是常用充分条件,不是充要条件 off-policy 未校正、IS/PPO/V-trace 截断、有限时域截断、批内耦合与某些归一化 数值的 MC 估计 完整 on-policy rollout,终止/截断处理正确,目标与折扣约定一致 把过去奖励也并入的整轨回报并不是 的数值估计;截断未 bootstrap 会偏 数值估计 无偏估 且 任意 可保持梯度无偏,并不等于它对 的数值无偏 TD / n-step / GAE 优势 特殊情形:自举值精确、边界处理正确; 且完整轨迹时回到 MC-baseline approximate 的自举误差、轨迹截断、done/truncated 混淆; 通常以偏差换方差 compatible advantage on-policy,优势逼近形如 ,并按相应加权最小二乘/正交条件求解 保证的是代入后的策略梯度方向/自然梯度关系;不是任意 critic、任意深网的无偏许可证 恒等式/条件表 本表是全站关于策略梯度无偏性的 canonical 版本;模块 04 与 HW2 只保留应用摘要。
是什么 · 怎么取 · 为何引入
这里第一次出现的 需要交代清楚三件事,别当成从天而降的记号:
- 是什么。 它是一个只看当前状态 、与你实际选的动作 无关的任意函数,习惯上叫”基线(baseline)“。注意关键约束是”不依赖动作”,而非某个具体公式。
- 为何引入。 与动作无关的 baseline 不改变梯度期望;选择合适时可以降低方差,但任意取值并不保证降方差,选得很差反而可能增大方差。下方式 (3.14)–(3.15) 证明的是无偏性。
- 怎么取。 实践中最常把它取成该状态的值函数估计 ,也就是”从 出发按当前策略能拿到的期望回报”;最省事的做法则是用一批轨迹回报的滑动平均当作 。一旦取 ,权重 就变成”这个动作比该状态平均好多少”(即优势),这正是通往 actor-critic(模块 04) 的桥——那里的 critic 学的就是这个 。
举例
全班这次考试都挤在 分上下——单看”小明考了 “很难说他强,因为大家都高。可一旦减去班级平均 这个”基线”,就得到相对分 ,才看出他确实略好;某人 分则是 ,其实偏弱。策略梯度里回报也常”集体偏高”(比如都在 附近),直接用会让好动作和坏动作被同向推高、有用信号被淹没;减去基线 只留下”比平均好多少”,正是统计里”控制变量”降方差的思路。而”班级平均”这个基线恰恰只依赖状态(这场考试),与你选哪个答案无关——所以它不改变梯度的期望。
推导:减去与动作无关的 baseline 不引入偏差
充分条件(不是充要条件)
baseline 只依赖状态、不依赖本次动作,是保证 score-function 梯度不变的常用充分条件。更一般的必要且充分要求是所减项满足 ;某些动作相关控制变量配合解析修正项也能保持无偏。
第 1 步。 要证减去 引入的额外项期望为零:
第 2 步(先对 求条件期望)。 给定 , 是常数,可提到内层期望外:
第 3 步(再次用得分函数期望为零)。 内层 。故整体为零。结论:任意只依赖状态的 baseline 都不引入偏差。
局限: 若 依赖动作 ,第 2 步 式(3.15) 无法把 提出,得分函数技巧失效,会引入偏差。这也是为什么 actor-critic 里用 (只依赖状态)而非 直接当 baseline。
为什么这样 · 能不能不这样
为什么是”减去、且与动作无关”? 由式 (3.14)–(3.15),减去只依赖状态的 之所以不改梯度期望,全靠”得分函数期望为零”把多出来的 抵成零。减法保留了权重的线性与正负号(好动作仍为正、坏动作仍为负),只平移不缩放。
能不能改成”除以回报”? 不能顶用。把权重除以一个常数 只是对梯度整体缩放(等价于改学习率),压不掉”状态本身好坏”这块与动作无关的公共方差,起不到控制变量的作用;若拿逐轨迹的随机量去除,还会额外引入偏差。能不能用依赖动作的 (比如直接拿 当基线)? 更危险:式 (3.15) 那一步再也提不出 ,得分函数技巧失效,会引入偏差——除非再补一项解析修正(state-action baseline 的做法,需额外小心才能保持无偏)。所以”与动作无关的减法基线”是同时满足”无偏 + 真降方差”的那条窄路。
本质 Insight:baseline 的最佳选择是什么?
既然任意 都无偏,就该选最小化方差的那个。直觉上, 应接近该状态的期望回报,这样 就变成”这个动作比平均好多少”——正是优势 !取 把权重变成优势估计,这正是 actor-critic(模块 04)的出发点。下一节先给出严格的”最优 baseline”。
6. 最优 baseline
推导:使梯度方差最小的最优 baseline
设定
记 (对某个标量参数分量),梯度估计为 。目标:选 最小化 。
第 1 步(写方差)。 因期望不随 变(无偏),最小化方差等价于最小化二阶矩:
第 2 步(对 求导置零)。
第 3 步(解出)。
即用梯度幅度平方 加权的期望回报。它比”平均回报”更精细:对梯度大的样本给更高权重。
局限: 逐参数分量不同,实践中计算/估计成本高。工程上更常用 (近似最优、且能用 critic 网络高效拟合),虽非严格最优但简单有效——见模块 04。
常见误区
很多人以为”baseline 就是平均回报 ”。 是一个不错、简单且无偏的 baseline,但不是方差最优的;最优的是 加权版。不过在实践里,(状态相关的 baseline)通常比全局常数 好得多,因为它能扣掉”状态本身好坏”这一大块方差。
7. 方差的本质来源
把降方差技巧串起来,先要看清方差从哪来。策略梯度估计的方差有三个叠加来源:
| 来源 | 机制 | 对策 |
|---|---|---|
| 回报的绝对尺度/偏置 | 大而同向的回报淹没相对信号 | baseline(第 5–6 节) |
| 无关的过去奖励 | 把 前奖励算进权重,纯噪声 | 因果性 reward-to-go(第 4 节) |
| 蒙特卡洛回报本身 | 单条 rollout 的未来回报随机性巨大(长时域尤甚) | 用 critic 估计 、自举(模块 04 GAE) |
图 1:策略梯度方差随降方差技巧逐步叠加而下降(示意)。因果性、baseline 无偏;近似且不满足相应条件的 critic 或自举通常以偏差换取方差下降(模块 04)。
本质 Insight:方差-偏差的取舍线
因果性与满足条件正交且选择合适的 baseline 可在不改变 score-function 梯度期望的前提下降方差;这不等于相应 数值估计必然无偏。近似且未满足相应条件的 critic 或自举估计通常会引入偏差;精确值函数或 compatible 条件等特殊情形则不必如此 [3]。于是 actor-critic 与 GAE 的关键是具体估计条件下的偏差—方差取舍。
7′. 偏差的本质来源(方差的镜像)
§7 讲清了方差从哪来;这里补上它的镜像。关键反差要先立住:朴素 REINFORCE 的梯度是无偏的(式 (3.9))——偏差不是它自带的,而是我们为压方差、为可处理性而主动引入的代价。所以”偏差从哪来” ≈ “我们为降方差付了哪些账”。这正是偏差-方差权衡(模块 00 §8′)的另一半。主要来源如下:
| 偏差来源 | 机制 | 何时严重 / 代价 |
|---|---|---|
| 自举 / critic(bootstrapping) | 用学到的 顶替真实回报;critic 的误差被贝尔曼回代逐层传播成系统性偏差 | critic 越不准偏差越大;是 TD / actor-critic / GAE() 的偏差主源(模块 04/05) |
| 折扣 | (a) 优化折扣回报、而常在意平均/总回报 → 系统性短视;(b) 标准实现丢掉状态分布上的 权重(用 而非折扣占用度),严格说不是任何目标的真梯度 | 越小越短视;(b) 是”几乎人人默认却真实存在”的偏差(Nota & Thomas 2020) |
| off-policy / 分布不匹配 | 用 代 :不校正就有偏;用重要性采样校正后,又被截断/裁剪(PPO clip、V-trace)为压方差重新引入偏差 | 新旧策略越远越严重(§9、式(3.24′)) |
| 函数逼近 | 状态 baseline 的逼近误差本身通常不改变 score-function 梯度期望;偏差主要来自用 approximate /TD/GAE 自举去替代真实回报。compatible function approximation 只在特定 on-policy、线性优势特征与精确投影条件下,保证用近似优势得到正确策略梯度 | 不要把“baseline 不准”与“自举目标有偏”混为一谈;一般深网不满足 compatible 条件 |
| 代理目标 / 一阶近似 | PPO/TRPO 优化的代理目标用旧分布构造,仅在新旧策略接近时一阶准确 | 偏离越大偏差越大(二阶 KL,式(6.10)) |
| 有限样本耦合 / 归一化 | 若 baseline 由同一批动作/回报拟合并回代,有限样本相关性可能破坏条件正交;批内中心化、除以样本标准差也不再是固定的状态 baseline | 是否有偏取决于实现与条件化方式;可用 leave-one-out / 交叉拟合降低耦合 |
图 1′:偏差账单。朴素 REINFORCE 无偏;每叠加一项”降方差 / 可处理性”手段(自举、调小 γ、off-policy 裁剪、函数逼近),就记上一笔偏差——与图 1(方差逐步下降)恰好互为镜像。
本质 Insight:偏差账单 = 降方差的账单
把 §7 的方差来源表与这里的偏差来源表并排看,可以看到常见的取舍:近似 critic、自举、off-policy 裁剪与代理目标常以偏差换取更低方差或更高数据复用率。但这不是无条件定律;精确值函数、完整重要性校正或 compatible 条件下可以保持无偏。具体结论取决于估计器及其假设。
8. 方差随时域 T 的形式化增长
第 7 节的第三个方差来源”蒙特卡洛回报本身”最顽固,而且它随时域 迅速变大。这里把”为什么长时域任务里 PG 尤其难训”量化清楚。核心估计量(reward-to-go 版,即式 (3.10) 的采样形式)是
推导:为什么 随 增长(量级到 )
简化假设(为看清量级)
- 取 ;各步奖励 近似独立、方差同为 。
- 各步得分向量某分量的二阶矩以 为尺度;为做量级估算,忽略不同时间梯度项之间的协方差,并假设得分与回报尺度没有随 额外增长。真实 MDP 一般不满足独立性。
第 1 步(reward-to-go 的方差随剩余步数线性增长)。 是 个独立项之和:
越靠前的时刻 ,要”预测”的未来越长,回报越不确定——这是长时域方差的物理根源。
第 2 步(把 个梯度项叠加)。 注意 的均值一般不为零——它正是策略梯度信号;“score 的边缘期望为零”不能在与动作相关的 相乘后继续套用。这里额外作量级近似:忽略跨时协方差,并用 表示每项方差的主尺度,于是
第 3 步(朴素版更糟)。 不用 reward-to-go、把整条轨迹总回报 (方差 )乘到每个得分项上,则 且常数更大——这正是”因果性 reward-to-go”值得做的量化理由。
结论: 在上述独立/弱相关、方差同尺度的玩具假设下得到 。真实 MDP 的奖励、状态与 score 强相关,协方差可让增长更慢或更快,所以这不是普适定理;稳健结论只是长时程会增加信用分配与方差控制难度,具体幂次需按问题分析。
代入具体数字(,用 reward-to-go 版 )感受增速:
| 时域 | 相对 放大 | |
|---|---|---|
在该玩具模型里,时域涨 倍,方差约涨 倍。下表是对假设的数值演示,不应当作所有 RL 环境的经验定律。
图 2:在本节玩具假设下,单条轨迹的策略梯度估计方差随时域约二次增长;真实任务的增长率取决于奖励、状态与 score 的相关性。
加入 batch size B:方差随 T 与 B 的联合行为
式 (3.21) 是单条轨迹的方差。实践中每步更新用的是 条独立轨迹的批平均估计 。因各条 i.i.d.、均值都是真梯度,批平均不改变无偏性,而方差按 缩小:
于是方差由时域 与批量 共同决定,呈 。几条直接推论:
- 在本节玩具近似下,若其他量不变,要维持同样方差需 ;真实任务不应机械按此公式配 batch。
- 标准误 :时域翻倍要 批量才维持同样的 SE;想把 SE 再减半,也要 批量。
- 若再额外假设梯度信号尺度不随 变化,则本节玩具模型下可把方差倒数读作与 同阶;这不是通用信噪比定律。
把它数字化:要求把方差压回 单样本的水平(),各时域所需的批量 :
| 时域 | 单样本方差 | 压回 所需 |
|---|---|---|
前沿:大 batch 对估计方差的作用
增大独立样本数会按 降低批平均方差;GRPO 则用同题组内标准化奖励构造优势并省去 value critic [1]。实际批量规模与稳定性依赖具体配置,不能由本节玩具模型推出。
批判性追问:那”无脑加大 B”能一劳永逸吗?
不能。 意味着算力成本随时域二次增长——对超长时程(多轮 agent、长 CoT)不可持续。而且加大 只是把同一份”粗信用分配”摊得更平(降方差),并没有让信用分配本身更准(不改期望、不减偏差)。所以真正的杠杆仍是降低分子常数与有效时域:baseline/优势扣掉公共项、critic/GAE(模块 04)把 的方差换成”有偏但低方差”的自举估计。大 batch 与更好的信用分配是互补的,不是互相替代。
前沿实践:无 critic 的组相对估计
用 条独立样本求平均时,方差按 下降。GRPO 对同题组奖励做标准化;RLOO 对每个样本减去其余样本的均值。二者都可省去单独的 critic,但有限组效应、归一化与样本相关性需要单独分析 [1] [2]。详见模块 13。
9. 重要性采样与 off-policy PG
朴素策略梯度是严格 on-policy 的:期望对当前策略分布求。一旦更新参数,旧数据就来自旧分布,不能直接用。重要性采样(importance sampling, IS) 提供了复用旧数据的桥梁。
用行为策略 采的数据估计目标策略 的目标:
举例
你想估”自己”会给一桌菜打几分,手头却只有”室友口味”的评分,于是用”我和室友的偏好比值”去换算。单换算一道菜还凑合;可一整桌 道菜要把每道的比值连乘起来估”整桌合我口味的程度”,只要每道稍有偏差,连乘就越滚越离谱——最后往往是某一桌换算权重奇大、其余几乎为 ,成百上千次询问里真正算数的只剩一两次。这就是 IS 权重”均值仍为 、方差却随 指数爆炸”的直觉:越问越不准。也因此,只有当”我的口味 室友口味”(新旧策略足够接近)时才敢用——这正是下面 PPO 要”限步/裁剪”的由来。
推导:IS 比值中动态再次消失 + 方差为何爆炸
关键假设
覆盖性:凡 处 (否则比值无定义/无穷)。
第 1 步(比值里动态约掉)。 ,。相除时 与所有 完全相同,约掉,只剩策略比值连乘。——又一次,动态自动消失。
第 2 步(对 θ 求梯度)。 类似 REINFORCE 得到 off-policy 策略梯度,权重前多了 IS 比值 。
第 3 步(方差爆炸)。 比值是 个因子的连乘。若每步比值均值为 1 但有波动,连乘的方差随 指数增长——大部分权重趋近 0,少数轨迹权重巨大,估计极不稳定。
局限/对策: 完整轨迹 IS 在覆盖成立时可保持无偏,但策略相差较大时方差常难以控制。TRPO/PPO 可视为受这一问题及稳定更新需求推动的方法;PPO 实际优化逐时间步概率比率的裁剪代理目标,而非完整轨迹 IS [5]。
推导:IS 权重方差为何随 指数爆炸(定量)
设定
记单步比值 。在行为分布下它是”无偏”的:。设每步方差 ,且各步近似独立。轨迹权重是连乘 。
第 1 步(均值仍为 1)。 独立性下 ——看起来”没问题”。
第 2 步(二阶矩连乘)。 单步二阶矩 。于是
第 3 步(方差指数增长)。
底数 ,方差随 指数级膨胀。均值恒为 1、方差却爆炸,意味着分布极度长尾:绝大多数轨迹权重趋于 0,极少数权重巨大。
数值感受(取 ,即每步比值仅有 10% 波动):
时域 天文数字 后果:有效样本数崩塌。 重要性采样的有效样本数 :当少数权重独大时, 从”样本总数”塌到”个位数”——花了成千上万条轨迹,实际只有几条在起作用,估计自然极不稳定。
图 3: 步比值连乘后,权重分布高度长尾——极少数轨迹几乎占满全部权重,有效样本数骤降。这就是 off-policy 策略梯度之难,也是 PPO 要”限步 / 裁剪”的根本动机。
本质 Insight:PPO 的裁剪从哪来?
完整轨迹 IS 的连乘权重可能产生很高方差。TRPO 用信赖域约束代理更新,PPO 用逐时间步概率比率构造裁剪代理目标 [5]。裁剪不等于完整轨迹 IS,也不保证全策略 KL 受限或估计无偏;它是控制更新幅度的实用代理。
前沿实践
GRPO 目标包含 token 级新旧策略比率、组内标准化优势与裁剪,还包括按 prompt 分组采样及参考策略 KL 等设计;仅凭“比率 × 组优势 × 裁剪”不足以完整定义 GRPO [1]。
深化:把”新旧策略接近”精确化——它到底是哪个环节的前提?
§9 反复出现”只有新旧策略足够接近才敢用 IS”。但”接近”到底为哪件事而必需?这里把它拆成互不相同的三个条件,避免混为一谈。先统一记号:记行为(旧)策略为 ,单步比值 ,整条轨迹权重 。所谓”接近”,精确地说就是逐步 (等价于 )。
无偏——只要”覆盖”,不需要接近。 只要 的支撑盖住 (凡 处 ),换元恒等式 就精确成立——这是代数恒等式,与两策略差多远毫无关系。哪怕 与 相去甚远,只要覆盖不破,IS 估计依然无偏。所以”接近”绝不是无偏的前提。
低方差 / 真能用——这里才需要接近。 无偏不等于可用:由 §9 式(3.24),()随 指数爆炸;只有当逐步 (即 很小)时这个方差才受控,有效样本数 才不至于塌到个位数。所以”接近”真正保证的是方差有限、样本没被浪费——是”能不能用”而非”偏不偏”。
代理目标可信——同样靠接近,且误差是二阶 KL。 从”整条轨迹 IS”(式(3.22))退到实用的单步 / 优势式 off-policy PG 时,会把 的状态占用 悄悄换成行为策略的 ,得到一个代理目标 。这一换只有在策略接近时才准,其误差是二阶小量:
这正是模块 06 式(6.9)/式(6.10) 给出的”代理下界 + 的余项”,也正是 TRPO/PPO 用 KL 信赖域 / 裁剪 硬性约束新旧策略距离的根本理由。
一句话结论:“新旧策略接近”不是无偏的条件(无偏只要覆盖),而是”方差可控 + 代理目标可信”的条件。把这三件事分开,才不会误以为”步子迈大一点就有偏”,也不会以为”覆盖到了就万事大吉”。
批判性追问: 既然无偏只需覆盖,为何工程上还死守”接近”?因为在深度 RL 里,无偏但方差爆炸的估计等同于不可用——ESS 一塌,梯度几乎全由一两条轨迹决定,其危害与”有偏”无异;何况实用算法早已不是整条轨迹 IS,而是依赖 的代理目标,那一步确实会引入偏差。于是”接近”从”理论上非必需”变成”实践中不可或缺”——这也解释了模块 06 为何把它写进优化约束,而非仅当作经验建议。
10. 策略梯度 = 加权最大似然
回到 REINFORCE(式 (3.9) 的优势加权版):。把它和监督学习(最大似然/BC) 对比:
本质 Insight:一句话统一 BC 与 PG
行为克隆是”无差别地提高所有专家动作的对数似然”;策略梯度是”按优势 加权地提高自己采样动作的对数似然”——好动作权重为正(拉高概率),坏动作权重为负(压低概率)。策略梯度 = 用回报/优势重新加权的最大似然。这也解释了模块 01 的承接:BC 是 PG 在”所有权重=1、数据来自专家”时的特例;RL 通过奖励赋予不同权重,从而能超越示范。
举例
把它想成”教模型写作文”。行为克隆像把范文一字不改背下来——每篇范文的写法都被同等地调高概率(权重恒为 )。策略梯度则像按分数改作文:一篇得 分(优势为正),就把它用的开头、论证方式的概率往上调;一篇得 分(优势为负),就把那类写法往下压;分越高调得越狠(权重 )。于是模型不再是”照抄范文”,而是”多写得高分的那类、少写得低分的那类”——这也是它最终能写出比任何单篇范文都好的文章的原因。
图 4:优势为正的动作被”拉高”概率,为负的被”压低”,权重大小正比于优势 。这就是加权最大似然的几何直觉。
方法溯源:动机 · 启发 · 局限
把本讲的方法按”为什么被提出 → 受什么启发 → 关键局限如何引出下一步”串起来。这条线的主轴只有一个矛盾:如何无偏地估计策略梯度,同时把它那致命的高方差压下去——每一味”良药”都是对上一步遗留方差的针对性回应。
| 方法 / 代表作(年代) | 要解决什么问题(动机) | 受什么启发 / 技术脉络 | 关键局限(→ 引出谁) |
|---|---|---|---|
| REINFORCE Williams 1992 | 在不知道环境动态时,也能对期望回报 求梯度 | 似然比 / 得分函数估计器(log-derivative trick);血脉上承随机逼近(Robbins–Monro 1951) | 无偏但方差极大(整段回报乘在 log 概率上)(→ 因果性 / baseline / critic) |
| 策略梯度定理 Sutton et al. 2000 | 为函数逼近下的策略梯度给出严格、通用的形式 | 把梯度写成对(状态占用度 ,)的期望 | 仍需估计 (→ actor-critic,模块 04) |
| 因果性 / reward-to-go | 时刻动作不该为过去的奖励负责,删无关项以降方差 | 因果律 + 得分函数期望为零 这条恒等式 | 只除掉”过去奖励”这块方差,未来回报仍高方差(→ baseline / critic) |
| Baseline | 回报的绝对尺度淹没”相对好坏”信号 | 蒙特卡洛的控制变量(control variates) 方差缩减 | 常数基线非最优;最优 逐参数不同、难算(→ 基线 / 优势) |
| 重要性采样 · off-policy PG | 复用旧策略采的数据,缓解 on-policy 用完即弃 | 蒙特卡洛重要性采样 | 权重连乘方差指数爆炸 (→ TRPO / PPO 限步,模块 06) |
| PG = 加权最大似然 | 统一理解 BC 与 RL、以及”为何能超越示范” | 把 REINFORCE 看作以优势 加权的最大似然 | 权重(优势)本身要估计,好坏取决于前面所有降方差手段 |
演进故事线①:为什么要”不靠模型也能对期望回报求梯度”?
策略梯度的出发点是一个看似不可能的诉求:目标 是对一个依赖 的分布求的期望,而分布里还嵌着我们并不知道的环境动态 ——怎么求梯度?关键一招是 log-derivative trick(),它把 重新写回一个可采样的期望;展开 后,不含 的动态项 与初始分布求梯度后直接消失——于是”会玩就行,不必懂物理”。这条思路血脉上承 1950 年代的随机逼近(Robbins–Monro)与统计里的似然比估计器,Williams 1992 把它落成 REINFORCE。代价(也是局限)立刻显现:整条轨迹的回报被乘到每个 上,估计无偏但方差极大——本讲后面所有技巧都在对付这个敌人。
演进故事线②:高方差顽疾如何催生因果性与 baseline
REINFORCE 的高方差不是笼统的”噪声大”,而是可以拆成几个具体来源,每个都有对应的、几乎同源的解药。其一,权重里含了 时刻之前的奖励,但当前动作不可能影响过去——由因果性删掉它们,靠的是”与动作无关的量 × 得分函数,期望为零”这条恒等式,无偏且降方差。其二,回报的绝对尺度(比如全是 +1000)让好坏动作被同向推高、信号被淹没——减去一个只依赖状态的 baseline,用的正是蒙特卡洛里古老的控制变量方差缩减思想;而”用同一条恒等式证明减 baseline 不引入偏差”揭示它与因果性本质是同一定理的两次应用。顺着”最优 baseline 应逼近该状态的期望回报”这条线索, 让权重变成优势 ——但估计 又把我们推向了需要一个 critic 的 actor-critic(模块 04)。近似 critic 是否带来偏差取决于估计方式与条件;精确值函数和 compatible 条件是无偏的特殊情形 [3]。
11. 小结与要点
- REINFORCE:,由 log-derivative trick 得到,无偏但高方差。
- 无需环境模型:动态 不含 ,求梯度后消失;只需能采样。
- 因果性/reward-to-go:删掉过去奖励,无偏降方差(靠得分函数期望为零)。
- baseline:减去任意 (不依赖动作)不引入偏差;合适的选择可降方差。对式 (3.2) 的目标,梯度项保留外层 ;最优 ,实践常用 → 优势。
- 方差三来源:回报尺度、无关过去奖励、蒙特卡洛回报本身;前两者可无偏消除,最后一个需 critic(模块 04)。
- 方差与时域、批量:在第 8 节的独立/弱相关玩具假设下,单样本方差约为 ;独立 batch 平均使方差按 下降。真实任务不应直接套用该幂次。
- 重要性采样可 off-policy 复用数据,但权重连乘方差指数爆炸()→ TRPO/PPO 限制步长(模块 06)。
- PG = 加权最大似然:BC 是权重恒为 1 的特例,RL 用优势加权从而能超越专家。
承上启下
我们已把方差压到”只剩蒙特卡洛回报本身”这一项。下一步自然是:用一个学到的 critic( 或 )来估计回报;近似与自举通常以一定偏差换取方差下降,具体取决于估计条件。这就是 actor-critic 与 GAE——模块 04。
参考来源
- [1]Pushing the Limits of Mathematical Reasoning in Open Language Models(在新窗口打开)↩
- [2]Back to Basics — Revisiting REINFORCE Style Optimization for Learning from Human Feedback in LLMs(在新窗口打开)↩
- [3]Policy Gradient Methods for Reinforcement Learning with Function Approximation(在新窗口打开)↩
- [4]Is the Policy Gradient a Gradient?(在新窗口打开)↩
- [5]Proximal Policy Optimization Algorithms(在新窗口打开)↩
- [6]CS 285: Deep Reinforcement Learning(UC Berkeley)(在新窗口打开)