来源:倍可亲(backchina.com)
将来你可能会看到两个一模一样的机器人,一个是老师,一个是学生
人工智能正在飞速地发展,机器不仅可以自己学习,还可以当老师教育别人了。
据每日邮报报道,MIT做出一个新的机器人,它可以把自己的本领教给其他的机器人。
这个机器人被称为“Optimus(擎天柱)”,它可以自动教其他机器人一些简单的工作,比如说开门,把一个东西丢进桶里,或者把一个圆柱体从桶里取出来等等。
Optimus把热水瓶进桶里,这个机器人可以自动把这个任务教给其他机器人
在模拟当中,Optimus可以把这些技能无缝地转移给另一个名叫“Atlas”的机器人。Atlas是一个六英尺高(1.8米)、400磅重(180公斤)的类人机器人。
在接受Optimus的教育之后,它就学会了这些基本技能,就像被人类程序员教过一样。
为什么Optimus这么神奇呢?这得益于它的内核——C-Learn系统。
训练机器人通常有两种方法。
第一种,运动设计技术(motion-planning techniques),机器人的所有动作是由编程完成的,包括每个运动的时间和位置,比如让机器人将金属切割成特定的形状和尺寸。
第二种,学习示范( learn from demonstration ),信息的输入是通过运动捕捉,其方式与在电影和视频游戏中绘制CGI字符的移动相同,也就是说,让机器人看一个任务,然后去复制它。
不过,这两种方法都有缺陷。
学习示范的机器人,不容易将它们的技能转移到另一个机器人身上,并保持准确。
而采用运动设计技术,虽然可以做到这一点,但是耗时耗力,必须要专家程序员手动编码才可以。
因此,这两种方法,在一些紧急情况中,比如火灾、地震、海啸、福岛核危机之类的事件当中,恐怕就不能满足需求了。
Pérez-D'Arpino和她训练的Optimus机器人
MIT的计算机科学和人工智能实验室(CSAIL)的研究人员开发了一种新的系统,可以集两者的优点融为一体,奋其所长的同时又能避其所短。
这就是上面提到的“C-Learn”,它可以不经编程就教会机器人一系列任务,仅仅需要提供一些如何移动的信息,然后给机器人示范一次任务就OK了。
举个例子,有一个任务是:要求机器人用双手抓住托盘,并将其抬起,使托盘与地面平行。虽然只给机器人演示了一次,但是它能够利用它之前如何平行于对象的知识,来完成这个任务。
机器人也被教了其他一些技能,比如,抓住一个物体并将其放入桶中,以及将卡在气缸内的圆柱体取出来。
这样一来,用户就可以让机器人自己去教授其他的机器人了,不仅节省时间,而且能节省成本,如果希望多个机器人执行类似操作的话。
MIT的研究人员说,将来这个系统可以用来更快地制造拆弹机器人和救灾机器人。
此外,它还降低了训练机器的门槛。因为系统不需要进行编码就能教给机器人任务,所以它允许没有编码经验的人“训练”机器人。
这种方法兼具学习示范的直观,和运动设计技术的精准,可以让机器人很快去学会新的任务。这项研究将在新加坡举行的IEEE国际机器人和自动化大会(5月29日—6月3日)上发表。
当然,这个系统并非没有缺陷。
例如,下面这种情况机器人可能就无法适应。机器人被教会了抓住一个物体,然后将它提取出来。但是情况需要机器人先提取物体,然后放下它,去完成一个它所学知识的逆向操作,机器人就做不到了。
“这涉及到一些逻辑思维,对于人类来说这是很简单,但对于计算机来说,这是很有挑战性的。”该研究的合作者之一、CSAIL的博士生Pérez-D'Arpino解释道。
虽然存在缺陷,不过这项研究还是拥有光明的前景的。它不仅有趣,还有可能创造更好的成本效益。期待MIT的机器人老师们早日走出实验室,到世界各地去教书育人。