近年来,涌现出一些用于带有神经网络函数逼近器的强化学习的算法,主要有DQL,“vanilla”策略梯度算法和信任域/自然策略梯度算法。然而,这些算法在广泛性、数据效率和稳定性方面仍存在很大的上升空间。Q-learning不能很好地解决简单问题并且算法的理解性很差;“vanilla”策略梯度算法数据效率低,稳健性差;TRPO算法相对复杂且对包含噪声或者参数共享的结构不兼容。

因此急需提出一种新的算法,取前人之长,补前人之短。OpenAI最新提出的近端策略优化算法(PPO)既拥有TRPO算法数据效率高、训练结果可靠的优势,而且只进行一阶优化,大大降低了算法复杂度。PPO算法的目标函数新颖,带有截断概率比,这可以使策略的表现形成悲观估计。为了优化策略,PPO算法轮流进行从策略中数据采样和优化目标函数的工作。

PPO算法提出的背景

1.策略梯度算法

策略梯度算法的原理是大致是首先对策略梯度进行估计,然后把该估计代入一个随机上升算法中。最常见的梯度估计形式如下:

其中,代表随机策略,代表优势函数在时间步长为 t 时的估计。期望表示有限批样本的经验平均值。构建目标函数,使目标函数的梯度为该策略梯度估计g,这就是利用自动微分软件进行算法实现的工作原理。对下面的目标函数进行微分可得估计g。

尽管人们推荐对该损失用相同的轨迹进行多步优化,但是这么做并没有被证明是合理的。经验上可知,这种做法经常会造成破坏性的大范围策略更新。

2.TRPO算法

对于TRPO算法,在与策略更新的大小有关的约束条件下,目标函数被最大化。也就是:

这里,表示策略参数更新之前的向量。在完成对目标的线性近似和对约束条件的二次近似后,该问题可以用conjugate gradient algorithm近似解决。

此观点证明,TRPO推荐使用惩罚代替约束条件是合理可行的。即解决非约束的优化问题:

这是因为代理目标能够形成策略表现的下限。TRPO使用一个严格的约束而不是惩罚,因为选择的值很困难。需要在不同的问题中都表现良好,或者在特征随着学习的东西不同而变化的简单问题中表现良好。因此,为了实现目标:获得一个能够达到TRPO算法改进效果的一阶算法,实验表明,仅仅选择一个固定的惩罚系数并用SGD优化被惩罚了的目标式子是不够的。还需要进行修改。

3.截断代理目标

表示概率比,所以。TRPO最大化一个代理目标:

上标CPI表示conservative policy iteration ,。因为没有约束条件,目标的最大值将导致过度的大范围策略更新。所以,我们考虑怎么修改目标来惩罚让概率比远离1的策略的变化。

我们提出的主要的目标如下:

这里是超参数,即,。这个目标的组成如下。里面的第一项是,第二项是, 修改了代理目标通过截断概率比,这消除了把概率比移到区间外面的激励。最后我们取截断目标和未截断目标的最小值,所以最后的目标是未截断目标的下限。通过这种方案,我们仅仅忽略当概率比使目标改进时概率比的变化,并且我们可以考虑概率比当它使目标变坏时。我们注意到在old附近,对一阶来说, 。然鹅,两者不等,当远离old时。

4. 可变化的KL惩罚系数

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

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

使用几个时期的最小批SGD优化KL惩罚目标

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

5.PPO算法

通过对典型策略梯度实现进行一个微小的改变,我们可以计算并微分前面部分的代理损失。对于使用自动微分的实现,只需要构建损失,并在此目标上执行随机梯度上升的多个步骤。

大多数计算方差减少的优势函数估计的技术使用一个学习状态值的函数, 例如一般性优势估计或者有界估计。如果使用一个共享策略和值函数参数的神经网络结构,我们必须用一个结合策略代理和值函数误差项的损失函数。这个目标函数能被进一步增强通过加入熵奖励以确保充分探索。结合这些项,我们得到目标如下:该目标在每轮回合中被最大化

一个适用于RNNs的策略梯度实现方式是,运行T个时间步长的策略(T远小于回合长度),并用收集到的样本进行更新。这个方法需要一个不超过时间步长T的优势估计,即:

t代表[0,T]范围内的时间,在给定长度-T轨迹段内。一般化这个估计,我们可以使用截断形式的广义优势估计,当时,会减少成式子:

一个使用固定长度轨迹段的PPO算法如下所示:

每次迭代,每个N (并行)actor都收集T时间步长的数据。然后我们在这些NT时间步长的数据上构建代理损失,并用minibatch SGD对其进行优化K时期。

PPO应用

在PPO算法应用中,为了代表策略,我们用一个全连接MLP,带有两个隐层,64个神经元和tanh非线性核函数,输出是符合高斯分布的平均值,具有可变的标准偏差。我们没有共享策略和值函数之间的参数,也没有使用熵奖励。

PPO算法OpenAI论文大致翻译相关推荐

  1. PPO算法经典论文阅读

    PPO算法经典论文阅读 PPO算法是强化学习中的经典算法,其全称为近端策略优化(Proximal Policy Optimization). 1.引言 ​ 首先在论文的引言部分给出了经典的强化学习算法 ...

  2. Raft算法国际论文全翻译

    最近在开发强一致性的分布式算法,因此需要深入理解下Raft算法,这里对Raft论文进行了翻译,留以备用 - Sunface. 英文版论文:https://ramcloud.atlassian.net/ ...

  3. YOLO算法(论文部分翻译+一些总结)

    论文题目是<You Only Look Once: Unified, Real-Time Object Detection> 前言 在之前的目标检测问题中,为了检测一个目标,要在一个测试图 ...

  4. ORB SLAM3论文大致翻译,手动整理

    ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and Multi-Map SLAM I. INTRODU ...

  5. 基于MVS的三维重建算法学习笔记(五)— 立体匹配经典算法PatchMatch论文翻译及要点解读

    基于MVS的三维重建算法学习笔记(五)- 立体匹配经典算法PatchMatch论文翻译及要点解读 声明 问题提出 问题建模 通过PatchMatch获取平面参数--Inference via Patc ...

  6. 分布式一致性算法:Raft 算法(论文翻译)

    Raft 算法是可以用来替代 Paxos 算法的分布式一致性算法,而且 raft 算法比 Paxos 算法更易懂且更容易实现.本文对 raft 论文进行翻译,希望能有助于读者更方便地理解 raft 的 ...

  7. ChatGPT通俗导论:从RL之PPO算法、RLHF到GPT-N、instructGPT

    前言 自从我那篇BERT通俗笔记一经发布,然后就不断改.不断找人寻求反馈.不断改,其中一位朋友倪老师(之前我司NLP高级班学员现课程助教老师之一)在谬赞BERT笔记无懈可击的同时,给我建议到,&quo ...

  8. 浅谈PPO算法-玩转月球登陆

    浅谈PPO算法-玩转月球登陆 前言 github 什么是Actor-Critic? Actor-Critic代码 ppo算法 实现 前言 总感觉强化学习公式真难学,也难表达心中所想,我还是白话强化学习 ...

  9. Proximal Policy Optimization (PPO) 算法理解:从策略梯度开始

    近端策略优化(PPO)算法是OpenAI在2017提出的一种强化学习算法,被认为是目前强化学习领域的SOTA方法,也是适用性最广的算法之一.本文将从PPO算法的基础入手,理解从传统策略梯度算法(例如R ...

最新文章

  1. Linux中bashrc河bash_profile
  2. 如何利用ArcGis修改shp数据字段名称
  3. SpringBoot+RabbitMQ ,保证消息100%投递成功并被消费(附源码)
  4. 设置oracle服务自动启动
  5. 从零实现 SpringBoot 简易读写分离,也不难嘛!
  6. 如何应用AutoML加速图机器学习任务的处理?
  7. Android使用MPAndroidChat
  8. 信息学奥赛一本通(1204:爬楼梯)
  9. mongodb4简明笔记
  10. 安卓开发之软件维护的策略
  11. 卡拉OK歌词同步播放
  12. linux之正则匹配命令学习笔记
  13. sublime安装插件详细教程
  14. 解决SVN Cleanup错误: Failed to run the WC DB work queue associated with
  15. vue项目中使用ramda库
  16. 英语六级翻译整理【未更新完】
  17. Bouncy Castle使用(一)【开始】
  18. http,https
  19. 三份适合工薪族的作业,抄完走向财务自由
  20. 电脑主机选购---内存条,光驱

热门文章

  1. HDMI之InfoFrame
  2. bzoj 2733 永无岛
  3. 希腊复兴的奠基礼-纳瓦里诺海战
  4. ecshopcron.php,ecshop商业模板 高仿小米商城源码,小米手机商城源代码模板价值百元...
  5. 金花关键词工具-金花关键词软件-自动金花关键词软件下载
  6. Lua string转table
  7. 市场运营:App 渠道追踪的5种方法以及渠道数据分析的两大思路
  8. FL Studio21最新版数字音频工作站(DAW)
  9. go-cqhttp调用接口
  10. NB-IoT BC95/BC35 模组常用指令(NB-IoT专栏—基础篇7)