前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OpenAI机械手单手轻松解魔方,背靠强化学习+新技术ADR

OpenAI机械手单手轻松解魔方,背靠强化学习+新技术ADR

作者头像
AI科技大本营
发布2019-10-21 15:59:54
9170
发布2019-10-21 15:59:54
举报
编译 | 夕颜

【导读】10月15日,人工智能研究机构OpenAI发布了一条机械手单手解魔方的视频。这个自学式的类人机器人手臂名为 Dactyl,不仅可以单手解魔方,甚至能在外加各种干扰,比如“蒙眼”,用布娃娃长颈鹿干扰下继续完成任务。这次,这套机械手系统使用的是此前用于 OpenFive 同样的强化学习代码,加上一项名为 Automatic Domain Randomization (ADR,自动化域随机)的新技术,这套系统可以处理之前未见过的场景,再次证明了强化学习的强大学习能力。

论文链接:https://d4mucfpksywv.cloudfront.net/papers/solving-rubiks-cube.pdf

以下为 OpenAI 官博编译:

我们已经训练出了一对神经网络,可以用类似于人的机器人手来解魔方。这个机械手使用与OpenAI Five相同的强化学习代码,以及一项被称为自动域随机化(ADR)的新技术。这套系统对神经网络进行完全的模拟训练,可以处理训练中从未见过的场景,例如被一个布娃娃长颈鹿堵住。

这表明,强化学习不仅是一个可以面对虚拟任务的工具,还可以解决需要前所未有的灵活性的物理世界问题。

人类的双手使我们能够解决各种各样的任务。在过去60年的机器人技术发展过程中,由于人类的双手是固定的,完成艰巨任务时要求为每个任务设计定制的机器人。作为替代方案,人们花了数十年时间尝试研发通用机器人硬件,但由于其高度的自由度,取得的成就有限。值得注意的是,我们在这里使用的硬件并不是新的,这套机器人手臂已经存在了15年了,但是软件方法却是新的。

自2017年5月以来,我们一直在尝试训练类似于人的机器人手来解魔方。我们设定这个目标的原因,是因为我们相信成功地训练这样的机器人手来完成复杂的操纵任务将为通用机器人奠定基础。我们于2017年7月在仿真环境中解决了魔方的难题。但截至2018年7月,我们只能在机器人上操纵一个魔方。现在,我们已经达成了最初的目标。

全面解决了魔方难题

单手解魔方对于人类来说都是一项艰巨的任务,一个人类孩童需要练习数年才能掌握解魔方所需要的灵巧性。不过,我们的机器人技术仍有待完善,因为它解决魔方的成功率为 60%,对于难度系数高的难题成功率只有 20%。

新技术:动域随机化(ADR)

我们使用强化学习和Kociemba算法,以选择训练步骤,在仿真环境中训练神经网络解决魔方问题。

我们专注于机器目前难以掌握的问题:感知和灵巧的操纵。因此,我们训练神经网络完成魔方对面旋转和由Kociemba算法生成的翻转动作。域随机化使经过模拟训练的网络可以迁移到真实的机器人上。

我们面临的最大挑战是在模拟环境中创建足以捕获现实世界物理特征的环境。对于像魔方或机械手这样复杂的物体来说,诸如摩擦、弹性和动力学之类的因素非常难以测量和建模,我们发现仅仅依靠域随机化是不够的。

为了克服这个问题,我们开发了一种称为自动域随机化(ADR)的新方法,该方法在仿真中不断产生难度系数越来越高的环境。(我们的工作与POET紧密相关,POET自动生成2D环境。但是,我们的工作学习了针对所有环境的联合策略,该策略可以迁移到任何新生成的环境。)这使我们摆脱了对真实世界的精确模型的依赖,神经网络能够从模拟中学习的知识迁移到现实世界。

ADR从单一的非随机环境开始,神经网络在该环境中可以学习解魔方。随着神经网络在任务中逐渐优化并达到性能阈值,域随机化的数量会自动增加。由于神经网络现在必须学会将其泛化到更随机的环境,这项任务更加艰巨。网络不断地学习,直到再次超过性能阈值,然后再进行更多随机化,如此循环。

ADR应用于魔方的尺寸

我们随机化的参数之一是魔方的尺寸。ADR从固定尺寸的魔方开始,然后在训练中逐渐增加随机范围。我们将相同的技术应用于所有其他参数,例如魔方的质量,机器人手指的摩擦力和手的视觉表面材料。因此,神经网络必须学会在越来越困难的环境下解魔方。

自动与手动域随机化

域随机化要求我们手动指定随机化范围,这并不简单,因为太多的随机化会使学习难度增加,但随机化太少又不利于向真实机器人的迁移。ADR通过自动扩展随机范围来解决这个问题,而无需人工干预。ADR消除了对领域知识的需求,并使该方法应用于新任务变得更简单。与手动域随机化相比,ADR还通过训练从不收敛而使任务始终保持挑战性。

在翻转木块这个任务上,我们对ADR与手动域随机化进行了比较,在该任务上,后者已经有了很强的基准表现。一开始,ADR在真实机器人上的成功次数方面表现较差。但是,随着ADR增加了熵(这是对环境复杂性的一种度量),迁移性能最终相比基准翻倍,且无需人工调整。

分析

测试鲁棒性

使用ADR,我们可以在仿真环境中训练神经网络,进而在真实的机器人手上解魔方。这是因为ADR使网络处于无数种随机模拟中。正是由于训练过程中的这种复杂性,网络才得以从仿真环境迁移到现实世界,因为它必须学会快速识别并适应它面对的任何物理世界目标。

为了测试我们方法的局限性,我们在手解魔方的同时尝试了各种扰动。该测试不仅可以测试控制网络的健壮性,还可以测试视觉网络,在这里我们将其用于估算魔方的位置和方向。‍

戴手套解魔方

机械手被蒙上布

机械手被布娃娃干扰

用笔戳魔方

食指和中指被绑住

我们发现,即使从未进行过ADR训练,我们的系统也对扰动具有惊人的健壮性:即使没有达到最佳性能,机器人也可以在所有测试过的扰动下成功执行大多数翻转和对面翻转。

快速元学习

我们认为,元学习或学会学习是构建通用系统的重要先决条件,因为这使系统能够快速适应环境中不断变化的条件。ADR背后的逻辑是,内存增强型网络与足够随机的环境相结合会导致快速元学习,其中网络采用了一种学习算法,该算法可迅速适应其所部署的环境。

为了系统地进行测试,我们测量了神经网络在不同扰动下(例如重置网络的内存、重置动力学或断开关节)每次成功翻转魔方(旋转立方体以使不同的颜色朝上)的时间。我们在仿真中执行这些实验,这使我们能够在受控的环境中平均进行10,000多次试验。

网络内存被清除后的成功时间

当摩擦、质量或重力变化是的成功时间

当随机关节被破坏时的成功时间

最初,随着神经网络成功实现更多翻转,成功完成任务的都会减少,因为神经网络会学会了适应。施加干扰(上图中的垂直灰色线)时,我们看到成功时间出现钉状轨迹。这是因为网络所采用的策略在变化的环境中不起作用了。之后,网络重新学习新环境,我们再次看到成功的时间减少到了先前的基准水平。

我们还测量了失败率,并进行了相同的对面翻转实验(将顶面顺时针或逆时针旋转90度),发现了相同的适应模式。

神经网络

可视化让我们能够了解网络内存中的内容。随着网络复杂性的增加,这一点变得越来越重要。

我们使用可解释性工具箱中的构造块,即非负矩阵分解,将这个高维向量浓缩为6组,每组用一种颜色表示。然后,我们为每个时间步展示当前主导组的颜色。

我们发现,每个内存组都有与其相关的语义上有意义的行为。例如,我们可以仅查看网络内存的主要组,来预测它是要旋转多维数据集,还是要在旋转之前顺时针旋转顶部。

挑战

用机械手解魔方的问题仍然不简单。目前,我们的方法在需要最大难度的加扰(需要旋转26个面)时,成功解魔方的概率仅为 20%。对于需要15次旋转才能撤消的较简单的加扰,成功率为60%。当魔方掉落或超时,我们认为实验失败。但是,我们的网络能够在任何初始条件下解魔方。因此,魔方掉了也可以拿回来放到机械手中继续求解。

通常,我们发现在最初的几次旋转和翻转期间,我们的神经网络更有可能失败。之所以如此,是因为神经网络在早期需要适应适应物理世界。

下一步

我们认为,我们在构建灵巧性可媲美人类的通用机器人正在取得进展,我们很高兴朝这个方向继续前进。

原文链接:https://openai.com/blog/solving-rubiks-cube/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI科技大本营 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 新技术:动域随机化(ADR)
    • ADR应用于魔方的尺寸
      • 自动与手动域随机化
      • 分析
        • 测试鲁棒性
          • 快速元学习
          • 神经网络
          • 挑战
          • 下一步
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档