其他

OpenAI Baselines 更新,新增 HER 强化学习算法

2018-02-28 杨晓凡 AI研习社

AI 研习社按:富有挑战的新测试环境和任务,极具竞争力的基准模型,你感到兴奋和压力了吗?

为了方便快速开发迭代以及对比测试,各大人工智能机构都会在专门开发的模拟器(实验平台)内布置测试环境和测试任务,然后后续研究就只需要关注算法本身。OpenAI 就在自己的 Gym 平台中搭建了许多实验环境,包括 Atari 2600 游戏系列、MuJoCo 物理模拟器、Toy text 文本环境等等。

随着近期 PPO(Proximal Policy Optimization,近端策略优化)这类新控制算法的出现,在 OpenAI 看来 MuJoCo 中现有的几个四足机器人、半猎豹机器人、仿人机器人的连续运动控制任务都已经可以轻松解决了,甚至参照真实机器人(波士顿动力 Atlas)设计的具有 30 个自由度的仿真模型都已经跑起来了。 OpenAI 现在也就根据自己过去一年的研究进展放出了一组八个新的机器人控制任务。

新的机器人连续控制任务

同样是借助 MuJoCo 物理模拟器,这次 OpenAI 在 Gym 中搭建了两组共八个新环境 & 新任务。这些任务不仅难度要比之前 MuJoCo 中的任务明显高一些,而且也需要控制来自真实机器人结构设计的仿真模型,实现一些现实世界任务。

这八个任务都是默认为稀疏反馈的,目标未达成则反馈为 -1,在允许的误差内达成则为 1。环境中也带有密集反馈的版本,但是 OpenAI 的研究人员们认为稀疏反馈的情况更接近于机器人在实际使用中会遇到的状况,所以希望大家还是以稀疏反馈的版本为主。

  Fetch 机械臂

基于 Fetch 机械臂的末端运动控制,共有末端位置、拨动冰球、推箱子、举箱子四个任务

左:FetchReach,「末端位置」,控制机械臂,让末端到达指定的空间位置(红点)

右:FetchSlide,「拨动圆盘」,控制机械臂拨动圆盘,让它在桌子上滑动,最后到达指定位置

左:FetchPush,「推箱子」,控制机械臂推动一个盒子,让它到达指定位置

右:FetchPickAndPlace,「举箱子」,通过机械臂末端的平行夹钳从桌子上拿起盒子,让它到达桌子上方指定的空间位置

OpenAI 已经研究了这些问题一段时间了,比如对于 FetchSlide「拨动圆盘」任务,他们完全在模拟环境中训练了控制算法,然后把它部署在机器人上。为了让机器人能够正常运行,以及应对环境中的随机变化,他们还为之新设计了闭环控制系统,让完全在模拟器中训练的控制算法结合一部分来自真实世界反馈的矫正。在下面动图里的实验就是运行在真实机器人上时在圆盘下面垫了一个薯片袋子,改变了圆盘的运动特性,而闭环控制的机械臂仍然可以适应这一随机改变,把圆盘送到指定位置(红点处)。相比之下一个传统的开环(前馈)控制算法连不做改变的真实环境都适应不了。

ShadowHand 机械手

机械手模型参照的是 Shadow Dexterous Hand,这是一个完全仿照人手设计的具有 20 个驱动自由度、4 个半驱动自由度、共 24 个关节的机械手,它的大小也和人手大小相同。基于 ShadowHand 机械手的四个任务为手指捏合、控制方块、控制鸡蛋和控制笔。OpenAI 也已经给出了一些自己的控制鸡蛋和笔的学习成果视频,看起来还挺顺溜的。

左:HandReach,「手指捏合」,要让大拇指和另一根指定的手指在手掌上方某个指定的位置接触

右:HandManipulateBlock,「控制方块」,控制一个方块让它达到指定的位置和方向

左:HandManipulateEgg,「控制鸡蛋」,控制一个鸡蛋让它达到指定的位置和方向

右:HandManipulatePen,「控制笔」,控制一枝笔让它达到指定的位置和方向

  新的基准算法:HER

随着新的机器人环境发布,OpenAI 也同步发布了 Hindsight Experience Replay(后见经验重放,HER)算法的代码作为环境的基准模型之一。HER 来自论文 https://arxiv.org/abs/1707.01495 ,这是一种可以从失败经验中学习的强化学习算法。OpenAI 的实验表明 HER 只依靠稀疏反馈就可以针对多数新的机器人控制问题学习到成功的策略。

HER 简述

OpenAI 以 FetchSlide 任务为例介绍了 HER 算法的核心思想。现在需要用机械臂的末端拨动圆盘让它到目标位置。对于强化学习模型来说,初次尝试基本是注定失败的;如果不是特别的幸运,接下来的几次尝试也同样会失败。典型的强化学习算法是无法从这些失败经验中学习的,因为它们一直接收到固定的失败(-1)反馈,也就不含有任何可以指导学习的信号。

人类在执行任务的时候其实有一个直觉的感受是:即便我没有达成原来那个给定的目标,我起码还是完成了另外一个目标的。HER 的核心思想就是把这一人类直觉公式化。在这里,HER 会把实际达到的目标暂且看成要达到的目标;进行这个替换以后,算法认为自己毕竟达到了某个目标,从而可以得到一个学习信号进行学习,即便达到的目标并不是最开始任务要求的那个目标。如果持续进行这个过程,最终算法可以学会达成任意目标,其中也自然就包括了我们最开始要求的目标。

依靠这样的办法,即便最开始的时候机械臂根本就碰不到圆盘、以及反馈是稀疏的,最终它也学会了如何把圆盘拨到桌子上的指定位置。这个算法之所以称为 Hindsight Experience Replay 后见经验重放,就是因为它是在完成了一次动作之后再选定目标、重放经验进行学习(重放经验的方法在 DQN、DDPG 等策略无关的强化学习算法中经常用到)。也所以,HER 可以和任何策略无关的强化学习算法结合起来使用,比如 DDPG+HER。

HER 测试结果

经过测试,OpenAI 的研究员们发现 HER 在基于任务、反馈稀疏的环境中有着异常好的表现。原本的 DDPG 在稀疏和密集反馈两种情况下都几乎无法完成任务, DDPG + HER 在稀疏反馈下不仅具有极高的成功率,甚至还大幅超过密集反馈下的 DDPG + HER (这个结果真是耐人寻味)。在 OpenAI 的其它实验中,DDPG + HER 多数时候也都有最好的表现。

和 OpenAI 一同改进 HER

虽然 HER 在稀疏反馈环境下学习复杂的目标指向任务已经显示出了不错的潜力,OpenAI 认为它还有很大的提升空间。和以往一样,OpenAI 邀请更多研究者和他们一起改进 HER,以及考虑其它一些强化学习整体的问题。

  • 自动创建后见目标:目前 OpenAI 用手工编写的固定策略代码选择要替换的后见目标,如果这个策略可以自行学习就会很有意思。

  • 无偏 HER:后见目标替换的过程其实会不受约束地改变模型学到的经验的分布。理论上这种偏倚可能会导致一定的不稳定性。虽然 OpenAI 目前的实际实验中还没发现这种问题,但确实最好能够改进出无偏版本的 HER。

  • HER + HRL:OpenAI 之前已经有了层次化强化学习(hierarchical reinforcement learning)方面的一些研究成果。那么除了直接对任务目标应用 HER,OpenAI 认为也有机会把它应用于动作上,让策略产生更好的动作。比如高层次模型要求低层次模型达到某个任务 A 的时候,就可以利用 HER 进行高效学习。

  • 更丰富的评价函数:如果把额外的输入作为价值函数的条件会发生什么呢?比如缩小系数或者成功率阈值,甚至还可以考虑把他们也作为后见中替换的目标。

  • 更快的信息传播:多数策略无关的深度强化学习算法都需要使用一群目标网络来提高训练稳定性。然而,由于发生改变后传播需要时间,这将会限制训练速度,OpenAI 的研究人员们就已经发现这经常是他们的 DDPG+HER 训练中影响训练速度的最重要因素。那么也就很值得考虑有没有其它能稳定训练过程但不造成如此明显速度下降的方法。

  • HER + 多步反馈:由于其中含有目标替换,所以 HER 中使用的经验是高度策略无关的。那这样就让 HER 很难和多步操作后获得反馈值的算法共同使用。然而,我们很多时候更希望使用多步操作的方法,因为它们能让关于反馈值的信息传播得快得多。

  • 包含策略的 HER:同样是由于含有目标替换,所以 HER 目前只能和策略无关的算法一同使用。然而目前最先进的 PPO 之类的算法都表现出了非常好的稳定性。如果能想办法把这样的策略相关的算法和 HER 结合起来使用肯定很有意思。这个方向目前已经有一些初步的研究成果,比如 https://arxiv.org/abs/1711.06006 。

  • 频繁动作的强化学习:目前的强化学习算法都对动作频率非常敏感,这也是为什么 Atari 游戏的算法中经常用到跳帧技巧的原因。在连续控制领域,随着模型动作的频率逐渐提升到无限大,模型的表现会逐渐下降到 0。这其中有两个原因:探索行为的不连贯性,以及为了及时传播反馈中的信息需要引导更多次。如何设计一个可以高效利用样本、而且即便动作频率上升到无限大也能保持表现的算法呢?

  • 把 HER 和强化学习的近期进展结合起来:目前有许许多多的研究在尝试提升强化学习的各个方面。目前作为开头,HER 已经可以和优先经验重放(Prioritized Experience Replay, https://arxiv.org/abs/1511.05952)、分布式强化学习(https://arxiv.org/abs/1707.06887)、熵正则化强化学习(entropy-regularized RL,https://arxiv.org/abs/1704.06440)以及反向过程生成(reverse curriculum generation,https://arxiv.org/abs/1707.05300  )等方法结合起来。

新的八个环境已经可以在 https://gym.openai.com/envs/#robotics 详细查看,新的 HER 基准算法代码也已经和以往的基准算法一起开源在 https://github.com/openai/baselines 。

对于新任务和新算法,我们和 OpenAI 一同期待更精彩的后续研究。

via OpenAI Blog,AI 研习社编译。

NLP 工程师入门实践班:基于深度学习的自然语言处理

三大模块,五大应用,手把手快速入门 NLP

海外博士讲师,丰富项目经验

算法 + 实践,搭配典型行业应用

随到随学,专业社群,讲师在线答疑

▼▼▼



新人福利




关注 AI 研习社(okweiwu),回复  1  领取

【超过 1000G 神经网络 / AI / 大数据,教程,论文】



OpenAI 提出层级强化学习,给长序列动作学习带来新的曙光

▼▼▼

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存