Proximal Policy Optimization Algorithms
openAI
Abstract
我们为强化学习提出了一种新的基于策略梯度(PG,Policy Gradient)的方法。该方法通过与环境相互作用来交替采样数据,同时使用随机梯度上升来优化一个替代的目标函数。虽然标准的策略梯度更新方法对每个采样数据执行一次梯度更新,但我们提出了一个新的目标函数,该目标函数是在multiple epoches上进行minibatch更新。
我们提出的新方法:近端策略优化PPO(proximal policy optimization),与信赖域策略优化TRPO(trust region policy optimization)相比而言, 它具有TRPO的部分优点,且比TRPO更通用,更容易实现,具有更好的采样复杂度(emperically)。
Introduction
本文试图寻找一种算法,在仅仅使用一阶优化的时候,该算法能够拥有TRPO的数据效率和可靠性,我们提出了一个新的目标函数,该目标函数有截断的概率比,而截断的概率比一般会造成对性能比较悲观的估计,即估计出性能下届。为了优化这个策略,我们在从策略中采样的数据进行选择,然后在采样的数据进行几个epoch的优化。
该算法在连续控制任务上表现很好。
Background
Policy Gradient Methods
策略梯度PG算法的工作原理是计算策略的估计量,并将其插入到随机梯度上升算法中。常用的梯度估计有以下形式
g^=E^t[∇θlogπθ(at∣st)A^t]
其中:
πθ是一个随机策略
At是
t时刻的优势函数的估计器
E^t[…]是期望,表示采样值有限batch的平均经验值,该算法在抽样和优化之间及交替使用。使用自动微分软件的实现方法是构造一个目标函数,该目标函数的梯度是策略梯度估计量;该估计量
g^是通过对目标进行微分得到的。
LPG(θ)=E^t[logπθ(at∣st)A^t]
虽然使用相同的轨迹对loss
LPG进行多步优化是非常有吸引力的,而且从经验上讲,这会导致破坏性的大规模策略更新。
Trust Region Methods
在TRPO,在策略更新大小时服从约束条件来最大化目标函数。
θmaximizeE^t[πθold(at∣st)πθ(at∣st)A^t]
subjecttoE^t[KL[πθ old (⋅∣st),πθ(⋅∣st)]]≤δ
其中,
θold是更新前的策略的参数向量。在对目标函数机型线性逼近和对约束进行二逼近后,利用共轭梯度算法可以有效的近似求解该问题。
证明TRPO的理论实际上建议使用惩罚而不是约束,即解决无约束优化问题。
θmaximizeE^t[πθ old (at∣st)πθ(at∣st)A^t−βKL[πθ old (⋅∣st),πθ(⋅∣st)]]
其中,
β表示惩罚的系数。在策略
π的性能上,这遵循了一个事实,即一个确定的替代目标函数(它计算状态的最大
KL而不是均值)形成一个更低的下界。TRPO使用一个硬约束而不是惩罚,因为很难选择一个在不同问题上或甚至在单个问题中表现良好的值,在这个问题中,特性随学习过程而变化。因此,为了实现一阶算法模拟TRPO的单调改进,实验表明,仅仅选择一个固定的惩罚系数并用SGD优化惩罚目标方程是不够的,需要进行额外的修改.