24年8月来自韩国KAIST的论文“A Survey on Integration of Large Language Models with Intelligent Robots”。
近年来,大语言模型 (LLM) 的集成彻底改变了机器人领域,使机器人能够像人类一样熟练地进行交流、理解和推理。本文探讨了 LLM 对机器人技术的多方面影响,解决了在各个领域利用这些模型的关键挑战和机遇。对核心机器人元素(通信、感知、规划和控制)中的 LLM 应用进行分类和分析,重点是 GPT-3.5 之后开发的 LLM,主要是基于文本的模态,同时也考虑感知和控制的多模态方法。另外,为提示工程提供了全面的指南和示例,方便初学者使用基于 LLM 的机器人解决方案。通过教程级示例和结构化的提示构造,说明如何将 LLM 指导的增强功能无缝集成到机器人应用程序中。
在过去十年中,机器人技术在应用语言模型 (LM) 方面取得显著进步。这一进步不仅包括类似人类的交流,还包括机器人的理解和推理能力,从而显著提高它们在从家务到工业操作等各种任务中的效率 [52, 105]。在早期阶段,成功源于分析和预测语言表达中单词的统计模型。这些模型使机器人能够解释人类的命令 [110, 121],理解上下文 [3, 5],代表世界 [50],并与人类互动 [135],尽管理解深度有限。
随后,采用具有自注意机制的 Transformer 架构 [141],特别是预训练的 LM(如 BERT [26]),提升了捕捉复杂模式的能力,同时针对特定任务对模型进行微调。然而,这些模型的性能往往取决于有限的数据集,这限制了它们掌握更深层次的上下文理解和在不同场景中概括的能力。
随着大语言模型 (LLM) 的进步,基于语言的机器人技术在信息检索、推理任务、适应环境、持续学习和改进等各个领域带来变化 [61, 64]。这些 LLM 的特点是参数规模庞大且在互联网规模的数据集上进行训练,为下游任务提供零样本和少样本学习能力,而无需额外的参数更新。这些突出的进步来自于涌现能力,文献中将其定义为“小模型中不存在但在大模型中出现的能力” [148]。这些能力通过利用广泛的常识性知识,显著提高了机器人在理解、推断和响应开放集指令方面的性能 [8]。
此外,提示工程技术使 LLM 能够通过自由形式的语言描述或交互式对话整合更丰富的上下文信息,从而促进广义推理 [149]。上下文学习能力的引入 [8] 使 LLM 能够根据提示中提供的指令或演示生成预期格式的输出,例如 JSON、YAML 或 PDDL,甚至是代码 [42, 86]。最近的 LLM,例如 GPT-4,通过与规划器或翻译器等外部机器人工具集成,进一步扩展了功能 [89]。
尽管 LLM 功能多样,但它们的使用面临着一些挑战 [69]。首先,LLM 通常会生成不准确或意外的响应。由于机器人执行的安全性是最重要的部署因素之一,因此基于 LLM 的机器人应用程序需要过滤和校正机制以确保安全。其次,上下文学习等涌现能力尚不可预测且不一致 [19]。即使对输入文本进行微小的更改也可能导致响应发生不可预测的变化。第三,精心设计的提示使机器人能够有效地利用 LLM 的能力,但缺乏支持机器人系统关键组件的系统指南,阻碍了无缝集成 [35, 54, 164]。因此,需要研究机器人技术中组件式 LLM 的参与情况,以了解其局限性和安全性。
本文构建为回答以下三个关键问题:
-
Q1:LLM 在每个机器人领域是如何应用的?
-
Q2:研究人员如何克服 LLM 的集成限制?
-
Q3:在每个领域产生最低限度的功能,需要哪些基本提示结构?
为了解决这些问题,专注于 GPT-3.5 [106] 推出后开发的 LLM。主要考虑基于文本的模态,但也回顾感知和控制领域的多模态。但是,限制在 LLM 而不是基础模型上。
如图所示本文框架:
语言理解
解释
将自然语言输入转换为机器人更容易处理的语义表示。这些表示包括形式语言,如线性时序逻辑 (LTL) [93, 160] 和规划域定义语言 (PDDL) [18, 42, 89, 155],以及编程语言,如 Python [56, 76]。为了帮助解释自由形式的句子,研究人员利用 LLM 的 ICL 功能,在提示中提供指南和演示 [56, 76, 89, 122]。尽管付出了努力,但在将输入翻译成形式语言时,LLM 往往无法满足语法要求或捕捉精确的语义。为了解决这个问题,研究人员建议简化词汇表或使用域无关的数据微调 LLM [93, 160]。例如,Lang2LTL [91] 将导航命令中涉及地标的表达式转换为 LTL 符号。进一步的改进通常涉及使用人工反馈和语法检查器来纠正生成的形式语言翻译 [18, 42]。例如,Guan 提出了一个人-在-环翻译框架,其中人类域专家反复审查 PDDL 描述并以自然语言提供反馈 [42]。
落地
是另一个将语言表达映射到机器人可识别的参考目标(例如行为或目标)的过程。早期研究确定了最大化 LLM 输出的词嵌入和现实世界目标之间余弦相似度的映射 [58, 76, 93, 117]。后续研究利用 LLM 的常识知识来捕捉目标文本标签的上下文,以改进落地 [41, 118]。例如,ConceptGraphs [41] 展示了 LLM 如何根据尺寸和重量假设将表达“用作镇纸的东西”落地到陶瓷花瓶上。然而,落地准确性取决于世界模型的细节和准确性。为了解决这个问题,研究人员增强了 LLM 的多模态能力,以直接将语言输入与感官知觉关联起来 [31, 47, 114, 159],或者使 LLM 能够与环境 [158, 168] 或人类 [61, 109, 120] 交互,以更好地收集上下文。例如,LLM-Grounder [158] 是一种 3D 视觉基础方法,它使用 LERF [72] 和 OpenScene [111] 等视觉工具主动收集环境信息。
语言生成
语言生成是指生成类似人类的书面或口头语言,以反映交流意图 [39]。根据语言生成的目的,将语言生成分为任务相关型和任务无关型,不同于传统的自然语言生成 (NLG) 类别的文本-到-文本和数据-到-文本 [30],因为关注的是研究的交流目的。
任务相关型语言生成,侧重于生成具有特定功能目标的语言,可以是声明性的,也可以是命令性的。为了生成开放式声明性语句,研究人员通常会向 LLM 提供上下文信息 [20, 62, 96]。然而,由于依赖先前的对话和常识性知识,LLM 往往会导致重复且事实不一致的输出 [20, 83]。因此,研究人员会通过辅助知识源来扩充 LLM,以扩大可用信息的范围 [4, 21, 157]。例如,Axelsson & Skantze 使用知识图谱增强机器人博物馆导游功能 [4]。此外,研究人员指导 LLM 通过生成请求人工协助的命令式指令来澄清歧义 [25, 61]。为了改进推理步骤,引入了概率模型来评估情况的不确定性 [109, 120]。例如,KnowNo [120] 和 CLARA [109] 交互系统分别评估置信度和语义方差,仅当这些指标表明存在重大不确定性时才触发生成。
任务无关的语言生成,涉及制作具有社会情感目标的表达 [11],通过在提示中嵌入非语言提示(例如非语言声音、手势和面部表情)来增强参与度和同理心 [73, 80]。例如,Khoo 开发了一种对话机器人,它利用转录的音频和视觉线索生成富有同理心的回应 [73]。然而,由于知识和对话历史有限,与 LLM 的对话仍然很肤浅 [65]。为了解决这个问题,研究人员将记忆模块集成到 LLM 中,使它们能够以结构化格式从对话中提取和存储信息 [22, 63, 65, 162]。例如,Irfan 设计的伴侣机器人,根据与用户的互动不断更新机器人的记忆,以生成个性化对话 [65]。
感知在机器人做出决策、规划行动和探索现实世界方面起着至关重要的作用 [113]。
感知模态
通过集成多模态语言模型,研究人员显著提高了机器人的理解和泛化能力。主要的感知模态分为视觉、听觉和触觉模态,回顾了最近利用多模态 LLM 执行感知任务的研究。
视觉感知任务涉及对图像或点云等视觉信息的解释。预训练的视觉-语言模型 (VLM),如 CLIP [116] 和 InstructBLIP [82],允许基于 LLM 的机器人直接利用图像源。例如,最近基于 LLM 的操作系统,如 TidyBot [152] 和 RoCo [96],分别使用从 CLIP 和 OWL-ViT [100] 生成图像推断的目标标签或场景描述。此外,研究人员通过将 VLM 应用于下游任务(如图像字幕 [41] 和视觉问答 (VQA) [37, 78, 103])来扩展推理能力。下游任务使 LLM 能够随后请求 VLM 推断目标属性(例如,材料、易碎性)[37] 或地面目标部分以供抓取 [103]。然而,获取图像的空间几何信息通常具有挑战性。
或者,Huang 将来自 VLM(即 LSeg [81])的视觉语言特征与三维 (3D) 点云相关联,以进行 3D 地图重建 [56]。此外,Jatavallabhula 通过引入来自 VLM 的细粒度和像素对齐特征,改进了这种与 RGB-D 图像的关联机制 [66]。然而,与 3D 信息的关联往往会占用大量内存,从而限制大型场景的可扩展性 [56, 66, 158]。作为替代解决方案,研究人员通常将几何和语义特征与 3D 场景图相关联 [41]。
听觉感知涉及声音的解释。基于 LLM 的研究通常利用预训练的音频语言模型 (ALM),例如 AudioCLIP [43] 和 Wav2CLIP [151],将它们与视觉数据相结合以增强环境或上下文理解 [55, 94, 123, 163]。例如,AVLMaps [55] 是一个具有跨模态信息的 3D 空间地图构造器,它将音频、视觉和语言信号集成到 3D 地图中,使智体能够使用多模态目标进行导航,例如“在冰箱图像和玻璃破碎的声音之间移动”。此外,REFLECT [94] 是一个用于总结机器人故障的框架,它将多感官观察(例如 RGB-D 图像、音频剪辑和机器人状态)转换为文本描述,以增强基于 LLM 的故障推理。
触觉感知涉及接触信息的解释。研究人员引入了多模态感知模块,以交互方式整合从预定义的高级描述 [168] 或基于 CLIP 的触觉图像特征 [48] 中获得的有关触觉交互的触觉特征。例如,MultiPLY [48] 是一个多感官 LLM,它将触觉读数转换为由 CLIP 编码的热图。然后,通过引入触觉投影仪的线性层,该模型将热图信息映射到 LLM 的特征空间。
感知行为
根据感知行为的类型,分为被动感知和主动感知。
被动感知是指不主动寻找感官信息而收集感官信息的过程。尽管被动感知具有局限性,但它已广泛应用于基于 LLM 的机器人研究中,用于各种任务:目标识别 [37, 53, 152]、姿势估计 [103, 156]、场景重建 [41, 59, 122, 122] 和目标落地 [66, 144, 158]。例如,TidyBot [152] 从俯视图检测最近的目标,随后使用机器人摄像头捕捉的近距离视图识别其目标类别。然而,感知的被动性质限制在信息未观察到或不可用(例如,未见过的区域、重量)时执行任务的能力。
另一方面,主动感知是指通过采取额外行动有意识地收集感官信息的过程。主动信息收集通过感官观察或请求用户反馈获取新信息,增强了对环境的理解 [78, 129]。例如,LLM-Planner [129] 生成“打开冰箱”等寻找动作来定位未见过的目标。最近的研究也侧重于收集感官数据,以更好地理解目标的物理属性 [48, 132, 168]。然而,LLM 通常会生成不准确或虚构的信息,即幻觉。为了解决这个问题,Dai 引入一种个性化的对话智体,旨在向用户询问不确定的信息 [25]。
规划涉及组织行动以解决给定问题,通常是通过生成一系列高级符号运算符(即任务规划),然后使用低级电机控制器执行它们 [38, 84]。其分为三个关键研究领域:(1)任务规划,(2)运动规划,以及(3)任务和运动规划 (TAMP)。
任务规划
基于 LLM 的任务规划器能够在没有严格符号定义的情况下生成规划 [58],而传统任务规划器则需要使用有关可用操作和约束的域知识预定义运算符 [34, 98]。在该领域,大多数规划器采用静态规划策略,该策略采用固定描述,不能适应环境的变化 [163]。然而,另一种方法,即自适应规划,允许将环境反馈纳入输入提示,从而根据观察的条件调整操作。
静态规划
:静态规划方法通常是零样本或少样本预测方法,其中零样本方法仅基于输入命令生成规划,而少样本方法利用从有限的一组相似示例中学习 [9, 27, 70, 163]。然而,由于推理能力有限,LLM 在长期任务规划中往往表现不佳 [89, 140]。为了解决这一限制,Huang 引入一个规划器,在 LLM 生成的可执行操作中迭代选择最可能的操作 [58]。
或者,基于 LLM 的代码生成器(例如 Code as Policies [86] 或 ProgPrompt [128])会生成代码,从而根据观察做出操作 [56, 57]。Singh 证明,代码生成优于 LLM 的基本任务规划,因为输出规划与执行环境紧密相关 [128]。尽管这些方法具有优势,但它们缺乏验证和重规划过程。
为了验证规划,研究人员通常会使用逻辑程序来增强 LLM,以便 (1) 检查生成的规划是否违反逻辑约束或 (2) 使用外部逻辑规划器生成规划。例如,基于 GPT4 的规划器
SayPlan
[118] 通过场景图模拟器 3DSG [1] 验证抽象级动作,而 LLM+P [89] 将从 LLM 翻译来的 PDDL 问题应用于经典任务规划器 Fast Downward [45]。此外,Silver 证明,基于搜索的规划器(其初始计划来自 LLM)通过探索更少的节点表现更好 [127]。这些研究强调将 LLM 与逻辑程序集成以提高生成可行规划的成功率或性能的有效性。
自适应规划
:自适应规划允许机器人根据反馈修改其规划或动作,要么根据环境观察生成新规划 [20, 142, 152, 168, 169],要么检测故障并进行相应调整 [61]。Chen 和 Huang,分别引入适应策略,根据观察的反馈生成新规划,使机器人能够响应更广泛的场景 [12, 60]。
另一种适应策略是将故障检测为反馈。例如,Inner Monologue [61] 会重试初始规划,直到成功。此外,其他研究提供了有关过去失败的文本解释,以帮助避免问题再次出现 [87, 94, 117, 147]。LLM-Planner [129] 和 COWP [28] 通过寻找利用观察背景和 LLM 常识知识的替代规划来提高重规划能力。这些适应新信息的灵活性增强了机器人在动态环境中的自主性。
任务和运动规划
运动规划是指通过计算配置或任务空间内的连续航路点来生成路径的过程。Jiao 介绍一种基于 LLM 的运动规划器,它可直接生成用于无人机编排的位置序列 [68]。虽然这项工作展示了 LLM 的空间推理能力,但所呈现的场景相对简单。此外,规划空间通常是连续的,这对使用离散tokens进行操作的语言模型提出了挑战。或者,间接排序方法(例如 VoxPoser [59])在 VLM 的帮助下生成潜能场代码,然后在生成的场内进行运动规划,使用基于搜索的规划器增强 LLM。
任务和运动规划 (TAMP) 是指将高级任务规划与低级运动规划相结合。最近的研究经常使用 LLM 作为 TAMP 规划器,利用 LLM 的逻辑和物理推理能力 [79, 96, 153]。研究人员引导 LLM 生成高级子目标,然后将其用于低级轨迹生成 [79, 96]。然而,LLM 的粗略表示将其应用限制在拾取和放置等简单任务上。为了解决这一限制,研究人员使用额外提示或增强 LLM 来提高推理能力。例如,Xia 通过运动感知提示使 LLM 能够考虑运动知识,以完成更复杂的操作任务,如铰接的目标操作 [153]。Ding 引入一种逻辑增强 LLM 规划器,用于检查 LLM 生成的任务规划逻辑可行性 [29]。同时,其他人使用物理增强 LLM 规划器来评估物理可行性 [18, 44, 88]。例如,Text2Motion [88] 允许 LLM 生成物理上可行的高级动作,并将其与学习的低级动作技能相结合。
控制的早期研究主要侧重于在简单的语言命令和已知的运动基元之间建立映射。随着深度学习的出现,研究人员探索了两种主要的控制方法:基于语言指令直接建模控制值 [7, 119] 和通过 LLM 间接解释复杂指令以生成动作 [154]。该领域的工作分为两类:(1)直接方法,即基于语言指令直接生成控制命令;(2)间接方法,即通过语言指导间接指定控制命令。
直接法
直接法涉及使用 LLM 来解释和生成可执行命令,方法是选择运动原语 [134] 或生成控制信号 [146, 170]。早期工作生成动作tokens以生成控制策略训练 Transformer 架构,并使用特定于任务的专家演示,例如 Gato [119]、RT-1 [7] 和 MOO [131]。研究人员将动作tokens线性映射到离散化的末端执行器速度 [119] 或位移 [7, 131] 以实现连续运动。虽然这些方法对未见过的任务(例如新目标或现实指令)表现出一定程度的泛化,但它们通常需要大量的数据收集和训练时间。
为了减少收集工作量,研究人员经常利用现有的网络规模视觉和语言数据集,如 RT-2 [170] 和 RT-X [143]。例如,Zitkovich 使用视觉-语言数据集和机器人演示训练 VLM(例如 PaLI-X [17] 和 PaLM-E [31])[170]。这种方法在训练控制任务的同时,保留了视觉-语言任务的一般知识。此外,为了减轻训练负担,Chen 使用低秩自适应 (LoRA) [51] 方法对控制任务的 LLM 进行微调,而不是微调整个模型 [15]。
LLM 通常难以生成连续的动作级命令,例如关节位置和扭矩值,因为 LLM 通常会生成如 token 的原子元素 [134]。因此,研究人员改用 LLM 生成任务级输出 [10, 101, 134]。例如,SayTap 是一种基于 LLM 的步行控制器,它使用 LLM 生成脚与地面之间的接触模式以进行步行运动,而不是直接生成关节位置 [134]。其他研究将控制问题作为自然语言生成任务来解决,完成一系列末端执行器姿势 [101] 或生成 Python 代码 [10]。最近的研究经常限制动作空间以增强 LLM 控制输出。例如,Wang 设计了一个提示,它产生正整数控制值,同时保持输出的平滑趋势 [146]。或者,Li 证明,结合机器人运动学信息有助于 LLM 确定所需姿势的关节值 [85]。
间接法
LLM 还可用于根据自然语言指令生成控制命令的间接表示,例如子目标或奖励函数。为了指导学习过程,研究人员利用以自然语言解释所需行为的目标描述 [32, 67, 77]。例如,基于 LLM 的强化学习 (RL) 框架
ELLM
[32] 使用 LLM 生成子目标描述作为 RL 策略的先验知识,并进一步使用当前观察和文本嵌入空间中子目标描述之间的相似性来计算奖励。此外,Kumar 根据人类指令的历史生成目标描述,重用以前学到的技能 [77]。然而,由于 LLM 的输出是自然语言描述,这些方法需要额外的步骤来奠定或解释描述的基础。
或者,研究人员经常生成代码级奖励函数。Yu 将自然语言目标转换为高级运动描述,然后生成相应的奖励函数 [161]。然而,这种方法需要预定义的奖励格式。相反,最近的研究促使 LLM 从人类设计的例子中推断出新的奖励函数 [71, 145]。尽管如此,生成的奖励函数可能并不总是足够准确或最优,无法直接用于训练 [130]。
为了提高准确性,研究人员添加了一个细化循环来验证生成的奖励函数语法 [112] 和语义 [95, 130, 154, 165]。例如,Song 使用 LLM 根据训练过程的收敛和由此产生的机器人运动重新设计奖励函数 [130]。Chu 使用 LLM 直接生成用于评估机器人运动的奖励 [24]。其他方法通过根据错误状态调整控制参数 [133] 或从人类反馈中选择合适的运动目标来细化运动 [90]。
提示是一种消息,它指示 LLM 根据指示处理和生成输出 [92, 150]。精心设计的提示