伯克利BAIR最新研究:让机器人自己学会使用工具

2019 年 4 月 24 日 大数据文摘

大数据文摘出品

来源:Bair

编译:李雷、宋欣仪


动物学习使用工具的技能大多来自观察学习和实践。例如通过观察,黑猩猩学会了用树枝“捕捉”昆虫,卷尾猴会用棍子将食物扫到身边。虽然我们不知道它们是否只是“机械模仿”,但我们相信这种使用工具的能力代表着一种更高水平的智力。


大猩猩用木棍收集草药


一个值得探讨的问题:我们能否让机器人以同样的方式——观察和实践 ——学会使用工具?


执行这种复杂的多对象操作任务(例如涉及工具使用的任务)的前提是理解物体间的物理因果关系,也就是要能够预测一个物体如何与另一个物体相互作用的。我们在之前的视觉模型强化学习的研究中探究过机器人在没有监测的情况下怎样利用因果视觉预测模型与周围环境互动。学习这样的模型之后,机器人可以完成各种简单的任务,包括折叠衣物和摆放物体。但是,如果我们考虑有更多工具的情况,例如用扫帚将污垢扫入簸箕,这种学习模型是不够的。


利用因果视觉预测模型与周围环境互动

https://bair.berkeley.edu/blog/2018/11/30/visual-rl/


因此,我们从动物的学习方式中汲取灵感,设计了一种算法,使机器人可以通过模仿和互动式学习获得工具使用技能。尤其是我们的设计还可以通过混合示范数据和无监督学习,使机器人在没有已知工具的情况下,可以使用其他新物体作为临时工具。此外,根据设计的需要,我们的机器人还可以自行决定是否使用被提供的工具。在这篇文章中,我将解释其中原理。

我们的设计使机器人明白如何使用不同的物体作为工具来实现指定的任务(根据黄色箭头标记)。机器人在执行任务期间自行决定是否使用已提供的工具。


从示范中学习


首先,我们用示范数据集来说明如何使用各种工具。因为我们最终希望机器人学习一种对各种工具使用技能都有用的模型,所以我们收集了使用不同工具完成各种任务的示范数据。对于每次示范,我们都会用机器人自带摄像头记录图像序列,包括工具的位置和各种指令的动作。


运动示范例子


通过这些数据,我们可以拟合一个模型,设计一系列动作,使机器人能够将当前场景中的物体用作工具。并且,为了得到示范中各种动作的范围,该动作设计模型输出了动作序列的分布。


视觉预测模型的无监督数据集


由于我们希望机器人不只是机械模仿示范的行为,而是能够应对新物体和新情况,因此我们需要大量不同的数据。也就是说,机器人可以自主收集数据。例如,我们希望机器人能够理解小失误,有偏差的抓取可能会影响其下一步动作。因此,我们要让机器人通过自己收集的数据来累积经验。


机器人还可以两种不同的方式自主收集数据:通过随机的动作序列收集数据或者通过之前强化学习模型输入的动作样本收集数据。后者使机器人可以抓住工具并随意移动它们,这对于理解多物体相互作用至关重要。


我们最终的数据集包括专业示范数据,机器人对各种工具的自学经验以及BAIR机器人交互数据。我们用这个数据集来训练机器人的动态模型。该模型使用循环卷积神经网络,输入先前收集的图像和每个时间点的动作,就可以生成下一个图像预测以作出反应。


示范指导动作


在测试时,机器人可以使用模拟数据训练的模型来指导动作计划过程和预测模型,以确定采取哪些动作可以完成它要执行的任务。


新任务是通过用户提供的物体移动关键点位置来指定的。例如,我们想要机器人把垃圾扫进簸箕,就可以选择垃圾的中心点和垃圾在簸箕上的最终位置来确定任务(见下图)。用这种方式指定任务不会告诉机器人如何使用某工具,甚至不会告诉它在这个场景下有哪种工具可以使用,机器人必须在其动作规划过程中自行确定。



我们使用基于抽样的动作计划程序,利用动作设计和视频预测模型,使机器人可以使用不同的工具和物体来完成各种任务。需要指出的是,动作序列最初是来自动作设计模型的随机采样。然后,我们再通过视频预测模型来预测每个动作计划的结果。


对同一初始场景不同动作序列的视频预测


通过采用顶层计划(最有可能导致期望结果的动作序列)并使其合理分布,我们可以重复采样并改进最顶层计划,然后让机器人执行。



实践


我们尝试此方法使机器人能够使用新工具来完成用户指定的任务。


左:带有任务指示箭头的初始场景。中:与最佳计划相对应的视频预测。右:机器人执行计划。


在前文提到的任务中,机器人使用附近的扫把来更有效地执行任务:


尽管机器人之前从未见过海绵,但它可以自学如何使用它来清洁盘子上的碎屑:



在下面的示例中,机器人只能在绿色阴影区域内移动,并且需要将蓝色圆柱体向自己方向拉。这个示例的关键是,机器人学会如何使用L形钩来完成任务:



而且,即使出现诸如瓶子一类的普通物体时,机器人也可以推断出如何将其用作工具来完成任务:


最后,在可以不使用工具的情况下,机器人选择用自己的钳子完成任务:


场景1:机器人使用工具从而更有效地移动两个对象。


场景2:机器人忽略钩型工具,用自己的钳子移动单个物体。


除了这些例子之外,我们在论文中的定量结果表明,我们的方法比只从示范中学习更通用,比只从经验中学习更能提高机器人的能力。


其他相关研究


先前的深度学习研究探索了在指定任务和运动计划框架下使用逻辑编程和已知模型的如何让机器人操作工具。但是,基于逻辑和基于分析模型的系统容易受到建模错误的影响,这些错误可能会在测试执行期间累积,从而影响整个系统。


其他研究包括将工具的使用分解为面向任务的学习,及使用计划或策略学习来操作工具等。这些方法将机器人的运动范围限制在工具附近的区域内,而我们的方法能够应对周围有工具或没有工具的不同情况。


还有一些研究还提出了工具使用的动态学习模型。然而,不同于这些使用手工设计的感知通道或完全放弃感知的方法,我们的方法可以直接从原始图像像素中学习物体之间的交互作用。


结论


执行涉及未知物体的多样化复杂任务是机器人技术中的一项挑战,我们研究学习了将物体作为工具来使用的不同任务。我们演示了我们的方法,它结合了模仿和自我监督的交互学习,使机器人能够用多个物体完成复杂的任务,甚至可以在新场景下使用临时工具。我们希望这项研究代表着机器人向更通用和更强大迈出的一步,这样它们终有一天可以在现实环境下执行任务。


相关报道:

https://bair.berkeley.edu/blog/2019/04/11/tools/



实习/全职编辑记者招聘ing

加入我们,亲身体验一家专业科技媒体采写的每个细节,在最有前景的行业,和一群遍布全球最优秀的人一起成长。坐标北京·清华东门,在大数据文摘主页对话页回复“招聘”了解详情。简历请直接发送至zz@bigdatadigest.cn


志愿者介绍

后台回复志愿者”加入我们

点「在看」的人都变好看了哦
登录查看更多
5

相关内容

机器人(英语:Robot)包括一切模拟人类行为或思想与模拟其他生物的机械(如机器狗,机器猫等)。狭义上对机器人的定义还有很多分类法及争议,有些电脑程序甚至也被称为机器人。在当代工业中,机器人指能自动运行任务的人造机器设备,用以取代或协助人类工作,一般会是机电设备,由计算机程序或是电子电路控制。

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
194+阅读 · 2020年6月29日
《强化学习》简介小册,24页pdf
专知会员服务
272+阅读 · 2020年4月19日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
《强化学习—使用 Open AI、TensorFlow和Keras实现》174页pdf
专知会员服务
136+阅读 · 2020年3月1日
PlaNet 简介:用于强化学习的深度规划网络
谷歌开发者
13+阅读 · 2019年3月16日
Grasp2Vec:通过自我监督式抓取学习物体表征
谷歌开发者
9+阅读 · 2019年1月2日
Meta-Learning 元学习:学会快速学习
极市平台
75+阅读 · 2018年12月19日
一文学习基于蒙特卡罗的强化学习方法(送书)
人工智能头条
7+阅读 · 2018年3月13日
Risk-Aware Active Inverse Reinforcement Learning
Arxiv
7+阅读 · 2019年1月8日
Relational Deep Reinforcement Learning
Arxiv
10+阅读 · 2018年6月28日
VIP会员
相关VIP内容
Top
微信扫码咨询专知VIP会员