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 π θ ( a t s t ) A ^ t ] \hat{g}=\hat{\mathbb{E}}_{t}\left[\nabla_{\theta} \log \pi_{\theta}\left(a_{t} | s_{t}\right) \hat{A}_{t}\right]

其中:
π θ \pi_{\theta} 是一个随机策略
A t {A}_{t} t t 时刻的优势函数的估计器
E ^ t [ ] \hat{\mathbb{E}}_{t}[\ldots] 是期望,表示采样值有限batch的平均经验值,该算法在抽样和优化之间及交替使用。使用自动微分软件的实现方法是构造一个目标函数,该目标函数的梯度是策略梯度估计量;该估计量 g ^ \hat{g} 是通过对目标进行微分得到的。

L P G ( θ ) = E ^ t [ log π θ ( a t s t ) A ^ t ] L^{P G}(\theta)=\hat{\mathbb{E}}_{t}\left[\log \pi_{\theta}\left(a_{t} | s_{t}\right) \hat{A}_{t}\right]
虽然使用相同的轨迹对loss L P G L^{P G} 进行多步优化是非常有吸引力的,而且从经验上讲,这会导致破坏性的大规模策略更新。

Trust Region Methods

在TRPO,在策略更新大小时服从约束条件来最大化目标函数。
maximize θ E ^ t [ π θ ( a t s t ) π θ o l d ( a t s t ) A ^ t ] \underset{\theta}{\operatorname{maximize}} \quad \hat{\mathbb{E}}_{t}\left[\frac{\pi_{\theta}\left(a_{t} | s_{t}\right)}{\pi_{\theta_{\mathrm{old}}}\left(a_{t} | s_{t}\right)} \hat{A}_{t}\right]

s u b j e c t t o E ^ t [ KL [ π θ  old  ( s t ) , π θ ( s t ) ] ] δ subject to \quad \hat{\mathbb{E}}_{t}\left[\operatorname{KL}\left[\pi_{\theta_{\text { old }}}\left(\cdot | s_{t}\right), \pi_{\theta}\left(\cdot | s_{t}\right)\right]\right] \leq \delta

其中, θ o l d \theta_{old} 是更新前的策略的参数向量。在对目标函数机型线性逼近和对约束进行二逼近后,利用共轭梯度算法可以有效的近似求解该问题。
证明TRPO的理论实际上建议使用惩罚而不是约束,即解决无约束优化问题。

maximize θ E ^ t [ π θ ( a t s t ) π θ  old  ( a t s t ) A ^ t β KL [ π θ  old  ( s t ) , π θ ( s t ) ] ] \underset{\theta}{\operatorname{maximize}} \hat{\mathbb{E}}_{t}\left[\frac{\pi_{\theta}\left(a_{t} | s_{t}\right)}{\pi_{\theta_{\text { old }}}\left(a_{t} | s_{t}\right)} \hat{A}_{t}-\beta \operatorname{KL}\left[\pi_{\theta_{\text { old }}}\left(\cdot | s_{t}\right), \pi_{\theta}\left(\cdot | s_{t}\right)\right]\right]

其中, β \beta 表示惩罚的系数。在策略 π \pi 的性能上,这遵循了一个事实,即一个确定的替代目标函数(它计算状态的最大 K L KL 而不是均值)形成一个更低的下界。TRPO使用一个硬约束而不是惩罚,因为很难选择一个在不同问题上或甚至在单个问题中表现良好的值,在这个问题中,特性随学习过程而变化。因此,为了实现一阶算法模拟TRPO的单调改进,实验表明,仅仅选择一个固定的惩罚系数并用SGD优化惩罚目标方程是不够的,需要进行额外的修改.

猜你喜欢

转载自blog.csdn.net/weixin_44144171/article/details/91460050