TRPO-trust region policy optimization论文讲解

目录

1.Preliminaries

[1. 把新策略和旧策略的性能差,转化为可计算的、和优势函数相关的形式:](#1. 把新策略和旧策略的性能差,转化为可计算的、和优势函数相关的形式:)

[2. 消去了时间步 t,把性能差转化为「状态访问频率 × 状态 s 下新策略的期望优势」的求和。](#2. 消去了时间步 t,把性能差转化为「状态访问频率 × 状态 s 下新策略的期望优势」的求和。)

[3. 结论:策略性能提升的充分条件,也是精确策略迭代(选能提升性能的理论依据。](#3. 结论:策略性能提升的充分条件,也是精确策略迭代(选能提升性能的理论依据。)

[4. 直面优化难题 ------ 和的耦合](#4. 直面优化难题 —— 和的耦合)

[5. 引入局部近似目标------ 解耦核心](#5. 引入局部近似目标—— 解耦核心)

[6. 用保守策略迭代解决「大步长不稳定」问题](#6. 用保守策略迭代解决「大步长不稳定」问题)

总结:

2.通用随机策略的单调性提升保证

[3.Optimization of Parameterized Policies](#3.Optimization of Parameterized Policies)

[4.Sample-Based Estimation of the Objective and Constraint](#4.Sample-Based Estimation of the Objective and Constraint)

[5.1 Single Path](#5.1 Single Path)

[5.2 Vine](#5.2 Vine)

为什么藤蔓采样的方差更小?

[6 实用算法](#6 实用算法)

[7 与已有研究的关联](#7 与已有研究的关联)

[8. 实验](#8. 实验)

[8.1 仿真机器人运动控制](#8.1 仿真机器人运动控制)

[8.2 基于图像输入的游戏控制](#8.2 基于图像输入的游戏控制)

总结:


1.Preliminaries

设策略表示一个随机策略 代表它的期望折扣累计奖励:

标准定义:state-action value function , value function , advantage function

1. 把新策略和旧策略的性能差,转化为可计算的、和优势函数相关的形式:

存在一个实用恒等式 ,可将另一个策略的期望回报,通过相对于策略的优势函数在各时间步的累积值表示

2. 消去了时间步 t,把性能差转化为「状态访问频率 × 状态 s 下新策略的期望优势」的求和

进一步可以将 重写,通过sum over states 代替 sum over timesteps:

3. 结论:策略性能提升的充分条件 ,也是精确策略迭代(选能提升性能的理论依据。

该式表明:任意策略更新 ,若在每一个状态 s 下的期望优势均非负,即

那么策略性能必然会提升;若所有状态的期望优势均为 0,则性能保持不变。

这一结论可推导得到经典的精确策略迭代 相关结论:精确策略迭代采用确定性策略 完成策略更新。当至少存在一个状态 - 动作对满足优势值为正状态访问概率非零 时,策略性能会得到提升;反之,算法已收敛至最优策略

然而在近似设定下,由于估计误差与近似误差的存在,通常难以避免出现部分状态 s 满足期望优势为负的情况,即

4. 直面优化难题 ------的耦合

式 (2) 虽然清晰,但无法直接用来优化新策略,原因是:

  • 新策略的状态访问频率不是独立的 ------ 它本身是新策略的函数(策略变了,智能体访问各个状态的频率也会变)。
  • 这种「策略既决定期望优势,又决定状态访问频率」的强耦合关系,导致直接优化式 (2) 的计算复杂度极高,甚至不可行。

5. 引入局部近似目标------ 解耦核心

为了打破上述耦合,论文做了一个关键近似用旧策略的状态访问频率代替新策略的 ,从而定义了近似性能目标

6. 用保守策略迭代解决「大步长不稳定」问题

式 (4) 只保证「小步长」下优化能提升,但实际应用中需要大步长更新策略,此时近似误差会累积,可能导致性能下降。

为此引入保守策略迭代 ,核心逻辑是「策略更新不激进,通过混合新旧策略保证性能下界」:

这个下界的意义是:新策略的真实性能不会比近似目标的值差太多 ,且差距可以通过控制越小,差距越小,更新越保守)。

总结:

在无法直接优化真实策略性能的情况下,找到一个可计算、可优化的近似目标,并通过保守更新的方式,确保策略性能的稳定提升 ------ 这也是策略梯度、PPO 等算法的理论基石之一(PPO 的裁剪目标本质就是对这一框架的近似和优化)。

2.通用随机策略的单调性提升保证

只要一个策略更新能提升不等式右侧的取值,就一定能提升策略的真实性能

目标:由于混合策略在实际场景中极少被采用,所以目标为将梯度提升下界从混合策略推广到通用随机策略。

做法:通过将系数替换为策略之间的距离度量,并对常数进行适当调整,式 (6) 中的策略提升下界可以从混合策略推广至通用随机策略

本文选用的距离度量为总变差散度 ,其定义为:对于离散概率分布 p 和 q,有

定义最大总变差散度 为:

总变差散度与 KL 散度之间的关系:

-- (9)

算法 1 给出了基于式 (9) 中策略提升下界的近似策略迭代方案。需要注意的是,本节中我们假设优势函数的值可以被精确估计。

由式 (9) 可推得:算法 1 能够生成一列性能单调不减的策略序列,即:

由此可知,在每次迭代中对进行最大化,即可保证策略的真实性能指标 单调不减。该算法属于极小化 - 极大化(MM)算法 (Hunter & Lange, 2004),这一类算法还包含期望最大化算法(EM 算法)。在 MM 算法的术语体系中,是一个代理函数 ,它满足两个条件:一是对真实性能起到下界估计作用,二是在当前策略处与 取值相等。

下一节中我们将提出的信任区域策略优化(TRPO)算法 ,是对算法 1 的一种近似。该算法采用 KL 散度约束替代惩罚项,从而能够更稳健地支持大步长策略更新。

3.Optimization of Parameterized Policies

在实际应用中,若采用理论推导给出的惩罚系数 C,策略更新的步长会非常小。一种稳健实现大步长更新的方法是:对新旧策略之间的 KL 散度施加约束,也即设置一个信任区域约束,对应的优化问题如下:

该优化问题要求状态空间内所有状态对应的 KL 散度均被限制在阈值内 。尽管这一约束的设计有理论依据支撑,但由于约束条件的数量过多,该问题在实际中并不易求解。因此,我们采用一种启发式近似方法,转而对平均 KL 散度进行约束,平均 KL 散度的定义为:

基于此,我们提出通过求解下述优化问题来完成策略更新:

实验结果同时表明,这种带约束的更新方式,与式 (11) 中基于最大 KL 散度约束的更新方式,在实际表现上是相近的。

4.Sample-Based Estimation of the Objective and Constraint

上一节提出了一个关于策略参数的约束优化问题(式 (12)),该问题在每一轮更新中对策略变化幅度施加约束 ,以此优化期望总奖励的估计值。本节将介绍如何通过蒙特卡洛模拟,对目标函数与约束条件进行近似估计。

将式 (12) 中的 展开,得到待求解的优化问题如下:

经过上述变换,式 (13) 的优化问题与下述以期望形式表示的优化问题完全等价:

接下来,我们只需将式中的期望替换为样本均值 ,并将价值函数 Q 替换为经验估计值,即可完成目标函数与约束条件的近似。

下文将介绍两种不同的估计方案:

  1. 第一种采样方案称为单轨迹采样,是策略梯度估计中常用的方法(Bartlett & Baxter, 2011),其核心是对智能体的独立轨迹进行采样;
  2. 第二种采样方案称为藤蔓采样 ,该方案需要先构造一个轨迹展开集合 ,再从集合内的每个状态出发执行多个动作。这种方法主要在策略迭代算法的相关研究中被探索(Lagoudakis & Parr, 2003; Gabillon et al., 2013)。

5.1 Single Path

在该估计流程中,我们通过如下方式采集状态序列:先从初始状态分布中采样得到初始状态,再基于策略模拟若干时间步,生成一条完整轨迹。此时,动作采样分布满足。对于轨迹中的每一个状态 - 动作对,我们将沿该轨迹计算未来奖励的折扣累积和,以此得到对应的状态 - 动作价值函数估计值

5.2 Vine

在该估计流程中,我们首先从初始状态分布中采样得到,并基于策略模拟生成若干条轨迹。随后,我们从这些轨迹中选取 N 个状态构成集合,该集合被称为轨迹展开集合 。对于轨迹展开集合中的每一个状态,我们依据分布采样得到 K 个动作,记为。只要采样分布 的支撑集包含策略分布的支撑集,就能保证最终得到的估计量是一致性估计量

在实际应用中我们发现:

  • 在机器人运动控制这类连续动作空间任务 中,采用的设置能取得良好效果;
  • 在雅达利游戏这类离散动作空间任务中,采用均匀分布作为采样分布 q 表现更优,这种方式有时还能实现更高效的探索。

对于在状态下采样得到的每一个动作,我们都以为起点执行一次轨迹展开 (即生成一条短轨迹),并据此估计得到价值函数的经验值。为了大幅降低不同轨迹展开之间价值函数估计值的方差,我们可以对这 K 次轨迹展开引入的随机噪声采用相同的随机数序列 ,这种方法被称为公共随机数法

小规模有限动作空间 中,我们可以对一个给定状态下的所有可能动作 都执行一次轨迹展开。此时,单个状态对目标函数的贡献可表示为:

大规模或连续动作空间 中,我们可以借助重要性采样 来构造代理目标函数的估计量。假设我们在状态下采样了 K 个动作,则单个状态对应的 自归一化估计量(Owen, 2013,第 9 章)可表示为:

这种自归一化估计量的优势在于,它无需为价值函数 Q 设置基准值 (需要注意的是,为价值函数 Q 加上一个常数项并不会改变其梯度)。对所有服从分布的状态计算 的均值,即可得到目标函数及其梯度的估计量。

相较于单轨迹采样,藤蔓采样的核心优势在于:在代理目标函数中价值函数样本数量相同的前提下,藤蔓采样对目标函数的局部估计方差要低得多,也就是说,藤蔓采样能更精准地估计优势函数的值。

藤蔓采样的缺点同样明显:为了得到这些优势函数估计值,藤蔓采样需要调用模拟器的次数要远多于单轨迹采样。此外,藤蔓采样要求从轨迹展开集合的每个状态出发生成多条轨迹,这就限制了该算法只能应用于系统可以重置到任意指定状态的场景。

为什么藤蔓采样的方差更小?

方差的本质是估计值围绕真实值的波动程度 。藤蔓采样方差更低,核心是**对关键状态做了 "重复、针对性探索",**同一个状态生成多个样本,相当于对真实 Q 值做了 "均值估计"。根据大数定律,均值的方差是单个样本方差的 \(1/K\)(K 是动作分支数),因此方差自然更小。

6 实用算法

本节将基于上述思想,提出两种实用的策略优化算法,分别采用上一节介绍的单轨迹采样藤蔓采样方案。

这两种算法均通过重复执行以下步骤完成策略迭代:

  1. 采用单轨迹采样或藤蔓采样流程,采集一组状态 - 动作对,并通过蒙特卡洛模拟得到它们对应的状态 - 动作价值函数(Q值)经验估计值;
  2. 对采集到的样本进行均值计算,构造式 (14) 中目标函数与约束条件的估计量;
  3. 近似求解该约束优化问题,以此更新策略的参数向量

在步骤 3 中,我们采用共轭梯度算法 结合线搜索的方式求解优化问题,这种方法的计算开销仅比直接计算梯度略高。详细实现细节可参见附录 C。

总结:

  1. 理论部分证明了「优化带有 KL 散度惩罚项的代理目标函数」的合理性,但理论推导得到的惩罚系数 C 会导致策略更新步长过小,难以满足实际需求,因此我们希望减小该惩罚系数。然而在实际操作中,很难稳健地选择合适的惩罚系数,因此我们采用硬约束替代惩罚项 ,引入参数(KL 散度的上限阈值)来限制策略更新幅度;
  2. 对最大 KL 散度施加约束,在数值优化和估计中难以实现,因此我们转而对平均 KL 散度 施加约束;

7 与已有研究的关联

8. 实验

我们设计实验旨在探究以下三个问题:

  1. 单轨迹采样与藤蔓采样两种流程的性能特征分别是什么?
  2. 信任区域策略优化(TRPO)与已有方法(如自然策略梯度)存在关联,但在算法设计上做了若干改进,其中最显著的是采用固定 KL 散度约束替代固定惩罚系数。这一改进会对算法性能产生怎样的影响?
  3. TRPO 能否用于解决具有挑战性的大规模问题 ?在处理大规模问题时,相较于其他方法,TRPO 在最终性能计算耗时样本复杂度三个维度上表现如何?

为回答前两个问题,我们对比了 TRPO 的单轨迹采样变体、藤蔓采样变体、若干控制变量变体,以及多款已有的策略优化算法的性能。

针对第三个问题,我们通过实验验证:无论是单轨迹采样还是藤蔓采样版本的 TRPO,都能从零开始训练出高性能的运动控制器------ 这被公认为一类难度较高的强化学习任务。同时我们还证明,当采用包含数万个参数的卷积神经网络,从图像输入中学习雅达利游戏的控制策略时,这两种算法也能取得具有竞争力的结果。

8.1 仿真机器人运动控制

我们基于 MuJoCo 仿真器(Todorov 等人,2012)开展机器人运动控制实验。实验所用的三款仿真机器人如图 2 所示。机器人的状态由广义位置广义速度构成,控制输入为关节力矩。欠驱动特性、高维度状态空间,以及由接触带来的非光滑动力学特性,使得这类任务极具挑战性。

本次评估包含以下三种机器人模型:

  1. **游水机器人(Swimmer)**状态空间维度为 10,奖励函数为前进速度的线性项与关节驱动力的二次惩罚项之和,表达式为 \(r(x,u)=v_x - 10^{-5}\|u\|^2\)。该机器人通过身体的波动运动实现前进。
  2. **跳跃机器人(Hopper)**状态空间维度为 12,奖励函数与游水机器人一致,额外为非终止状态设置了 + 1 的奖励值。当机器人摔倒时(通过躯干高度与角度的阈值判定),该轮实验终止。
  3. **行走机器人(Walker)**状态空间维度为 18。针对该机器人,我们额外添加了脚部触地冲击力的惩罚项,以此鼓励机器人采用平稳的行走步态,而非跳跃步态。

所有实验均设置 \(\delta=0.01\)。实验配置与参数的更多细节详见附录中的表 2。我们采用神经网络拟合策略函数,网络结构如图 3 所示,具体细节参见附录 D。为建立标准基线,我们还引入了经典的倒立摆平衡任务(基于 Barto 等人,1983 的设定),该任务采用含 6 个参数的线性策略,可通过无导数黑箱优化方法轻松求解。

对比实验包含以下算法:

  • 单轨迹采样 TRPO;
  • 藤蔓采样 TRPO;
  • 交叉熵方法(CEM):一种无梯度优化算法(Szita & Lörincz, 2006);
  • 协方差矩阵自适应进化策略(CMA):另一种无梯度优化算法(Hansen & Ostermeier, 1996);
  • 自然梯度算法:经典的自然策略梯度方法(Kakade, 2002),与单轨迹采样 TRPO 的区别在于,它采用固定惩罚系数(拉格朗日乘子)而非 KL 散度约束;
  • 经验费雪信息矩阵(Empirical FIM)算法:与单轨迹采样 TRPO 的唯一区别是,该算法通过梯度协方差矩阵估计费雪信息矩阵,而非解析估计;
  • 最大 KL 散度约束算法:仅在倒立摆任务上具备计算可行性,该算法采用式 (11) 中的最大 KL 散度约束替代平均 KL 散度约束,用于验证平均 KL 散度约束的近似效果。

实验参数详见附录 E。对于自然梯度算法,我们以 3 倍为步长因子遍历所有可能的步长值,并选取使最终性能最优的步长。

各算法在 5 次独立实验中的平均总奖励学习曲线如图 4 所示。单轨迹采样与藤蔓采样 TRPO 均能解决所有任务,并取得最优性能 。自然梯度算法在两个较简单的任务上表现良好,但无法生成能够前进的跳跃与行走步态。上述结果从实验角度证明:相较于固定惩罚系数的方式,通过 KL 散度约束来选择步长,能更稳健地实现快速且稳定的性能提升

CEM 与 CMA 均为无导数算法,因此其样本复杂度会随参数数量的增加而显著上升,在复杂任务上表现较差。最大 KL 散度约束算法的学习速度略慢于最终提出的 TRPO 算法,原因在于其约束形式更为严格,但整体结果表明:平均 KL 散度约束与理论上更严谨的最大 KL 散度约束具有相近的效果

TRPO 所学习到的策略对应的机器人运动视频可在项目官网查看:http://sites.google.com/site/trpopaper/

需要注意的是,TRPO 仅通过通用策略函数简单奖励函数,在极少先验知识的前提下,便自主学习到了所有运动步态。这与大多数现有的机器人运动控制学习方法形成鲜明对比 ------ 这些方法通常依赖人工设计的策略结构,显式编码平衡与迈步等运动先验(Tedrake 等人,2004;Geng 等人,2006;Wampler & Popović, 2009)。

8.2 基于图像输入的游戏控制

为评估 TRPO 在部分可观测任务复杂观测输入场景下的性能,我们开展了雅达利(Atari)游戏策略学习实验,直接以原始图像作为输入。这类游戏要求智能体学习多样化的行为策略,例如躲避子弹、用球拍击球等。除了高维度观测空间外,这些游戏的挑战性还体现在以下方面:

  • 延迟奖励:在《打砖块》(Breakout)或《太空侵略者》(Space Invaders)中,损失一条生命并不会立即产生惩罚;
  • 复杂行为序列:在《Q 伯特》(Q*bert)中,智能体需要操控角色在 21 个不同平台上跳跃;
  • 非平稳图像特征:在《耐力赛车》(Enduro)中,游戏背景会不断变化且存在闪烁现象。

我们在 Mnih 等人 (2013) 与 Guo 等人 (2014) 所用的 7 款相同游戏上测试算法性能,这些游戏均基于街机学习环境(Arcade Learning Environment, Bellemare 等人,2013)搭建。图像预处理流程遵循 Mnih 等人 (2013) 的方案,策略函数由卷积神经网络拟合(结构如图 3 所示):包含 2 个卷积层(16 个通道,步长为 2),后接 1 个含 20 个神经元的全连接层,网络总参数量为 33500。

藤蔓采样与单轨迹采样 TRPO 的实验结果汇总于表 1,同时纳入对比的还有人类专家水平,以及两种近期提出的算法:深度 Q 学习(Mnih 等人,2013)、结合蒙特卡洛树搜索与监督学习的 UCC-I 算法(Guo 等人,2014)。在 16 核计算机上,我们的算法完成 500 次迭代约需 30 小时(不同游戏耗时略有差异)。

尽管我们的方法仅在部分游戏上超越了现有算法,但在所有游戏中均能取得稳定且合理的分数 。与现有方法不同的是,我们的算法并非针对游戏任务专门设计 。能够将同一套策略搜索方法成功应用于差异显著的机器人运动控制与图像输入游戏控制两类任务,充分证明了 TRPO 算法的通用性

总结:

我们提出并分析了一种用于优化随机控制策略的信任区域方法 。我们证明:通过对策略期望回报的局部近似函数进行迭代优化,并引入 KL 散度惩罚项,所设计的算法能够实现策略性能的单调提升 ;同时,我们还验证了该方法的一种近似变体 ------ 将 KL 散度惩罚项替换为KL 散度硬约束------ 在一系列具有挑战性的策略学习任务上取得了优异的实证效果,性能优于现有方法。此外,本文的分析工作还提供了一个统一视角,将策略梯度与策略迭代两类方法整合其中,并证明这两类方法本质上是「带信任区域约束的目标函数优化算法」的两种特殊极限情况。

机器人运动控制领域 ,我们基于通用神经网络和信息量极简的奖励函数,在物理仿真环境中成功训练出了游水、行走与跳跃三种运动控制器。据我们所知,此前尚无研究能够凭借通用策略搜索方法非人工设计的通用策略表征 ,从零开始同时完成这三类任务的控制器学习。在游戏控制领域,我们训练了以原始图像为输入的卷积神经网络策略。该任务需要优化极高维度的策略模型,此前仅有两种方法公布了该任务上的成功结果。

将 KL 散度惩罚项替换为 KL 散度硬约束,核心解决了策略更新步长难以稳健控制的关键问题,具体体现在以下两点:

  1. 避免固定惩罚系数导致的步长困境 采用 KL 散度惩罚项时,目标函数形式为 ,其中惩罚系数 C 是需要人工调参的超参数。理论推导的 C 会导致步长过小,无法实现有效策略更新;而手动调小 C 又难以保证稳健性 ------ 步长过大容易引发策略性能断崖式下降,步长过小则会导致训练效率极低。换成硬约束 后,无需依赖惩罚系数,而是通过阈值 直接限制新旧策略的差异程度,确保每一步更新都在 "信任区域" 内,既保证了策略性能的单调提升,又能稳定地选择合适步长。
  2. 提升算法在大规模任务上的稳定性与效率惩罚项本质是 "软约束",允许策略在一定程度上突破 KL 散度限制(代价是目标函数值降低),在高维策略(如神经网络拟合的策略)优化中,这种灵活性容易导致优化过程震荡。硬约束则强制策略更新不能超出 KL 散度阈值,避免了策略在优化过程中偏离当前有效区域,大幅提升了算法在机器人运动控制、图像输入游戏等大规模复杂任务上的稳定性与收敛效率。

简单来说,这一替换让策略更新的 "步子"既不会迈得太大(保证稳健),也不会迈得太小(保证效率),无需繁琐的超参数调优就能实现稳定的性能提升。

相关推荐
NAGNIP13 小时前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
冬奇Lab14 小时前
一天一个开源项目(第36篇):EverMemOS - 跨 LLM 与平台的长时记忆 OS,让 Agent 会记忆更会推理
人工智能·开源·资讯
冬奇Lab14 小时前
OpenClaw 源码深度解析(一):Gateway——为什么需要一个"中枢"
人工智能·开源·源码阅读
AngelPP18 小时前
OpenClaw 架构深度解析:如何把 AI 助手搬到你的个人设备上
人工智能
宅小年18 小时前
Claude Code 换成了Kimi K2.5后,我再也回不去了
人工智能·ai编程·claude
九狼18 小时前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
ZFSS18 小时前
Kimi Chat Completion API 申请及使用
前端·人工智能
天翼云开发者社区19 小时前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈20 小时前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能
Ray Liang20 小时前
被低估的量化版模型,小身材也能干大事
人工智能·ai·ai助手·mindx