视觉-语言基础模型作为高效的机器人模仿学习范式
摘要
近期,视觉语言基础模型领域取得的进展彰显了其在理解多模态数据以及解决复杂视觉语言任务(包括机器人操作任务)方面的能力。我们致力于探寻一种简便的方法,利用现有的视觉语言模型(VLMs),仅通过对机器人数据进行简单微调,即可投入使用。为此,我们基于开源的视觉语言模型 OpenFlamingo,推导出了一个简单且新颖的视觉语言操作框架,并将其命名为 RoboFlamingo。与以往的研究工作不同,RoboFlamingo 利用预训练的视觉语言模型进行单步视觉语言理解,通过显式的策略头对序列历史信息进行建模,并且仅在语言条件下的操作数据集上,通过模仿学习进行轻微微调。这种分解方式为 RoboFlamingo 提供了在开环控制以及在低性能平台上部署的灵活性。在测试基准上的实验结果显示,RoboFlamingo 的性能大幅超越了当前最先进的技术水平,这表明 RoboFlamingo 可以作为一种有效且具有竞争力的替代方案,用于将视觉语言模型适配到机器人控制领域。我们广泛的实验结果还揭示了关于不同预训练视觉语言模型在操作任务上行为表现的若干有趣结论。RoboFlamingo 可以在单个 GPU 服务器上进行训练或评估,我们相信它有望成为一种成本效益高且易于使用的机器人操作解决方案,赋予每个人微调自身机器人策略的能力。代码和模型将公开共享。
1 引言
近期,视觉语言基础模型(VLM)在建模与对齐图像和文字表征方面展现出了令人振奋的能力,并且具备利用多模态数据解决各类下游任务的无限潜力,例如视觉问答(Li 等人,2023;Zhou 等人,2022)、图像描述生成(Zeng 等人,2022;Wang 等人,2022;Li 等人,2021)以及人机交互(Liu 等人,2022b;Oertel 等人,2020;Seaborn 等人,2021)等任务。
这些成果无疑激发了人们的想象,让人们憧憬一种具备这种视觉语言理解能力的通用型机器人,能够与人类自然交互,并执行复杂的操作任务。
因此,我们致力于探索将视觉语言基础模型集成到机器人系统中,作为机器人操作策略。尽管此前已有一些研究将大型语言模型(LLMs)和视觉语言模型(VLMs)纳入机器人系统,作为高层规划器(Ahn 等人,2022;Driess 等人,2023),但直接利用它们进行底层控制仍面临挑战。大多数视觉语言模型是在静态的图像 - 语言对上进行训练的,而机器人任务需要视频理解能力来实现闭环控制。此外,视觉语言模型的输出主要是语言符号,与机器人动作在表征形式上存在显著差异。近期的一项工作(Brohan 等人,2023),即机器人转换器 2(RT - 2),展示了一种将视觉语言模型适配到机器人底层控制的可能解决方案。然而,要使这种成本高昂的框架在所有机器人从业者中普及开来却十分困难,因为它使用了私有模型,并且需要在大量视觉语言数据上进行协同微调,才能充分展现其有效性。因此,机器人领域迫切需要一种低成本的替代方案,能够有效地利用视觉语言模型实现机器人操作策略。
图 1:RoboFlamingo 与现有视觉语言操作解决方案的对比
为此,我们引入了 RoboFlamingo,这是一种新颖的视觉语言操作框架,它利用可公开获取的预训练视觉语言模型,为机器人有效地构建操作策略。具体而言,RoboFlamingo 基于开源的视觉语言模型 OpenFlamingo(Awadalla 等人,2023),通过将视觉语言理解与决策过程解耦,解决了相关挑战。与以往的研究不同,RoboFlamingo 主要利用预训练的视觉语言模型在每个决策步骤中理解视觉观测和语言指令,通过显式的策略头对历史特征进行建模,并且仅在语言条件下的操作数据集上,利用模仿学习进行微调。通过这种解耦方式,我们仅需结合少量机器人演示,就能将模型适配到下游操作任务。同时,RoboFlamingo 还为开环控制以及在低性能平台上的部署提供了灵活性。此外,得益于在大量视觉语言任务上的预训练,RoboFlamingo 的性能大幅超越以往研究,达到了当前最先进水平,并且在零样本设置和环境中也具有良好的泛化能力。值得注意的是,RoboFlamingo 可以在单个 GPU 服务器上进行训练或评估。因此,我们认为 RoboFlamingo 是一种成本效益高且性能卓越的机器人操作解决方案,赋予每个人利用视觉语言模型微调自身机器人的能力。
通过广泛的实验,我们证明 RoboFlamingo 的性能明显优于现有方法。具体而言,我们使用“语言与视觉动作组合基准”(CALVIN)(Mees 等人,2022b)来评估其性能,该基准是广泛应用于长周期语言条件任务的模拟基准。我们的研究结果表明,RoboFlamingo 是将视觉语言模型适配到机器人控制领域的一种有效且具有竞争力的替代方案,与之前的最先进方法相比,性能提升了 2 倍。我们的综合结果还为在机器人操作任务中使用预训练视觉语言模型提供了宝贵见解,为进一步的研究和发展指明了潜在方向。
2 相关工作
语言是人类与机器人交互中最直观且关键的接口,它使非专业人员能够无缝地将指令传达给机器人,以完成各种任务。因此,近年来,语言条件下的多任务操作领域受到了广泛关注。直观而言,这类任务要求机器人不仅要对外部世界的视觉捕捉信息有良好的理解,还要理解以文字形式呈现的指令。得益于预训练视觉和语言模型强大的表征能力,许多先前的研究已将预训练模型纳入学习框架之中。在此,我们大致将这些研究分为以下三类,图 1 也对其进行了直观对比。
微调(Fine-tuning)
一些早期研究,如 Jang 等人(2022 年)以及 Lynch & Sermanet(2020 年),训练了视觉编码器和语言编码器,以学习来自操作任务的输入语言和视觉数据的表征。而近期的一些研究则直接采用预训练模型来获取优质的表征,随后在这些预训练模型的基础上,从头开始训练策略模型,或者对整个模型进行微调。例如,Jiang 等人(2023 年)利用预训练的 T5(Raffel 等人,2020 年)模型对多模态提示进行编码,并通过微调 T5 模型以及额外训练一个目标编码器和注意力层来学习动作。HULC(Mees 等人,2022a)采用了在 CALVIN 数据集(Mees 等人,2022b)上训练的 Lynch & Sermanet(2020 年)的视觉编码器,以及一些预训练的语言编码器模型,如句子转换器(Reimers & Gurevych,2019 年),其后续改进版本 HULC++(Mees 等人,2023 年)也对这些编码器进行了微调。此外,Brohan 等人(2022 年)提出了 RT-1,即机器人转换器,这是一个 3500 万参数的视觉 - 语言 - 动作模型(VLA)。该模型将动作进行标记化处理,并在标记空间中对视觉、语言和动作进行对齐,利用大量真实世界操作数据集进行训练。其中,语言嵌入通过通用句子编码器(Cer 等人,2018 年)获取,视觉标记器则采用预训练的 EfficientNet-B3(Tan & Le,2019 年)。
大语言模型规划(LLM Planning)
一些方法利用大型语言模型(LLMs)作为强大的零样本规划器,例如 SayCan(Ahn 等人,2022 年)。这类方法针对给定任务,借助人机交互提示生成分步的预定义计划,随后指示不同的预训练底层技能策略执行这些计划,以完成多项任务。与其他研究相比,这种控制策略无需具备理解指令的能力,而是依赖预训练的、固定的大语言模型来选择必要的技能。
协同微调(Co-Fine-Tuning)
Driess 等人(2023 年)提出了 5400 亿参数的 PaLM-E 模型,展示了利用预训练视觉和语言模型的另一种方式。具体而言,他们选择不同的预训练模型对输入场景进行编码,并以 PaLM(Chowdhery 等人,2022 年)模型作为基础模型。通过协同微调整个视觉语言模型(VLM),利用移动操作问答数据以及从网络上收集的辅助视觉语言训练数据(如图像描述生成数据和视觉问答数据),对模型进行端到端训练,使其能够生成以语言描述的预定义多步计划。与 SayCan(Ahn 等人,2022 年)类似,他们需要底层控制策略来执行生成的计划。受到 PaLM-E 的启发,Brohan 等人(2023 年)进一步推出了 RT-2。RT-2 基于 RT-1,但进行了适应性改进,采用了大型视觉语言骨干网络,如 PaLI-X(Chen 等人,2023 年)和 PaLM-E(Driess 等人,2023 年),并利用机器人操作数据和网络数据对策略进行训练。他们的方法表明,视觉语言模型(VLMs)具有被适配到机器人操作领域的潜力。然而,其关键的协同微调训练策略需要大量的网络级视觉语言数据以及底层机器人动作数据。此外,他们所使用的视觉语言模型和数据均为私有,这使得每个机器人从业者都难以在自己的项目中采用这种解决方案。
尽管上述先前的研究在一定程度上弥合了机器人操作任务中视觉和语言之间的差距,但它们要么依赖底层技能策略,如 SayCan 和 PaLM-E;要么训练一个大型的完整模型,如 RT-1;要么需要大量的视觉语言数据和计算资源,以确保模型在学会操作策略的同时,不会遗忘视觉和语言之间出色的对齐关系。与这些研究相比,我们提出的 RoboFlamingo 是一种简单直观的解决方案,能够轻松适配现有的视觉语言模型(本文中使用的是 OpenFlamingo(Alayrac 等人,2022 年;Awadalla 等人,2023 年)),仅需对少量操作演示数据进行微调。我们希望 RoboFlamingo 为充分利用视觉语言模型的能力提供一种不同的视角,同时降低数据收集成本和计算资源消耗,使其成为一种开放且易于使用的解决方案,让每个人都能从中受益。
3 背景
机器人操作
在本文中,我们主要聚焦于机器人操作任务。在此类任务中,智能体(即机器人)无法直接获取环境的真实状态信息,但能够从不同摄像头获取视觉观测数据,以及获取自身的本体感知状态信息。就动作空间而言,它通常涵盖机械臂末端执行器的相对目标位姿以及夹爪的开合状态。例如,在 CALVIN(Mees 等人,2022b)测试平台上,观测数据由来自两个不同视角的模拟摄像头采集的图像组成,动作是对配备平行夹爪的 Franka Emika Panda 机器人手臂进行 7 自由度(7-DoF)的控制,而指令则是目标描述,即事后给出的描述信息。
图 2:所提出的 RoboFlamingo 框架示意图。Flamingo 骨干网络对单步观测数据进行建模,而策略头(policy head)则对时序特征进行建模。
模仿学习
模仿学习(Pomerleau,1988 年;Zhang 等人,2018 年;Liu 等人,2020 年;Jang 等人,2022 年)使智能体能够模仿带有指令标签的专家演示数据中的操作计划。这些专家演示数据集可表示为 D={(τ,l)i}i=0D,其中 D 为轨迹的数量,l 为语言指令,τ={(ot,at)} 包含为达成给定指令所描述的目标而经历的前序状态和动作。
模仿学习的目标可简单概括为一个最大似然目标条件下的模仿学习目标,即学习策略 πθ:
4 ROBOFLAMINGO
RoboFlamingo 是一个通用型机器人智能体,在解决语言条件下的操作任务方面表现出色。其核心思路是借助预训练的视觉语言模型(VLMs),并将这些模型适配到操作策略中,从而使机器人获得目标定位、语言理解、视觉语言对齐以及长时段规划的能力。具体而言,RoboFlamingo 关注到当下热门的 VLMs 之一——Flamingo(Alayrac 等人,2022 年),并采用其开源模型 OpenFlamingo(Awadalla 等人,2023 年)作为骨干网络。RoboFlamingo 的整体架构如图 2 所示。
为了将大规模视觉语言模型适配到机器人操作任务中,RoboFlamingo 仅需添加一个策略头(policy head),即可进行端到端的微调。它解决了以下三个主要挑战:1)将原本针对静态图像输入的视觉语言模型适配到视频观测数据上;2)生成机器人控制信号,而非仅输出文本;3)在拥有数十亿可训练参数的情况下,仅需有限数量的下游机器人操作数据,就能实现高性能和泛化性。本节将详细阐述 RoboFlamingo 的设计。
4.1 语言条件下的机器人控制
4.2 Flamingo 主干网络
我们采用 Flamingo 主干网络 fθ 来在每个决策步骤理解视觉和语言输入。总体而言,Flamingo 通过视觉编码器将视觉观测编码为潜在标记;然后通过特征融合解码器将它们与语言目标进行融合。下面我们将详细解释这些部分。
4.2.1 视觉编码器
视觉编码器由一个视觉变换器(ViT)(Yuan 等人,2021 年)和一个感知重采样器(Alayrac 等人,2022 年)组成。在每个时间步 t,来自两个视角的相机图像 It、Gt 通过 ViT 模块被编码为 X^t,它由一个视觉标记序列组成:
4.2.2 特征融合解码器
4.3 策略头(Policy Head)
4.4 训练目标
5 实验
5.1 基准测试集与基线方法
表 1:不同设置下的模仿学习性能,所有结果均基于表现最佳的模型检查点(model checkpoints)进行报告。“Full”(全量数据)和 “Lang”(仅语言相关数据)表示模型是否使用未配对的视觉数据(即没有对应语言描述的视觉数据)进行训练;“Freeze-emb” 表示冻结融合解码器(fusion decoder)的嵌入层;“Enriched”(增强)表示使用 GPT-4 增强的指令。灰色行表示由我们重新训练的模型评估得出的数值结果。我们重新实现了 RT-1,并采用了 Mees 等人(2022a)提供的 HULC 原始代码。其他所有结果均由 Mees 等人(2022a)报告。
我们在 CALVIN 基准测试集中对一系列表现良好的基线方法进行了比较:(1)MCIL(Lynch & Sermanet, 2020):这是一个可扩展的框架,它将多任务模仿学习与自由形式文本条件相结合,能够学习语言条件下的视觉运动策略,并且可以在动态精准的 3D 桌面环境中,在较长时间跨度内遵循多条人类指令。(2)HULC(Mees 等人,2022a):这是一种分层方法,它融合了不同的观测空间和动作空间、辅助损失函数以及潜在表征,在 CALVIN 基准测试集上取得了当前最优(State-of-the-Art, SoTA)的性能表现。(3)RT-1(Brohan 等人,2022):这是一种机器人 Transformer 模型,它直接通过动作标记(action tokens),以及视觉和语言输入来预测控制动作。由于我们无法获取 RT-2(Brohan 等人,2023)的代码、数据和模型权重,因此未对其进行实验对比。
5.2 模仿学习性能
我们仅使用来自四个数据划分(A、B、C 和 D)中均带有语言标注的演示数据,对 RoboFlamingo(采用 M-3B-IFT 骨干网络)进行训练,并在从数据划分 D 中采样的任务片段(episodes)上评估其模仿学习性能。性能对比结果如表 1 所示。RoboFlamingo 在所有评估指标上均大幅超越所有基线方法,即便对于那些使用完整数据集进行训练的方法亦是如此。这充分证明了 RoboFlamingo 作为机器人操作解决方案的有效性,它能够让视觉语言模型(VLMs)成为高效的机器人模仿者。
此外,后续任务的成功率可被视为衡量操作策略泛化能力的一个指标,因为后续任务的初始状态高度依赖于其前序任务的结束状态。在任务序列中,任务安排得越靠后,其初始状态就越多样化,这就需要更强大的视觉 - 语言对齐能力才能成功完成任务。在所有方法中,RoboFlamingo 在后续任务上取得了最高的成功率。这表明 RoboFlamingo 能够利用预训练 VLMs 的视觉 - 语言基础(grounding)能力。在附录中,我们还进一步给出了 RoboFlamingo 与 COCO 和 VQA 数据联合训练的结果(附录 B.1),并将其与近期的一些机器人表征研究工作进行了对比(附录 B.2)。附录 B.1 还揭示了微调后原始视觉语言模型(VL)能力的变化情况。
5.3 零样本泛化能力
为了评估 RoboFlamingo 的零样本泛化能力,我们从视觉和语言两个方面对其进行评价。在视觉泛化方面,我们在数据划分 A、B 和 C 上训练模型,并在具有不同视觉场景的数据划分 D 上进行测试。如表 1 所示,在这种视觉泛化场景(ABC → D)下,我们的方法显著优于基线方法。在语言泛化方面,我们通过使用 GPT-4(OpenAI,2023)为每个任务生成 50 条同义指令来丰富语言设置。在评估过程中,我们随机采样指令。在这种语言泛化设置下,与所有基线方法相比,我们的方法展现出了更优的性能。
表 2:所测试的视觉语言模型(VLMs)的变体情况。“Pre-train”(预训练表现)表示 VLM 在预训练用的视觉语言(VL)数据集上的原始性能表现;“Best Avg. Len.”(最佳平均成功长度)表示在 5 个训练周期(epochs)内,VLMs 平均成功长度所能达到的最佳性能;“Mean Avg. Len.”(最后 3 个周期平均成功长度的均值表现)表示在 CALVIN 基准测试集上,VLMs 在最后 3 个训练周期的平均成功长度性能的均值。
需要注意的是,RoboFlamingo 在后续任务上的成功率下降幅度比 HULC 更大。这可能是由于我们的方法在训练过程中直接使用词元(word tokens)作为输入,相较于使用冻结的句子模型来嵌入指令的 HULC,对于同义句子,我们的方法可能会产生更大的变化。为解决这一问题,我们在方法中冻结了特征融合解码器的嵌入层,这有助于提升模型的泛化能力,并减少性能下降的幅度。
5.4 消融实验研究
在本节中,我们针对 RoboFlamingo 开展消融实验,以回答以下问题:
1)RoboFlamingo 在使用不同的策略头(policy heads)/策略形式(formulations)时表现如何?
2)视觉语言(VL)预训练是否能提升下游机器人任务的性能?
3)VL 预训练中的关键因素如何影响机器人任务?
5.4.1 ROBOFLAMINGO 在不同策略形式下的表现如何?
我们使用不同的策略头/策略形式对 RoboFlamingo 进行测试。具体而言,我们比较了 4 种不同的实现方式:(a)MLP w/o hist(无历史信息的多层感知机)仅将当前观测作为输入来预测动作,忽略了观测历史信息。(b)MLP w hist(带历史信息的多层感知机)将历史帧与位置嵌入信息一同输入视觉编码器,并通过特征融合解码器中的交叉注意力层对历史信息进行编码。(c)GPT 和(d)LSTM 均利用 VLM 骨干网络处理单帧观测,并通过策略头整合历史信息。GPT 明确地将视觉历史作为输入来预测下一个动作,而 LSTM 则隐式地维护一个隐藏状态来编码记忆并预测动作。详细说明可参见附录 C.1。我们在图 3(a)所示的 ABCD → D 设置下比较了它们的最佳性能。MLP w/o hist 的表现最差,这表明历史信息在操作任务中的重要性。MLP w hist 的表现优于 MLP w/o hist,但仍远不及 GPT 和 LSTM。我们推测,这可能是因为 VLM(OpenFlamingo)在预训练阶段仅见过图像 - 文本对,无法有效处理连续帧。此外,GPT 和 LSTM 的性能相近,鉴于 LSTM 的简洁性,我们选择其作为默认策略头。
表 3:在 ABCD → D 设置下,使用 10% 带有语言标注的数据所得到的性能表现。所有变体模型均在相同的训练周期数(training epochs)下进行训练与评估。
5.4.2 VL 预训练是否能提升下游机器人任务的性能?
为验证 VL 预训练的必要性,我们在不加载由 OpenFlamingo 模型训练得到的交叉注意力层和重采样器(resampler)的预训练参数的情况下,对同一模型进行训练(表示为 No VL Pre-train,即无 VL 预训练)。此外,我们还开展了一项消融实验,冻结预训练的 VLM,仅训练策略头(表示为 No VL Finetune,即不对 VL 进行微调)。如图 3(b)所示,我们可以看到,视觉语言预训练能够显著提升下游机器人操作任务的性能。此外,由于策略头的容量有限,在机器人任务上对 VL 模型本身进行微调是必不可少的。
5.4.3 VL 预训练中的关键因素如何影响机器人任务?
模型规模:一般来说,规模更大的模型往往能带来更好的视觉语言(VL)性能。然而,在 CALVIN 数据集使用完整训练数据的情况下,我们发现较小规模的模型与较大规模的模型性能相当(具体对比可参见表 2 和附录 B.4)。为了进一步验证模型规模对下游机器人任务的影响,我们在 CALVIN 数据集上仅使用 10% 的带有语言标注的数据(这仅占完整数据的 0.1%)来训练不同变体模型。从表 3 中我们可以观察到,在训练数据有限的情况下,视觉语言模型(VLMs)的性能与模型规模高度相关。较大规模的模型取得了显著更高的性能,这表明较大规模的 VLM 在数据利用效率上更具优势。
指令微调(Instruction Fine-tuning):指令微调是一种专门的技术,它利用指令微调数据集(IFT dataset)对大型语言模型(LLM)进行进一步的预训练增强(Conover 等人,2023;Peng 等人,2023)。这种技术为模型提供了丰富的遵循指令行为示例,从而提升了模型在语言条件任务中的能力。我们发现,经过这种训练阶段的大型语言模型能够提升策略在已见场景和未见场景下的性能。这一点从表 2 中 M-3B-IFT 相较于 M-3B,以及 G-4B-IFT 相较于 G-4B 的性能提升中可以得到体现。
5.5 部署的灵活性
由于我们的 RoboFlamingo 采用了将感知模块和策略模块分离的结构,并将主要计算任务交给感知模块处理,因此我们可以通过开环控制(open loop control)来加速 RoboFlamingo 的推理过程。开环控制无需每次仅执行下一个动作,并在面对新观测时为预测未来动作而每次都进行 VLM 推理。相反,在给定当前观测的情况下,开环控制仅通过一次推理即可预测一个动作序列(堆叠动作),从而减轻了延迟和测试时的计算需求。然而,如图 3(c)所示,直接在不重新训练的情况下实施开环控制可能会导致性能下降。而通过跳跃步演示(jump step demonstration)对模型进行重新训练,则可以缓解这种性能下降的问题。
6 结论与未来工作
本文探讨了预训练视觉语言模型在推动语言条件下的机器人操作任务(language-conditioned robotic manipulation)方面的潜力。我们提出的基于预训练 OpenFlamingo 模型的 RoboFlamingo,在基准数据集上展现出了最先进的性能表现。此外,我们的实验结果表明,预训练模型在数据效率和零样本泛化能力方面具有显著优势。本研究为开发能够无缝理解并响应人类语言指令的智能机器人系统做出了贡献,为更直观、高效的人机协作铺平了道路。
由于缺乏真实机器人数据,本文并未在真实机器人平台上进行部署。不过,令我们欣喜的是,近期在大规模真实机器人数据领域取得的进展(Padalkar 等人,2023)表明,利用大量真实机器人数据对大型视觉语言模型(VLMs)进行微调具有可行性。最令人期待的未来工作,是观察 RoboFlamingo 在结合此类大规模数据后,在真实任务中的实际表现。