信赖域方法与 TRPO
本文基于模型知识整理(生成时未联网核对),关键结论建议对照 Schulman et al. 2015(TRPO)复核。
一句话定义
朴素策略梯度没有"步子迈大"的保护——一次糟糕的更新可以把策略推离数据分布,性能雪崩且难恢复。TRPO 用信赖域思想把更新约束在旧策略的 KL 邻域内:最大化替代优势目标 s.t. $\bar{D}_{KL}(\pi_{old}\|\pi_\theta) \le \delta$,并给出理论保证的替代目标(基于重要性采样与平均 KL 二阶近似)。
为什么重要
TRPO(2015)是"策略更新稳定性"理论化的里程碑:它证明了一个带性能改进下界的代理目标,首次让深度策略梯度可以放心用大网络大批量训练。它的理论推导(surrogate、IS、KL 二阶、自然梯度)是 PPO(kp-017)的直接前身——PPO 本质上是"把 TRPO 的硬约束换成一次一阶惩罚"的工程化简化。
前置知识
kp-013(策略梯度)、kp-009(重要性采样)、KL 散度、二阶泰勒展开。
核心概念
- 替代目标(surrogate):$L_{\pi_{old}}(\theta) = \mathbb{E}_{s\sim d^{\pi_{old}}, a\sim\pi_{old}}\left[\frac{\pi_\theta(a|s)}{\pi_{old}(a|s)} A^{\pi_{old}}(s,a)\right]$——用旧数据估计新策略的表现(IS 校正,kp-009)。
- 单调改进定理:在 $\bar D_{KL}^{\max}(\pi_{old}, \pi_\theta) \le \delta$ 内最大化 surrogate,可保证真实性能单调不降——理论的安全带。
- 平均 KL 的一阶恒零问题:$\mathbb{E}_{s\sim\pi_{old}}[\nabla_\theta D_{KL}] = 0$(一阶项消失),所以约束用二阶展开:$KL \approx \Delta\theta^T F \Delta\theta$,$F$ 是 Fisher 信息矩阵。
- 共轭梯度求解:$\max_\Delta \Delta^T g \ \text{s.t.}\ \Delta^T F\Delta \le \delta$ 的解在方向 $F^{-1}g$ 上——用共轭梯度免于显式求逆(只需 Hessian-向量积),再线搜索满足原约束与改进。
- 自然梯度视角:TRPO 的更新方向 = 以 KL 度量的"最速下降"——对策略空间(而非参数空间)测量距离,参数化不变性由此而来。
原理与机制
为什么朴素更新会崩:策略一变,数据分布($d^\pi$)全变——离策略(kp-009)程度随步长增长;优势估计对新分布失效,负迁移循环启动。信赖域把"新旧策略差距"限制住, surrogate 的 IS 校正才近似有效——这是 on-policy 方法"小步慢走"的理论化。
为什么用 KL 而不是参数距离:两个参数差异大但行为相同的策略(过参数化网络)在参数空间是"远"的;KL 度量的是行为分布差异——约束应施加在行为上。二阶展开中的 Fisher 矩阵正是把参数欧氏距离换算成分布距离的度规张量。
TRPO 的工程代价:共轭梯度 + 线搜索 + 二阶信息,实现复杂、难与小批量自适应方法组合——这正是 PPO 出现的动机:把约束内化为 clip 的一阶惩罚,牺牲一点理论严谨性换十倍工程简单(kp-017)。
公式或模型
- TRPO 主问题:$\max_\theta\ L_{\pi_{old}}(\theta)\quad \text{s.t.}\quad \mathbb{E}_{s}[KL(\pi_{old}(\cdot|s)\|\pi_\theta(\cdot|s))] \le \delta$
- KL 二阶近似:$KL \approx \frac{1}{2}\Delta\theta^T F \Delta\theta$,$F = \mathbb{E}_{s,a}[\nabla\log\pi\,\nabla\log\pi^\top]$(Fisher)
- 解:$\Delta\theta^* = \sqrt{\frac{2\delta}{g^T F^{-1} g}}\, F^{-1} g$(自然梯度方向缩放到边界)
图示
π_old ●────信赖域(KL≤δ)────○ π_θ
在圈内最大化 surrogate
⇒ 单调改进有理论下界
朴素PG: 一步迈出域 → surrogate 失效 → 性能雪崩
直观类比
下山时浓雾(性能只能采样评估):朴素梯度=闭眼大步冲,容易一步踏空;TRPO=以脚下为圆心画个"看得比较准"的圆(KL 邻域),只在圆内挑最陡方向——每步都保证不更糟。PPO 则是"画圆偷懒版":直接把迈出去超过圆边的那部分收益剪掉。
实例或案例
- MuJoCo 连续控制:TRPO(2015)在大量机器人任务上稳定超越当时价值方法,确立策略方法在连续控制的主流地位。
- 实践遗产:
conjugate_gradient + fisher_vector_product的参考实现仍是理解二阶 RL 的最佳教材;后续少用 TRPO 本体,多读其理论。
常见误区
- 误区一:"TRPO 用的是总变差/KL 一阶约束"。KL 一阶恒为零,必须二阶(Fisher);这是推导中最容易搞错的一环。
- 误区二:"clip 型 PPO 与 TRPO 等价"。不严格等价:clip 不直接惩罚大 KL,无单调改进保证;但实践中两者的更新尺度行为接近。
- 误区三:"信赖域越大学得越快"。δ 大则 surrogate 失真(IS 比率爆炸),改进保证失效;δ 通常取 0.01 量级——小步是理论的一部分。
与其他知识点的关系
- kp-009:surrogate 的合法性来自 IS,比率爆炸正是离策略风险。
- kp-013:朴素策略梯度无步长保护是 TRPO 的动机。
- kp-017:PPO 是其一阶工程化。
- kp-012:信赖域也间接压制了离策略一角的三角风险。
自测题
- 写出 TRPO 的替代目标与约束,说明 IS 项的含义。
答:$\max \mathbb{E}_{old}[\frac{\pi_\theta}{\pi_{old}}A^{old}]$ s.t. $\bar D_{KL}\le\delta$;比率把旧数据分布校正到新策略下(IS,kp-009)。
- 为什么 KL 约束要取二阶展开?
答:对 θ 求导时 KL 的一阶项在期望下恒为零($\mathbb{E}\nabla KL=0$),只有二阶(Fisher 矩阵项)非零,约束信息全在二阶。
- TRPO 相比朴素策略梯度买到什么、付出什么?
答:买到单调改进的理论安全带与稳定的大批量训练;付出共轭梯度/二阶信息的实现复杂度——PPO 以一阶近似继承了大部分收益。
延伸阅读
- Schulman 等, "Trust Region Policy Optimization"(ICML 2015)。
- Kakade & Langford, "Approximately Optimal Approximate RL"(CPI,单调改进思想的源头)。
- OpenAI Spinning Up "TRPO" 章节(伪代码齐全)。