SayCan: 结合语言模型与机器人的功能可见性.

大型语言模型(LLM)可以编码真实世界的大量语义知识,这些知识对于按照自然语言表达的扩展指令进行操作的机器人来说是非常有用的。然而,语言模型的一个显著缺点是缺乏真实世界的经验,因此很难在给定的实例中进行决策。比如要求语言模型描述如何清理饮料的泄漏问题,由于它们从来没有与环境互动过,所提供的可能合理的结果反而可能不适用于需要在特定环境中执行此任务的机器人。

1. SayCan

本文作者设计了SayCan模型,通过预训练的价值函数(value function)提供真实世界的基础,这些技能用于约束模型,从中选择既可行又符合上下文的自然语言行为。而语言模型提供相关任务的高级语义知识,通过将这些知识与特定物理环境相连接,控制机器人完成比较复杂的自然语言指令。

所使用的语言模型如下图所示。通过prompt工程和上下文指令进行查询,并输出每个行为被选择的得分。为了迭代地构造连续的指令,将所选行为添加到上下文指令中,并再次查询语言模型以生成下一个指令。

所构造的价值函数如下图所示。根据当前观察(RGB图像),价值函数模块构造每个行为的值函数空间。如果可视化“拾取”相关动作的值函数,在(b)“拾取红牛罐头”和“拾取苹果”具有较高的值,因为两个对象都在场景中;而在(c)中,机器人在一个空旷的环境中,因此没有任何“拾取”相关动作接收到较高的值。

SayCan模型将语言模型提供的每个行为的概率(表示在当前上下文语义下有用的行为)与值函数提供的的概率(表示在当前环境中能够实现的行为)相结合,以选择最终要执行的行为。该过程通过将行为指令附加到机器人上进行响应并重复步骤,直到输出步骤结束。

2. 实验分析

实验在两个环境中执行:一个办公室厨房(a)和一个模拟的办公室厨房(b),包括5个预测位置和15个对象(c)。所控制的机器人是一个移动机械手(d),具有7个自由度的手臂和一个抓手,以及一个提供环境观察的RGB相机。

实验结果表明,机器人可以与大部分厨房环境进行交互,并成功地执行一系列操作和导航。

下图可视化了SayCan的决策过程,结果表明SayCan能够综合最高得分并选择正确的行为。