欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 焦点 > 从Octo与TinyVLA、DeeR-VLA、3D-VLA——OpenVLA之外的视觉语言动作模型VLA的持续升级

从Octo与TinyVLA、DeeR-VLA、3D-VLA——OpenVLA之外的视觉语言动作模型VLA的持续升级

2025/1/24 1:31:50 来源:https://blog.csdn.net/v_JULY_v/article/details/144176405  浏览:    关键词:从Octo与TinyVLA、DeeR-VLA、3D-VLA——OpenVLA之外的视觉语言动作模型VLA的持续升级

前言

本博客曾详细介绍过π0

π0的作者包括


Kevin Black, Noah Brown, Danny Driess, Michael Equi, Adnan Esmail, Chelsea Finn, Nick Fusai, Lachy Groom, Karol Hausman, Brian Ichter, Szymon Jakubczak, Tim Jones, Kay Ke, Sergey Levine, Adrian Li-Bell, Mohith Mothukuri, Suraj Nair, Karl Pertsch, Lucy Shi, James Tanner, Quan Vuong, Anna Walling, Haohuan Wang, Ury Zhilinsky等20多人

而其实在π0之前,还有类似的两个比较有影响力的工作

  • 一个是Octo,发布于24年5月,作者来自1. UC Berkeley、2. Stanford University、3. Carnegie Mellon University、4. Google DeepMind这4家机构
    Dibya Ghosh*,1、Homer Walke*,1、Karl Pertsch*,1,2、Kevin Black*,1、Oier Mees*,1
    Sudeep Dasari3、Joey Hejna2、Tobias Kreiman1、Charles Xu1、Jianlan Luo1
    You Liang Tan1、Lawrence Yunliang Chen1、Pannag Sanketi4、Quan Vuong4、Ted Xiao4
    Dorsa Sadigh2、Chelsea Finn2Sergey Levine1


    上面这些标着下划线的作者,同时也是π0的作者,所以我非常强烈的感觉,这个octo某种意义上是π0团队部分作者的一个前期试验性成果
  • 一个是OpenVLA,发布于24年6月,作者来自1Stanford University、2UC Berkeley、3Toyota Research Institute、4Google DeepMind、5Physical Intelligence——即推出VLA模型π0的机构、6MIT
    Moo Jin Kim*,1, Karl Pertsch*,1,2, Siddharth Karamcheti*,1,3,
    Ted Xiao4, Ashwin Balakrishna3, Suraj Nair3, Rafael Rafailov1, Ethan Foster1, Grace Lam,
    Pannag Sanketi4, Quan Vuong5, Thomas Kollar3, Benjamin Burchfiel3, Russ Tedrake3,6, Dorsa Sadigh1, Sergey Levine2, Percy Liang1, Chelsea Finn1

考虑到π0作为VLA模型的巨大影响力,加之后续在OpenVLA之外,又出来了一系列VLA模型——比如TinyVLA、DeeR-VLA、3D-VLA,故写本文

第一部分 π0之参考基线Octo——本质是Robotics VLM,非VLA

1.1 Octo的提出背景与其整体架构

1.1.1 Octo的提出背景与相关工作:80万条机器人轨迹上预训练,可微调

许多研究使用从机器人收集的大量轨迹数据集来训练策略

  1. 从早期使用自主数据收集来扩展策略训练的工作[71,48,41,19-Robonet,27,30]
  2. 到最近探索将现代基于transformer的策略与大型演示数据集相结合的工作[10-Rt-1,40,98-ALOHA或ACT,28-Mobile aloha,83,86- Open-world object manipulation using pre-trained vision-language models]

这些工作主要集中在单一的embodiment上,而Octo则在跨多个体现组装的机器人数据集上训练策略,增加了训练数据集的有效规模,并允许对多种机器人设置进行微调

最近,论文集中于扩展机器人策略的泛化能力。多项研究利用多样的非机器人数据或预训练的视觉-语言基础模型来提升策略对新场景和任务的泛化能力[86,103,96,16,38,11,84,36,4,37,7,3,46,15,23]

  • 与Octo更密切相关的是最近的研究,这些研究在多个机器人具体化数据上训练机器人策略:
    GNM模型[81,80]在机器人导航设置中实现了泛化
    而RoboCat[9]和RT-X[67]控制多个单臂操作机器人
  • 虽然这些模型在策略学习上取得了令人印象深刻的成果,但一个关键问题是它们缺乏灵活性:通常要求用户坚持使用预训练期间的传感器输入和动作空间,并且不支持适应新的观测和动作空间。此外,最大的模型尚未公开

    Octo在多个方面与这些工作不同:它在更大且更多样化的机器人数据混合上进行训练,通过高效微调新机器人设置支持更广泛的下游应用,并且它是完全开源和可复现的

Octo 的设计灵感来源于机器人模仿学习和可扩展Transformer训练的几项最新进展,包括

  1. 使用去噪扩散目标[34-DDPM]进行动作解码[比如17-Diffusion policy 详见此文《Diffusion Policy——斯坦福机器人UMI所用的扩散策略:从原理到其编码实现》,再比如31-Scaling Up and Distilling Down: Language-Guided Robot Skill Acquisition,85-Nomad]
  2. 预测“动作块”,即未来动作序列[98-ALOHA ACT,17-Diffusion policy,28-Mobile aloha]
  3. 以及受可扩展视觉transformer训练文献启发的模型布局和学习率计划[22-ViT,97]

训练通用机器人策略的一个关键要素是机器人训练数据

  1. 与可以从网络上抓取的视觉和语言数据不同,获取大规模的机器人数据具有挑战性,通常需要在硬件和人工劳动上进行大量投资。有多个大型机器人导航和自动驾驶数据集[29,95,13,87,80,43,89]
  2. 近年来,也有多个努力构建规模和多样性不断增加的机器人操作数据集,这些数据集要么通过脚本和自动策略收集[19,41,42,12,71,30],要么通过人工遥控收集[59,60,25,90,39,10,26,6,77,63,79]

Octo 在Open X-Embodiment 数据集67-关于OXE数据集的详细介绍,详见此文《Google视觉机器人超级汇总:从RT、RT-2到RT-X、RT-H(含Open X-Embodiment数据集详解)》的第三部分上进行了训练——该OXE数据集于近年来 汇集了许多机器人数据集

不过,Open-X 数据集虽然包含了约 150 万个机器人剧集,但作者在其中为Octo训练整理出来了80万条数据The Open-X dataset contains approximately 1.5M robot episodes, of which we curate 800k for Octo training

总之,他们开源了训练、微调和运行他们模型所需的所有资源「项目地址见:octo-models.github.io,其对应的论文为《Octo: An Open-Source Generalist Robot Policy》,发布于24年5月」:

  1. 预训练的Octo检查点用于Octo-Small(27M参数)和Octo-Base(93M参数)
  2. 微调脚本用于Octo模型,使用JAX
  3. 模型预训练管道用于在Open X-Embodiment数据集上进行Octo预训练,使用JAX
  4. 独立数据加载器用于Open X-Embodiment数据,兼容JAX和PyTorch

并在原论文的附录B中提供了一个简单的示例,用于加载和运行预训练的Octo模型

1.1.2 Octo的模型架构:先针对输入做Tokenizers,然后以Transformer为主干,最后加上较小的diffusion action head

Octo的核心是一个基于Transformer的策略π

它由三个关键部分组成:

  1. 输入Tokenizers,用于转换的语言指令\ell、目标g、观察序列o_{1}, \ldots, o_{H}转化为token序列\left[\mathcal{T}_{l}, \mathcal{T}_{g}, \mathcal{T}_{o}\right]
  2. 一个处理token并生成嵌入e_{l}, e_{g}, e_{o}=T\left(\mathcal{T}_{l}, \mathcal{T}_{g}, \mathcal{T}_{o}\right)的transformer骨干
  3. 生成所需动作areadout headR(e)

对于第一部分输入Tokenizers,作者使用特定模态的tokenizers将任务定义(例如,语言指令\ell和目标图像g)和观察o(例如,手腕和第三人称摄像机流)转换为一种通用的“tokenized”格式

  • 语言输入被Tokenized
    通过一个预训练的transformer生成一系列语言嵌入token——使用t5-base(111M)模型 [74]
  • 图像观测和目标
    通过一个浅卷积堆栈,然后分割成一系列扁平化的patches [22-ViT]
    通过将可学习的位置嵌入position embeddings,添加到任务和观察token中,然后将它们按顺序排列\left[\mathcal{T}_{T}, \mathcal{T}_{o, 1}, \mathcal{T}_{o, 2}, \ldots\right]

对于后两个部分Transformer骨干和policy head:一旦输入被转换为统一的token序列,它们就会被transformer处理(见下图图2,顶部)「这类似于先前的工作,这些工作在观测和动作序列上训练基于transformer的策略 [92, 73-Robot learning with sensorimotor pre-training]

  • Octo transformer的注意力模式是块状掩蔽的:观测token只能因果地关注来自相同或更早时间步\mathcal{T}_{o, 0: t}的token以及任务token\mathcal{T}_{T}

    对应于不存在的观测的token被完全屏蔽(例如,没有语言指令的数据集)。这种模块化设计使得能够在微调过程中添加和删除观测或任务(见下文)
  • 除了这些输入token块之外,作者还插入了学习的readout token\mathcal{T}_{R, t}
    readout tokens在\mathcal{T}_{R, t}中关注序列中之前的观测和任务token,但不被任何观测或任务token关注——因此,它们只能被动地读取和处理内部嵌入,而不影响它们
    Readout tokens的作用类似于BERT中的 [CLS] token,作为到目前为止观测序列的紧凑向量嵌入

    一个实现扩散过程的轻量级“动作头action head”被应用于readout tokens的嵌入。这个动作头预测几个连续动作的“块”,类似于之前的工作[98-ALOHA ACT, 17-Diffusion policy]
    A lightweight “action head” that implements the diffusion process is applied to the embeddings for the readout tokens. This action head predicts a “chunk" of several consecutive actions, similar to prior work [98, 17].

    顺带提一下Octo与RDT的主要区别
    Octo整体上以Transformer为主干,然后加上较小的diffusion head(一般几十M),而这里的Diffusion仅在较小的head上发生
    而RDT的整个主干网络都用来做denoising(改造的DiT),因为,RDT的作者认为较小的Diffusion head会极大限制地模型对多峰动作分布的表达能力
    而且,据RDT的一作称,Octo的核心作者Sergey Levine教授在最近的talk中也提到了这一点,称这是他们在Octo中做的不好的地方。因为它在某些情况下无法充分表达动作空间中的复杂分布,尤其是多峰分布的问题。因此导致的RDT更倾向于整体采用Diffusion结构,类似于视频模型和图像生成模型,这样可以最大化模型的生成能力

这种设计使得能够在下游微调期间灵活地向模型添加新的任务、和观察输入,或动作输出头

  • 即在下游添加新任务、观察或损失函数时,可以完全保留transformer的预训练权重,只需根据规范的变化添加新的位置嵌入、新的轻量级编码器或新头部的参数(见下图图2,底部)

    这与之前的架构形成对比 [10-Rt-1, 81-ViNT: A foundation model for visual navigation]——在这些架构中 添加或移除图像输入或更改任务规范需要重新初始化或重新训练预训练模型的大型组件
  • 这种灵活性对于使Octo成为真正的“通用”模型至关重要:毕竟无法涵盖所有可能的机器人传感器和在预训练期间的动作配置中,能够在微调期间调整Octo的输入和输出

总之,先前的模型设计使用标准的transformer骨干或将视觉编码器与MLP输出头融合,锁定了模型所期望的输入类型和顺序。相比之下,切换Octo的观察或任务不需要重新初始化大部分模型

1.2 Octo的预训练数据、训练目标、训练细节

1.2.1 预训练数据:对Open-X数据集的整理、筛选

Octo在Open X-Embodiment数据集[67]中25个数据集的混合上训练Octo——如上文的介绍,这是一个多样化的机器人学习数据集集合。总之,Octo的训练混合包括来自多个机器人体现和场景的各种任务的演示数据

这些数据集不仅在机器人类型方面是异质的,而且在传感器(例如,包括或不包括腕部摄像头)和标签(例如,包括或不包括语言指令)方面也是异质的。详见下图图3

为了创建我们的训练混合物 D

  1. 首先通过去除所有不包含图像流的Open-X数据集,以及那些不使用增量末端执行器控制的数据集来整理数据
  2. 还去除过于重复、图像分辨率低或由过于小众任务组成的数据集。对于剩余的数据集,根据任务和环境将它们大致分类为“更多样化”和“较少样化”数据集,然后在训练过程中将更多样化数据集的权重加倍
  3. 且还降低了一些包含许多重复情节的数据集的权重,以避免其主导混合数据
  4. 最后,对任何缺失的摄像机通道进行零填充,并在数据集之间对齐夹持器动作空间,使得夹持器命令+1表示“夹持器打开”,0表示“夹持器关闭”
    这点,对于RDT、π0也是一样的,毕竟涉及到不同种类的异构数据,所以需要做一定的对齐

1.2.2 训练目标:使用条件扩散解码头来预测连续的、多模态的动作分布

作者使用条件扩散解码头来预测连续的、多模态的动作分布 [类似34-DDPM, 17-Diffusion policy]「We use a conditional diffusion decoding head to predict continuous, multi-modal action distributions [34 , 17 ]

  1. 重要的是,每次动作预测仅执行一次transformer骨干的前向传递,之后的多步去噪过程完全在小型扩散头内进行,且作者发现这种策略参数化在零样本和微调评估中优于使用MSE动作头或离散动作分布训练的策略 [10-Rt-1]
    Importantly, only one forward pass of the transformer backbone is performedper action prediction, after which the multi-step denoising process is carried out entirely with in the small diffusion head. We found this policy parameterization to outperform policies trained with MSE action heads or discretized action distributions [ 10] in both zero-shot and finetuning evaluations.
  2. 为了生成一个动作,采样一个高斯噪声向量x^{K} \sim \mathcal{N}(0, I)并应用 K步去噪,使用一个学习到的去噪网络\epsilon_{\theta}\left(x^{k}, e, k\right),该去噪网络以先前去噪步骤的输出x_k、步骤索引k和transformer的action readout的输出嵌入e为条件「To generate an action, we sample a Gaussian noise vector xK ∼ N 0, I and apply K steps of denoising with a learned denoising network ϵθ (xk, e, k) that is conditioned on the output xk of the previous denoising step, the step index k, and the output embedding e of the transformer action readout」:
    x^{k-1}=\alpha\left(x^{k}-\gamma \epsilon_{\theta}\left(x^{k}, e, k\right)+\mathcal{N}\left(0, \sigma^{2} I\right)\right)

    其中
    \rightarrow  超参数\alpha, \gamma, 和 \sigma 对应于噪声计划:使用来自 [66-Improved DDPM]的标准余弦计划
    \rightarrow  且使用 [34-DDPM] 中首次提出的标准 DDPM 目标训练扩散头,其中向数据集动作添加高斯噪声,并训练去噪网络\epsilon_{\theta}\left(x^{k}, e, k\right)以重建原始动作

    有关扩散策略训练的详细解释,请参见 Chi 等人[17-即Diffusion policy],且在原论文的附录 D 中列出了所有超参数

作者在微调期间使用相同的扩散训练目标并更新完整模型,这一方法优于冻结预训练参数子集的方法。在所有微调实验中,采用相同的方法:给定一个包含大约100条轨迹的小型目标领域数据集,使用余弦衰减学习率衰减和线性预热进行50k步的微调

1.2.3 训练细节:根据语言指令或目标图像进行条件训练

作者训练了他们模型的两个变体:

  1. Octo-Small,其transformer骨干网的大小与ViT-S相似
  2. 和Octo-Base,其transformer骨干网的大小与ViT-B相似 [22-即ViT论文]
    且使用AdamW优化器 [51],采用反平方根衰减学习率计划 [97],权重衰减为0.1,梯度裁剪为1.0

    ViT-B在TPU v4-128 pod上以批量大小为 2048训练了300k步,耗时14小时。在具有24GB VRAM的单个NVIDIA A5000 GPU上对同一模型进行微调运行大约需要5小时,并且可以通过多GPU训练加速

另,使用2帧观察历史进行训练;在他们的初步实验中,他们发现超过第一个附加帧后收益显著减少。他们使用后见目标重标记「We use hindsight goal relabeling」,它从轨迹中的未来状态中均匀选择一个状态作为目标图像,类似于之前的工作 [54, 90, 81, 77, 63]

  • 且在训练期间应用常见的图像数据增强,并随机将语言指令或目标图像置零,以便Octo可以根据语言指令或目标图像进行条件训练
  • 对于没有语言注释的数据集,作者始终使用目标图像条件。这使他们的模型能够主要从自监督的视觉观察中学习控制,并减少语言注释的负担,类似于之前关于多上下文模仿学习的工作 [54,62,61,63]。有关超参数选择的更多详细信息,请参见附录D

1.3 一系列消融实验

1.3.1 Octo控制9个机器人,及其与RT-1-X、RT-2-X的对比

作者进行了一系列实验,提供了对Octo的实证分析,评估其作为通用机器人基础模型在多个方面的能力:

  1. Octo能否控制多个机器人体现,并开箱即用地解决语言和目标任务?
  2. Octo的权重是否可以作为数据高效微调到新任务和机器人的良好初始化,并且是否比从头开始训练和常用的预训练表示更好?
  3. 在构建通用机器人策略时,Octo的哪些设计决策最为重要?

评估设置:他们在4个机构的9个具有代表性的机器人学习设置中评估Octo的能力(见下图图4)

  • 且他们测试Octo在语言和目标图像任务中对不同机器人进行开箱即用(“零样本”)控制的能力,使用与预训练数据匹配的机器人设置,其中所有机器人都通过增量末端执行器控制动作进行控制,观察空间为RGB图像
  • 且还评估了Octo在数据高效微调到新环境和任务中的表现,包括新的观察(“Berkeley Insertion”中的力-扭矩输入)、新的动作空间(“Berkeley Pick-Up”中的关节位置控制)和新的机器人体现(“Berkeley Coke”和“Berkeley Bimanual”)
  • 每个微调设置使用 ∼100域内演示,并在NVIDIA A5000 GPU上微调 < 5小时,所有设置使用相同的超参数(见附录D)。评估任务还测试了Octo与多样化对象(例如,“WidowX BridgeV2”)交互的能力,解决长时间跨度任务

此外,他们将Octo控制多种机器人开箱即用的能力与最佳公开可用的通用机器人策略 RT-1-X [67]进行比较,使用发布的检查点

  • 与Octo类似,RT-1-X在Open X-Embodiment机器人数据集上进行了预训练,旨在零样本控制多种机器人,因此提供了一个自然的比较点
  • 他们还将Octo的零样本能力与 RT-2-X进行比较,这是一个在Open X-Embodiment数据集上微调的550亿参数视觉语言模型,用于生成机器人动作
    值得一提的是,RT-1-X和RT-2-X仅支持基于语言指令的条件,但Octo还支持基于目标图像的条件
    比如作者在WidowX任务中使用目标图像条件对我们的模型进行了评估,发现其成功率比使用语言条件评估时高25%。基本可以断定:因为目标图像提供了更多关于如何完成任务信息

RT-1-X和RT-2-X模型[67]在一个更受限制的子集上训练,共350K集(相比之下,Octo为800K集)。且他们进一步比较Octo作为策略初始化用于数据高效微调的性能与两种常见方法:

  1. 从头开始训练目标领域演示
  2. 使用预训练的视觉表示
    虽然许多先前的研究提出了其他用于模仿微调的预训练方案 [25, 24-Behavior retrieval: Few-shot imitation learning by querying unlabeled datasets, 26],但据我们所知,没有任何先前的方法提供了一个经过预训练的策略,并已被证明能够成功微调到新的观察和动作空间
    然而,像 VC-1 [56] 这样的预训练视觉表示已经以这种方式使用,因此将这些方法用作另一个比较点

对于微调,作者发现从头开始训练我们的大型 transformer 架构在小型数据集上很快就过拟合。
相反,作者使用许多先前工作采用的经典策略架构从头开始获得了更好的结果:一个带有 FiLM [70] 语言条件的 ResNet 视觉编码器,结合一个小型 transformer 动作解码器,并使用扩散目标进行训练,类似于 [10- RT-1, 98-ALOHA ACT, 17-Diffusion policy, 55- Interactive language: Talking to robots in real time]

  1. 作者这个架构的实例化有 28M 个参数(类似于 RT-1 [10])
    如此,采用这个作为我们的从头开始的基线(“ResNet+Transformer Scratch”)
  2. 且还比较了按照以下程序预训练的视觉表示,比如一个 ViT-B 视觉编码器被初始化为VC-1 权重 [57],这是一种在 4,000 小时的自我中心视频和ImageNet 上预训练的最先进的视觉表示,并与一个 MLP动作解码器结合
    完整模型通过使用 MSE 损失(“VC-1”)来训练预测专家动作

1.3.2 通用机器人策略训练的设计决策

作者还分析了不同设计决策对Octo策略性能的影响。具体来说,他们关注以下几个方面:模型架构
、训练数据、训练目标、模型规模

除非另有说明,否则他们在Octo-Small模型上进行所有消融实验,这是由于他们的计算预算限制

  • 模型架构上
    先前基于transformer的策略设计通常使用大型ResNet风格[32]编码器对输入图像进行编码,并将生成的图像特征与相对较小的transformer[10, 67, 81, 17, 98, 61, 83]融合

    相反,作者选择了一种“transformer优先”的架构,该架构使用非常浅的CNN补丁编码器,并将大部分参数和FLOPS集中在transformer主干中,类似于经典的视觉transformer架构[22-即ViT]

    在下表表II中,作者展示了这种可扩展的架构在全Open X-Embodiment数据混合训练时显著提高了性能「该表表明,当使用ViT架构、扩散动作头和广泛的训练数据混合时—— using the ViT architecture, diffusion action head, and wide training data mixture,作者实现了最佳性能。所有评估均在WidowX设置上进行。成功率是在两个语言条件任务和两个目标条件任务中,经过40次试验平均得出的

    重要的是,他们发现基于ResNet的架构在小数据集上训练时表现优于ViTs,例如,在“从头开始”比较中,这强调了大型transformer策略在多样化数据集上的可扩展训练中具有独特的适应性
  • 训练数据上
    Octo是在迄今为止最具多样性的跨形态机器人数据集上训练的,这是一组作者从Open X-Embodiment数据集中手动整理的25个数据集的混合 [67](见第 III-B节)
  • 训练目标上
    作者将Octo的扩散解码训练目标(见第 III-C节)与先前工作的常见替代方案进行比较:
    \rightarrow  简单的MSE损失[8, 47-End-to-end training of deep visuomotor policies]
    \rightarrow  和离散化动作的交叉熵损失[10-Rt-1, 103- Rt-2]

    在表II中,作者发现Octo的扩散训练目标显著提高了性能。这种改进可能是因为扩散头可以建模多模态动作分布(与MSE头不同),同时保留连续动作的精度(与离散头不同)
    定性地,策略比MSE训练的策略更果断,比那些用离散化动作训练的策略更精确
  • 模型规模上
    比较了三种不同大小的Octo模型,遵循常见视觉Transformer模型的阶梯[97]:Octo-Tiny (10M)、Octo-Small (27M) 和 Octo-Base (93M)

    在下图图6中

    作者展示了策略的零样本性能随着模型规模的增加而提升。且发现,Base模型比Small模型对初始场景配置更具鲁棒性,并且不易于过早抓取尝试,这表明较大的模型具有更好的视觉场景感知能力

当然了,虽然Octo在零样本和微调评估中表现出色,但当前模型仍然存在一些不足之处,作者将其主要归因于训练数据的特性

  1. 首先,当前的Octo模型在处理腕部摄像头信息时存在困难。通常,当仅使用第三人称摄像头而不是结合第三人称和腕部摄像头时,微调结果更强
  2. 此外,注意到语言条件策略性能和目标条件策略性能之间存在较大差异。在这两种情况下,训练数据中缺乏相应的模态可能是原因:只有27%的数据包含腕部摄像头信息,只有56%的预训练数据包含语言注释
  3. 扩大用于训练Octo的数据是一个自然的改进途径。由于Open X-Embodiment数据集由最佳机器人演示组成,当前模型通过模仿进行训练;未来的工作可能会考虑从次优或在线交互数据中学习,这需要替代目标
  4. 此外,虽然仅在单臂和双臂操作器上训练和评估了Octo;扩展到执行导航或移动操作的更广泛的机器人集将是一个具有高机会的方向

总之,虽然Octo代表了朝着构建能够在各种机器人设置中开箱即用的通用机器人策略迈出了一步,但仍需改进模型,包括更好的语言条件、更好的手腕摄像头支持,以及整合超出最佳演示的数据

第二部分 TinyVLA

2.1 TinyVLA的提出背景与整体原理

最近,VLA模型因其能够使用下一个token预测方法将预训练的视觉-语言模型扩展到机器人领域而引起了广泛关注

比较有影响力的有如本博客内介绍过的RT-2 [19]、以及上文第二部分介绍的OpenVLA [20],他们在多任务学习和泛化方面表现出色。然而,这些方法存在一个关键缺点:推理速度极其缓慢,这主要是由于它们依赖于大型视觉-语言模型和自回归动作token生成

  1. 在机器人领域,推理速度对于使机器人能够即时响应用户查询至关重要,这直接影响用户体验和机器人的整体有效性
  2. 除了推理挑战之外,这些模型还需要在大规模机器人数据集上进行广泛的预训练。例如,OpenVLA 在970K样本的OpenX数据集 [21] 上进行预训练,使得训练的计算成本既昂贵又资源密集

鉴于这些挑战,自然会产生一个问题:如何构建既能保留现有VLA模型优势,又能快速且数据高效的VLA模型?

24年9月,来自1. Midea Group、2. East China Normal University、3. Shanghai University 4.Syracuse University、5. Beijing Innovation Center of Humanoid Robotics的研究者提出了TinyVLA——这是一种不需要大规模的机器人数据预训练且能够实现快速推理的VLA模型,其对应的论文为《TinyVLA: Towards Fast, Data-Efficient Vision-Language-Action Models for Robotic Manipulation》

其与RT-2和OpenVLA的「使用下一个token预测技术独立预测动作token」不同,TinyVLA将一个基于扩散的头部附加到预训练的多模态模型上,以直接输出机器人动作「 instead of using the next token prediction technique to predict action tokens independently, we attach a diffusion-based head to the pre-trained multimodal model for direct robot action output

2.2 TinyVLA的两大关键

2.2.1 构建具有高效视觉-语言模型的TinyVLA:参数从40M到1.4B

TinyVLA包含几个关键设计:

  1. 采用预训练的多模态模型作为策略网络的初始化
  2. 在训练机器人数据时,冻结预训练部分,并使用参数高效的微调技术LoRA [62],其中可训练参数仅占整个模型的5 %
  3. 引入了一个策略解码器,通过一个简单但有效的线性投影连接到预训练的多模态模型,并输出机器人的可执行动作

TinyVLA 的示意图如下图图2 所示「左图展示了VLM的预训练流程,而右图则演示了使用机器人数据训练TinyVLA的过程

虽然现有工作通常专注于参数超过3B的视觉-语言模型,但作者训练了一个更紧凑的视觉-语言模型,参数范围从40 million到1.4 billion

  1. 模型使用Pythia [63]作为语言模型的后端
  2. 然后,遵循LLaVA [25]的训练流程,使用他们的视觉-语言数据集来训练这一系列的VLMs
  3. 对于机器人数据的微调,保留了VLM中的所有模块,包括视觉骨干和视觉-语言对齐模块

2.2.2 机器人数据微调用于操作

首先,冻结权重和低秩适应

  1. 采用参数高效的训练方法LoRA [62],该方法将梯度更新限制在低维空间中

    通过将权重矩阵W ∈Rd×k 修改为W0 + ∆W = W0 + BA 来实现,其中B ∈Rd×r 和A ∈Rr×k,并且r 显著小于d 或k
    然后将低秩矩阵纳入注意力机制的权重(Q,K,V)中,同时冻结Transformer 的其余权重
  2. 此外,模型必须保留语言模型的内在知识。可训练的参数仅占整个Transformer参数的5.0%。作者认为这种方法能够使预训练模型在保持灵活性的同时,以最大的语言保真度处理输入
  3. 在训练完成后,应用重新参数化技术将LoRA模块无缝集成到标准语言模型中,从而提高推理速度

其次,使用扩散策略解码器学习动作

现在的问题是需要一种表示动作空间的方法来控制机器人。一种方法是对动作进行离散tokenization,正如在RT-2中所做的那样

然而,对于连续或高维数据使用标记化在训练中被证明是极具挑战性的[64-Unifiedio: A unified model for vision, language, and multi-modal tasks]

  • 需要大量的数据[65-A unified sequence interface for vision tasks], [66-A generalist framework for panoptic segmentation of images and videos]
  • 并且倾向于收敛到单一状态[67-“Pix2seq: A language modeling framework for object detection]

因此,作者不将动作转换为token空间,而是利用策略头policy head进一步学习机器人的动作空间

具体来说,作者利用了扩散策略(DP) [5-Diffusion policy]

  1. DP 使用去噪扩散概率模型(DDPMs) [68] 来制定机器人策略,主要涉及两个过程:加噪和去噪
    在训练过程中,从0 到N中选择一个随机值K,表示向原始动作添加高斯噪声的次数
    随后,DP 通过预测添加的噪声并减去它来去噪这些噪声动作,以获得去噪后的动作
  2. 在推理阶段,从高斯分布中采样的纯噪声a^{N} 开始,DP 生成一系列中间动作,\left\{a^{n}, a^{n-1}, \ldots, a^{1}\right\},直到形成所需的无噪声输出a^{0}
    整个模型结构如下图图2 右侧所示

    作者通过两个简单的线性投影和一个LayerNorm 直接连接DP 和多模态模型骨干。多模态模型骨干网络共同对当前观测值和语言指令进行编码,以生成一个控制去噪过程的多模态嵌入,作为条件输入给扩散策略
    The multimodalmodel backbone jointly encodes the current observations and language instructions to generate a multimodal embedding that controls the denoising process of DP as conditions.

后续按需再更

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com