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 的限制,确保了策略 与 的差异不能过大。其约束在目标方程外,虽然保证了性能(稳定性和可靠性),但是实现起来很复杂。本文提出的 PPO 方法,其中一种实现形式是 将 KL penalty 放入目标方程并对 penalty 的系数 实现可适配性(动态修改),另一种实现形式是使用 带有 “clipped probability ratios” 的目标方程。PPO 方法在保证性能与 TRPO 相近的同时,更易于实现。
2 主要解决了什么问题?
本文提出 PPO 方法的两种实现形式与公式推导,一种实现形式是 将 KL penalty 放入目标方程并对 penalty 的系数 实现可适配性(动态修改),另一种实现形式是使用 带有 “clipped probability ratios” 的目标方程。
3 所提方法是什么?
第一,针对 TRPO 算法难以实现问题,本文提出 PPO 的第一种实现方式—— Clipped Surrogate Objective。该目标函数使用 clip 函数进行裁剪,从而替代 TRPO 的约束条件 KL。
clip 函数的含义为:若 r() > 1+ eplison,则输出 1+ eplison;若 r() < 1- eplison,则输出 1- eplison,其他情况则输出 r()。eplison 是目标函数的超参数。目标函数中的取min是为了取最低边界(最悲观的情况),对特别大的梯度更新进行惩罚。
下图展示为何使用 clip 函数能够保证更新的边界。
第二,本文提出了一种可以替代上述 Clipped Surrogate Objective 的方法—— Adaptive KL Penalty Coefficient,即在 TRPO 算法上直接进行改进。相比于 TRPO 采用固定的 penalty 参数 ,本文提出使用 adaptive penalty coefficient。每次在更新 policy 的同时,都要对 KL penalty 的参数进行调整,如果两个 policy 过于相似(KL过小)则减少惩罚(降低 );如果两个 policy 过于差异,则增大惩罚(增加 )。
第三,本文提出了 PPO 方法的迭代流程,并给出伪代码。
4 关键结果以及结论是什么?
第一,为了比较不同代理目标函数的优化性能,本文在使用 MuJoCo 物理引擎在 OpenAI Gym 上的7种不同任务(环境)中测试,并使用10000步的训练步数。
本文通过计算最后 100 episodes 的平均 total reward 对算法每一次运行进行评分,同时对每个任务(环境)进行平移和缩放,使得随即策略的得分为0,最优策略的得分为1。每个算法运行21次并生成得分。最终得到表格如下:
第二,本文将 PPO 与 trust region policy optimization(TRPO)、cross-entropy method(CEM)、vanilla policy gradient with adaptive stepsize、A2C、A2C with trust region 在连续控制条件中进行比较,比较结果是 PPO 均优于其余方法。
5 创新点在哪里?
本文主要有两个创新点。
第一,本文对 TRPO 的目标函数进行改进,通过引入 KL penalty 系数将有约束的优化问题转化为无约束优化问题,并提出 penalty 系数应该具有适配性,允许该系数在更新 policy 的同时进行动态调整。在防止过大的梯度更新的同时也允许策略的差异性。
第二,本文提出了带有 clip 函数的目标方程 Clipped Surrogate Objective,也能起到防止过大梯度更新的作用,同时在实验效果上均优于其他方法。
6 综合评价如何?
PPO 使用多次随机梯度上升来执行每个策略的更新,它具有与 TRPO 相同的稳定性和可靠性,同时更易于实现,适用于更通用的配置。