AI 科技评论按:前几天我们刚刚介绍了加州大学伯克利分校 Pieter Abbeel 教授领导伯克利机器人学习实验室(UC Berkeley's Robot Learning Lab)开发的会叠衣服的家务向机器人 BLUE,今天伯克利人工智能实验室(BAIR)这边也带来了一项新的机器人科研成果 —— 教会机器人使用工具完成任务。这篇论文的作者之一是知名青年机器学习研究员、谷歌大脑研究科学家 Chelsea Finn,她目前正在 BAIR 做博士后。AI 科技评论把论文成果的介绍博客编译如下。
在许多动物身上,使用工具的能力都来自于观察学习和动手尝试两者的共同作用。比如,大猩猩可以通过观察自己已经掌握了技能的同伴学会如何用树枝从白蚁窝里“钓”白蚁吃,人类也观察到卷尾猴能够把树枝作为扫和拨的工具,把较远的食物弄到他们身边。有人也许会提出这只不过是猴子们依葫芦画瓢,但这篇论文的作者们认为使用工具的能力显然体现了更为高级的智慧。
在这项新研究中作者们探索的问题是:我们能否让机器人也拥有相似的使用工具的能力 —— 通过观察和自己动手实验学会使用工具。
在执行复杂的多物体控制任务时,有一项必须的要素是理解物理层面的因果关系,所以预测不同的物体之间会如何相互作用就非常关键。在之前的视觉深度强化学习研究(https://arxiv.org/abs/1812.00568)中,作者们已经探究了如何在机器人与世界的无监督交互过程中学习包含因果关系的视觉预测模型。在学习到这样的模型之后,机器人就可以开始规划并完成一系列简单的任务,包括叠衣服、整理物品。不过,如果考虑到使用工具的任务中更为复杂的物理交互,比如用扫帚把尘土扫进簸箕里,非指向性的动手实验就不够了。
因此,考虑到动物们是如何学习的,作者们设计了一个新的算法,它可以让机器人通过类似的模仿、互动的范式学习如何使用工具。具体来说作者们展示了,借助一组演示数据以及无监督的动手实验,机器人可以学会把新的物体作为工具使用,甚至可以在传统工具缺失的情况下灵活使用现有的工具完成任务。更进一步地,根据任务要求的不同,作者们的方法还让机器人有能力决定是否使用当前给定的工具。
作者们提出的方法让机器人有能力学习如何把不同的物体当作工具以完成用户给定的任务(第一行图中用黄色箭头标出)。任务中并没有指定机器人必须使用给定的工具,但机器人决定使用它们。
从演示中学习
首先,作者们需要使用一个演示动作数据集,其中展示了各种不同的工具是如何使用的。由于最终的目标是希望学习到一个具有多种多样的工具使用能力的模型,作者们采集的演示动作数据也就包含了多种不同的工具和多种不同的任务。对于每一个演示,作者们都让机器人自己的摄像头录制了图像序列和动作指令。
通过这些数据,作者们得到了一个模型,它可以提出把当前场景内存在的物体作为工具的运动序列。并且,为了能够从演示中捕捉更为丰富的行为,这个模型的输出形式是不同动作序列的分布。
为视觉预测模型的学习收集无监督数据
由于作者们希望机器人的行为不要局限于演示数据中出现的那些动作,并最终泛化到新的物体和新的情境中,他们就还需要很多不同的数据。最理想的来源当然是由机器人自己采集,而且是通过大规模可拓展的方式。比如,作者们希望机器人能够理解抓取姿态不好之类的小错误对后续的动作会有什么影响,所以他们就让机器人从现有的经验基础上继续动手实验、继续收集更多的数据。
具体来说,论文作者们设计了两种不同的数据自动采集方式:一种方式是执行随机的动作序列,另一种是从上一节中提到的动作序列提出模型中采样。后一种方式中,机器人可以把工具拿起来然后在空间中随机移动它。对于学习多物体的交互方式来说,在这一环节中学习到的经验非常重要。
最终,作者们使用的数据集一共由这几部分构成:专家演示、机器人使用多种不同工具的无监督实验、以及 BAIR 机器人交互数据集中的数据。作者们用这些数据训练了一个动态模型。模型的实现方式是循环卷积神经网络,它在每个时间步骤的输入是前一副图像和一个动作,输出是一副生成的图像。
在测试时,机器人可以使用模仿学习训练的模型来指导规划过程,然后用预测模型来觉得哪些动作可以让它完成目前的任务。
新任务的创建需要用户给定关键点的移动。比如下图中,我们希望机器人把地上的垃圾扫到簸箕中,就在图中选中垃圾的中心点,然后画出希望的最终位置。用这种方式指定任务并不会告诉机器人如何使用工具,在有多种工具可以选的环境下甚至都没有指明要用哪一种工具,机器人需要自己思考并规划。
作者们使用了一个简单的基于采样的规划过程,它会使用动作提议模型和图像预测模型的输出,并让机器人有能力用多种不同的工具和物品完成多种不同的任务。具体来说,动作序列最初是从随机采样的,然后,根据图像预测模型可以预测出每一种动作序列规划的结果。
通过选出当前最佳的规划并根据它生成一个分布,系统可以进行反复的迭代采样,在当前最佳的规划的基础上一直优化改进,最后在机器人上执行。
作者们对这种方法进行了实验,让它使用新的工具执行用户设定的目标。
在前面提到过的清扫任务中,机器人可以抓起附近的扫帚,高效地完成任务。
在另一个场景中,虽然机器人从未见过海绵,但它能够思考如何用它把盘子中的碎渣扫走。
在下面的例子中,作者们设定只允许机器人在绿色阴影范围内移动,目标是把蓝色圆柱体向自己的方向移动。显然,这个任务的关键就是机器人想到了如何使用 L 型的木块把圆柱体钩过来。
以及,即便只给机器人提供矿泉水瓶之类的日常物体,它也能推理出如何把它作为工具完成任务。
最后,在最好不使用工具的环境中,机器人也会选择直接用自己的夹钳完成任务。
除了这些例子之外,论文中的量化实验结果表明他们的方法比单独使用从演示学习有更好的泛化通用性,也比单独从经验学习有更强的完成任务能力。
论文《A Relational Approach to Tool-Use Learning in Robots》(www.roboticsproceedings.org/rss14/p44.pdf)研究了如何在任务和运动规划框架下通过逻辑编程和已知模型控制工具。然而,基于逻辑的系统和基于解析模型的系统都容易受到建模误差的影响,这会在测试执行时累积并影响表现。
其它的研究中把工具看作了面向任务的抓取动作控制(ieeexplore.ieee.org/document/769),并根据规划(cs.stanford.edu/people/asaxena/papers/deepmpc_rss2015.pdf)或者策略学习(arxiv.org/abs/1806.09266)来使用工具。这些方法都限制了涉及到工具的运用的范围,而这篇论文中的方法不论场景中有没有工具都可以完成运动规划。
也有一些别的方法(ieeexplore.ieee.org/document/1570580,cs.stanford.edu/people/asaxena/papers/deepmpc_rss2015.pdf)提出在使用工具中学习动态模型。然而,这些方法需要额外使用手工设计的感知流水线,或者完全忽略感知,这篇论文中的方法就可以直接从原始图像像素中学习物体间的交互。
会出现从未见过的物体的多样、复杂任务是机器人领域正在尝试攻克的问题。为了研究这个问题,这篇论文的作者们研究了需要把物体作为工具的多种任务。作者们提出了结合模仿学习和自我监督交互学习的新方法,并展示了这种方法可以让机器人完成复杂的多物体交互任务,其中可以含有多种多样的物体,甚至可以在新的环境中灵活运用物体作为工具。作者们希望这项研究展示了让机器人同时变得更通用和更能干的新方法,以便未来机器人可以在日常生活环境中执行有用的任务。
论文原文:
《Improvisation through Physical Understanding: Using Novel Objects as Tools with Visual Foresight》
论文地址:https://arxiv.org/abs/1904.05538
via bair.berkeley.edu/blog,AI 科技评论编译