Proximal Policy Optimization Algorithms 近端策略优化算法
论文地址
https://arxiv.org/abs/1707.06347
个人翻译,并不权威
John Schulman, Filip Wolski, Prafulla Dhariwal, Alec Radford, Oleg Klimov
OpenAI
{joschu, filip, prafulla, alec, oleg}@openai.com
ABSTRACT 摘要
我们提出了一种新的强化学习策略梯度方法,该方法通过与环境交互来交替采样数据,并使用随机梯度上升来优化“代理”损失函数。
鉴于标准的策略梯度方法对每个数据样本执行一次梯度更新,我们提出了一个新的目标函数,该函数支持多轮小批量更新。
这些新方法,我们称之为近端策略优化(PPO),具有置信区域策略优化(TRPO)的一些优点,但他们更易于实现,更通用,并且具有更好的样本复杂性(经验上)。
我们的实验在一组基准任务上测试了PPO,包括模拟机器人运动和Atari游戏,并且我们表明PPO优于其他在线策略梯度方法,并且总体上在样本复杂性、简单性和实际时间之间取得了良好的平衡。
Introduction 介绍
近年来,人们提出了几种利用神经网络函数逼近器进行强化学习的方法。
领先的竞争者是深度Q-learning[Min+15], “vanilla” policy gradient 方法[Mni+16], 以及 trust region /natural policy gradient方法[Sch+15b]。
然而,在开发一种可扩展(适用于大型模型和并行实现)、数据高效和健壮的方法(即,在没有超参数调优的情况下成功解决各种问题)方面仍有改进的余地。
Q-learning(函数逼近)在许多简单问题上都是失败的,理解力很差,传统的策略梯度方法数据效率和鲁棒性较差,置信区域策略优化(TRPO)相对复杂,并且与包含噪声(如丢失)或参数共享(在策略和值函数之间,或与辅助任务之间)的体系结构不兼容。
本文试图通过引入一种算法来改善当前的状况,该算法在仅使用一阶优化的情况下,即可达到TRPO的数据效率和可靠性能。
我们提出了一个新的目标与裁剪概率比clipped probalibity ratios,形成了悲观估计(即下界)的策略表现。
为了优化策略,我们在从策略中采样数据和对采样数据执行多个优化阶段之间进行交替。
我们的实验比较了各种不同版本的代理目标的性能,发现具有裁剪概率比的版本性能最好。
我们还将PPO算法与文献中的几种算法进行比较。
在连续控制任务上,PPO比我们比较的算法性能更好。
在Atari上,它的性能(就样本复杂度而言)明显优于A2C,与ACER类似,尽管它要简单的多。
2 Background:Policy Optimization 背景:策略优化
2.1 Policy Gradient Methods 策略梯度方法
策略梯度方法的工作原理是计算策略梯度的估计器,并将其插入随机梯度上升算法。
最常用的梯度估计有下面的形式
其中
是一个随机策略。
是时间步t上优势函数的估计量。
在这里,期望值
表示在采样和优化之间交替的算法中,有限样本的经验平均值。
使用自动微分软件automatic differentiation software 的实现通过构造一个目标函数来工作,该目标函数的梯度是策略梯度估计器;
估计量ĝ是通过微分目标得到的
虽然使用相同的轨迹对这种损失
执行多个优化步骤是很有吸引力的,
但这样做并没有充分的理由,而且从经验上讲,
它通常会导致破坏性的大规模策略更新
(参见6.1节;结果未显示,但与“无裁剪或惩罚”设置类似或更糟)。
2.2 Trust Region Methods 置信区域方法
在TRPO[Sch+15]中,目标函数("代理"目标) 在策略更新大小的约束下最大化。
具体,
这里
是更新前策略参数的向量。
在对目标进行线性逼近和对约束进行二次逼近后,利用共轭梯度算法可以有效的近似求解该问题。
证明TRPO的理论实际上建议使用惩罚代替约束,即解决某个系数β的无约束优化问题。
这源于这样一个事实: 某个代理目标(计算状态上的最大KL而不是平均值)对策略π性能形成一个下界(即悲观界)
TRPO 使用硬约束而不是惩罚,因为很难选择一个β值,该值在不同的问题中表现良好。甚至在单个问题中表现良好,在学习过程中特征会发生变化。
因此,为了达到异界算法模拟TRPO单调改进的目的,实验表明,仅仅选择一个固定的惩罚系数β并用SGD优化惩罚目标方程(5)是不够的。
需要额外的修改。
3 Clipped Surrogate Objective 截断代理目标
让
表示概率比
所以
TRPO最大化一个“代理”目标
上标CPI指的是保守策略迭代[KL02],其中提出的这一目标
没有约束的情况下,
的最大化会导致策略更新过大;
因此,我们现在考虑如何修改目标,以惩罚将
从1移开的策略更改。
我们提出的主要目标如下:
epsilon是一个超参数,比如说 ε = 0.2
这一目标的动机如下
min中的第一项是
第二项,
通过裁剪概率比来修改代理目标,从而消除
移动到区间之外的动机
最后,我们取剪切目标与非剪切目标的最小值,因此最终目标是为剪切目标的一个下界(即悲观界)
在这种方案中,当概率比的变化使目标改善时,我们只忽略概率比的变化;当概率比使目标恶化是,我们将其包括在内。
注意,
到一阶在
附近(即 在 r=1),然而,随着θ 远离
他们变得不同。
图1 绘制了一个单个项(即,单个t)在
注意,概率比r被限制在 1-ε 和1+ε,取决于优势函数是正还是负。
图1:显示代理函数
的一项(即 单个时间步),作为概率比r的函数的曲线图,
表示正优势(左)和负优势(右)。
每个图上的红圈表示优化的起点,即r=1。
请注意,
对其中许多项求和。
图2 提供了关于代理目标
的另一个直觉来源。
它显示了当我们沿着策略更新方向插值时,几个目标是如何变化的,
这是通过对连续控制问题的近端策略优化(我们很快介绍的算法)获得的。
我们可以看到,
是
的一个下限。策略更新太大会受到惩罚。
图2:代理目标,我们在初始策略参数 θold
和一次PPO迭代后计算的更新策略参数之间插值。
更新后的策略与初始策略的KL散度偏差约为0.02,这是
最大的点。
此图对应于Hopper-v1问题的第一次策略更新,使用第6.1节中提供的超参数。
4 Adaptive KL Penalty Coefficient 自适应KL惩罚系数
另一种方法,它可以作为截断代理目标 clipped surrogate objective的替代方法,或者除此之外,是对KL散度使用惩罚,并调整惩罚系数,以便每次策略更新时,都能获得KL散度 dtarg的某个目标值。
在我们的实验中,我们发现KL惩罚的表现比截断代理目标 clipped surrogate objective 差,然而我们在这里包括它,因为它是一个重要的基线。
在该算法的最简单实例中,我们在每次策略更新中执行一下步骤:
更新后的β用于下一次策略更新。
在这个方案中,我们偶尔会看到策略更新,其中KL散度与
显著不同,然而这是罕见的,β会迅速调整。
上述参数是1.5和2是启发式选择的,但是算法对他们不是很敏感。
β的初值是另一个超参数,但是在实际应用中并不重要,因为算法会很快调整它。
5 Algorithm 算法
前面几节中的代理损失函数可以通过对典型的策略梯度实施微小的改变来计算和区分。
对于使用automatic differentation的实现,只需构造
或
而不是
并在此目标上执行多个随机梯度上升步骤。
大多数计算方差减少的优势函数 variance-reduced advantage-function 的技术都使用学到的状态值函数 state-value faction V(s);
例如,泛化优势估计 generalized advantage estimation [Sch+15a],或 finite-horizon estimators in [Mni+16]。
如果使用在策略和值函数之间共享参数的神经网络结构,
则必须结合策略代理policy surrogate 和值函数误差项 value function error term 的损失函数。
这一目标可以通过增加熵的加持来进一步增强,
以确保足够的探索,正如在过去工作中所建议的那样[Wil92;Mni+16]。
结合这些条件,我们得到一下目标,即每次迭代(近似)最大化:
c1,c2是系数, S 代表 熵加持项 entropy bonus。 LVFt 是均方损失 squared-error loss
在[Mni+16]中推广的一种策略梯度实现非常适合与 recurrent neural networks一起使用,它将策略运行T个时间步
(其中T远小于episode长度),并使用收集的样本进行更新。
这样需要一个不会超过时间步长T的优势估计器。
[Mni+16]使用的估计器是
在一个给定长度T的轨迹段内,t是具体的时间索引在[0,T]。
推广这一选择,我们可以使用泛化优势估计generalized advantage estimation的截断版本,当λ = 1时,它的简化为方程(10)。
使用固定长度轨迹段的近端策略优化 proximal policy optimization (PPO)算法如下所示。
每次迭代,N个(并行)参与者中的每一个收集T个时间步的数据。
然后,我们在这NT时间步长的数据上构建代理损失surrogate loss,并使用 minibatch SGD(或者通常是为了更好的性能,Adam[KB14]), 用于K个 epochs。
6 Experiments 实验
6.1 Comparison of Surrogate Objectives 代理目标的比较
首先,我们比较了不同超参数下几种不同的代理目标 surrogate objectives。
在这里,我们比较了代理目标 surrogate objective
的几个自然变种,和消融版本 ablated versions。
对于KL惩罚,可以使用固定的惩罚系数β,也可以使用第4节中
描述的目标KL值
自适应系数。
请注意,我们尝试 clipping in log space,但发现性能没有改善。
因为我们正在搜索每个算法变量的超参数,所以我们选择了一个计算廉价的基准测试算法。
也就是说,我们使用了在OpenAI Gym[Bro+16]中实现的7个模拟机器人任务,他们使用了MuJoCo[TET12]物理引擎。
我们在每一个上训练100万步。
除了用于clipping(ε)和KL惩罚
的超参数,我们在上面搜索的,其他超参数在表 3 中提供。
为了表示这个策略,我们使用了一个完全联通的MLP,它有两层64个神经元的隐藏层,使用tanh非线性,输出高斯分布的平均值,具有可变的标准差,如下[Sch+15b;Dua+16]。
我们不在策略和值函数之间共享参数(因此系数c1不相关),也不使用熵加成 entropy bonus。
每个算法在所有7个环境中运行,每个环境中用三个随机种子。
我们通过计算最后100 episodes的平均总回报来给算法每一次运行打分。
我们移动并缩放每个环境的分数,这样随机策略的分数为0,最佳结果设置为1,并对21次运行进行平均,为每个算法设置生成一个标量。
结果展示在表1 中。
请注意,对于没有clipping或penalties的设置,分数为负,因为对于一个环境(half cheetah) 它会导致非常负的分数,这比初始的随机策略更糟糕。
表1:基于联系控制基准的结果。每个算法/超参数设置的平均
标准化分数(超过21次算法运行,在7个环境中) 。β 被初始化在1。
6.2 Comparison to Other Algorithms in the Continuous Domain 连续域中其他算法的比较
接下来,我们将PPO(带着第三节中的clipped surrogate objective)
与文献中其他几种被认为对连续问题有效的方法进行比较。
我们比较了一下算法的优化实现:
trust region policy optimization[Sch+15b],
cross-entropy method(CEM) [SL06],
具有自适应步长3 的vanilla policy gradient, A2C[Mni+16],
A2C with trust region [Wan+16]
A2C代表 advantage actor critic,是A3C的同步版本,我们发现它的性能与异步版本相同或更好。
对于PPO,我们使用上一节中的超参数,其中 ε = 0.2。
我们发现,在几乎所有的连续控制环境中,PPO的性能都优于以前的方法。
图3:几种算法在多个MuJoCo环境下的比较,100万步训练。
6.3 Showcase in the Continuos Domain:Humanoid Running and Steering 连续领域展示:仿人跑步和驾驶
为了展示PPO在高维连续控制问题上的性能,我们训练了一组涉及3D仿人机器人的问题,机器人必须在被立方体投掷时,运行,转向和离开地面。
我们测试的三个任务是:
(1)RoboschoolHumanoid:只能向前移动
(2)RoboschoolHumanoidFlgrun:目标位置每200步或者到达时,随机变化一次
(3)RoboschoolHumanoidFlagrunHarder:机器人被立方体投掷,需要离开地面。
关于学习策略的静态框架,请参照图5;
关于这三个任务的学习曲线,请参照图4。
图4:使用 Roboschool从PPO学习3D仿人控制任务曲线。
图5:从RoboschoolHumanoidFlagrun 中学习到的策略 Still 框架
在前六帧中,机器人朝目标跑去。
然后位置被随机改变,机器人转向新的目标跑去。
6.4 Comparison to Other Algorithms on the Atari Domain 与Atari域上其他算法比较
我们还在Arcade Learning Environment [Bel+15]基准上运行了PPO,
并与A2C[Mni+16]和ACER[Wan+16]的优化实现进行了比较。
对于这三种算法,我们使用了与[Mni+16]相同的策略网络体系结构。
PPO的超参数见表 5。
对于其他两个算法,我们使用了经过优化的超参数,以最大限度的提高该基准测试的性能。
所以49场比赛的成绩和学习曲线表见附录B
我们考虑以下两个评分标准:
(1)整个训练期间每个episode的平均奖励(有利于快速学习)
(2)过去100个episode的平均奖励(有利于最终表现)
表2显示了每种算法赢的游戏,我们通过平均三次试验的得分指标来计算胜利者。
表2:每种算法赢的游戏数,其中得分指标是三次试验的平均值。
7 Conclusion 结论
我们引入了近端策略优化 proximal policy potimization,
这是一系列策略优化方法,使用随机梯度上升的多个时段来执行每种策略更新。
这些方法具有置信域方法的稳定性和可靠性,但实现起来要简单的多,只需要几行代码就可以更改为更普通的策略梯度实现,适用于更一般的设置(例如,对策略和值函数使用联合体结构时),并且具有更好的总体性能。
8 Acknowledgements
Thanks to Rocky Duan, Peter Chen, and others at OpenAI for insightful comments.
References
[Bel+15] M. Bellemare, Y. Naddaf, J. Veness, and M. Bowling. “The arcade learning environ-
ment: An evaluation platform for general agents”. In: Twenty-Fourth International
Joint Conference on Artificial Intelligence. 2015.
[Bro+16] G. Brockman, V. Cheung, L. Pettersson, J. Schneider, J. Schulman, J. Tang, and W.
Zaremba. “OpenAI Gym”. In: arXiv preprint arXiv:1606.01540 (2016).
[Dua+16] Y. Duan, X. Chen, R. Houthooft, J. Schulman, and P. Abbeel. “Benchmarking Deep
Reinforcement Learning for Continuous Control”. In: arXiv preprint arXiv:1604.06778
(2016).
[Hee+17] N. Heess, S. Sriram, J. Lemmon, J. Merel, G. Wayne, Y. Tassa, T. Erez, Z. Wang,
A. Eslami, M. Riedmiller, et al. “Emergence of Locomotion Behaviours in Rich Envi-
ronments”. In: arXiv preprint arXiv:1707.02286 (2017).
[KL02] S. Kakade and J. Langford. “Approximately optimal approximate reinforcement learn-
ing”. In: ICML. Vol. 2. 2002, pp. 267–274.
[KB14] D. Kingma and J. Ba. “Adam: A method for stochastic optimization”. In: arXiv
preprint arXiv:1412.6980 (2014).
[Mni+15] V. Mnih, K. Kavukcuoglu, D. Silver, A. A. Rusu, J. Veness, M. G. Bellemare, A. Graves,
M. Riedmiller, A. K. Fidjeland, G. Ostrovski, et al. “Human-level control through deep
reinforcement learning”. In: Nature 518.7540 (2015), pp. 529–533.
[Mni+16] V. Mnih, A. P. Badia, M. Mirza, A. Graves, T. P. Lillicrap, T. Harley, D. Silver, and
K. Kavukcuoglu. “Asynchronous methods for deep reinforcement learning”. In: arXiv
preprint arXiv:1602.01783 (2016).
[Sch+15a] J. Schulman, P. Moritz, S. Levine, M. Jordan, and P. Abbeel. “High-dimensional contin-
uous control using generalized advantage estimation”. In: arXiv preprint arXiv:1506.02438
(2015).
[Sch+15b] J. Schulman, S. Levine, P. Moritz, M. I. Jordan, and P. Abbeel. “Trust region policy
optimization”. In: CoRR, abs/1502.05477 (2015).
[SL06] I. Szita and A. Lörincz. “Learning Tetris using the noisy cross-entropy method”. In:
Neural computation 18.12 (2006), pp. 2936–2941.
[TET12] E. Todorov, T. Erez, and Y. Tassa. “MuJoCo: A physics engine for model-based con-
trol”. In: Intelligent Robots and Systems (IROS), 2012 IEEE/RSJ International Con-
ference on. IEEE. 2012, pp. 5026–5033.
[Wan+16] Z. Wang, V. Bapst, N. Heess, V. Mnih, R. Munos, K. Kavukcuoglu, and N. de Freitas.
“Sample Efficient Actor-Critic with Experience Replay”. In: arXiv preprint arXiv:1611.01224
(2016).
[Wil92] R. J. Williams. “Simple statistical gradient-following algorithms for connectionist re-
inforcement learning”. In: Machine learning 8.3-4 (1992), pp. 229–256.