【2天=100年】OpenAI用打Dota2的算法造了一只会转方块的机器手


新智元推荐

来源:OpenAI Blog

新智元编辑部

【新智元导读】之前在DOTA2团队战中战胜人类玩家的OpenAI Five,现在被用于训练机器手,取得了前所未有的灵活度。这只机器手完全在虚拟环境中自我学习和训练,然后成功迁移到现实世界解决实际问题。OpenAI使用6144个CPU和8个GPU来训练,50小时内收集了大约100年的经验。

博客和论文地址:

https://blog.openai.com/learning-dexterity

https://d4mucfpksywv.cloudfront.net/research-covers/learning-dexterity/learning-dexterity-paper.pdf

还记得OpenAI那个在DOTA2有限制5v5团战中战胜人类玩家的OpenAI Five吗?

这次,OpenAI的研究人员将同样的算法和同样的代码用在了训练机器手上,所得到的机器手能以前所未有的灵活度操纵立方体、圆柱体等物体。

Dactyl自主学习的灵巧操作行为

这个系统名为Dactyl,与其他机器人系统不同的地方在于,它完全在模拟环境中进行训练,并将其虚拟世界中得到的知识转化为现实,并且适应现实世界的物理学。所有的行为都是自主发现的。

研究人员表示,他们的结果表明,完全可以在纯模拟环境中训练智能体,无需对现实世界进行精确的物理建模(一项极端复杂且浩大的工程),就能让智能体解决实际的任务。

虽然 Dactyl 机器手跟人手相比仍有一定距离,但这项工作表明,机器学习有可能解锁机器新的能力——将来,AI完全可以在虚拟世界中自己教自己新的技能,大大加快学习速度,然后转移至物理世界。

OpenAI还在这次研究中发现了一些令他们感到意外的结果:

首先,触觉感应对于操纵现实世界物体并不是必要的。Dactyl 机器手操纵只接收五个指尖的位置以及立方体的位置和方向。有限的传感器可以获得更好的性能,因为这些传感器可以在模拟器中有效建模,由很多传感器组成的传感器组建模起来非常复杂。

其次,为一个对象开发的随机化(Randomizations)也能推广到具有类似属性的其他对象身上。在玩转立方体后,OpenAI的研究人员打印了一个八角棱镜,结果 Dactyl 机器手仅使用他们为立方体设计的随机化就实现了高的性能。不过,操纵球体还略有难度,可能是因为他们没有随机化模拟滚动行为的参数。

此外,对于现实世界的机器人来说,要让运作性能高,好的系统工程与好的算法同等重要。

减少反应时间并没有改善性能。传统观点认为,减少动作之间的时间应该可以提高性能,因为状态之间的变化更小,因此更容易预测。但实验中,研究人员将机器手动作之间的时间减少到 40ms,训练时间反而变长,而且没有显著改善其在现实世界中的性能。他们得出的结论是,这种经验法则可能适用于线性模型,但可能不太适用于神经网络模型。

最后,使用真实数据来训练结果不一定更好。与模拟数据相比,真实数据有很明显的缺点,比如跟踪标记的位置信息有延迟和测量误差。更糟糕的是,实际配置的更改很容易让实际数据变得无效,而且收集足够多、足够有用的数据十分困难。最终 Dactyl 机器手的视觉模型,是在没有任何实际数据的情况下完成的。

机器手灵活控制物体有四大难点,一直未取得重大突破

Dactyl是一个使用Shadow Dexterous Hand操纵目标的系统。我们将一个木块或棱镜这样的物体放在Dactyl的手掌中,让Dactyl将其重新定位至不同的方向;比如旋转木块,让其新的一面朝上。网络仅负责观察指尖的坐标以及来自三个普通RGB相机的图像。

虽然第一个拟人化的机器手早在几十年前就出现了,但如何利用这些手有效地操纵物体,一直是机器人控制领域内的长期挑战。与运动之类的其他问题不同,人们在利用传统机器人方法实施灵巧的操作方面的进展一直很缓慢,并且当前的技术在操纵现实世界中的物体上仍然存在局限性。

要对机器手中的物体实施重新定向,需要解决以下问题:

  • 在现实世界中奏效。强化学习在模拟和视频游戏中取得了许多成功,但在现实世界中取得的成果却相对有限。我们在真实的机器人身上对Dactyl进行了测试。
  • 高维控制。Shadow Dexterous Hand的自由度为24,而一般的机器人手臂的自由度为7。
  • 噪音和观察部分目标。 Dactyl是在真实世界中工作,因此必须处理噪声和延迟的传感器数据。当指尖的传感器被其他手指或物体遮挡时,Dactyl必须能够处理不完整信息。像摩擦和滑动等物理体系中的许多组成部分,是无法直接通过观察得到的,必须由推理得出。
  • 操纵多个对象。 Dactyl在设计上的高灵活性,足以重新定向多个目标。也就是说,我们的方法不能使用仅适用于特定形状目标的策略。

无需任何人工输入:领域随机化,再现模拟奇迹!

Dactyl完全是在模拟环境中学习如何解决目标重定向任务(object reorientation task)的,无需任何的人工输入。在此训练阶段之后,学习策略会在没有任何微调的情况下对真实机器人起一定作用。

视频内容

Dactyl在测试中达到最大50个连续旋转,实时视频

在操纵机器人的学习方法方面,通常会面临一个两难的选择。模拟的机器人可以轻松提供充足的数据来训练复杂的策略,但是大多数操作问题都无法准确地建模,从而无法使这些策略转移到真实机器人身上。即使是对两个物体接触时发生的情况进行建模(这是操作中最基本的问题)也是一个活跃的研究领域,并且目前没有广泛统一且接受的解决方案。直接在物理机器人上展开训练可以让策略从现实世界物理层面进行学习,但现今的算法需要多年的经验才能解决类似对象重定向这样的问题。

而领域随机化(domain randomization)是在模拟中进行学习的,旨在提供各种经验而不是将现实进行最大化。这种思路提供了最好的两种方法:在模拟中学习,可以通过扩展来快速收集更多的经验;不强调现实主义,可以解决模拟器只能近似模拟的问题。

利用MuJoCo物理引擎构建机器人系统的模拟版本。这个模拟仅仅是真实机器人的粗略近似:

  • 对摩擦、阻尼和滚动阻力等物理属性进行测量是既麻烦又困难的。随着机器人的磨损,这些属性也会随时间而改变。
  • MuJoCo是一个刚体模拟器,这意味着它不能模拟手指上或肌腱的拉伸时的可变形橡胶。
  • 机器人只能通过反复接触来操纵物体。 然而,众所周知,接触力难以在模拟中准确地再现。

通过校准其参数来匹配机器人的行为,可以使模拟更加逼真,但在目前的模拟器中,许多这样的效果是无法精确建模的。

相反,该方法是在模拟环境的分布上对策略进行训练,其中物理和视觉属性是随机选择的。随机值是表示物理系统不确定性的一种自然方法,它还可以防止对单个模拟环境的过度拟合。如果策略可以在所有模拟环境中完成任务,则更有可能在现实世界中完成该任务。

6144个CPU和8个GPU,50小时内收集大约100年的经验

学习控制

通过构建支持迁移的模拟,我们减轻了在现实世界中控制机器人来完成模拟任务的困难,这是一个非常适合强化学习的问题。虽然用一只模拟的手来操纵物体这个任务已经有些困难,但是要在所有随机物理参数组合中学习进行这样的操作实际上要更加困难。

为了在不同环境中进行推广(generalize),策略可以在具有不同动态的环境中执行不同的操作。由于大多数动力学参数不能从单个观测中推断出来,所以我们使用LSTM(一种具有记忆的神经网络)使网络能够了解环境的动态。LSTM在模拟中实现的旋转大约两倍于不具有记忆的策略的旋转。

Dactyl使用Rapid学习,这是一个强化学习训练系统,之前解决了Dota2的OpenAI Five使用的也是它。我们使用了与OpenAI Five不同的模型架构、环境和超参数,但是使用的算法和训练代码是完全相同的。Rapid使用6144个CPU内核和8个GPU来训练我们的策略,在50小时内收集了大约100年的经验

为了进行开发和测试,我们使用嵌入式运动跟踪传感器来验证我们的控制策略,以分别了解控制策略和视觉网络的性能。

学习观察

Dactyl的设计目的是能够操纵任意物体,而不仅仅是为了支持跟踪进行过特殊修改的物体。因此,Dactyl使用常规的RGB相机图像来估计物体的位置和方向。

我们使用卷积神经网络训练一个姿态估计器(pose estimator)。神经网络从机器手周围的三个摄像机中获取视频流,并输出目标的预估位置和方向。我们使用多台摄像机来解决模糊和遮挡问题。我们再次使用Unity游戏开发平台,仅在模拟中使用域随机化来训练这个网络,该平台可以模拟比Mujoco更广泛的视觉现象。

控制网络(control network)根据对象的姿态重新定位,视觉网络(vision network)将图像从摄像机映射到对象的姿态,通过结合这两个独立的网络,Dactyl可以通过观察来操纵对象。

用于学习估计立方块的姿势的训练示例

所有行为都由机器自主发现,采用与人不同的策略

在部署系统时,我们注意到Dactyl使用了一组多样的灵巧操作策略来解决任务。这些策略也是人类经常使用的。但是,我们并没有明确地将这些策略教给系统;所有的行为都是自主发现的

Dactyl自主学习的灵巧操作行为

Dactyl根据GRASP分类法了解类型。从左上到右下分别是:指尖捏、掌心捏、三指握、四指握、强力抓握、五指精准抓握。

我们观察到,对于精准抓握,比如指尖捏,Dactyl会使用拇指和小指。人类则倾向于使用拇指和食指或拇指和中指。然而,由于由额外的自由度,机器手的小指更加灵活,这也许可以解释为什么Dactyl更喜欢用小指。这意味着Dactyl可以调整人类的策略,以更好地适应自身的局限性和能力

改变实验方式时的表现

我们测试了Dactyl在掉落物体、超时或成功翻转目标50次前的成功翻转次数。 我们在纯模拟训练的结果表明,该策略能够成功操纵现实世界中的目标。

我们在实验室中使用Shadow Dexterous Hand、PhaseSpace动作跟踪相机和Basler RGB相机进行实验。

对于操作立方体的任务而言,使用随机化训练的策略可能比未随机化训练的策略实现更多的翻转次数,具体结果如下表所示。 此外,使用由视觉估计姿态的控制网络的表现,几乎与直接从运动跟踪传感器中读取数据的网络一样好。

随机化情况

目标跟踪方式

最大成功翻转次数

成功次数中位数

全部随机化

视觉跟踪

46

11.5

全部随机化

运动跟踪

50

13

未随机化

运动跟踪

6

0

学习过程

为了让我们的策略在面向不同的物理动态目标时变得更加强大,OpenAI研究人员将绝大部分的训练时间花费在这件事上。在没有随机化的情况下,要在模拟实验中学会翻转立方体需要大约3年时间。在完全随机化模拟实验中,实现类似的目标性能则需要大约100年。

编译来源:

https://blog.openai.com/learning-dexterity/

原文发布于微信公众号 - 新智元(AI_era)

原文发表时间:2018-07-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏量子位

AI进军B-Box界:输入20秒任意声音,还你一段定制的B-Box演奏

和人类玩家不同,只要你不打断AI B-Boxer Vid,它就永远不会累。而且它还有一个特殊技能:可以用任何声音合成B-Box。

781
来自专栏机器之心

从标题到写作流程:写好一篇论文的十条基本原则

3116
来自专栏CVer

机器学习&深度学习网站资源汇总

今天推荐一个超NB的开源项目mlhub123,我自以为自己收集的"黑科技"已经够多够全了,但直接看到mlhub123,哈哈,自惭形秽。

2151
来自专栏新智元

机器学习理解视频重点,微软视觉智能技术突破

【新智元导读】台湾国立清华大学与微软合作,首次实现了让机器自动生成视频标题。与生成视频描述不同,生成标题需要理解视频内容,抓住重点,用自然语言给出吸引人的概括(...

41414
来自专栏AI科技评论

Andrej Karpathy发文谈神经网络:这不仅仅是分类器,这是一种新的软件开发思想

AI科技评论按:有越来越多的传统编程语言(C、C++、Java)等程序员开始学习机器学习/深度学习,而对机器学习/深度学习的研究人员来说,编程也是必备技巧。那么...

3245
来自专栏达观数据

达观数据推荐系统实践—实时演算用户动态数据 提升运营效率

本文曾在infoq大数据微信群和数据猿直播平台上进行过分享,是对分享内容最直观的表达,同时对推荐系统架构和算法解释的也很详尽。 随着移动互联网技术的迅猛发展、互...

5777
来自专栏AI研习社

利用好奇心做稀疏反馈任务的学习

AI 研习社按:近期,Unity 发布了版本 0.4 的机器学习智能体工具包(ML-Agent toolkit v0.4),其中最为突出的新功能是通过额外的基于...

962
来自专栏AI科技评论

学界 | 清华与迈阿密大学独家解析:更新了朋友圈和微博动态,好友何时会点赞评论?

AI科技评论按:本文由清华大学媒体与网络实验室以及迈阿密大学物理系共同合作完成,作者包括:余林韵(清华大学计算机系博士生,已毕业加入今日头条人工智能实验室)、崔...

38212
来自专栏PPV课数据科学社区

机器学习项目中常见的误区

在最近的一次报告中,Ben Hamner向我们介绍了他和他的同事在Kaggle比赛中看到的一些机器学习项目的常见误区。 这个报告于2014年2月在Strate举...

3406
来自专栏大数据挖掘DT机器学习

Slope one:简单高效的推荐算法

推荐系统最早在亚马逊的网站上应用,根据以往用户的购买行为,推荐出购买某种产品同时可能购买的其他产品,国内做的不错的当当网,有时候买书,它总能给我推荐出我感兴趣的...

3286

扫码关注云+社区

领取腾讯云代金券