科技行者OpenAI借助深度神经网络,用50小时让机器人学会用手指抓东西

OpenAI借助深度神经网络,用50小时让机器人学会用手指抓东西

  • 分享文章到微信

    扫一扫
    分享文章到微信

  • 关注官方公众号-科技行者

    扫一扫
    关注官方公众号
    科技行者

通过在相对简单的模拟流程中添加随机性,OpenAI正在训练机器人学会如何执行复杂的手动操作。

来源:科技行者 2018年8月1日

关键字:OpenAI 机器人 模拟训练

“手动操作”对于人类来说轻而易举,因为我们能够在不假思索的情况下自如地适应并协调自己的手指,运用手掌皮肤的摩擦力与重力特性,单手完成诸多工作。但对于机器人而言,这却非常困难。

 OpenAI利用模拟环境训练机器人执行现实中的复杂物理操作

人类从婴儿时期开始,就经历了多年的学习与演练才慢慢掌握这种强大的手动操作能力; 相比之下,机器人显然没有那么多时间。其中的挑战在于,我们必须找到一种速度更快且效率更高的学习方法,不仅能够让机器人以手动方式实现反复操作,同时意识到哪些动作有效、哪些动作无效。

为此,OpenAI的研究人员正在利用强化学习训练卷积神经网络,从而控制一支拥有五根手指的Shadow手臂进行物体操控,而这整个学习过程只有短短50个小时。通过在模拟当中进行操作学习,加上经过精心设计的随机化模拟方法,更好地匹配现实世界中的场景需求。如此一来,即使从未接触过任何真实物体,Shadow手臂仍然能够顺利学会手动操作的精髓所在。

在理想情况下,只要有足够的计算能力,所有机器人都可以接受模拟训练。但问题在于,现实世界无法被完全精确地模拟出来,特别是在涉及摩擦、顺应性以及物体间相互作用等细小因素时,精确模拟将变得更为困难。因此,在可接受的状态内进行模拟虽然效果不错,但模拟成功与现实世界成功之间始终还存在着巨大的鸿沟。这会在某种程度上降低模拟训练的价值。

为了解决这类问题,很多研究人员会选择尽可能提升模拟场景的准确性,以便从中提取出一些有用的成果。但OpenAI却反其道而行之,选择了以可变性为主、准确性为辅,为仿真模拟提供一系列略有不同的参数调整方案,从而确保通过训练形成的行为方式足以在模拟场景之外起效。该项目名为“Dactyl”。

需要重申的是,OpenAI非常清楚其所使用的模拟场景并不足以精确反映各项重要指标——例如摩擦系数以及机器人手指随时间推移而表现出的运动方式等。为了让机器人准确概括其当前学习的内容,OpenAI尽可能引入更多模拟方面,从而覆盖一切无法良好建模的可变性因素。其中包括物体的质量与尺寸、物体表面与机器人指尖的摩擦力、机器人关节的阻尼水平、执行器力度、关节限制、电机间隙以及噪音大小等。这些因素会对物体施加较小的随机力以获得额外的未建模动态参数。当然,这一切仅仅是在操作层面——在物体姿态估计当中,OpenAI也以多种变化方式训练RGB相机,从而降低可视化的实现门槛。

OpenAI将此称为“域随机化”。在谈到手动操作时,OpenAI方面表示:“我们希望了解,经过扩展的域随机化方案能否解决远超现有机器人技术实现方法的任务。”在这方面,OpenAI构建了两套独立的神经训练网络,其中一个负责视觉,另一个负责操作,通过相互配合观察方块物体的姿态并以多种方式对其进行操控,如下图:

 OpenAI利用模拟环境训练机器人执行现实中的复杂物理操作

这些方块的操作(系列至少需要连续成功执行50次操控)源自6144个CPU核心与8个GPU在50小时内收集到的长达100年的机器人模拟实验结果。系统得到的惟一反馈(模拟与IRL)就是方块的位置以及手臂指尖的位置。在这项实验中,系统最初并不具备任何方块抓取概念或者操纵方法认知。因此,必须从零开始总结经验,包括手指旋转、多指协调、配合重力条件的力量控制与调整等。该系统整合了人类在进行手动操作时使用的所有技术,并对其做出了一系列细小且有趣的修改,比如:

对于精确抓取,其策略倾向于使用小指而非食指或中指。这可能是因为与食指、中指以及无名指相比,Shadow Dexterous机械手的小指具有额外的自由活动空间,因此更加灵巧。但在人类身上,食指与中指则通常更为灵巧。这意味着该系统能够准确发现人类的抓取动作与习惯,但同时也能很好地结合自身的限制与能力特性进行调整。

这个过程经过了50个小时、累计收集了超过100年的机器人模拟经验,使得6144个CPU核心与8个GPU成功完成了50次方块的抓取动作。

 OpenAI利用模拟环境训练机器人执行现实中的复杂物理操作

此外,研究人员还发现,机械手与人类在手指旋转的方式中存在着一种有趣的区别——也就是机器人是用两根手指夹起物体,并以其为轴进行旋转。而在人类中,幼儿由于运动水平还没有发展成熟,因此更倾向于使用手指的近端或中间指骨旋转物体。只有在达到一定年龄后,他们才会大量使用远端指骨,形成成人习惯。

以上研究结果证明,我们确实能够立足模拟环境训练机器人执行复杂的物理操作,并将这些来自模拟环境的技能应用于真实世界。这一点非常重要,因为模拟训练的速度要远远高于真实世界训练。

以下是IEEE Spectrum与OpenAI机器人技术主管Jonas Schneider的文字访谈记录:

IEEE Spectrum: 为什么手动操作对机器人而言会成为一个难以克服的巨大挑战?

Jonas Schneider: 对于拥有强大操作灵活性的机器人而言,一切操作都发生在非常紧凑的空间当中。成功的操纵策略要求对这些自由度因素进行适当协调,因此与简单的交互类型(例如抓取)相比,其对误差的容忍度更低。此外,手动操作还涉及与对象物体的大量接触。对此类关联进行建模往往非常困难且容易出错。与此同时,执行期间发生的错误,必须在策略运行中及时得到纠正; 而目前众多基于规模的传统方法都在这方面遇到了问题,因为其可能只具有线性反馈,而无法捕捉到非线性接触动态。

IEEE Spectrum:听起来,随机性是在现实世界中使用模拟场景下获得的策略的关键。您如何决定随机化条件,又怎样判断随机化的程度呢?

Jonas Schneider:我们会进行校准以观察“正确”物理参数的大致水平,同时确定哪些参数对于将模拟行动迁移为真实世界行动时具有最大的影响。此后,我们会将这些参数设置为校准值,并围绕该平均值进行随机化。随机化的实际范围取决于我们的确定性,例如,对象大小由于能够准确测量而属于高确定性参数,因此我们只是稍微进行随机化。

一部分随机化方向源自观察经验。例如,我们发现在投掷物体时,机器有时会选择先降低手腕,而非直接松手放开物体。但由于低级控制器的问题,这样的操作执行有时会存在数百毫秒的延迟。虽然我们可以投入精力为控制器赋予完全确定的时序,但我们最终还是选择在模拟中对各控制器时间步长的周期进行随机化处理。从更高的层面来讲,我们认为这可能成为未来机器人设计与工程技术中的有趣方法; 对于某些具体问题与应用,精确的硬件设计可能带来高昂的成本,但这种硬件缺陷完全可以利用更强大的算法予以纠正。

IEEE Spectrum: 假如将模拟时长由100年提升至1000年,那您认为结果可能会有多大的改善?

Jonas Schneider:在具体任务上,这一点比较难以说明,因为我们从来没有进行过超过50轮测试。目前尚不清楚其渐近效能曲线究竟是什么样的,但我们认为该项目已经完成,因为即使只实现一次手指旋转,这样的结果也已经超出了当前其它最先进方法的水平。之所以最初选择了50次作为成功指标,是因为我们认为25次即可清晰证明已经实现了目标,再额外加上100%的安全边际,就是50次。如果大家希望优化真正的长序列并获得高可靠性,那么增加训练时间也许会有所帮助。但在某些情况下,我们认为策略在过度适应模拟场景之后可能反而在现实世界中表现更差,即使引入大量随机化因素也无法解决这个问题;。在这种情况下,大家实际上需要添加更多随机化因素,从而提升模拟场景的难度,而这将再次提升所得出策略的稳健性。

IEEE Spectrum:您的研究结果在推广方面表现如何?例如,操作较小的方块时需要进行多少次重新训练,操作柔软或者更光滑的物体时又会如何?使用不同的摄像头配合又会如何影响操作能力?

Jonas Schneider:实际上,我们曾经尝试利用相同的策略操纵较小且柔软的泡沫方块,但这只是出于好奇。确实,其性状与固态方块完全不同。我们还在模块中使用了不同大小的方块进行实验(一些很小,也有一些颇为巨大),基于这样新的设置基础上进行重新训练,其同样运作良好。为此,我们还将训练中的对象大小作为一项随机化指标。虽然没有具体尝试,但我认为我们应该能够比较轻松地增加方块大小的随机化范围,而后利用相同的策略操作不同大小的方块。

在摄像头方面,视觉模型需要进行单独训练,现在我们只是在很小的范围内进行摄像机位置随机摆放,因此每次移动摄像机时都会进行重新训练。

IEEE Spectrum:您认为模拟训练与使用大量物理机器人进行暴力测试的方法有何不同?

Jonas Schneider:利用模拟方法推进机器人技术发展的思路对于机器人应用尤为重要,但很多传统的机器人研究人员都不相信这种方法能够在现实世界中发挥作用。其中的核心问题在于,模拟场景在物理层面并不是非常准确(即使通过人眼观察已经很难发现区别),同时,更精确的模拟工具也会带来更高的计算成本。因此,我们要做的是设置一套新的基准,同时配合一套复杂的硬件平台,以此应对模拟场景下所存在的一切限制性因素。

然而,这并不是说机器人在物理层面上的学习将变得毫无用处; 事实上,模拟场景中也存在着一些难以捉摸的限制性因素,例如如何模拟可变形物体及液体等等。

IEEE Spectrum:您的系统存在哪些短板?

Jonas Schneider:就目前来讲,我认为最薄弱的一点在于手动设计与特定任务中的随机化能力。未来我们可能会尝试利用机器学习技术探索这种随机化方式,从而通过另一个“外部层”优化目前需要进行手动完成的随机化操作(即“尝试多次随机化,观察其结果如何”)。另外,我们还有可能进一步利用各智能代理进行彼此对抗(但不要过度)。这种方式有望带来更强大的方案,因为当其操作能力提升后,对抗一方也需要增强自身水平方能与之抗衡,如此反复将显著优化操作能力。

IEEE Spectrum:您说您的最终目标是为现实世界构建机器人。在这方面,您认为还有哪些准备工作需要完成?

Jonas Schneider:我们要做的是在无约束环境中扩展机器人能力。在这样的环境中,我们无法事先了解所有影响因素并为每个对象建立模型。此外,我们也没办法在实验室之外的物体上全部旋转特殊标记。因此,我们的机器人必须学会处理这么多情况,并在遭遇前所未见的情况时仍做出合理的选择。

IEEE Spectrum:您的下一步计划是什么?

Jonas Schneider:我们将继续努力,帮助机器人实现更复杂的行为能力。从长远角度来看,我们希望为机器人提供一般性的操控能力,以便它们通过把玩附近的物体理解周遭环境。我们认为,智能的基础在于与现实世界的互动,为了完成构建安全人工智能的使命,我们必须能够从现实世界的感官体验与模拟数据当中汲取经验,从而完成学习目标。


最新文章
热门标签