让机器人互相学习:MIT科学家实现知识传输新方式

选自Science

作者:Matthew Huston

机器之心编译

参与:Quantum、李泽南、黄小天

在不久的将来,机器人助理会走进每个人的生活,不过前提是你能无需编程就教它们学会新任务。因为如果要你去学编程,那还不如自己做个三明治好了。现在,有一个新的系统能让教机器人跟教小孩子一样简单。这非常方便,同时也让人担忧——如果你害怕机器人革命的话,它们却能利用这个系统彼此共享技能。

训练机器人有两种基础方法。一种是对它们的动作进行编程,这需要时间和专业的编程技能。另一种则是通过牵引机器人的四肢并移动它们的数字化模型来说明你的目的,或者自己做一遍任务示范让机器人来模仿。但有时复杂任务所需的精确度已经超过了能用手演示的程度,比如拆炸弹就是个很好的例子。现在,有了这个叫做 C-LEARN 的系统,科学家们可以给机器人灌输一个包含简单步骤的知识库,这样它就能将其智能地应用于学习新任务。

「C-LEARN 采用的是一种非常有效的实用方法,」加利福尼亚大学伯克利分校的一位机器人学家 Anca Dragan 说道。

让机器人互相学习:MIT科学家实现知识传输新方式

在这个系统中,最初由人类用户帮助构建机器人的知识库。研究者们在一个软件程序中用点击和拖拽四肢的方式训练一个双臂机器人 Optimus(擎天柱)。他们向它演示动作,比如抓住圆柱体的顶部或方块的侧边。对每个任务,他们都从不同的位置演示了 7 遍。每一次动作都稍有不同,机器人就会寻找一个固定模式并将其整合进其系统。比如说,如果每次抓取器最后都会大致平行于物体表面,机器人就会认为平行度是这个任务流程的重要约束条件。

这时候,机器人就「像一个两岁的小孩子,刚刚知道如何触达某样东西并抓住它,」一位麻省理工学院的计算机学科家 Claudia Pérez D'Arpino 说道,他同时也是这项研究的领导者。有了知识库的帮助,机器人就能够通过单一的演示学习新的多步骤任务。用户通过 C-LEARN 系统向机器人展示目标任务,然后在机器人尝试时同意或纠正它的动作。这是项一次性的事件。「能够服从几何约束的机器人已经存在超过十年了,」华盛顿大学的机器人学家 Maya Cakmak(并未参与这项研究)说道,「然而,到目前为止只有专业人士才能让它们发挥作用。」

为测试这个系统,研究者们教了 Optimus 四项多步骤任务:捡起一只瓶子并把它扔进篮子里;用双手抓住并垂直提起一个托盘;用一只手打开一个盒子然后用另一只手按下里面的按钮;一只手抓住方块上的把手然后用另一只手直接从方块里拉出一根棒子。它尝试了 40 次,有 37 次成功了,科学家们将会在 5 月末的 IEEE 国际机器人和自动化大会(IEEE International Conference on Robotics and Automation)上对这项研究进行详细报告。

还有另一项更难的挑战,研究者们把 Optimus 的知识库和它对以上四个任务的计划传输给了 一个模拟的 Atlas,这是一种需要保持平衡的双足机器人,由波士顿动力研发。结果 Atlas 完成了所有四个任务。但在研究者把某些传输过去的知识(比如保持某些特定动作的平衡度)删除后,它失败了。

这种知识的传输非常有实践意义,D'Arpino 说「你能在德国一家工厂里训练一个机器人做某件事,同样你完全可以把这些知识传输给另一个不同的加拿大机器人。」诚然,对那些反乌托邦未来主义者来说,机器人通过互联网相互学习新技能必将是它们统治世界的第一步。

D'Arpino 目前正在考察人们第一次和 Optimus 交互时能否教会它新的技能。到目前为止结果都还不错,不过她还没准备好详细论这些。接下来,她希望能教机器人学会灵活应变,以便在飞行时调整自己学到的技巧。

一个最终的目标是教会机器人拆炸弹,这是一项非常复杂的任务,需要机器人快速且高精度地工作。其他的应用包括灾难搜寻救援,生产制造电子元件,帮助生病的或懒惰的人打理家务。「家庭机器人是很有前景的,但目前的情况是它们什么也做不了」,D'Arpino 说道。「现在你家里有什么是机器人能做的吗,除了吸尘以外?这真的很难。」她希望能改变这个现状。

相关推荐