Proximal Policy Optimization Algorithms


openAI

Abstract

我们为强化学习提出了一种新的基于策略梯度(PG,Policy Gradient)的方法。该方法通过与环境相互作用来交替采样数据,同时使用随机梯度上升来优化一个替代的目标函数。虽然标准的策略梯度更新方法对每个采样数据执行一次梯度更新,但我们提出了一个新的目标函数,该目标函数是在multiple epoches上进行minibatch更新。

我们提出的新方法:近端策略优化PPO(proximal policy optimization),它有信赖域策略优化TRPO(trust region policy optimization)的部分优点,相比而言, 它比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] g^=E^t[θlogπθ(atst)A^t]

其中:
π θ \pi_{\theta} πθ是一个随机策略
A t {A}_{t} At t t t时刻的优势函数的估计器
E ^ t [ … ] \hat{\mathbb{E}}_{t}[\ldots] E^t[]是期望,表示采样值有限batch的平均经验值

该算法在抽样和优化之间及交替使用。
该算法是通过构造一个目标函数并使用自动微分软件的实现的,
该目标函数的梯度是策略梯度估计量;
该估计量 g ^ \hat{g} 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] LPG(θ)=E^t[logπθ(atst)A^t]
虽然人们推荐使用相同的轨迹对loss L P G L^{P G} LPG进行多步优化,但这并没有证明是合理的,而且从经验上讲,这会导致破坏性的大规模策略更新。

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] θmaximizeE^t[πθold(atst)πθ(atst)A^t]

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 subjecttoE^t[KL[πθ old (st),πθ(st)]]δ

其中, θ o l d \theta_{old} θ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] θmaximizeE^t[πθ old (atst)πθ(atst)A^tβKL[πθ old (st),πθ(st)]]

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

Clipped Surrogate Objective

r t ( θ ) r_{t}(\theta) rt(θ)表示新旧策略动作该利率比
r t ( θ ) = π θ ( a t ∣ s t ) π θ o l d ( a t ∣ s t ) r_{t}(\theta)=\frac{\pi_{\theta}\left(a_{t} | s_{t}\right)}{\pi_{\theta_{\mathrm{old}}\left(a_{t} | s_{t}\right)}} rt(θ)=πθold(atst)πθ(atst)
因此, r ( θ o l d ) = 1 r\left(\theta_{\mathrm{old}}\right)=1 r(θold)=1

TRPO 是最大化替代目标函数
L C P I ( θ ) = E ^ t [ π θ ( a t ∣ s t ) π θ  old  ( a t ∣ s t ) A ^ t ] = E ^ t [ r t ( θ ) A ^ t ] L^{C P I}(\theta)=\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}\right]=\hat{\mathbb{E}}_{t}\left[r_{t}(\theta) \hat{A}_{t}\right] LCPI(θ)=E^t[πθ old (atst)πθ(atst)A^t]=E^t[rt(θ)A^t]

上标 C P I CPI CPI代表连续的策略迭代
在目标函数中移除了约束项, L C P I L^{C P I} LCPI将会导致策略更新过度,因此,我们现在考虑如何修改目标函数来惩罚策略的变化,其中,策略的目标是从 r t ( θ ) r_{t}(\theta) rt(θ)来远离1.

修改后的目标函数如下所示:
L C L I P ( θ ) = E ^ t [ min ⁡ ( r t ( θ ) A ^ t , clip ⁡ ( r t ( θ ) , 1 − ϵ , 1 + ϵ ) A ^ t ) ] L^{C L I P}(\theta)=\hat{\mathbb{E}}_{t}\left[\min \left(r_{t}(\theta) \hat{A}_{t}, \operatorname{clip}\left(r_{t}(\theta), 1-\epsilon, 1+\epsilon\right) \hat{A}_{t}\right)\right] LCLIP(θ)=E^t[min(rt(θ)A^t,clip(rt(θ),1ϵ,1+ϵ)A^t)]
其中:
ϵ \epsilon ϵ, epsilon,是超参数,一般取值为0.2

目标函数修改的出发点:
min的第一项是 L C L I P L^{C L I P} LCLIP
min的第二项是 clip ⁡ ( r t ( θ ) , 1 − ϵ , 1 + ϵ ) A ^ t ) \operatorname{clip}\left(r_{t}(\theta), 1-\epsilon, 1+\epsilon\right) \hat{A}_{t} ) clip(rt(θ),1ϵ,1+ϵ)A^t),即通过截断概率比来修改代理函数, 这保证了 r t r_{t} rt始终处于区间 [ 1 − ϵ , 1 + ϵ ] [1-\epsilon, 1+\epsilon] [1ϵ,1+ϵ]内。
最后,我们取截断的和未截断的目标函数,因此最终的目标函数是未截断目标函数的下界。在这个方案中,只有当概率比的变化会使目标改善时,我们才忽略概率比的变化,当概率比的变化会使目标恶化时,我们才将概率比包括在内。

Adaptive KL Penalty Cofficient

另一种方法,这可以作为截断代理目标的代替方法,是对KL divergence进行惩罚,调整惩罚系数这样可以实现一些每次策略更新时KLdivergence的目标值。在我们的实验中,我们发现,KL惩罚的表现不如截断代理目标,然鹅我们这里介绍它是因为它是一个非常重要的基础。

在最简单的算法例程中,我们在每次策略更新运行下列步骤:

使用几个时期的最小批SGD优化KL惩罚目标
L K L P E N ( θ ) = E ^ t [ π θ ( a t ∣ s t ) π θ  old  ( a t ∣ s t ) A ^ t − β KL ⁡ [ π θ  old  ( ⋅ ∣ s t ) , π θ ( ⋅ ∣ s t ) ] ] L^{K L P E N}(\theta)=\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] LKLPEN(θ)=E^t[πθ old (atst)πθ(atst)A^tβKL[πθ old (st),πθ(st)]]

计算 d = E ^ t [ K L [ π θ  old  ( ⋅ ∣ s t ) , π θ ( ⋅ ∣ s t ) ] ] ∣ d=\hat{\mathbb{E}}_{t}\left[\mathrm{KL}\left[\pi_{\theta_{\text { old }}}\left(\cdot | s_{t}\right), \pi_{\theta}\left(\cdot | s_{t}\right)\right]\right] | d=E^t[KL[πθ old (st),πθ(st)]]
d &lt; d  targ  / 1.5 , β ← β / 2 d &gt; d  targ  × 1.5 , β ← β × 2 \begin{array}{l}{d&lt;d_{\text { targ }} / 1.5, \beta \leftarrow \beta / 2} \\ {d&gt;d_{\text { targ }} \times 1.5, \beta \leftarrow \beta \times 2}\end{array} d<d targ /1.5,ββ/2d>d targ ×1.5,ββ×2

被更新的用来下次的策略更新。用这个方案,我们偶尔会看到策略更新到KL divergence 和d非常非常不一样的地方,然鹅,这些情况是罕见的,会很快调整。参数1.5和2是通过试验得到的,但是该算法对此并不敏感。的初始值是另一个超参数,但是在实践中并不重要因为算法会很快对他进行调整。

PPO Algorithm
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 近端策略优化算法(proximal policy optimization algorithms)是一种用于强化学习的算法,它通过优化策略来最大化累积奖励。该算法的特点是使用了一个近端约束,使得每次更新策略时只会对其进行微调,从而保证了算法的稳定性和收敛性。近端策略优化算法在许多强化学习任务中都表现出了很好的效果,成为了当前最流行的强化学习算法之一。 ### 回答2: 近端策略优化算法是一种新兴的强化学习算法。它具有高效的策略优化和稳定的收敛性。近端策略优化算法在深度学习、自然语言处理、机器视觉、机器人学和其他应用领域都得到了广泛的应用。 近端策略优化算法的核心思想是对策略函数进行优化,以便最大化预期奖励。该算法使用指数加权平均方法来维护与策略函数相关的价值函数和状态值函数。在每个时间步中,它会使用当前策略函数执行一个或多个轨迹,然后使用这些轨迹更新策略函数的参数。 相比于其他优化策略的强化学习算法,近端策略优化算法有以下几个优点: 1. 收敛速度快——该算法具有高效的优化算法和稳定的训练过程,可以在较短的时间内收敛到最优解。 2. 收敛性强——该算法能够在训练过程中处理大的批量数据,并且可以快速地找到全局最优解。 3. 易于实现和调整——该算法的实现过程需要较少的超参数,使其易于实现和调整。 4. 可扩展性强——该算法可以扩展到复杂的问题和大规模数据集合。 总结: 近端策略优化算法是一种高效、稳定、易于实现的强化学习算法。它能够快速地处理大规模数据集合,并找到全局最优解。该算法在深度学习、自然语言处理、机器视觉、机器人学等领域中得到了广泛的应用。 ### 回答3: Proximal Policy Optimization (PPO)算法是一种强化学习中的模型优化算法。它的主要目标是发现学习最优策略的方法,并将其应用到机器人控制、游戏玩法、交通规划和服务机器人等任务中。 PPO算法的核心思想是使用一个剪切函数来限制策略更新的幅度,以确保算法的收敛性和稳定性。与传统的Policy Gradient算法不同,PPO算法对不同样本的更新幅度进行了限制,避免了策略更新过于激进或保守的情况,从而使算法更加可靠。 PPO算法的目标函数由两部分组成:第一部分是优化目标,即最大化期望奖励,第二部分是剪切函数。在PPO算法中,剪切函数被定义为两个策略之间的距离,它用于限制策略更新的幅度,以确保策略优化的稳定性。该函数使用了一个参数 $\epsilon$ 来控制策略更新的幅度,当距离超过阈值时,算法就会停止更新策略。 PPO算法的主要优点在于它的稳定性和可靠性。与其他优化算法相比,PPO算法采用了一种有限的剪切函数,从而避免了策略更新过于激进或保守的情况,而这种情况往往会导致算法崩溃或无法收敛。此外,PPO算法还具有高效性和可扩展性,可以应用于大规模深度学习中。 总之,PPO算法是一种强化学习中比较先进的算法,应用范围广泛,而且具有稳定性和可靠性,是未来智能机器人、自动驾驶等领域的重要研究方向。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值