DoReMi:通过规划-执行不一致的检测和恢复去落地语言模型

244 篇文章 0 订阅
193 篇文章 0 订阅

23年9月来自清华和上海姚期智研究院的论文“DoReMi: Grounding Language Model by Detecting and Recovering from Plan-Execution Misalignment”。

大语言模型 (LLM) 编码了大量的语义知识,具有卓越的理解和推理能力。先前的研究已经探索了如何将 LLM 应用于机器人任务以生成可行且可执行的文本规划。然而,由于环境扰动或控制器设计不完善,物理世界中的低级执行可能会偏离高级文本规划。本文提出 DoReMi,一种语言模型落地框架,可以立即检测和恢复规划和执行之间的错位。具体来说,利用 LLM 发挥双重作用,不仅有助于高级规划,还可以生成可以指示执行过程中错位的约束。然后利用视觉-语言模型 (VLM) 持续检测约束违规。该流水线可以监控低级执行,并在发生某些规划执行错位时及时恢复。在包括机械臂和人形机器人在内各种复杂任务的实验表明,该方法可以提高任务成功率并缩短任务完成时间。

在网络规模数据上进行预训练的大语言模型 (LLM) ,具有常识推理能力和对物理世界的理解。先前的研究已将语言模型纳入机器人任务中,以帮助具身智体更好地对世界理解和互动,完成需要复杂规划和推理的具有挑战性长期任务 [1]、[2]、[3]。

为了使具身智体能够执行生成的规划,需要落地语言。其中一项研究以端到端的方式利用预训练的语言模型,将语言和图像输入直接映射到机器人的低级动作空间 [4]、[5]、[6]、[7]、[8]。这些方法通常需要大量的机器人动作数据才能成功进行端到端训练,而这些数据的获取成本很高 [4]。此外,这些动作输出模型通常包含大型基于 Transformer 的架构,无法以高频率运行。因此,它们可能不适合需要高频快速响应的复杂动态任务(例如,有腿的机器人)。最近,许多工作采用分层方法,其中语言模型执行高级任务规划,然后采用一些低级控制器来生成复杂的机器人控制命令 [1]、[2]、[3]、[9]。在这种分层框架下,可以利用强大的机器人控制方法(如强化学习)来高频率地处理复杂的机器人动态控制问题。

然而,这些落地方法,通常假设每个低级技能都能完美地执行语言模型生成的高级规划。在实践中,由于环境扰动或控制器设计不完善,低级执行可能会偏离高级规划,如图(a)所示。规划和执行之间的这些不一致,可能在任务过程中的任何时候发生。以前的研究考虑在完成前一个规划步骤后将执行反馈合并到语言提示中。如果该步骤不成功,则重复该过程 [9]。然而,这种延迟反馈可能效率低下。例如,如图 (b) 所示,当人携带一个箱子并执行低级技能“前往灰色桌子”时,如果箱子意外掉落,则继续执行当前技能将变得毫无意义。人将立即中止当前技能并调用技能“拿起箱子”。但是,没有立即重规划的智体将继续前进,并且在到达目的地后需要更多时间捡起中途掉落的箱子。

请添加图片描述

如图所示,以前的方法执行(a)开环规划或(b)仅在前一项技能完成后反馈重规划。(c)DoReMi 框架利用 LLM 生成规划和相应的约束。然后使用 VLM 来监督低级执行期,从而能够立即从规划执行不一致中恢复。

请添加图片描述

继之前利用 LLM 生成可行文本规划 [1] 的工作之后,利用 LLM 通过少样本上下文学习来规划下一步。此外,当约束检测器识别出规划执行不一致时,会使用语言模型进行重规划。在这种情况下,还会将不一致信息包含在提示中,并调用 LLM 进行重规划。实际上,在本地部署 Vicuna-13B 模型 [41],并选择具有最大输出概率的下一个技能。还通过 OpenAI API 尝试 GPT4 [42] 直接输出具有零温度的下一步。这两个 LLM 在任务中都表现出有效的规划能力。

LLM 规划器可帮助智体将长期任务分解为技能序列。然而,LLM 并非天生就集成到低级技能的执行中,这可能会导致规划和执行之间的不一致。为了进一步探索 LLM 在具体任务中的能力,不仅利用 LLM 进行下一步规划,还利用 LLM 根据历史信息生成约束。例如,考虑“拿起盒子”技能之后的“前往”技能的执行期。在这种情况下,必须满足“机器人拿盒子”的约束,违反此约束可能表示拾取失败或可能掉落盒子。同样,在“将红色块放在绿色块上”技能之后,应始终满足“红色块放在绿色块上”的约束。LLM 能够利用其对物理世界的编码理解,自动为规划步骤生成这些约束。此外,VLM 检测器可以专注于这些特定的约束,只需要从“是”或“否”中选择二进制答案,从而产生更精确的反馈。相比之下,VLM 的开放式场景描述可能会导致很大的歧义并遗漏重要信息,如图所示。VLM 的开放式场景描述具有模糊性。DoReMi 利用 LLM 推理特定约束,并主动向 VLM 查询关键信息,从而获得更精确的反馈。

请添加图片描述

实际上,在 LLM 选择具有最高输出概率的下一步后,继续从“约束:”开始生成以得出具体的约束。

在约束生成阶段之后,智体继续执行规划步骤,同时遵守 LLM 建议的约束。LLM 生成的约束可能包括各种类型,例如“红色块在蓝色块上”、“机器人前方没有障碍物”、“机器人拿着苹果”等等。本文采用视觉-语言模型 (VLM) [10] 作为通用“约束检测器”,通过视觉信息检查所有约束。VLM 的视觉输入,是从第一人称或第三人称视角摄像机捕获的,文本输入自动根据 LLM 提出的约束进行调整,形式为“问题:约束 cj 是否得到满足?答案:”。对于每个查询,VLM 仅需从 {“是”,“否”} 中选择一个答案,该答案由非常短的token长度组成,并且成本不到 0.1 秒。在检查约束 cj 时,使用 D(cj) 表示 VLM 的答案 D。如果满足 cj ,则 D(cj ) = True;否则,D(cj ) = F alse。流水线的伪代码在算法 1 中提供。

请添加图片描述

还值得一提的是,其他模态的检测器也与框架兼容,约束检测器可以与具有不同频率的低级控制器并行运行。

在实践中,用预训练的 BLIP-2 模型 [10] 作为通用“约束检测器”,每隔 ∆t = 0.2 秒定期检查智体是否满足所有约束。如果满足,机器人将继续执行当前的低级技能;否则,机器人将中止当前技能并触发重规划过程。除了那些具有极其复杂场景的任务外,预训练的零样本 VLM 可以在大多数任务中表现良好。为了提高此类复杂任务的性能,收集了一个小型数据集并使用参数高效的 LoRA 方法 [43] 对 VLM 进行微调。还验证微调后的 VLM 检测器可以推广到未见过的目标、未见过的背景甚至未见过的任务。

本文涉及机械臂操控任务和人形机器人任务的实验。这些任务包含各种环境干扰和不完善的控制器,例如机器人末端执行器的随机掉落、末端执行器放置位置的噪音、拾取失败以及机器人路径中出现的意外障碍物。如图所示:

请添加图片描述

机器臂操作环境改编自 Ravens [44],这是一个基于视觉的机器人操作基准,专注于拾取和放置任务。配备吸盘夹持器的 UR5e 机器人在黑色桌面上操作,而第三视角摄像头则提供桌面的全面视图。机器人拥有一套基本技能,包括“拾取物体”和“将物体放置在容器上”,这两者都是预训练的原语,以类似于 CLIPort [35] 和 Transporter Nets [44] 的单步指令为条件。为了评估算法的有效性,在原始环境和机器人控制器中引入额外的干扰。

人形机器人每条腿有 6 个自由度,每条手臂有 4 个自由度,总共 20 个自由度。用单一策略控制复杂的人形机器人具有挑战性。按照 [45] 中的框架,采用强化学习来训练运动策略,并利用基于模型的控制器来获取操纵策略。具体来说,利用 Deepmimic 算法 [46] 来训练以命令线速度和角速度为条件的运动策略,使机器人能够执行低级技能,例如“前进 10 米”、“以速度 v 前进”、“前往目标位置”、“向右/向左转”等。至于操纵策略,在模拟中引入类似于 [47] 的助手拾取原语;在现实世界中,使用灵巧的手和工厂设计的拾取原语。这些设置使机器人能够执行“拿起物体”和“将物体放在容器上”等低级技能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值