AI 科技评论按:富有挑战的新测试环境和任务,极具竞争力的基准模型,你感到兴奋和压力了吗?
为了方便快速开发迭代以及对比测试,各大人工智能机构都会在专门开发的模拟器(实验平台)内布置测试环境和测试任务,然后后续研究就只需要关注算法本身。OpenAI 就在自己的 Gym 平台中搭建了许多实验环境,包括 Atari 2600 游戏系列、MuJoCo 物理模拟器、Toy text 文本环境等等。
随着近期 PPO(Proximal Policy Optimization,近端策略优化)这类新控制算法的出现,在 OpenAI 看来 MuJoCo 中现有的几个四足机器人、半猎豹机器人、仿人机器人的连续运动控制任务都已经可以轻松解决了,甚至参照真实机器人(波士顿动力 Atlas)设计的具有 30 个自由度的仿真模型都已经跑起来了(上图,具体参见 AI 科技评论往期文章)。 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,「控制笔」,控制一枝笔让它达到指定的位置和方向
随着新的机器人环境发布,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,以及考虑其它一些强化学习整体的问题。
新的八个环境已经可以在 https://gym.openai.com/envs/#robotics 详细查看,新的 HER 基准算法代码也已经和以往的基准算法一起开源在 https://github.com/openai/baselines 。另外 OpenAI 也单独撰写了一篇正式的文档介绍这一整件事情。