用强化学习转鸡蛋、转笔,OpenAI 发起新的机械手挑战

  • A+
所属分类:人工智能
广告也精彩

用强化学习转鸡蛋、转笔,OpenAI 发起新的机械手挑战

艾伯特 AI 科技评论按:富有挑战的新测试环境和任务,极具竞争力的基准模型,你感到兴奋和压力了吗?

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

用强化学习转鸡蛋、转笔,OpenAI 发起新的机械手挑战

随着近期PPO (Proximal Policy Optimization,近端策略优化)这类新控制算法的出现,在OpenAI看来MuJoCo中现有的几个四足机器人、半猎豹机器人、仿人机器人的连续运动控制任务都已经可以轻松解决了,甚至参照真实机器人(波士顿动力Atlas)设计的具有 30 个自由度的仿真模型都已经可以顺畅地跑起来了(上图,具体参见艾伯特 AI 科技评论往期文章),DeepMind也展示了自己的训练结果,视频放在Youtube后获得了极高的浏览量。既然以前的问题已经得到了不错的解决,OpenAI现在也就结合自己过去一年的研究进展放出了一组八个新的机器人控制任务,作为领域内新的标杆和其它研究者们共同尝试攻破。

新的机器人连续控制任务

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

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

Fetch机械臂

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

用强化学习转鸡蛋、转笔,OpenAI 发起新的机械手挑战

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

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

用强化学习转鸡蛋、转笔,OpenAI 发起新的机械手挑战

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

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

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

用强化学习转鸡蛋、转笔,OpenAI 发起新的机械手挑战

ShadowHand机械手

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

用强化学习转鸡蛋、转笔,OpenAI 发起新的机械手挑战

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

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

用强化学习转鸡蛋、转笔,OpenAI 发起新的机械手挑战

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

用强化学习转鸡蛋、转笔,OpenAI 发起新的机械手挑战

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

用强化学习转鸡蛋、转笔,OpenAI 发起新的机械手挑战

新的基准算法:HER

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

HER简述

用强化学习转鸡蛋、转笔,OpenAI 发起新的机械手挑战

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 发起新的机械手挑战

和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基准算法代码也已经和以往的A2C、ACER、DDPG、DQN、PPO、TRPO等基准算法一起开源在https://github.com/openai/baselines。另外OpenAI也单独撰写了一篇正式的文档介绍这一整件事情。

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

viaOpenAIBlog,艾伯特(公众号:艾伯特) AI 科技评论编译

  • 微信
  • 扫一扫
  • weinxin
  • 微信公众号
  • 扫一扫
  • weinxin
广告也精彩
多功能折叠刀具
韩版毛衣套装裙子
高帮鞋
迷你蓝牙音箱
广告也精彩

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: