目录
- 一、VLA Model
- 1.1 Low-level Control Policy
- 1.1.1 Non-Transformer Control Policies
- 1.1.2 Transformer-based Control Policies
- 1.1.3 Motion Planner
- 1.1.4 LLM-based Control Policies
- 1.2 High-level Task Planner
- 1.2.1 End-to-End
- 1.2.2 Language Based
- 1.2.3 Code Based
一、VLA Model
视觉-语言-动作模型(VLA)是处理视觉和语言的多模态输入并输出机器人动作以完成具身任务的模型。
Low-level的控制策略在理解和执行简单语言指令方面很有效,但它们往往在涉及多个子任务的长期任务中陷入困境。大型语言模型已被认为是解释此类复杂的长期任务的强大工具。 因此,将LLM作为High-level任务规划器,目标是将长期任务分解为更简单的子任务,使低级控制策略能够顺序执行它们,从而有助于分层机器人系统的开发。
1.1 Low-level Control Policy
通过动作解码器与感知模块(如视觉编码器和语言编码器)的集成,形成了控制策略网络,以在模拟和真实环境中执行语言指令。
1.1.1 Non-Transformer Control Policies
CLIPort 将CLIP 的视觉和语言编码器与Transporter网络集成,创建了双流架构。 在一个流中,CLIP 的视觉编码器从 RGB 图像中提取“语义”信息,而在另一个流中,Transporter 网络从 RGB-D 图像中提取“空间”信息。 CLIP句子编码器对语言指令进行编码并指导输出动作,即一对末端执行器姿势:拾取和放置姿势。CLIPort 演示了按照语言指令指定拾取和放置对象的能力。
BC-Z 处理两种类型的任务指令:语言指令或人类演示视频。 语言指令使用 USE 语言编码器进行编码,而视频则使用 ResNet18 进行编码。 环境以 RGB 图像的形式呈现给模型,也使用 ResNet18 进行编码。 然后指令嵌入和图像嵌入通过 FiLM 层结合起来,最终生成动作。 据称,这种条件策略能够对未见过的任务表现出零样本任务泛化。
MCIL 代表了一种集成了自由形式自然语言调节的开创性机器人策略。 这与早期的方法形成鲜明对比,早期的方法通常依赖于任务 ID 或目标图像形式的条件。MCIL 引入了利用未标记和非结构化演示数据的功能。 这是通过训练策略来遵循图像或语言目标来实现的,训练数据集的一小部分由成对的图像和语言目标组成。
HULC 引入了几种旨在增强机器人学习架构的技术。 其中包括机器人学习的层次分解、多模态转换器和离散潜在计划。Transformer 学习高层行为,分层划分低层本地策略和全局计划。此外,HULC 结合了基于对比学习的视觉语言语义对齐损失来对齐 VL 模式。HULC++进一步集成了自我监督的可供性模型。该模型将 HULC 引导至语言指令指定的可操作区域,使其能够完成该指定区域内的任务。
Universal Policy(UniPi)将决策问题视为文本条件视频生成问题。为了预测动作,UniPi 根据给定的文本指令生成视频,并通过逆动态从视频帧中提取动作。这种创新的政策视频表述具有多种优势,包括增强不同机器人任务的泛化能力以及从互联网视频到真实机器人的知识转移潜力。
1.1.2 Transformer-based Control Policies
Interactive Language提出了一种机器人系统,其中低级控制策略可以由通过语言传达的人类指令实时引导,从而能够完成长范围的重新安排任务。 这种基于语言的指导的有效性主要归因于使用了精心收集的包含多种语言指令的数据集,其规模超出了以前的数据集一个数量级。
Hiveformer 非常重视利用多视图场景观察并维护语言条件策略的完整观察历史。 这种方法比以前的系统(例如仅使用当前观测值的 CLIPort 和 BC-Z)有所进步。 值得注意的是,Hiveformer 是 Transformer 架构作为其策略支柱的早期采用者之一。
BeT 是轨迹变换器的模仿学习变体,通过使用基于 k 均值的动作离散化和连续动作校正来解决非专家人类演示数据的噪声和多模态性质。 C-BeT 通过添加目标框架或演示作为目标规范来扩展 BeT。 VQ-BeT 通过结合矢量量化而不是 k 均值进一步改进了 BeT,从而能够更好地对远程动作进行建模。
RT-1与 BC-Z 由同一团队开发,与 BC-Z 有相似之处,但引入了一些关键区别。 值得注意的是,RT-1 采用了基于更高效的 EfficientNet 的视觉编码器,这与 BC-Z 使用的 ResNet18 不同。 语言指令也使用 USE 进行编码,并通过 FiLM 层与图像嵌入集成。 然而,与 BC-Z 不同,RT-1 不使用视频作为任务指令。 此外,RT-1 用 Transformer 解码器替换了 BC-Z 中的 MLP 动作解码器,产生离散化动作。 这一修改使 RT-1 能够关注过去的图像,与 BC-Z 相比增强了其性能。
Q-Transformer 通过引入自回归 Q 函数扩展了 RT-1。 与RT-1通过模仿学习来学习专家轨迹不同,Q-Transformer采用Q-learning方法。 除了 Q 学习的 TD 误差目标之外,还结合了保守的正则化器以确保最大值动作保持分布。 这种方法使 Q-Transformer 不仅可以利用成功的演示,还可以利用失败的轨迹进行学习。
RT-Trajectory采用轨迹草图作为策略条件,而不是依赖于语言条件或目标条件。 这些轨迹草图由曲线组成,描绘了机器人末端执行器要遵循的预期轨迹。 它们可以通过图形用户界面手动指定、从人类演示视频中提取或由基础模型生成。 RT-Trajectory 的策略建立在 RT-1 的基础上,经过训练可以控制机器人手臂准确地遵循轨迹草图。 这种方法有助于泛化新的对象、任务和技能,因为各种任务的轨迹是可转移的。
ACT 构建了一个带有动作分块的条件 VAE 策略,要求该策略预测一系列动作而不是单个动作。 在推理过程中,使用称为时间集成的方法对动作序列进行平均。 RoboAgent 通过其 MT-ACT 模型扩展了这种方法,证明动作分块可以提高时间一致性。 此外,RoboAgent 引入了一种语义增强方法,利用修复来增强现有演示。
1.1.3 Motion Planner
Language costs提出了一种使用自然语言进行机器人校正的新颖方法,用于人在环机器人控制系统。 该方法利用从人类指令生成的预测成本图,然后由运动规划器利用这些图来计算最佳动作。 该框架使用户能够通过直观的语言命令来纠正目标、指定首选项或从错误中恢复。
VoxPoser 使用 LLM 和 VLM 创建两个表示可供性和约束的 3D 体素图。 它利用了LLM的编程能力和VLM模型的感知能力:ViLD、MDETR、OWL-ViT、SAM。 LLM将语言指令翻译成可执行代码,调用VLM来获取物体坐标。 基于组合的可供性和约束图,VoxPoser 采用模型预测控制为机器人手臂的末端执行器生成可行的轨迹。 值得注意的是,VoxPoser 不需要任何培训,因为它直接连接 LLM 和 VLM 进行运动规划。
RoboTAP 将演示分为以夹具的打开和关闭为标志的阶段。 在每个阶段,RoboTAP 使用 TAPIR 算法来检测从源姿势到目标姿势跟踪相关对象的活动点。 然后经典视觉伺服可以使用该路径来控制机器人。 通过将这些阶段串联起来创建运动计划,从而实现少量的视觉模仿。
1.1.4 LLM-based Control Policies
RT-2 致力于在机器人任务中利用大型多模态模型的能力,从 PaLI-X 和 PaLM-E 等模型中汲取灵感。 该方法引入了协同微调,旨在使模型适合互联网规模的视觉问答(VQA)数据和机器人数据。 这种训练方案增强了模型的通用性并带来了涌现能力。 RT-2 代表了将低级控制策略与高级任务规划器集成的努力,以追求更全面的机器人系统。
RT-X建立在之前的 RT-1 和 RT-2 模型的基础上。 这些模型使用新引入的开源大型数据集(名为 Open X-Embodiment (OXE))重新训练,该数据集比以前的数据集大几个数量级。 OXE 包含 527 项技能的 160,266 项任务,22 个实施例。 由于 OXE 数据集更加多样化和更大,所得模型 RT-1-X 和 RT-2-X 的性能均优于原始版本。 OpenVLA 后来被开发为 RT-X 的开源版本。
RT-H 引入了一个动作层次结构,其中包括位于语言指令和低级动作(平移和旋转)之间的语言运动的中间预测层。 这个附加层有助于改进不同任务之间的数据共享。 例如,语言指令“拾取”和“倾倒”都可能涉及语言动作“向上移动手臂”。 此外,此操作层次结构使用户能够指定从故障中恢复的更正,然后模型可以从中学习。
RoboFlamingo 通过将基于 LSTM 的策略头附加到 VLM,将现有的 VLM、Flamingo 适应机器人策略。 这表明预训练的 VLM 可以有效地转移到语言条件的机器人操作任务中。
1.2 High-level Task Planner
高级任务规划器旨在将复杂的任务分解为一系列可执行的子任务
1.2.1 End-to-End
SayCan 是一个旨在将高级 LLM 规划者与低级控制策略集成的框架。 在这个框架中,LLM规划者接受用户的高级指令,并“说出”最有可能的下一个低级技能是什么,这个概念称为任务基础。 低级策略提供价值函数作为可供性函数,确定策略“可以”完成技能的可能性,称为世界基础。 通过考虑LLM的计划和可供性,该框架为当前状态选择最佳技能。
Translated⟨LM⟩使用两步过程将高级指令转换为可执行操作。最初,预先训练的因果LLM被用于计划生成,将高级指令分解成以自由形式语言短语表示的下一个动作。然后,由于这些短语可能不直接映射到VirtualHome动作,因此使用预先训练的屏蔽LLM进行动作翻译。此步骤涉及计算生成的操作短语和VirtualHome操作之间的相似度。翻译后的动作被附加到计划中,更新后的计划由LLM读取以生成下一个动作短语。重复这两个步骤,直到形成一个完整的计划。进一步提出了当代理遇到前提错误时产生纠正动作的“重新提示”策略。
使用潜在语言的半监督技能学习((SL)3)是一种在三个步骤之间交替的学习算法:分割、标记和参数更新。 在分割步骤中,高级子任务与低级动作对齐,然后在标记步骤中推断子任务描述,最后更新网络参数。 这种方法使分层策略能够通过稀疏的自然语言注释发现可重用的技能。
EmbodiedGPT 引入了 embodied-former,它输出与任务相关的实例级特征。 这是通过合并来自视觉编码器嵌入的信息和法学硕士提供的具体规划信息来实现的。 实例功能用于通知低级策略立即采取的下一个操作。
1.2.2 Language Based
Inner Monologue位于高层命令和低层策略之间,以实现闭环控制规划。 它采用 LLM 生成低级控制策略的语言指令,并根据从控制策略收到的反馈动态更新这些指令。 反馈包括各种来源:成功反馈、对象和场景反馈以及人类反馈。 由于反馈以文本格式传达给LLM,因此LLM不需要额外的训练。 ReAct 中也提出了类似的方法,它支持更灵活的推理轨迹,允许对各种任务进行更多样化的推理类型。
LLM-Planner 引入了一种新颖的方法来构建包含高级规划器和低级规划器的分层策略。 高级规划器利用 LLM 的功能来生成自然语言计划,而低级规划器将计划中的每个子目标转换为原始操作。 虽然 LLM-Planner 的整体架构与之前的方法有相似之处,但它的独特之处在于融入了重新规划机制,帮助机器人“摆脱困境”。
Socratic Models(SM)提出了一个独特的框架,其中可以有效地组合不同的预训练模型,而无需进行微调。 该框架基于名为多模态通知提示的关键组件,促进具有不同多模态功能的模型之间的信息交换。 这个想法是利用多模态模型将非语言输入转换为语言描述,有效地统一语言空间内的不同模态。 除了在传统的多模式任务中表现出色之外,SM 还展示了其在机器人感知和规划方面的多功能性。 除了自然语言计划之外,任务计划也可以以伪代码的形式表示。
1.2.3 Code Based
ProgPrompt 通过使用详细说明可用操作和对象的类似程序的规范来提示LLM,引入了一种新颖的任务规划方法。 这使得LLM能够以几次方式生成家庭任务的高级计划。 环境反馈可以通过程序中的断言纳入。 这种激励计划利用了LLM的世界知识和编程技能。
ChatGPT for Robotics利用ChatGPT的编程能力来促进“用户在环”控制,这与传统的“工程师在环”方法不同。该过程包括几个步骤:首先定义API列表,如对象检测API、GRASH API、Move API;然后为ChatGPT构造提示,指定环境、API功能、任务目标等;第三,迭代地提示ChatGPT使用定义的API编写能够执行任务的代码,提供访问模拟和用户反馈以评估代码的质量和安全性;最后执行ChatGPT生成的代码。在此过程中,ChatGPT充当高级任务规划器,类似于Palm-E,操作是通过对相应低级API的函数调用来生成的。
Code as policies(CaP)也利用了LLM的代码编写能力。 它采用 GPT-3 或 Codex 生成策略代码,进而调用感知模块和控制 API。 CaP 表现出在空间几何推理、新指令泛化以及低级控制原语参数化方面的熟练程度。 通过利用 GPT-4V 的多模态功能,COME-robot 消除了 CaP 中对感知 API 的需求。 这也为闭环框架内的开放式推理和自适应规划提供了可能性,从而实现了故障恢复和自由格式指令跟踪等功能
DEPS 代表“描述、解释、计划和选择”。 这种方法采用LLM根据从环境中收集的反馈描述来生成计划并解释失败——这一过程被称为“自我解释”,有助于重新规划。 此外,DEPS 引入了一个可训练的目标选择器,可以根据实现子目标的难易程度在并行候选子目标中进行选择,这是其他高级任务规划器经常忽视的一个关键方面。
ConceptGraphs 引入了一种将观察序列转换为开放词汇 3D 场景图的方法。 使用 2D 分割模型从 RGB 图像中提取对象,并使用 VLM 来描述对象并建立对象间关系,从而形成 3D 场景图。 然后可以将该图转换为文本描述 (JSON),为LLM提供实体之间丰富的语义和空间关系以进行任务规划。
优点和缺点: 虽然像 SayCan 这样的端到端任务规划器与低级控制策略共享类似的架构,并且可以针对特定任务进行优化,但由于 LLM 和视觉 Transformer 相结合的模型规模较大,它们的训练成本可能会令人望而却步。 基于语言的任务规划器具有与现有语言条件控制策略无缝集成的优势。 然而,它们通常需要微调或对齐方法来将生成的计划映射到可执行语言指令以实现低级控制策略。 另一方面,基于代码的任务规划器利用法学硕士的编程能力来连接感知和行动模块。 这种方法不需要额外的训练,但其性能可能受到现有模型能力的限制。