谷歌让机器人充当大型语言模型的手和眼睛,一次性将一个任务拆解成16个动作。大型模型已在机器人领域发挥作用。“我把饮料洒了,你能帮帮我吗?”这是我们日常生活中很常见的求助用语。听到这句话,你的家人或朋友往往会不假思索地递给你一块抹布、几张纸巾或者只是帮你打扫卫生。但如果换成机器人,事情就不那么简单了。它需要理解“饮料打翻了”和“帮帮我”是什么意思,以及如何提供帮助。这对于只能理解简单指令(比如移动到(x,y)并抓起可乐瓶)的机器人来说确实很难。为了让机器人理解,你可以把上面的句子分解成几条简单的指令,但是这个过程的繁琐可能会让你放弃使用机器人。为了消除这种尴尬,我们需要给机器人装上一个聪明的大脑。深度学习领域的研究表明,具有出色语言理解能力的大型语言模型(如GPT-3、PaLM等)有望充当这个大脑。对于同一句话(我把饮料洒了,你能帮帮我吗?),模型可能会回应“试试吸尘器”或“你想让我找个清洁工具吗?”可以看出,大型语言模型可以理解稍微复杂一点的高级指令,但它们给出的答案并不总是可行的(例如,机器人可能无法拿起吸尘器,或者没有吸尘器房子)。为了更好地结合两者,大模型还需要了解机器人的技能范围和周围环境的限制。谷歌的“RoboticsatGoogle”最近瞄准了这个方向,提出了一种名为“Saycan”(DOASICAN,NOTAsISAY)的算法。在这个算法中,他们让机器人充当语言模型的“手和眼”,提供关于任务的高级语义知识。在这种合作模式下,机器人甚至可以完成16步的长任务:那么,它是怎么做到的呢?研究团队在项目网站上描述了他们的方法。项目网址:https://say-can.github.io/论文地址:https://arxiv.org/abs/2204.01691方法概述研究人员将大型语言模型(LLM)与机器人的物理任务相结合。有这样一个原则:除了让LLM简单解释一条指令,我们还可以用它来评估单个动作有助于完成整个高阶指令的概率。简单来说,每个动作都可以有语言描述,我们可以使用提示语言模型让它对这些动作打分。此外,如果每个动作都有相应的可供性函数,则可以从当前状态(例如学习值函数)量化其成功的可能性。两个概率值的乘积就是机器人能够成功完成对指令有帮助的动作的概率。按照这个概率对一系列动作进行排序,选择概率最大的一个。一旦选择了一个动作,我们就可以通过迭代选择一个任务并将其添加到指令中来告诉机器人执行它。实际上,规划在这里被构造为用户和机器人之间的对话:用户提供高级指令,例如“你如何给我一个可乐罐?”并且语言模型以明确定义的顺序响应,例如“我会:1.找到一个可乐罐;2.拿起可乐罐;3.把它带给你;4.完成。”简而言之,给定一个高级指令,SayCan将来自语言模型的概率(某个动作vs.高级指令有用的概率)与来自值函数的概率(成功执行上述动作),然后选择要执行的动作。通过此方法选择的动作是可行且有用的。我们通过将所选动作附加到机器人响应并再次查询模型来重复此过程,直到输出步骤终止。实验数据研究人员在两种场景下对提出的算法Saycan进行了测试,一种是在办公室厨房,另一种是在模拟办公室厨房,其中101个任务由自然语言指令指定。下面展示了一些结果亮点。从下图中,我们可以直观地看SayCan的决策过程,蓝色条代表(标准化)LLM概率,红色条代表(标准化)成功概率执行选定的操作。综合得分为绿色条,算法将选择综合得分最高的动作。这种可视化突出了SayCan的可解释性。例如,如果任务是“我把可乐打翻了,你能帮我拿点东西清理一下吗?”,SayCan成功地计划并执行了以下步骤:1.找一块海绵;2.拿起海绵;3.把它带给你;4.完成。如下:如果任务稍微调整为“我打翻了可乐,你能再给我一瓶吗?”,SayCan将使用这些步骤来执行:1.找一瓶可乐;2.拿起可乐;3。带给你;4.完成。这表明SayCan能够利用LLM的大容量,其关于世界的语义知识对于解释指令和理解如何执行它们都是有用的。在下一个示例中,SayCan利用可供性的能力“否决”语言模型做出的选择。虽然语言模型认为拿海绵是正确的动作,但可供性意识到这是不可能的并选择“找到海绵”。这凸显了可供性接地的必要性。作者将SayCan应用到一个非常复杂的指令“我把可乐洒在桌子上了,你能不能把它扔掉用什么东西擦一下”,这条指令需要8个动作,机器人成功地规划并完成了这个Task。在实验中,最长的任务长达16步。综上所述,该方法对101个任务实现了70%的总计划成功率和61%的执行成功率。如果移除可见性分组,大约一半的性能将丢失。更多细节可以在原始论文中找到。该文共有43位作者,共同通讯作者为KarolHausman、BrianIchter和中国学者夏飞。
