TRPO(2017):稳定策略优化的理论基础

TRPO(2017):稳定策略优化的理论基础

导出时间:2025/12/19 13:30:01



一个完整的故事:

👉《教 AI 学走路,但每一步都不能迈太大》

你可以把 TRPO 理解为:

“给策略梯度加了一条‘安全带’。”



一、研究背景和动机

👉 为什么“普通策略梯度”不靠谱?

🎯 场景设定:教一个人学走钢丝

你现在在教一个人走钢丝:
  • 他已经会一点点走了
  • 你想让他走得更稳、更快
于是你告诉他:

“哪边感觉好,就往那边多走一点。”

这听起来就是策略梯度

❌ 问题来了:步子迈太大,会直接掉下去

普通策略梯度的问题是:
  • 更新是“朝着更好的方向”
  • 但不知道这一步迈得有多大
结果就是:
  • 有时候进步
  • 有时候一脚踏空,直接回到解放前
论文在一开始就明确指出这一现实问题

实际中,策略梯度方法经常因为更新过猛而导致性能急剧下降


💥 一个新手常见惨案

  • 第 100 次训练: 策略已经能走 10 米
  • 第 101 次更新: 参数一变
  • 结果: 连 1 米都走不了了
👉 不是方向错,而是“走太快”

🎯 TRPO 的核心动机(一句话)

“我不反对你往好的方向走,但你每一步,不能走出‘安全范围’。”

这就是 Trust Region(信任域) 的含义。

二、模型网络结构(其实非常简单)

👉 TRPO 本质上是一个“带安全规则的策略网络”

👤 角色对应表

TRPO 组件
故事里的角色
Policy Network
走钢丝的人
Value / Advantage
教练的评分
KL 约束
安全绳 / 护栏

🧠 网络长什么样?

TRPO 并不特殊
  • 输入:状态(如位置、速度、图像)
  • 输出:动作概率分布(随机策略)
image.png
论文里的结构示意图(如第 6 页)显示
  • 连续控制: 👉 全连接网络 + 高斯策略
  • Atari: 👉 CNN + softmax
👉 TRPO 不靠网络创新,靠“更新规则”取胜

三、TRPO 是如何训练的(核心故事)


🟢 第一步:先照旧“试着走”

就像普通策略梯度一样:
  1. 用当前策略去环境里跑
  2. 采集一堆轨迹(怎么走、得了多少分)
  3. 教练给每个动作打分:
    • “这一步好不好?”

🟢 第二步:算“如果我稍微改一下,会不会更好?”

教练开始分析:

“如果你在这些状态下,把动作概率稍微往这边挪一点,总体表现应该会更好。”

这一步就是:
  • 计算 优势(advantage)
  • 得到“改进方向”
到这里为止,和普通策略梯度完全一样

🚨 第三步:TRPO 的灵魂出现了 —— 安全检查

在真正更新之前,TRPO 会问一个致命问题

“新策略和旧策略,差得远不远?”

这个“差得远不远”不是凭感觉,而是用:

KL 散度(行为变化幅度)

你可以把它理解为:

“新走法 vs 老走法,有多不像?”


🛑 TRPO 的硬性规定(非常重要)

只要变化超过安全阈值:这一步更新就不允许。

换成故事语言就是:
  • 你可以改动作习惯
  • 但走姿不能突然完全变样

🟢 第四步:在“安全范围内”,尽量改得更好

TRPO 真正在做的是:

在“变化不太大”的前提下,找一个“进步最大的更新”。

这就像:
  • 护栏已经拉好
  • 你在护栏里怎么走都行
  • 但不能跨栏

🧠 一个关键直觉(你现在一定要记住)

TRPO 不保证“走得最快”,但几乎保证“不会突然摔死”。

论文的核心理论结论正是这一点

在满足信任域约束的情况下,策略更新具有单调改进趋势


四、TRPO 的缺陷(为什么后来被 PPO 替代)

TRPO 很优雅,但它不是终点

❌ 缺陷 1:实现非常复杂

TRPO 在工程上很“重”:
  • 需要:
    • 二阶信息(Fisher Matrix)
    • 共轭梯度
    • 线搜索
  • 调试成本高
  • 写代码容易写炸
👉 新手几乎不可能从零实现

❌ 缺陷 2:计算开销大,训练慢

相比 PPO:
  • TRPO:
    • 一次更新要解一个约束优化问题
  • PPO:
    • 普通 SGD 就行
所以后来大家会说:

“TRPO 是理论典范,PPO 是工程赢家。”


❌ 缺陷 3:依赖较精确的优势估计

如果:
  • Advantage 估得不好
  • 轨迹噪声大
那么:
  • “理论单调改进”在实践中也会被削弱

五、一句话帮你“定型 TRPO”

如果你只记住一句话,请记住这一句:

TRPO 是第一个认真解决“策略更新不能太激进”这个问题的算法,它用‘信任域’保证稳定性,代价是复杂和笨重。


六、你现在在 Deep RL 历史中的位置

你已经走到这里了:
  • DQN: 👉 离散动作,值函数革命
  • DDPG: 👉 连续动作,Actor–Critic
  • TRPO: 👉 稳定策略更新的理论基石
  • PPO(下一步): 👉 把 TRPO “简化成人能用的版本”