二维码

Dactyl使用与OpenAI Five相同的通用强化学习算法和代码从头学习

2421 人阅读 | 时间:2018年12月04日 17:07

我们训练了一个类似人类的机器人手,以前所未有的灵巧操纵物理对象。我们的系统名为Dactyl,完全在模拟中进行训练,并将其知识转化为现实,使用我们过去 一年一直在研究的技术来适应现实世界的物理学。Dactyl使用与OpenAI Five相同的通用强化学习算法和代码从头学习。我们的结果表明,可以在仿真中训练代理并让它们解决实际任务,而无需对世界进行物理精确建模。

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

任务

Dactyl是一个使用Shadow Dexterous Hand操纵物体的系统我们将一个像块或棱镜这样的物体放在手掌中,让Dactyl将它重新定位到不同的方向; 例如,旋转块以将新面部放在上面。网络仅观察指尖的坐标和来自三个常规RGB相机的图像。

Dactyl使用与OpenAI Five相同的通用强化学习算法和代码从头学习

虽然第一个人形手是几十年前开发的,但使用它们有效地操纵物体一直是机器人控制中的长期挑战。与诸如运动之类的其他问题不同,使用传统机器人方法进行灵巧操作的进展缓慢,并且当前技术在操纵现实世界中的对象的能力方面仍然受限。

重新定向手中的对象需要解决以下问题:

  • 在现实世界中工作。强化学习在模拟和视频游戏中取得了许多成功,但在现实世界中却取得了相对有限的成果。我们在物理机器人上测试Dactyl。

  • 高维控制。暗影灵巧手具有24个自由度,而典型的机器人手臂则为7个自由度。

  • 嘈杂和部分观察。Dactyl在物理世界中工作,因此必须处理嘈杂和延迟的传感器读数。当指尖传感器被其他手指或物体遮挡时,Dactyl必须处理部分信息。物理系统的许多方面,如摩擦和滑动,不能直接观察到,必须推断出来。

  • 操纵多个对象。Dactyl的设计灵活性足以重新定向多种物体。这意味着我们的方法不能使用仅适用于特定对象几何的策略。

我们的方法

Dactyl学习完全在模拟中解决对象重定向任务而无需任何人为输入。在此培训阶段之后,学习的策略在真正的机器人上工作而无需任何微调。

Dactyl达到最多连续50次旋转测试即时的。

机器人操纵的学习方法面临两难选择。模拟机器人可以轻松提供足够的数据来训练复杂的策略,但是大多数操作问题都无法准确地建模,以便将这些策略转移到真实机器人。甚至模拟当两个物体接触时发生的事情 - 操纵中最基本的问题 - 是一个活跃的研究领域,没有广泛接受的解决方案。直接在物理机器人上进行训练可以让政策从现实世界的物理学中学习,但今天的算法需要多年的经验才能解决像对象重定向这样的问题。

我们的方法,即领域随机化,在模拟中学习,旨在提供各种经验而不是最大化现实主义。这为我们提供了两种方法中的最佳方法:通过模拟学习,我们可以通过扩展来快速收集更多经验,并且通过不再强调现实主义,我们可以解决模拟器只能模拟的问题。

(通过OpenAI其他人已经证明,域随机化可以解决日益复杂的问题 - 域随机化甚至用于训练OpenAI Five在这里,我们想看看扩展域随机化是否可以解决远远超出机器人当前方法的范围的任务。


我们使用MuJoCo物理引擎构建了我们的机器人设置模拟版本这个模拟只是真实机器人的粗略近似:

  • 测量诸如摩擦,阻尼和滚动阻力的物理属性是麻烦且困难的。随着机器人经历磨损,它们也会随着时间而变化。

  • MuJoCo是一种刚体模拟器,这意味着它无法模拟手指尖或肌腱拉伸时发现的可变形橡胶。

  • 我们的机器人只能通过反复接触来操纵物体。然而,众所周知,接触力难以在模拟中准确再现。

通过校准其参数以匹配机器人行为,可以使模拟更加真实,但是许多这些效果根本无法在当前模拟器中精确建模。

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

学会控制

通过构建支持传输的模拟,我们减少了在现实世界中控制机器人以完成模拟任务的问题,这是一个非常适合强化学习的问题。虽然在模拟手中操纵对象的任务已经有些困难,但是在所有随机物理参数组合中学习这样做实际上要困难得多。

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

Dactyl学习使用Rapid,大规模实施的近端策略优化开发允许OpenAI Five解决Dota 2.我们使用与OpenAI Five不同的模型架构,环境和超参数,但我们使用相同的算法和训练代码。快速使用6144 CPU核心和8个GPU来训练我们的政策,在50小时内收集大约一百年的经验。

对于开发和测试,我们针对具有嵌入式运动跟踪传感器的对象验证了我们的控制策略,以隔离我们的控制和视觉网络的性能。

学会看

Dactyl旨在能够操纵任意对象,而不仅仅是那些经过特殊修改以支持跟踪的对象。因此,Dactyl使用常规RGB相机图像来估计对象的位置和方向。

我们使用卷积神经网络训练姿势估计器。神经网络从位于机器人手周围的三个摄像机获取视频流,并输出估计的对象的位置和方向。我们使用多个摄像头来解决模糊和遮挡。我们再次使用域随机化仅使用Unity游戏开发平台在模拟中训练此网络,该平台可以模拟比Mujoco更多种类的视觉现象。

通过组合这两个独立的网络,控制网络重新定向给定其姿势的对象和将图像从摄像机映射到对象姿势的视觉网络,Dactyl可以通过查看它来操纵对象。

Dactyl使用与OpenAI Five相同的通用强化学习算法和代码从头学习

用于学习估计块的姿势的示例训练图像。

结果

紧急行为

在部署我们的系统时,我们注意到Dactyl使用了一套丰富的现有灵巧操作策略来解决任务。这些策略通常也被人类使用。但是,我们没有明确地告诉我们他们的系统; 所有行为都是自主发现的。

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


Dactyl根据GRASP分类法掌握类型左上角到右下角:Tip Pinch,Palmar Pinch,Tripod,Quadpod,Power grip和5-Finger Precision把握。

我们观察到,对于精确抓握,例如Tip Pinch抓握,Dactyl使用拇指和小指。人类倾向于使用拇指以及食指或中指。然而,由于额外的自由度机器人手的小指更灵活,这可以解释为什么Dactyl更喜欢它。这意味着Dactyl可以重新发现在人类身上发现的擒杀,但是可以使它们更好地适应自身身体的局限性和能力。

转移表现

我们测试了Dactyl在掉落物体,超时或达到50次成功之前可以实现的旋转次数。我们纯粹在模拟中训练的策略能够成功地操纵现实世界中的对象。

Dactyl使用与OpenAI Five相同的通用强化学习算法和代码从头学习

使用Shadow Dexterous Hand,PhaseSpace运动跟踪相机和Basler RGB相机进行Dactyl实验室设置。

对于块操作的任务,使用随机化训练的策略可以比没有随机化训练的策略实现更多的旋转,如下面的结果所示。此外,使用具有从视觉估计的姿势的控制网络几乎与直接从运动跟踪传感器读取姿势一样好。

随机化对象跟踪最大成功次数中位数的成功
所有随机化视力4611.5
所有随机化运动跟踪5013
没有随机化运动跟踪60

学习进步

绝大多数的培训时间都花在了使政策对不同的物理动态变得强大的情况下。学习在没有随机化的情况下在模拟中旋转对象需要大约3年的模拟经验,而在完全随机模拟中实现类似性能需要大约100年的经验。

学习进度-1

经过多年的模拟经验,无论是否有随机学习进度。

令我们惊讶的是

  • 操纵现实世界的物体不需要触觉感应。我们的机器人只接收五个指尖的位置以及立方体的位置和方向。虽然机器人手上的指尖上有触摸传感器,但我们不需要使用它们。通常,我们发现使用一组有限的传感器可以获得更好的性能,这些传感器可以在模拟器中有效建模,而不是使用难以建模的值的富传感器组。

  • 为一个对象开发的随机化推广到具有类似属性的其他对象。在针对操作块的问题开发我们的系统之后,我们打印了一个八角形棱镜,使用其形状训练了一个新策略,并试图操纵它。令我们惊讶的是,它仅使用我们为块设计的随机化实现了高性能。相比之下,操纵球体的策略只能连续取得一些成功,可能是因为我们没有随机化任何模拟滚动行为的模拟参数。

  • 使用物理机器人,良好的系统工程与良好的算法同等重要。有一次,我们注意到一个工程师在运行完全相同的策略时始终比其他工程师获得更好的性能。我们后来发现他有一台更快的笔记本电脑,它隐藏了一个降低性能的时间错误。修复错误后,团队其他成员的性能得到了提升。

什么没有成功

我们还惊讶地发现,许多常用技术并没有改善我们的结果。

  • 减少反应时间并没有改善性能。传统观点认为,减少动作之间的时间应该可以提高性能,因为状态之间的变化更小,因此更容易预测。我们当前的动作时间是80ms,小于人类反应时间150-250ms,但明显大于神经网络计算时间大约25ms。令人惊讶的是,将动作之间的时间减少到40ms需要额外的训练时间,但没有显着提高现实世界中的性能。这种经验法则可能不太适用于神经网络模型,而不适用于当今常用的线性模型。

  • 使用真实数据来培训我们的愿景政策并没有什么不同。在早期的实验中,我们使用模拟和真实数据的组合来改进我们的模型。真实数据来自我们针对具有嵌入式跟踪标记的对象的策略的试验。然而,与模拟数据相比,实际数据具有显着的缺点。跟踪标记的位置信息具有延迟和测量误差。更糟糕的是,实际配置更改很容易使实际数据无效,这使得收集足够有用的麻烦变得很麻烦。随着我们的方法的发展,我们的模拟器错误得到改善,直到它与使用模拟和真实数据混合的错误相匹配。我们的最终视觉模型在没有实际数据的情


该项目完成了OpenAI过去两年一直追求的人工智能开发的完整周期:我们开发了一种新的学习算法,大规模扩展以解决硬模拟任务,然后将生成的系统应用到现实世界中。越来越大的规模重复这个循环是我们追求的主要途径,以增强当今AI系统对安全人工一般智能的能力。如果您想成为下一步的一部分,我们正在招聘


取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

©著作权归作者所有:来自ZhiKuGroup博客作者没文化的原创作品,如需转载,请注明出处,否则将追究法律责任 来源:ZhiKuGroup博客,欢迎分享。

评论专区
  • 昵 称必填
  • 邮 箱选填
  • 网 址选填
◎已有 0 人评论
搜索
作者介绍
30天热门
×
×
关闭广告
关闭广告
本站会员尊享VIP特权,现在就加入我们吧!登录注册×
»
会员登录
新用户注册
×
会员注册
已有账号登录
×