导读:机器人领域已经发展了三四十年,但应用方面的进展较慢。这是因为,机器人建立在这样一个假设上:工作环境是简单可控的。如果将机器人部署到稍微复杂一些的环境(如家用环境中),则对机器人的部署带来了巨大的挑战。

随着大规模语言模型的发展,是否能够借助它的能力,引导机器人理解复杂指令,完成更高级的任务?而在这一过程中,又会面临哪些挑战?近日,智源社区邀请谷歌研究科学家夏斐博士做“基于语言和视觉的具身推理”报告,详细介绍了团队在这一新兴领域的前沿工作。

作者介绍:夏斐,目前在谷歌大脑的机器人团队任职研究科学家。他的主要研究方向是将机器人应用到非结构化的复杂环境中。他的代表工作有GibsonEnv, iGibson, SayCan等。他的研究曾被WIRED,华盛顿邮报,纽约时报等媒体报道。夏斐博士毕业于斯坦福大学,师从Silvio Savarese和Leonidas Guibas。他曾在CVPR, CoRL, IROS, ICRA, Neurips, RA-L, Nature Communications等会议和期刊发表过多篇文章。他最近的研究方向是将基础模型(Foundation Models)用于智能体的决策过程中。他的团队近期提出了PaLM-SayCan模型。

 

01

背景

机器学习用于机器人在近年来取得了很大的进展,但依然存在比较大的问题。机器学习需要大量的数据训练,但机器人产生的数据非常昂贵,且机器人本身也会有损耗。

人类在孩童时期,通过玩耍和物理世界进行交互,从中学习到了很多物理规律。受此启发,是不是也可以让机器人和环境进行交互,来获得这些物理的信息,从而完成各种各样的任务?将机器学习用于机器人,很大程度上依赖于模拟环境。

对此,夏斐博士和他的同事们曾提出Gibson Env(Environment)和iGibson等工作,前者注重于视觉环境的重建,后者则注重物理模拟。通过对真实世界进行三维扫描和重建,并通过神经网络渲染视觉信号,创造模拟环境,让各种各样的机器人进行物理模拟,学习从时间传感器到驱动器的控制等。在iGibson环境中,机器人可以学习与环境更为丰富的交互,如学习使用洗碗机等。


夏斐博士认为,上述工作表现的是从互联网AI到具身AI的转变。过去AI的训练主要基于ImageNet、MS COCO等数据集,属于互联网任务。而具身AI要求AI的感知和动作形成闭环——AI要根据感知到的结果决定下一步的动作。夏斐的博士论文“large scale simulation for embodied perception and robot learning”就是关于将机器人模拟规模化后进行学习、感知和推理的。近年来,基础模型在人工智能领域的快速发展。有研究者认为,可以不依赖模拟环境,而是从基础模型中提取信息,帮助机器人进行决策。夏斐博士称这个新的方向为“Foundation Model for Decision Making”,并和团队提出了PaLM-SayCan等工作。

 

02

PaLM-SayCan:让语言模型指导机器人

  1. 机器人为什么很难处理复杂长程的任务?

PaLM-SayCan团队共有45名作者,是谷歌机器人团队和Everyday Robots的合作项目,目的是探索用机器学习改变机器人领域,并让机器人提供数据,提升机器学习的能力。研究主要关注两个问题:非结构化的复杂环境,以及让机器人能够在日常生活中更有用。虽然人们已经有了类似Siri或Alexa这样的个人助理,但机器人领域却没有这样的存在。夏博士举了这样一个例子:在饮料洒了的时候,我们希望跟机器人说明情况,请它帮忙。或者运动后疲累,请它提供饮料和零食等。研究希望机器人能够理解并执行这些任务。目前的难点在于,机器人做长线或长程的任务还比较难,对于需要复杂规划、常识和推理的任务依然无能为力,原因在于两方面。第一个是机器人领域缺乏好的用户交互界面。传统的机器人执行抓取-放置(Pick&Place)任务的时候,通常使用的是Goal-conditioning(目标条件)或独热条件(One-hot Conditioning)方法。Goal-conditioning需要告诉机器人目标是什么,让机器人执行将初始条件改变为目标条件的任务,这需要首先给机器人示范一下,完成后的任务条件是什么样的。

而One-hot Conditioning采用的是One-hot编码,对机器人可以完成的所有任务(如100个任务)用0~99来进行编号。每次需要执行的时候,提供给机器人一个编号,它就知道要去完成什么任务。但独热条件的问题在于需要用户记住每一个任务对应的编码,且独热编码并没有获得各个任务之间的依赖信息(如完成一个目标对应的任务编码序列)。这些就导致目前机器人只能完成短程的任务,通常是抓取和摆放,且机器人本身是静态而非移动的。此外,环境也局限在实验室这样的场景中,往往没有人类。

2.语言模型用于机器人:如何让它能“说”机器人的语言?

为了解决这些问题,团队想到通过使用基础模型。语言模型可以取代Goal-conditioning,通过语言来清晰、无歧义地描述任务。同时,语言也包含了任务步骤之间的依赖信息,如菜谱上的第一步、第二步等,为机器人学习提供帮助。此外,语言也可以去定义长程任务,解决采用模仿学习方法的局限性。

将大模型用在机器人上,可能面临一些挑战。最重要的是要确定面向机器人输出的语言。大模型是根据人类的自然语言进行的训练,其输出的任务,机器人不一定能做。而且语言模型没有在机器人的数据上进行训练,所以它并不知道机器人的能力范围。第二个是Grounding问题,大模型并没有亲身经历物理世界,缺少具身信息。第三个则是在大模型引导下机器人本身的安全性和可解释性问题。语言模型的偏见可能会因为与物理系统相联系而被放大,对真实世界造成影响。

有关可信性方面有这样一个例子:当人类用户和谷歌的LaMDA模型交流的时候,用户问模型“最喜欢的岛”,模型回答的是希腊的克里特岛,而且还能答出一些原因。但是这个结果并不是可信的,因为AI应该给出的结果是“不知道最喜欢哪个岛,因为哪个岛都没去过”。语言模型的问题便是它没有和真实世界交互过,只是根据统计规律去输出最有可能出现的下一句话。如果将语言模型用于机器人上,不同的模型会给出不同的结果,其中一些对于驱动机器人执行任务没有用处。例如,用户提出需要让机器人“将洒出的饮料清理掉”,GPT-3可能会说“你可以用一个吸尘器”。这个结果不完全正确,因为吸尘器并不能清理液体。如果是LaMDA模型,LaMDA可能会说“想不想让我帮你找一个清洁工?”这个回答是正常的,但并没有实际用处,因为LaMDA在对话语料上进行的微调,其目标函数是尽可能延长对话长度,并非帮助完成任务。如果是FLAN模型,它会回复“对不起,我不是故意的。”并没有理解用户的意图:究竟是对话?还是需要解决问题?因此将大语言模型用于机器人上存在一系列问题。PaLM-SayCan工作就是要解决这些挑战。首先是让大模型能够说机器人的语言,方法是Few-shot Prompting(少样本学习)。例如,构造诸如“将咖啡拿到橱柜上”、“给我一个橙子”等任务,并给出相应的步骤(如1-5和1-3)。然后,用户给出模型一个指示:“将一个苹果放在桌子上”。在有了之前的步骤提示后,模型会自行寻找和组合出合适的任务步骤,一步一步生成完成任务的计划。

需要注意的是,大模型主要有两种交互方式,一种是生成式(Generative Interface),根据输入生成下一个Token;另一种是打分式(Scoring Interface),对给定的Token计算似然函数。PaLM-SayCan使用的是打分式的方式,语言模型会更稳定,容易输出想要的结果。在放置苹果的任务中,模型会对各种步骤进行打分,并选出合适的结果。

3.弥补语言模型和真实世界的鸿沟:让机器人探索环境的可供性

还有一个问题需要解决:语言模型生成任务步骤时并不知道机器人目前能做什么。如果机器人跟前并没有苹果,机器人就无法完成放置苹果的任务。因此,这需要让语言模型知道机器人在当前的环境和状态下可以做什么任务。这里需要引入一个新的概念,叫做Robotic Affordances(机器人可供性),也是这篇工作的核心。

Affordances翻译成中文被称为可供性,是美国心理学家詹姆斯·吉布森 (James J. Gibson)在1977年左右提出的一个概念,定义为一个智能体在一个环境中,在当前的状态下可以做什么任务,就代表它的可供性。可供性可以采用监督学习去获得,但是这样需要大量的数据和标注。对此,团队采用了强化学习的方法,利用Policy的值函数近似可供性。例如在环境中训练机器人抓取各种东西,训练后让机器人在房间中进行探索,当它看到面前有物品的时候,捡起该物品的值函数就会变得很高,从而代替可供性的预测。

将可供性和语言模型结合,就得到了PaLM-SayCan算法。如上图所示,左侧为语言模型,对用户提出的指令,对机器人可以完成的任务进行打分,计算出完成子任务对完成总任务有帮助的概率。右侧是值函数,代表在当前状态下完成每一项任务的概率。两者的乘积代表机器人成功完成一个对总任务有帮助的子任务的概率。在苹果的例子中,当前状态下机器人面前没有苹果,要完成这个任务,第一件事情就是要找到苹果,所以找到苹果的可供性分数比较高,抓取苹果的分数较低。找到苹果后,抓取苹果的可供性分数提高,则执行抓取苹果的任务。不断重复这个过程,直到总任务被完成。