前言
通过本博客内的其他文章,可以得知,目前VLM赋能机器人有两条路线
- 一是直接提示VLM规划的更细,详见《VLM规划下加约束:SayCan、ReKep等》
其中代表文章是:让VLM充当机器人大脑——VLM规划下加约束:从SayCan、VoxPoser到ViLA、CoPa、ReKep - 二是从Robotics VLM到VLA,详见《VLA发展史:VLM上加动作专家(含DexVLA等)》
包含RT2、OpenVLA、π0等代表性的VLA模型
其中代表文章是:机器人大小脑的融合——从微调VLM到VLM+动作专家的VLA:详解RoboFlamingo、Octo、TinyVLA、DexVLA
对于后者中的π0,本博客内已详细介绍过π0,而其实在π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 Finn2、Sergey Levine1上面及下一行标着下划线的作者,同时也是π0的作者
OpenVLA 发布于24年6月
作者来自
1. Stanford University
2. UC Berkeley
3. Toyota Research Institute、4Google DeepMind
5. Physical Intelligence——即推出VLA模型π0的机构
6. MIT
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 发布于24年10月底
作者来自Physical Intelligence公司
其中的Kevin Black是伯克利AI的博士生,也是该公司的研究员
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多人
Noah Brown是Google RT1和RT2的二作
Danny Driess也是 RT2的作者之一
Chelsea Finn是斯坦福ALOHA团队的指导老师,也是RT2的作者之一
Karol Hausman则是该公司CEO,曾是谷歌大脑机器人操作研究主管,2021年至今兼任斯坦福客座教授
该公司联创Sergey Levine则是UC伯克利电气工程和计算机科学系副教授,谷歌学术被引用量为超过12.7万
考虑到π0、OpenVLA(包括发布于23年7月的RT-2)都已分别独立成文,但它两之外,还有一系列相对重要的VLA模型
- 比如上面提到的Octo,比如还有TinyVLA、DeeR-VLA、3D-VLA
- 以及在更早之前,还有微调VLM的RoboFlamingo,故写本文
- 再后来,我在本文第4部分中 增加了对dexvla的解读
虽然在24年q4、25年q1的落地中用idp3 其次π0居多,这个dexvla我感觉挺有潜力,q2会试下
模型太多,截止到25年3月底,单本博客内就总结了几十个,但在我司「七月在线」的落地场景中,目前没有任何一个模型是完美的,故近期会在一些开源模型/算法上提出我们的改进
当然,我们做科研/算法,更多是为「落地效果更好」的目标去做,非为了发论文而发论文,论文是落地过程中的顺带产物
为免歧义,强调一下,理论创新也很重要,都是相辅相成的
第一部分(选读) 字节RoboFlamingo:首个开源的VLM机器人操作大模型(微调OpenFlamingo)
近年来,大模型的研究正在加速推进,它逐渐在各类任务上展现出多模态的理解和时间空间上的推理能力
- 而机器人的各类具身操作任务天然就对语言指令理解、场景感知和时空规划等能力有着很高的要求,这自然引申出一个问题:能不能充分利用大模型能力,将其迁移到机器人领域,直接规划底层动作序列呢?
- 23年7月,Google发布的一项颇有影响力的工作即Robotics Transformer 2(RT-2),已经展示了一种使vlm适应低级机器人控制的可能解决方案,然而其需要对广泛的视觉-语言数据进行联合微调,以充分展示其有效性
因此,机器人领域迫切需要一种低成本的替代解决方案,有效地启用具有vlm的机器人操作策略
对此,23年11月,ByteDance Research 基于「开源的VLM大模型 OpenFlamingo」开发了开源、易用的 RoboFlamingo 机器人操作模型,只用单机就可以训练。使用简单、少量的微调就可以把 VLM 变成 Robotics VLM,从而适用于语言交互的机器人操作任务
- 项目主页:https://roboflamingo.github.io
- 代码地址:https://github.com/RoboFlamingo/RoboFlamingo
- 论文地址:Vision-Language Foundation Models as Effective Robot Imitators,Submitted on 2 Nov 2023 (v1)
OpenFlamingo 在机器人操作数据集 CALVIN 上进行了验证,实验结果表明,RoboFlamingo 只利用了 1% 的带语言标注的数据即在一系列机器人操作任务上取得了 SOTA 的性能
随着 RT-X 数据集的开放,采用开源数据预训练 RoboFlamingo 并 finetune 到不同机器人平台,将有希望成为一个简单有效的机器人大模型 pipeline
1.1 之前的相关工作
这是此前的一些工作,主要有以下三大类
- 微调——RT-1等
尽管Jang等人(2022)和Lynch & Sermanet(2020)等早期研究已经训练了一个视觉编码器和一个语言编码器,以学习操纵任务中输入语言和视觉数据的表示
但最近的一些工作直接采用预训练模型来获取优质表示,并从头开始训练策略模型或微调整个模型(some recent work directly takes pre-trained models to obtain great representations, then trains the policy model beyond them from scratch or fine-tuning the whole model)
例如,Jiang等人采用预训练的T5模型对多模态提示进行编码,并通过微调T5模型以及额外训练对象编码器和注意力层来学习动作
For instance, Jiang et al. (2023) utilizes a pre-trained T5 (Raffel et al., 2020) model to encodethe multi-modal prompts, and learn the actions by fine-tuning the T5 model and additionally trainingan object encoder and attention layers
此外,还有上文提到过的RT-1 (即Robotics Transformer),作为一个35M的视觉-语言-动作模型(VLA),其通过将动作tokenizes并在标记空间中对齐视觉、语言和动作,且在大量真实世界操纵数据集上进行训练「Besides, Brohan et al. (2022) proposedRT-1, i.e., robotics transformers, a 35M vision-language-action model (VLA) which tokenizes the action and aligns the vision, language, and action in the token space and is trained on a large amount of real-world manipulation dataset 」
其使用Universal Sentence编码器(Cer等人,2018)获取语言嵌入,并采用预训练的EfficientNet-B3(Tan & Le,2019)作为视觉tokenizer「using the Universal Sentence Encoder (Cer et al., 2018) to obtain the language embedding and the pre-trained EfficientNet-B3 (Tan & Le, 2019) as the vision tokenizer.」 - LLM规划
一些方法已经利用大型语言模型(LLMs)作为强大的零样本计划器,例如SayCan Ahn等人(2022),以生成预定义的分步计划,并在给定任务上提供人工交互提示,随后指示不同的预训练低级策略来执行这些计划并完成多个任务
Some approaches have exploited large language models (LLMs) as a powerful zero-shot planner, e.g., SayCan Ahn et al. (2022), to generate step-by-step pre-defined plans with human-interactive prompts on given tasks, subsequently instructing different pre-trained low-levelskill policies to execute those plans and finish multiple tasks.
与其他研究相比,控制策略无需理解指令能力,而是依赖预训练冻结LLM来选择必要技能
Compared to other works, the controllingpolicies do not require any ability to understand instructions, but rely on the pre-trained frozen LLMto select necessary skills. - 协同精调Co-Fine-Tuning
Dries等人提出了540B PaLM-E模型,展示了一种不同的利用预训练视觉和语言模型的方法(Driess et al. (2023) proposed 540B PaLM-E model, showing a different way ofutilizing the pre-trained vision and language model)
具体而言,如下三点
他们选择了不同的预训练模型来编码输入场景,并将PaLM作为基础模型(they choose different pre-trained models to encoder the input scene, and the PaLM (Chowdhery et al., 2022) model as the base model)
通过使用移动操作问答数据以及从Web收集的图像标题和视觉问答数据等辅助视觉语言训练数据(using both mobile manipulation question-answering data and auxiliary vision-language training data such as image captioning and visual question answering data collected from the web)
他们通过端到端协同微调整个VLM来训练模型生成由语言描述的预定义多步计划(train the model to generate pre-defined multi-step plans described by language by co-fine-tuning the whole VLM end-to-end)
与SayCan类似,他们需要低级控制策略来执行生成的计划(Similar to SayCan (Ahn et al., 2022), they require low-level control policies to executethe generated plans)
然,他们的方法揭示了VLMs在适应机器人操作方面具有潜力,但是他们关键性的协同微调训练策略需要大量规模化Web数据、视觉语言数据和低级机器人动作。此外,VLMs及其所使用的数据是私有化的,这使得每位机器人从业者难以实施这样的解决方案
Their method reveals that VLMs have the potential to be adapted into robot manipulation, yet their key co-fine-tuning training strategy requires a large amount of both web-scale data vision-languagedata and low-level robot actions. Additionally, the VLMs and the data they use are private, making ithard for every robotics practitioner to play on such a solution for their own
总之,尽管之前的模型在一定程度上弥合了机器人操作任务中视觉和语言之间的差距,但它们要么专注于低级技能策略(如SayCan和PaLM-E),要么训练一个庞大的整体模型(如RT-1),或者需要大量视觉语言数据和计算资源来确保学习操作策略时不会忽视视觉与语言之间重要的对齐关系
相比这些工作,RoboFlamingo是一个简单而直观的解决方案,可以轻松适应现有VLM(本文使用OpenFlamingo)并只需微调少量操作演示——即RoboFlamingo is a simple andintuitive solution to easily adapt existing VLMs (OpenFlamingo (Alayrac et al., 2022; Awadallaet al., 2023) used in this paper), only requiring fine-tuning on a small number of manipulation demonstrations
1.2 RoboFlamingo: Vision Encoder + Feature Fusion Decoder + Policy Head
具体而言,RoboFlamingo利用已有的基于图像 - 文本对的视觉语言基础模型,通过训练端到端的方式生成机器人每一步的 relative action
模型的主要模块包含了 vision encoder,feature fusion decoder 和 policy head 三个模块,以下是这三个模块分别要做的事
- Vision encoder 模块先将当前视觉观测输入到 ViT 中,并通过 resampler 对 ViT 输出的 token 进行 down sample
- Feature fusion decoder 将 text token 作为query
并在每个 layer 中先将 vision encoder 的 output 作为 key和value 进行 cross attention
注意,在交叉注意力中,什么做Q,什么做K V确实容易混淆,有的新闻稿便会弄错,怎么防止搞错呢?
i) 可以简单粗暴的把Q定义为主人,K V定义为客人,主人一般邀请客人到家交流,而在我们面对Feature fusion decoder时,它里面的text token当然就是主人,故自然作为query,然后把vision encoder 的 output 拿过来做cross attention,而拿过来的output自然便作为客人邀请过来了,故而是key和value
ii) 其实包括transformer中decoder的第二个注意力层便也有类似之意(详见此篇transformer通俗笔记),如下图所示之后进行 self attention 以完成视觉与语言特征的融合
- 最后,对 feature fusion decoder 进行 max pooling 后将其送入 policy head 中
policy head 根据 feature fusion decoder 输出的当前和历史 token 序列直接输出当前的 7 DoF relative action(包括6-dim 的机械臂末端位姿和 1-dim 的 gripper open/close)
在训练过程中,RoboFlamingo 利用预训练的 ViT、LLM 和 Cross Attention 参数,并只微调 resampler、cross attention 和 policy head 的参数
模仿学习「Imitation learning (Pomerleau, 1988; Zhang et al., 2018; Liu et al., 2020; Jang et al., 2022) 」,允许智能体通过从指令标记的专家游戏数据中进行模仿来学习
- 其中
表示轨迹数量,
表示语言指令,
包含在达到给定指令描述的目标之前所采取的状态和动作
- 学习目标可以简单地归结为最大化似然条件下策略
的模仿目标(The learning objective can be simply concluded as a maximum likelihood goal-conditioned imitation objective to learn the policy πθ)
1.2.1 视觉编码器Vision Encoder(ViT + 重采样器Resampler):得到视觉特征
视觉编码器由ViT和重采样器Resampler构成
- 首先,在每个时间步长t,通过ViT模块对双视图相机图像
、
编码为由visual token sequence组成的
(The vision encoder consists of a vision transformer (ViT) (Yuan et al., 2021) and a perceiver resampler (Alayrac et al., 2022). At every time step t, the two-view camera images It, Gt are encoded to Xˆt, consisting of a visual token sequence, through the ViT module):
其中表示
处的视觉token序列,
表示编码后输出的token编号
- 其次,在编码之后,RoboFlamingo利用感知器重采样器Resampler 将视觉tokens的数量从N压缩到K。换句话说,Resampler通过维护一组可学习的参数,并运用注意力机制将token序列的数量减少至
(the resampler maintains a set of learnable parameters and utilizes the attention mechanism to reduce the number of token sequences to K)
形式上,Resampler的公式如下:
其中
,作为Resampler可学习参数的查询向量
表示隐藏维度大小
,表示键和值的线性变换矩阵
为视觉token特征维度
和
是经过变换后的视觉输入V的键和值向量
1.2.2 特征融合解码器Feature Fusion Decoder
重采样器输出的压缩视觉tokens进一步传递至特征融合解码器,该解码器旨在通过将“语言指令”与“编码的视觉特征
”融合,以生成视觉-语言联合嵌入(The compressed visual tokens output from the resampler Xtv ∈ RK×d are further passed to the feature fusion decoder, which is designed to generate the vision-language joint embedding by fusing the language instruction with the encoded vision feature Xtv)
在RoboFlamingo中,我们利用OpenFlamingo的预训练解码器,并按照Awadalla等人的方式对解码器模块进行微调,具体来说,解码器有层,每一层都涉及一个transformer解码器层和一个交叉注意力层(each of which involves a transformer decoder layer and a cross-attention layer)
- transformer层直接从预训练的语言模型(如LlaMA (Touvron et al., 2023)、GPT-Neox (Black et al., 2022)和MPT (Team et al., 2023))中复制而来,并在整个训练过程中被冻结
The transformer layers are directly copied from a pre-trained language model (such as LlaMA (Touvron et al., 2023), GPT-Neox (Black et al., 2022) and MPT (Team et al., 2023)) and are frozen during the whole training process - 交叉注意力层将语言token作为query,将编码后的视觉token作为key和value,通过在操纵数据上的模仿学习目标进行微调
the cross-attention layer takes the language token as query, and the encoded visual token as key and value, which is fine-tuned by imitation learning objectives on manipulation data (see following sub-sections)
形式上,如果将表示为指令的第i -th个嵌入token(we denote xi ∈ Rd the i−th embedded token of the instruction),
表示为指令长度,
表示为指令的嵌入矩阵(X ∈ RM×d is the embedded matrix of the instruction)
那么嵌入的自然语言指令应该为,并且给定输入
时,可以计算出第
个解码器层的输出
(then the embedded natural language instruction should be X = (x1, x2, · · · , xM) and output Xtl+1 of the l-th decoder layer given the input Xtl is computed by)
其中
,
对应于时间
时刻门控交叉注意力层的输出(ˆXl t corresponds to the output of the gated cross-attention layer at time instant t)
表示交叉注意力层(cross-attention layer)的可学习参数
是一个可学习的门控参数,用于调节稳定性的混合权重(α ∈ R is a learnable gate parameter to control the mixing weights for stability)
表示自注意力层的参数
- MLP代表多层感知器网络
通过视觉和语言token之间的深度互动,期望得到输出的机器人操作(With the deep interaction of the vision and language token, we expect the output Xt = Xt L = {x L t,1 , xL robot manipulation)
1.2.3 policy head
特征融合解码器的输出被训练为视觉观察和语言指令的表示(The output Xt L from the feature fusion decoder is trained as the representation of the vision observation and language instruction),这些表示将进一步翻译成低级控制信号(which will be further translated into low-level control signals)
为了实现这一目标,采用一个额外的策略头来预测动作,例如7自由度末端执行器姿态和夹持器状态(the 7 DoF end-effector pose and gripper status),且尝试了多种策略来模拟历史观测序列,并将其作为策略头进行使用
- 比如长短期记忆网络(LSTM)(Hochreiter & Schmidhuber, 1997),带有一个MLP用于最终预测
- 类似的仅解码器变换器(Brown et al., 2020)也被测试过,其中包含一个MLP
- 或者只对单步信息进行建模的单个MLP
以LSTM版本为例,在视觉-语言联合嵌入序列(with the vision-language joint embedding sequence Xt L)上通过在token dimension上进行最大池操作得到聚合嵌入(aggregated embedding),并预测动作
其中表示
处的隐藏状态,
、
是预测的末端执行器姿态和夹持器状态
最终,我们利用最大似然模仿学习目标来微调所提出的pre-trained backbone和policy head
具体来说,期望的相对姿态通过回归损失(可使用均方误差MSE损失)进行优化,而抓手状态使用分类损失(可使用二进制交叉熵BCE损失):
其中
、
是时间步长
时末端执行器姿态和抓取器状态的演示
对应于抓取器损失的权重(λgripper corresponds to the weight of gripper loss)
在训练过程中,我们遵循OpenFlamingo的微调范例,只训练重采样器Resampler的参数,每个解码器层的gated cross-attention module和policy head,而冻结所有其他参数(In the training procedure, we follow the fine-tuning paradigm of OpenFlamingo by only training the parameters of the resampler, the gated cross-attention module of each decoder layer, and the policy head while freezing all other parameters)
1.3 实验结果
1.3.1 基准和基线
数据集:
CALVIN(Composing Actions from Language and Vision)是一个开源的模拟基准测试,用于学习基于语言的 long-horizon 操作任务
- 与现有的视觉 - 语言任务数据集相比,CALVIN 的任务在序列长度、动作空间和语言上都更为复杂,并支持灵活地指定传感器输入
- CALVIN 分为 ABCD 四个 split,每个 split 对应了不同的 context 和 layout
定量分析:
RoboFlamingo 在各设置和指标上的性能均为最佳,说明了其具有很强的模仿能力、视觉泛化能力以及语言泛化能力
- Full 和 Lang 表示模型是否使用未配对的视觉数据进行训练(即没有语言配对的视觉数据)
- Freeze-emb 指的是冻结融合解码器的嵌入层
- Enriched 表示使用 GPT-4 增强的指令
1.3.2 不同的 policy head
消融实验:
实验考察了四种不同的策略头部:MLP w/o hist、MLP w hist、GPT 和 LSTM,其中
- MLP w/o hist 直接根据当前观测预测历史(MLP w/o hist takes only the current observation as input topredict actions, which ignores the observation history),其性能最差
- MLP w hist 将历史观测在 vision encoder 端进行融合后预测 action(MLP w hist takes the history frames into the vision encoder with position embedding, and encodes the history information through the cross-attention layers in the feature fusion decoder),性能有所提升
- GPT 和 LSTM 在 policy head 处分别显式、隐式地维护历史信息
(c) GPT and (d) LSTM both utilize the VLM backbone to process single-frame observation and integrate the history with the policy head.
GPT explicitly takes the visual history as input to predict the next action
LSTM implicitly maintainsa hidden state to encode memory and predict the action
其表现最好,说明了通过 policy head 进行历史信息融合的有效性
且由于GPT和LSTM的性能相似,故选择LSTM作为默认选择,毕竟其实现相对更简单
1.3.3 预训练、模型大小、指令微调对机器人的影响
- 视觉-语言预训练的影响
预训练对于 RoboFlamingo 的性能提升起到了关键作用。实验显示,通过预先在大型视觉-语言数据集上进行训练。RoboFlamingo 在机器人任务中表现得更好 - 模型大小与性能
虽然通常更大的模型会带来更好的性能,但实验结果表明,即使是较小的模型,也能在某些任务上与大型模型媲美 - 指令微调的影响
指令微调是一个强大的技巧,实验结果表明,它可以进一步提高模型的性能
1.3.4 定性结果
相较于基线方法,RoboFlamingo 不但完整执行了 5 个连续的子任务,且对于基线页执行成功的前两个子任务,RoboFlamingo 所用的步数也明显更少
以下是RoboFlamingo的一些重要参考文献
- Brohan, Anthony, et al. "Rt-1: Robotics transformer for real-world control at scale." arXiv preprint arXiv:2212.06817 (2022).
- Brohan, Anthony, et al. "Rt-2: Vision-language-action models transfer web knowledge to robotic control." arXiv preprint arXiv:2307.15818 (2023).
- Mees, Oier, Lukas Hermann, and Wolfram Burgard. "What matters in language conditioned robotic imitation learning over unstructured data." IEEE Robotics and Automation Letters 7.4 (2022): 11205-11212.
- Alayrac, Jean-Baptiste, et al. "Flamingo: a visual language model for few-shot learning." Advances in Neural Information Processing Systems 35 (2022): 23716-23736.
- Mees, Oier, et al. "Calvin: A benchmark for language-conditioned policy learning for long-horizon robot manipulation tasks." IEEE Robotics and Automation Letters 7.3 (2022): 7327-7334.
- Padalkar, Abhishek, et al. "Open x-embodiment: Robotic learning datasets and rt-x models." arXiv preprint arXiv:2310.08864 (2023).
- Brown, Tom, et al. "Language models are few-shot learners." Advances in neural information processing systems 33 (2020): 1877-1901.
- Awadalla, Anas, et al. "Openflamingo: An open-source framework for training large autoregressive vision-language models." arXiv preprint arXiv:2308.01390 (2023).
- Driess, Danny, et al. "Palm-e: An embodied multimodal language model." arXiv preprint arXiv:2303.03378 (2023).
- Jiang, Yunfan, et al. "VIMA: General Robot Manipulation with Multimodal Prompts." NeurIPS 2022 Foundation Models for Decision Making Workshop. 2022.
- Mees, Oier, Jessica Borja-Diaz, and Wolfram Burgard. "Grounding language with visual affordances over unstructured data." 2023 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2023.
- Tan, Mingxing, and Quoc Le. "Efficientnet: Rethinking model scaling for convolutional neural networks." International conference on machine learning. PMLR, 2019.
- Zhang, Tianhao, et al. "Deep imitation learning for complex manipulation tasks from virtual reality teleoperation." 2018 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2018.
第二部分 π0之参考基线Octo——本质是Robotics VLM,非VLA
2.1 Octo的提出背景与其整体架构
2.1.1 Octo的提出背景与相关工作:80万条机器人轨迹上预训练,可微调
许多研究使用从机器人收集的大量轨迹数据集来训练策略
- 从早期使用自主数据收集来扩展策略训练的工作[71,48,41,19-Robonet,27,30]
- 到最近探索将现代基于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训练的几项最新进展,包括
- 使用去噪扩散目标[34-DDPM]进行动作解码[比如17-Diffusion policy 详见此文《Diffusion Policy——斯坦福机器人UMI所用的扩散策略:从原理到其编码实现》,再比如31-Scaling Up and Distilling Down: Language-Guided Robot Skill Acquisition,85-Nomad]
- 预测“动作块”,即未来动作序列[98-ALOHA ACT,17-Diffusion policy,28-Mobile aloha]
- 以及受可扩展视觉transformer训练文献启发的模型布局和学习率计划[22-ViT,97]
训练通用机器人策略的一个关键要素是机器人训练数据
- 与可以从网络上抓取的视觉和语言数据不同,获取大规模的机器人数据具有挑战性,通常需要在硬件和人工劳动上进行大量投资。有多个大型机器人导航和自动驾驶数据集[29,95,13,87,80,43,89]
- 近年来,也有多个努力构建规模和多样性不断增加的机器人操作数据集,这些数据集要么通过脚本和自动策略收集[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月」:
- 预训练的Octo检查点用于Octo-Small(27M参数)和Octo-Base(93M参数)
- 微调脚本用于Octo模型,使用JAX
- 模型预训练管道用于在Open X-Embodiment数据集上进行Octo预训练,使用JAX
- 独立数据加载器用于Open X-Embodiment数据,兼容JAX和PyTorch
并在原论文的附录B中提供了一个简单的示例,用于加载和运行预训练的Octo模型
2.1.2 Octo的模型架构:先针对输入做Tokenizers,然后以Transformer为主干,最后加上较小的diffusion action head
Octo的核心是一个基于Transformer的策略π
它由三个关键部分组成:
- 输入Tokenizers,用于转换的语言指令
、目标
、观察序列
转化为token序列
- 一个处理token并生成嵌入
的transformer骨干
- 生成所需动作
的readout head
对于第一部分输入Tokenizers,作者使用特定模态的tokenizers将任务定义(例如,语言指令和目标图像
)和观察
(例如,手腕和第三人称摄像机流)转换为一种通用的“tokenized”格式
- 语言输入被Tokenized
通过一个预训练的transformer生成一系列语言嵌入token——使用t5-base(111M)模型 [74] - 图像观测和目标
通过一个浅卷积堆栈,然后分割成一系列扁平化的patches [22-ViT]
通过将可学习的位置嵌入position embeddings,添加到任务和观察token中,然后将它们按顺序排列
对于后两个部分Transformer骨干和policy head:一旦输入被转换为统一的token序列,它们就会被transformer处理(见下图图2,顶部)「这类似于先前的工作,这些工作在观测和动作序列上训练基于transformer的策略 [92, 73-Robot learning with sensorimotor pre-training]」
- Octo transformer的注意力模式是块状掩蔽的:观测token只能因果地关注来自相同或更早时间步
的token以及任务token
对应于不存在的观测的token被完全屏蔽(例如,没有语言指令的数据集)。这种模块化设计使得能够在微调过程中添加和删除观测或任务(见下文) - 除了这些输入token块之外,作者还插入了学习的readout token
readout tokens在中关注序列中之前的观测和任务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的观察或任务不需要重新初始化大部分模型
2.2 Octo的预训练数据、训练目标、训练细节
2.2.1 预训练数据:对Open-X数据集的整理、筛选
Octo在Open X-Embodiment数据集[67]中25个数据集的混合上训练Octo——如上文的介绍,这是一个多样化的机器人学习数据集集合。总之,Octo的训练混合包括来自多个机器人体现和场景的各种任务的演示数据
这些数据集不仅在机器人类型方面是异质的,而且在传感器(例如,包括或不包括腕部摄像头)和标签(例如,包括或不包括语言指令)方面也是异质的。详见下图图3
为了创建我们的训练混合物 D
- 首先通过去除所有不包含图像流的Open-X数据集,以及那些不使用增量末端执行器控制的数据集来整理数据
- 还去除过于重复、图像分辨率低或由过于小众任务组成的数据集。对于剩余的数据集,根据任务和环境将它们大致分类为“更多样化”和“较少样化”数据集,然后在训练过程中将更多样化数据集的权重加倍
- 且还降低了一些包含许多重复情节的数据集的权重,以避免其主导混合数据
- 最后,对任何缺失的摄像机通道进行零填充,并在数据集之间对齐夹持器动作空间,使得夹持器命令+1表示“夹持器打开”,0表示“夹持器关闭”
这点,对于RDT、π0也是一样的,毕竟涉及到不同种类的异构数据,所以需要做一定的对齐
2.2.2 训练目标:使用条件扩散解码头来预测连续的、多模态的动作分布
作者使用条件扩散解码头来预测连续的、多模态的动作分布 [类似34-DDPM, 17-Diffusion policy]「We use a conditional diffusion decoding head to predict continuous, multi-modal action distributions [34 , 17 ]」
- 重要的是,每次动作预测仅执行一次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. - 为了生成一个动作,采样一个高斯噪声向量
并应用 K步去噪,使用一个学习到的去噪网络
,该去噪网络以先前去噪步骤的输出
、步骤索引
和transformer的action readout的输出嵌入
为条件「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」:
其中
超参数
,
, 和
对应于噪声计划:使用来自 [66-Improved DDPM]的标准余弦计划
且使用 [34-DDPM] 中首次提出的标准 DDPM 目标训练扩散头,其中向数据集动作添加高斯噪声,并训练去噪网络
以重建原始动作
有关扩散策略训练的详细解释,请参见 Chi 等人[17-即Diffusion policy],且在原论文的附录 D 中列出了所有超参数
作者在微调期间使用相同的扩散训练目标并更新完整模型,这一方法优于冻结预训练参数子集的方法。在所有微调实验中,采用相同的方法:给定一个包含大约100条轨迹的小型目标领域数据集,使用余弦衰减学习率衰减和线性预热进行50k步的微调
2.2.3 训练细节:根据语言指令或目标图像进行条件训练
作者训练了他们模型的两个变体:
- Octo-Small,其transformer骨干网的大小与ViT-S相似
- 和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
2.3 一系列消融实验
2.3.1 Octo控制9个机器人,及其与RT-1-X、RT-2-X的对比
作者进行了一系列实验,提供了对Octo的实证分析,评估其作为通用机器人基础模型在多个方面的能力:
- Octo能否控制多个机器人体现,并开箱即用地解决语言和目标任务?
- Octo的权重是否可以作为数据高效微调到新任务和机器人的良好初始化,并且是否比从头开始训练和常用的预训练表示更好?
- 在构建通用机器人策略时,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作为策略初始化用于数据高效微调的性能与两种常见方法:
- 从头开始训练目标领域演示
- 使用预训练的视觉表示
虽然许多先前的研究提出了其他用于模仿微调的预训练方案 [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]
- 作者这个架构的实例化有 28M 个参数(类似于 RT-1 [10])
如此,采用这个作为我们的从头开始的基线(“ResNet+Transformer Scratch”) - 且还比较了按照以下程序预训练的视觉表示,比如一个 ViT-B 视觉编码器被初始化为VC-1 权重 [57],这是一种在 4,000 小时的自我中心视频和ImageNet 上预训练的最先进的视觉表示,并与一个 MLP动作解码器结合
完整模型通过使用 MSE 损失(“VC-1”)来训练预测专家动作
2.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节)与先前工作的常见替代方案进行比较:
简单的MSE损失[8, 47-End-to-end training of deep visuomotor policies]
和离散化动作的交叉熵损失[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在零样本和微调评估中表现出色,但当前模型仍然存在一些不足之处,作者将其主要归因于训练数据的特性
- 首先,当前的Octo模型在处理腕部摄像头信息时存在困难。通常,当仅使用第三人称摄像头而不是结合第三人称和腕部摄像头时,微调结果更强
- 此外,注意到语言条件策略性能和目标条件策略性能之间存在较大差异。在这两种情况下,训练数据中缺乏相应的模态可能是原因:只有27%的数据包含腕部摄像头信息,只有56%的预训练数据包含语言注释
- 扩大用于训练Octo的数据是一个自然的改进途径。由于Open X-Embodiment数据集由最佳机器人演示组成,当前模型通过模仿进行训练;未来的工作可能会考虑从次优或在线交互数据中学习,这需要替代目标
- 此外,虽然仅在单臂和双臂操作器上训练和评估了Octo;扩展到执行导航或移动操作的更广泛的机器人集将是一个具有高机会的方向
总之,虽然Octo代表了朝着构建能够在各种机器人设置中开箱即用的通用机器人策略迈出了一步,但仍需改进模型,包括更好的语言条件、更好的手腕摄像头支持,以及整合超出最佳演示的数据
第三部分 24年9月发布的TinyVLA:VLM + diffusion-based head
3.1 TinyVLA的提出背景与整体原理
最近,VLA模型因其能够使用下一个token预测方法将预训练的视觉-语言模型扩展到机器人领域而引起了广泛关注
比较有影响力的有如本博客内介绍过的RT-2 [19]、以及上文第二部分介绍的OpenVLA [20],他们在多任务学习和泛化方面表现出色。然而,这些方法存在一个关键缺点:推理速度极其缓慢,这主要是由于它们依赖于大型视觉-语言模型和自回归动作token生成
- 在机器人领域,推理速度对于使机器人能够即时响应用户查询至关重要,这直接影响用户体验和机器人的整体有效性
- 除了推理挑战之外,这些模型还需要在大规模机器人数据集上进行广泛的预训练。例如,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」
3.2 TinyVLA的两大关键
3.2.1 构建具有高效视觉-语言模型的TinyVLA:参数从40M到1.4B
TinyVLA包含几个关键设计:
- 采用预训练的多模态模型作为策略网络的初始化
- 在训练机器人数据时,冻结预训练部分,并使用参数高效的微调技术LoRA [62],其中可训练参数仅占整个模型的5 %
- 引入了一个策略解码器,通过一个简单但有效的线性投影连接到预训练的多模态模型,并输出机器人的可执行动作
TinyVLA 的示意图如下图图2 所示「左图展示了VLM的预训练流程,而右图则演示了使用机器人数据训练TinyVLA的过程」
虽然现有工作通常专注于参数超过3B的视觉-语言模型,但作者训练了一个更紧凑的视觉-语言模型,参数范围从40 million到1.4 billion
- 模型使用Pythia [63]作为语言模型的后端
- 然后,遵循LLaVA [25]的训练流程,使用他们的视觉-语言数据集来训练这一系列的VLMs
- 对于机器人数据的微调,保留了VLM中的所有模块,包括视觉骨干和视觉-语言对齐模块
3.2.2 机器人数据微调用于操作
首先,冻结权重和低秩适应
- 采用参数高效的训练方法LoRA [62],该方法将梯度更新限制在低维空间中
通过将权重矩阵W ∈Rd×k 修改为W0 + ∆W = W0 + BA 来实现,其中B ∈Rd×r 和A ∈Rr×k,并且r 显著小于d 或k
然后将低秩矩阵纳入注意力机制的权重(Q,K,V)中,同时冻结Transformer 的其余权重 - 此外,模型必须保留语言模型的内在知识。可训练的参数仅占整个Transformer参数的5.0%。作者认为这种方法能够使预训练模型在保持灵活性的同时,以最大的语言保真度处理输入
- 在训练完成后,应用重新参数化技术将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]
- DP 使用去噪扩散概率模型(DDPMs) [68] 来制定机器人策略,主要涉及两个过程:加噪和去噪
在训练过程中,从0 到N中选择一个随机值K,表示向原始动作添加高斯噪声的次数
随后,DP 通过预测添加的噪声并减去它来去噪这些噪声动作,以获得去噪后的动作 - 在推理阶段,从高斯分布中采样的纯噪声
开始,DP 生成一系列中间动作,
,直到形成所需的无噪声输出
整个模型结构如下图图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.
后续按需再更
第四部分 DexVLA:在VLM上插上1B大小的扩散动作专家,类似24年12月发布的Diffusion VLA
4.1 发布于25年2月的DexVLA的提出背景与相关工作
4.1.1 DexVLA:号称15小时数据搞定衣物折叠收纳
25年2月,来自美的集团、华东师范大学、上海大学的研究者们提出了DexVLA
- 其对应的论文为《DexVLA: Vision-Language Model with Plug-In Diffusion Expert for General Robot Control》
- 其项目地址为:dex-vla.github.io
其GitHub地址为:github.com/juruobenruo/DexVLA
他们指出,使机器人能够在多样化的环境中执行各种任务是机器人学中的一个核心挑战。实现多功能性——即在适应语言指令、环境限制和意外中断的同时,能够在多样化的环境中解决多种任务的能力,更是一个更高的要求
模仿学习[26, 40, 24, 59, 58,35],特别是通过视觉-语言-动作VLA模型(例如,[5, 7, 23, 20]),在实现可推广技能方面显示出了潜力
然而,实现全能机器人基础模型的愿景面临着持续的挑战。进展的两个关键瓶颈是:
- 数据稀缺:如OpenVLA [23]/Octo[30],依赖于大量数据集
如Open-XEmbodiment数据集(4000小时)[31],甚至更大的语料库
如π0[5]使用的10000小时数据集
而通过人类演示收集这些数据极为昂贵且劳动密集 [13-Humanplus, 18-Umi on legs, 51-Tidybot, 53-Sapien] - 架构不平衡:当前的VLA模型通常优先扩展视觉-语言模型(VLM)组件,例如OpenVLA使用7B VLM,而π0使用3B VLM。尽管通过互联网规模的数据预训练增强了视觉和语言理解,VLM组件仍与机器人动作的具身传感器运动上下文脱节
本文提出了一种用于视觉-语言-动作模型的插件式扩散专家,即DexVLA,这是一种旨在增强VLA在跨多种机器人具身情况下处理复杂长时任务的效率和泛化能力的新框架
其通过两项关键创新实现这一目标
首先,高达1B的参数扩散专家:认识到传统动作专家在处理跨具身数据方面的局限性,他们提出了一种新的基于扩散的动作专家。扩散专家采用多头架构,每个头对应一个特定的具身,从而能够在多样的形态中有效学习
此外,将扩散专家的模型规模扩大到十亿参数,远高于传统的数百万参数规模。这种扩展显著增强了模型从多样且广泛的数据中学习复杂运动技能和控制策略的能力
其次,具身课程学习:一种三阶段训练策略,逐步学习更难的任务。这在概念上类似于人类的学习方式,先从简单任务开始,然后逐渐引入复杂性以避免对学习者造成过度负担
- 阶段1:跨具身预训练阶段,专注于学习低级别、具身无关的运动技能
在此阶段,仅使用跨主体数据预训练扩散专家,而不涉及视觉-语言模型 - 阶段2:主体特定的对齐阶段类似于“适应你的身体”
具体来说,它将抽象的视觉-语言表示与特定机器人的物理约束相结合。值得注意的是,仅此阶段就使模型能够完成多种任务,例如对领域内物体进行折叠衣服和拾取箱子等任务 - 阶段3:任务特定的适应旨在使机器人掌握复杂任务
这些任务包括完成长时间任务并推广到新颖的物体。虽然模型已经从多样化的机器人行为中学习并逐步发展了复杂任务的灵巧技能,但在非常长时间的、接触密集的场景中(例如折叠皱巴巴的衬衫或执行连续的箱子拾取)仍然面临限制
以前的方法通常依赖于高层次的策略模型;例如,π0使用SayCan每两秒更新一次指令。相比之下,他们建议利用VLA模型的内在推理能力直接指导机器人动作。通过使用带有子步骤推理注释的演示数据训练模型
We train the model using demonstrations annotated with sub step reasoning
例如,将“折叠衬衫”分解为“抚平皱褶”、“对齐袖子”和“固定折叠”——使其学习解耦的动作表示,将语言子指令映射到精确的运动原语
他们在各种主体中评估了DexVLA,包括单臂、双臂、灵巧手和移动双臂机器人,展示了其在多种任务中的有效性。DexVLA在许多任务中无需任务特定的适应就能实现高成功率
- 例如,它在折叠平整的衬衫任务中取得了接近满分
- 它还可以在少于100次演示的情况下学习新主体的灵巧技能,例如用灵巧手倒饮料和在双臂UR5e上进行包装
- 此外,他们的方法可以仅使用直接指令完成复杂的长时间任务,例如折叠衣物,消除了需要SayCan之类的高层次策略模型的分解任务的需求
且他们号称模型仅在100小时的演示数据上进行了预训练,并在单个Nvidia A6000 GPU上以60Hz的速度运行,从而实现了成本高效的训练和快速的推理
4.1.2 相关工作
相关的工作,一方面,包括视觉-语言-动作模型用于机器人控制
近年来的研究集中在开发通用的机器人策略,这些策略基于不断扩展的机器人学习数据集进行训练[12, 15,13, 18, 17, 24, 36, 9-UMI, 14]
视觉-语言-动作模型VLA [23-Openvla, 5-π0, 33-Fast_π0, 50-Tinyvla, 7, 62-3d VLA, 60-Grape, 16-Improving Vision-Language-Action Model with Online Reinforcement Learning,详见此文《RL微调VLA模型——从通过RLAIF微调的GRAPE,到通过在线RL改进的Re-VLA》的第二部分, 2]代表了一种有前景的方法,用于训练此类通用策略
VLA通过调整预训练在大规模互联网图像和文本数据上的视觉-语言模型,用于机器人控制[55]。这种方法提供了几个优势:
- 利用具有数十亿参数的大型视觉-语言模型骨干,为拟合广泛的机器人数据集提供了必要的能力
- 此外,重用在互联网规模数据上预训练的权重增强了VLA解释多样化语言命令以及推广到新对象和环境的能力
然而,目前的VLA模型并未专注于通过利用底层视觉-语言模型的参数来学习灵巧的机器人技能。尽管一些工作,如π0[5]和TinyVLA[50],引入了外部动作专家来促进动作学习,但它们的训练流程仍然依赖于整个模型
另一个挑战是,即使是像π0这样的先进方法,尽管能够完成高度灵巧和长时间跨度的任务,但仍需要高层策略:如SayCan[1]的协助,将任务分解为子目标——这使得VLA可以按顺序完成子任务
DexVLA的目标是通过训练网络的每个组件使用在子步骤级别注释的数据,将这种高层规划能力直接集成到模型本身中。因此,DexVLA的方法可以完成复杂任务,如折叠衣物,而无需外部高层策略,从而使整个框架更加端到端,并展现出显著的潜力
二方面,相关的工作还包括扩散模型
扩散模型 [11-Diffusion forcing, 32-Scalable diffusion models with transformers, 19-DDPM] 已成为视觉生成领域的主流方法
- 扩散策略 [8-diffusion policy] 成功地将扩散模型应用于机器人学习,展示了其对多模态动作分布建模的能力
- 后续研究进一步发展了扩散策略
61-Aloha unleashed,
48-Sparse diffusion policy
34-Consistency policy
38-Multimodal diffusion transformer
41-Fine-tuning of continuous-time diffusion models as entropy-regularized control
42-Feedback efficient online fine-tuning of diffusion models
3-Training diffusion models with reinforcement learning
4-Zero-shot robotic manipulation with pretrained image-editing diffusion models
10-The ingredients for robotic diffusion transformers
25-Data scaling laws in imitation learning for robotic manipulation
37-Diffusion policy policy optimization
47-Inferencetime policy steering through human interactions
29-Compositional visual generation with composable diffusion models
通过将其应用于 3D 环境 [22-3d diffuser actor, 57-3d diffusion policy, 56-Generalizable humanoid manipulation with improved 3d diffusion policies,54-Dnact:Diffusion guided multi-task 3d policy learning]
扩展其能力 [63-Scaling diffusion policy in transformer to 1 billion parameters for robotic manipulation]
提高其效率 [21-Mail: Improving imitation learning with selective state space models, 34-Consistency policy],并结合架构创新
有许多工作研究了扩散 VLA 的使用 [50-Tinyvla, 5-π0, 49-Diffusion-vla,发布于25年12月,作者分别来自1East China Normal University, 2 Midea Group, 3 Shanghai University]。尽管现有模型在多样化任务上表现出色且具有良好的泛化能力,但它们主要依赖于预训练的视觉语言模型的能力
本文提出了一种向扩散模块的范式转变,证明了一个新设计的基于扩散的动作专家,结合一种新颖的训练策略,使得 VLA 模型能够更高效地从数据中学习
4.1.3 模型架构
首先是VLM的部分
DexVLA模型主要基于一个Transformer语言模型骨干——具体而言是Qwen-2-VL 2B。遵循VLM模型的通用框架,使用图像编码器将机器人的图像观测投影到与语言token相同的嵌入空间中
如下图所示
第一阶段(左)单独训练扩散(动作)专家,不依赖于视觉语言模型VLM
Stage 1 (left) trainsthe Diffusion Expert independently, without the VLM
- 对于图像,仅使用随机初始化的ResNet-50预训练扩散专家来处理图像
- 对于语言,使用现成的Distilbert [39]来编码语言指令
第二和第三阶段(中)将扩散专家与视觉语言模型VLM 比如Qwen2-VL 集成,同时舍弃专家内部的视觉ResNet和语言组件Distilbert
Stages 2 and 3 (middle) integrate the Diffusion Expert with a VLM, discarding the visual and language components within the expert
对于多个摄像头视角——利用了最多三个摄像机视角,这些视觉token被连接起来。VLM组件生成两个输出:推理token和动作token
- 动作token通过一个投影模块,该模块由两层线性层和LayerNorm组成
这个模块类似于像LLaVA [28]这样的视觉语言模型中设计的连接器,旨在将VLM的嵌入空间转换为与动作专家的输入需求对齐 - 推理token通过FiLM层(采用了RT-1 [6]中的策略来初始化FiLM层),注入到策略模型中,这些FiLM层可以缩放和偏移策略中投影层的参数
因此,该模型可以自主生成推理并利用这种推理在扩散专家中引导动作生成
即使用 FiLM 将VLM的最终嵌入注入到扩散专家中,并应用于两个 MLP
遵循标准的后期融合VLM方法[27, 28],图像编码器将机器人的图像观测嵌入到与语言token相同的嵌入空间中。且进一步通过机器人学特定的输入和输出(即本体状态和机器人动作)增强了这一骨干网络
其次,构建扩散专家
由于动作专家在机器人动作的学习过程中占主导地位,设计良好的神经网络架构对于更好的视觉运动策略学习至关重要
- 他们使用了Scale Diffusion Policy(ScaleDP [63]),这是一种基于Transformer架构的扩散策略的变体,其中ScaleDP的最大版本包含高达10亿个参数,且使用了32层,隐藏层为1280,并且有16个头
- 然而,原始的ScaleDP并未设计用于跨机器人配置的预训练。故他们设计了一个多头输出机制,使得ScaleDP能够在各种机器人配置上进行预训训练目标
简而言之,扩散专家(上图最右)使用多个头部进行跨体现学习
The Diffusion Expert (right) uses multiple heads for cross-embodiment learning
具体而言,其包含两个 MLP 层,每个层后接 LayerNorm,将VLM连接到动作专家
给定一批输入序列,总体训练损失定义为扩散损失(Ldiff ) 和下一个token预测(NTP)损失(Lntp) 的加权组合
其中, 是控制NTP 损失项
相对权重的超参数
- 根据经验,如果没有阶段1 的训练,
的量级始终比
小一个数量级
- 然而,在他们采用阶段1 训练以预热扩散专家的策略学习能力后,发现
的量级变得稍微小于
因此,他们在所有实验中设置。这一调整确保了扩散目标和下一token预测目标在训练过程中具有可比的权重,从而使模型能够有效地从动作预测和语言理解任务中学习
4.2 三阶段训练方式——课程学习让模型从简单到复杂逐步学习数据
课程学习是一种训练策略,其中系统按照从简单到复杂的顺序学习任务,类似于人类习得技能的方式。我们的三阶段训练策略实现了一种具象化课程学习,其中agent
- 首先从跨具象化数据中学习可推广的运动技能 (阶段1-仅训练扩散专家)
- 然后适应其特定的物理形式 (阶段2)
- 最后优化特定任务的行为 (阶段3)
这类似于人类技能的习得,其中基础能力(例如抓取)先于专业技能(例如折叠衣物)。通过分离与具象化无关的学习和具象化特定的学习,最终将数据需求减少了60%,相较于端到端训练
设计良好的训练策略对于优化深度神经网络至关重要。与网络固有训练动态相一致的方法可确保更高效和有效的数据利用「Approaches that align with a net-work’s inherent training dynamics ensure more efficient andeffective data utilization」
DexVLA通过将视觉-语言模型VLM与扩散专家相结合,专注于通用机器人控制。利用其模块化架构——结合了两个不同的组件——他们提出了一种三阶段训练策略,系统性地解决以下问题:
- 学习灵巧的操作技能,使模型能够完成复杂任务
- 跨平台学习以使模型适应多样化的机器人平台
4.2.1 阶段 1:撇开VLM,独立训练1B的扩散动作专家
阶段1:跨平台预训练:视觉-语言-动作模型可以视为两个不同组件的组合
- 架构的顶层是视觉-语言模型(VLM),它处理视觉输入和语言指令,并将它们映射到一个共享的嵌入空间。这个共享空间通过互联网规模的数据进行预训练,赋予其广泛的能力,包括语言理解、多模态理解以及各种其他视觉-文本任务
- 然而,尽管经过了广泛的训练,VLM缺乏在现实环境中与多样化物体进行物理交互的能力
为了有效地对动作专家进行预训练,他们利用所有可用数据,同时暂时将其与VLM的组件脱钩,这使他们能够专注于开发独立于语言基础的强大的动作生成能力
To effectively pre-train the action expert, we leverageall available data while temporarily decoupling it from the VLM component
他们之所以如此操作,是因为他们发现从头开始训练整个VLA模型几乎在所有任务中都会失败。因此,本节比较了阶段1(仅训练扩散专家)的训练成本与训练整个VLA模型的成本。测试报告了每小时完成的训练周期数。模型在8个Nvidia H100 GPU上训练
对于DexVLA而言
- 尽管像ResNet这样的CNN架构通常用作视觉编码器,但VLM模型中的视觉编码器通常采用Transformer架构。因此,为了便于后续阶段的对齐,他们使用ViT架构进行视觉编码
- 对于语言嵌入提取,使用DistilBERT [39]。随后将生成的语言嵌入通过FiLM层集成到模型中,与之前的工作一致
对于扩散专家的预训练,一个关键的见解是需要将长时间任务(例如,清理桌子、折叠衣物)分解为子任务
- 这些任务通常超过2分钟,从单一语言指令中学习对扩散专家来说是有挑战的
因此,他们在这些长时间任务中注释子步骤指令,以提供更结构化的学习信号。使用子步骤进行预训练对强性能至关重要 - 比如他们在消融研究中展示了子步骤推理的重要性。他们的实验证明,未经过这种预训练的VLA在非常长的任务中经常跳过关键步骤。子步骤注释通常每五秒提供一次演示
此外,在扩散基础的动作专家上预训练大规模机器人数据,而不是在整个VLA上预训练的优势在于扩散专家的参数数量显著小于VLA(10亿对比30亿),因此训练速度快得多
4.2.2 阶段2:将VLM与具身的特定对齐Embodied-Specific Alignment
尽管第一阶段通过跨具体化数据学习了基本的运动技能,但这种跨具体化学习可能会对目标具体化的性能造成影响,从而使其不适合实际部署
接下来的第二阶段会通过使用具体化数据训练模型,解决这一问题,将视觉-语言模型VLM的抽象表示与扩散专家对齐。因此,他们筛选数据集以仅包括特定化身的数据,确保每个样本涉及一个单一化身
- 借鉴 LLaVA 等视觉语言模型中使用的镜像技术[28, 27],此阶段着重于将目标实体的动作空间与其对应的相机视角以及伴随的语言指令进行对齐「this stage focuseson aligning the target embodiment’s action space with its corresponding camera views and accompanying language in-structions」
- 具体而言,他们在针对该实体的数据上联合训练VLM、投影层和扩散专家,同时冻结 VLM 的视觉编码器。这种联合训练使得扩散专家能够有效地将 VLM 中的高层视觉语言理解映射到目标机器人的特定运动控制空间中
Specifically, we jointly train the VLM model, theprojection layer, and the diffusion expert on this embodiment-specific data, while freezing the VLM’s visual encoder. Thisjoint training allows the diffusion expert to effectively groundthe high-level vision-language understanding from the VLMin the specific motor control space of the target robot
在阶段2训练之后,他们观察到该模型在目标实体上能够熟练地执行一系列任务,例如叠衬衫,这表明针对实体的特定训练是有效的
比如下图图7,便是无需任务特定适配的任务示例。在第二阶段训练后,通过三个任务评估了模型的性能:简单的抓取任务(上图)、折叠衬衫(中图)和简单的清理桌面任务(下图)。成功执行这些任务需要结合灵巧的操作技能
4.2.3 阶段3:任务特定适配——即微调(含子步骤推理数据的大模型标注)
此阶段优化模型执行下游任务的能力,使其更加熟练和流畅,类似于大型语言模型的后训练阶段,在该阶段模型针对领域特定数据进行微调
- 对于诸如折叠衬衫、清理桌子或使用训练过的物体进行垃圾分类等简单、不太依赖泛化的任务,任务特定训练是没有必要的,因为模型已经表现良好
- 然而,对于复杂的、需要灵巧操作的任务,模型需要学习细粒度的、上下文相关的动作
因此,有效的后期训练依赖于高质量的专家演示数据集,这些数据集展示了一致且流畅的任务执行策略,重点关注有助于成功完成任务的行为
值得注意的是,在第二阶段和第三阶段,他们均使用了带有子步骤注释的语言数据。然而,并非直接将这些子步骤推理作为指令性输入,而是将其作为中间语言输出,促使模型学习并生成这些子步骤的语言描述
- 这种方法被证明非常有效,使他们的模型能够执行复杂的、长时间跨度的任务,例如折叠衣物。虽然其他VLA(如π0 [5])也能完成此类任务,但它们依赖于像SayCan [1] 这样的高层策略模型来识别任务状态并提供下一步指令
- 相比之下,他们的框架利用VLM 主干作为隐式高层策略模型。这使得模型能够在内部解释任务状态并将这种理解注入到用于指导动作生成的策略,消除了对外部高级策略模块的需求
且无需后期训练
怎么获取需要训练的子步骤推理数据呢?
- 对于潜在的子步骤推理,他们专注于每个持续至少五秒的主要步骤,以避免过度细分
然后他们使用了Google Gemini 2.0,将子步骤列表提供给它,用于分割视频并从列表中选择相应的推理。这被证明在标注方面是有效且高效的- 且他们仅对阶段3的训练数据进行了人工检查,因为该阶段需要更高质量的注释。这种注释策略使他们的方法可行
比如下图是长时间任务直接提示的示例。图中展示了三个任务:洗衣折叠(顶部),烘干机卸载(中间),排序(底部)。DexVLA可以自动将原始指令分解为子步骤。这些任务的成功不仅需要灵巧性,还需要将直接提示分解为隐含的多步推理的能力,并理解视觉上下文
最后,为了证明子步骤推理有帮助,他们进行了一个消融研究,包含两个设置:
- 扩散专家使用直接提示进行训练(每个任务只有一个语言指令),而VLA扩散专家使用子步骤推理进行训练
- 阶段1和阶段2均使用直接提示数据进行训练。结果如表V所示
即使是相对简单的任务,例如衬衫折叠,使用直接提示训练扩散专家也会将平均分数从0.92降至0.07
此外,从两个阶段中移除子步骤推理会导致完全失败(得分为0)。这是一个显著的观察结果。它表明,在共享参数空间中学习长时间任务有时会导致冲突- 他们假设子步骤推理允许模型学习更解耦的动作空间,类似于将连续动作空间映射到离散动作空间[52]。这有效地将共享参数空间分段,将较小的参数集分配给每个子步骤[43, 45, 44]。这避免了参数冲突,从而提高了性能和泛化能力
// 待更