【文献阅读】Proximal Policy Optimization Algorithms

Author: John Schulman


原文摘要

我们提出了一种新的强化学习的 策略梯度方法,该方法在 与环境互动中进行采样使用随机梯度提升算法优化“surrogate”目标函数 之间交替进行。然而,标准的策略梯度方法对每个数据采样执行一次梯度更新。对此,我们提出一种新的目标方程,允许进行多次小批量的更新。我们称此方法为 Proximal Policy Optimization(PPO),它具有 Trust Region Policy Optimiziation(TRPO)的许多优点,同时更易于实现、具有更优的 sample complexity。我们在一系列基准任务上测试 PPO,包括模拟机器人运动和玩 Atari 游戏。能够发现,PPO 优于其他在线策略梯度方法,同时总体上在 sample complexity、simplicity 和 wall-time 之间取得了良好的平衡。


1 研究的动机是什么?

典型的基于 policy gradient 的方法 TRPO(Trust Region Policy Optimization) 引入了 KL penalty 的限制,确保了策略 \theta\theta' 的差异不能过大。其约束在目标方程外,虽然保证了性能(稳定性和可靠性),但是实现起来很复杂。本文提出的 PPO 方法,其中一种实现形式是 将 KL penalty 放入目标方程并对 penalty 的系数 \beta 实现可适配性(动态修改),另一种实现形式是使用 带有 “clipped probability ratios” 的目标方程。PPO 方法在保证性能与 TRPO 相近的同时,更易于实现。


2 主要解决了什么问题?

本文提出 PPO 方法的两种实现形式与公式推导,一种实现形式是 将 KL penalty 放入目标方程并对 penalty 的系数 \beta 实现可适配性(动态修改),另一种实现形式是使用 带有 “clipped probability ratios” 的目标方程


3 所提方法是什么?

第一,针对 TRPO 算法难以实现问题,本文提出 PPO 的第一种实现方式—— Clipped Surrogate Objective。该目标函数使用 clip 函数进行裁剪,从而替代 TRPO 的约束条件 KL。

clip 函数的含义为:若 r(\theta) > 1+ eplison,则输出 1+ eplison;若 r(\theta) < 1- eplison,则输出 1- eplison,其他情况则输出 r(\theta)。eplison 是目标函数的超参数。目标函数中的取min是为了取最低边界(最悲观的情况),对特别大的梯度更新进行惩罚

下图展示为何使用 clip 函数能够保证更新的边界。

第二,本文提出了一种可以替代上述 Clipped Surrogate Objective 的方法—— Adaptive KL Penalty Coefficient,即在 TRPO 算法上直接进行改进。相比于 TRPO 采用固定的 penalty 参数 \beta,本文提出使用 adaptive penalty coefficient。每次在更新 policy 的同时,都要对 KL penalty 的参数进行调整,如果两个 policy 过于相似(KL过小)则减少惩罚(降低 \beta);如果两个 policy 过于差异,则增大惩罚(增加 \beta)。  

第三,本文提出了 PPO 方法的迭代流程,并给出伪代码。


4 关键结果以及结论是什么?

第一,为了比较不同代理目标函数的优化性能,本文在使用 MuJoCo 物理引擎在 OpenAI Gym 上的7种不同任务(环境)中测试,并使用10000步的训练步数。

本文通过计算最后 100 episodes 的平均 total reward 对算法每一次运行进行评分,同时对每个任务(环境)进行平移和缩放,使得随即策略的得分为0,最优策略的得分为1。每个算法运行21次并生成得分。最终得到表格如下:

第二,本文将 PPOtrust region policy optimization(TRPO)cross-entropy method(CEM)vanilla policy gradient with adaptive stepsizeA2CA2C with trust region 在连续控制条件中进行比较,比较结果是 PPO 均优于其余方法。


5 创新点在哪里?

本文主要有两个创新点。

第一,本文对 TRPO 的目标函数进行改进,通过引入 KL penalty 系数将有约束的优化问题转化为无约束优化问题,并提出 penalty 系数应该具有适配性,允许该系数在更新 policy 的同时进行动态调整。在防止过大的梯度更新的同时也允许策略的差异性。

第二,本文提出了带有 clip 函数的目标方程 Clipped Surrogate Objective,也能起到防止过大梯度更新的作用,同时在实验效果上均优于其他方法。


6 综合评价如何?

PPO 使用多次随机梯度上升来执行每个策略的更新,它具有与 TRPO 相同的稳定性和可靠性,同时更易于实现,适用于更通用的配置。

猜你喜欢

转载自blog.csdn.net/weixin_41960890/article/details/120693516