5 VLA - Vision-Language-Action 大模型
Vision-Language-Action(视觉 - 语言 - 动作) 大模型是之后 多模态 AI 以及机器人发展的一个非常重要的方向,有了 VLA 这位大神的加持,机器人可以完成由环境感知到动作应对的智能任务。
欢迎大家star!
Paper:
OpenVLA
Lerobot 数据格式
1. GR00T
GR00T N1 是 NVIDIA 在 GTC 2025 大会上发布的 VLA 机器人模型,基于双系统(快慢)架构,System 2 是一个 VLM 预训练模型,System 1 是一个 Diffusion Transformer 模型,支持多类形态的机器人(单臂、双臂、人形),如下图所示,VLM 负责推理和规划,DiT 负责生成精确的动作。
已经更新到 N1.5 了,比 N1 有不小的提升。
N1.5 和 N1 的主要不同:
- VLM 模型在预训练和微调阶段都保持冻结
- 简化了从视觉编码器到大语言模型的 adapter MLP,并在输入 LLM 的视觉和文本 token embeddings 上都加了层归一化
- VLM 升级到了 Eagle-2.5
将图像观测和语言指令转化为一系列 tokens,将这些 tokens 传给 VLM(System 2),然后将 VLM 的输出连同机器人状态和 action 的编码传给 Diffusion Transformer(System 1)以生成 Motor Action。
System 1: 为了解决不同机器人 state 和 action 维度差异的问题,使用和 pi0 相似的策略,每个机器人本体的数据使用一个对应的 MLP Encoder(Action Encoder),将不同机器人的 state 和 action 数据映射为一个统一空间的数据,再传给 DiT 模块。
System 2: 使用 Eagle-2 VLM 的预训练模块,该模型是在互联网规模数据上进行预训练的,同时作者发现,使用中间层 embedding 特征要比使用最后一层的 embedding 特征可以实现更高的推理速度和策略成功率,在 GR00T-N1-2B 中作者使用的是第 12 层的特征。可以理解为,越是往后层的特征,语义信息越强,细化信息越弱,所以使用中间层的特征,可以获取更多的图像和语言的低层特征,且兼顾语义,是在冻结 VLM 的情况下,提升效果的一个比较好的思路。
Eagle-2 是从 SmolLM2 大语言模型和 SigLIP-2 图像编码器微调得到的。图像在 224x224 的分辨率下进行编码,随后进行像素混洗,每帧形成 64 个 image token embeddings。这些 embeddings 与文本一起通过 Eagle-2 VLM 的 LLM 组件进一步编码。LLM 和图像编码器在一个广泛的视觉语言任务上进行了对齐。在策略训练期间,任务的文本描述以及(可能是多个)图像以在视觉语言训练期间使用的聊天格式传给 VLM。然后从 LLM 中提取形状为(batch × sequence_length × hidden_dimension)的视觉语言特征。
这里的 Eagle-2 是 NVIDIA 自己开发的 Eagle-2,不是北大和渥太华的那个 Eagle-2 喔。
Eagle-2 有 90 亿/20 亿/10 亿参数三个版本,分别基于阿里 QWen2.5 的 320 亿/15 亿/5 亿,对于 15 亿和 5 亿版本,只用了 SigLIP 做视觉编码。GR00T N1 默认使用的是 20 亿参数版本。
System 1 使用了 DiT 架构,DiT 架构具体如下:
DiT 与 Stable Diffusion 最大的不同在于,DiT 将网络结构从 UNet 换成了 Transformer,从而大幅提升了性能。
GR00T 架构没有太多创新之处,其关键其实是训练数据以及 NVIDIA 强大的生态体系。GR00T N1 的 20 亿参数版本训练时间大约是 5 万 H100 小时,使用 1024 张 H100 显卡,90 亿参数则是 25 万 H100 小时以上,训练成本是比较低的,数据的成本至少是训练成本的 100 倍。
那么来看看 Data 吧。
机器人中的数据金字塔,从下往上,数据规模降低,数据专业度增强。基本思路是用互联网等大规模数据训练常识,用机器人采集的高质量数据提升运动控制的专业度。真实世界、合成数据和网络数据三大类。
GR00T 预训练数据包括互联网视频数据(提供人类动作模式和任务语义)、合成数据(基于 NVIDIA Omniverse 平台生成,补充运动控制信号)和真实机器人数据(遥操作收集,确保模型适应真实环境)。无监督学习从大规模未标注的人类视频数据中提取运动模式,提升机器人学习效率。
在大规模数据上进行预训练,学习通用的运动和操作模式。而针对特定机器人平台、任务和环境进行微调,可以进一步提升模型的适应性和性能。在推理阶段,减少扩散步骤等方式优化计算效率,确保实时性。
Latent Action
Latent space 在 GR00T N1 模型中发挥着关键作用,它主要用于处理无直接可用动作标签的数据,统一数据表示空间,提升模型泛化能力,在模型训练和动作生成等方面都有着不可或缺的功能。
-
处理无动作标签数据: 在人类中心视频和神经轨迹数据中,由于没有可直接用于训练 GR00T N1 的动作标签,通过训练 VQ-VAE 模型从视频的连续图像帧中提取潜在动作。该模型的编码器采用固定窗口大小为 H 的视频的当前帧 x_t 和未来帧 x_{t+H}输出潜在动作 z_t,解码器则利用 z_t 和 x_t 重构 x_{t+H}。训练完成后,编码器可作为逆动力学模型,为这些无动作标签的数据生成潜在动作标签,从而将其用于模型训练。
-
统一数据表示空间: 在处理各类异构数据时,将 VQ-VAE 模型在所有数据上共同训练,能使不同来源的数据共享相同的潜在动作空间。这意味着无论是机器人数据还是人类数据,都能在同一潜在空间中进行表示,消除了数据之间的差异,有助于模型更好地学习不同数据之间地共性,提高跨实体泛化能力。
-
提升模型泛化能力: 通过在潜在空间中统一数据,模型可用学习到更通用地动作模式。从不同实体(如不同机器人和人类)中检索到相似地潜在动作,如"将右臂向左移动"或"将右臂向右移动"的潜在动作在不同实体中具有一致性。这使得模型在面对新的任务或实体时,能够利用潜在空间中学习到的通用动作模式,快速适应并执行任务,增强了模型的泛化性能。
pi0 架构有点像 MoE,vlm 与 action expert 作为两个 expert,这两个 expert 在同一个 transformer 中训练,利用一个 attention mask 让 action expert 能看到 VLM,但 VLM 看不到 action。
是靠一个块级 (blockwise) 的 attention mask 做出来的,mask_attn_mask(input_mask, mask_ar),mask_ar(块边界)的构造:同文件里的 embed_prefix() / embed_suffix()
python
def make_attn_mask(input_mask, mask_ar):
"""Adapted from big_vision.
Tokens can attend to valid inputs tokens which have a cumulative mask_ar
smaller or equal to theirs. This way `mask_ar` bool[?B, N] can be used to
setup several types of attention, for example:
[[1 1 1 1 1 1]]: pure causal attention.
[[0 0 0 1 1 1]]: prefix-lm attention. The first 3 tokens can attend between
themselves and the last 3 tokens have a causal attention. The first
entry could also be a 1 without changing behaviour.
[[1 0 1 0 1 0 0 1 0 0]]: causal attention between 4 blocks. Tokens of a
block can attend all previous blocks and all tokens on the same block.
Args:
input_mask: bool[B, N] true if its part of the input, false if padding.
mask_ar: bool[?B, N] mask that's true where previous tokens cannot depend on
it and false where it shares the same attention mask as the previous token.
"""
mask_ar = jnp.broadcast_to(mask_ar, input_mask.shape)
cumsum = jnp.cumsum(mask_ar, axis=1)
attn_mask = cumsum[:, None, :] <= cumsum[:, :, None]
valid_mask = input_mask[:, None, :] * input_mask[:, :, None]
return jnp.logical_and(attn_mask, valid_mask)
- mask 的设计思路(关键:用 mask_ar 的累积和来分块)
GR00T N1.6 中 DiT 从 16 层升级至 32 层。
并且取消了临时的适配器层,转而直接解冻 VLM 顶部的 4 层进行协同训练,实现了视觉到动作的无缝对接。
推荐几篇博客:
如何在 Lerobot SO101 机械臂上复现 GR00T,可参考以下几篇博客:
- https://zhuanlan.zhihu.com/p/1918671075098730978
- https://cloud.tencent.com/developer/article/2532679
2. Pi0
通用机器人大模型
π0 是 2024 年 10 月底 Physical Intelligence 公司提出的一个通用机器人控制的流匹配 VLA 模型
如图所示,π0 用了一个预训练 VLM backbone,并添加一个动作专家 (action expert),通过流匹配 (flow matching) 的方式生成连续的高频的控制信号。
整个架构如下:
-
预训练 VLM backbone
利用 PaliGemma 等大规模预训练的 VLM,将图像和文本信息嵌入统一的表示空间,继承了互联网规模的语义知识和视觉信息提取能力。
-
跨机器人平台数据
论文中使用了来自 7 种不同机器人配置,68 个任务的大规模数据(总计超 10,000 小时),实现跨平台、跨任务的联合训练,从而提升模型的泛化能力。这里还涉及到维度对齐的问题:为了使数据结构统一,所有机器人的状态数据被对齐为最大维度 (18 维),包括两个 6-DoF 的机械臂、两个夹爪、一个移动底盘和一个垂直驱动的躯干。对于其他机器人状态,空缺部分会被填充为 0,以确保数据的一致性。图像数据默认包括三个视角,若缺失某些视角,系统会用 mask 进行填充。
-
通过 Flow Matching 进行动作生成
针对连续动作生成的挑战,论文采用了一种基于扩散思想的流匹配,使得模型能够生成高频 (例如50Hz) 且精细的动作序列。与传统自回归离散生成方法相比,流匹配可以更好地处理连续控制信号和复杂动作分布 (β分布)
-
混合专家 (MoE) 设计
模型内部将输入分为两大部分:一部分(图像和文本)走 VLM backbone;另一部分(机器人状态和动作)通过专门设计的"动作专家"处理,这种设计有助于更好地融合预训练知识和机器人特定的控制需求。
与非 VLM 模型做了对照:
训练了一个未使用 VLM 初始化的类似对照模型,用于消融实验,称之为 π0-small,其参数量为 4.7 亿,未采用 VLM 初始化,并针对非 VLM 初始化情境在结构上做了一些小改动,帮助更好地在本文的数据上进行训练。该模型用于评估使用VLM 初始化带来的收益。
预训练的目标是让模型接触到多样化的任务,从而习得通用的物理能力;而后训练的目标则是让模型能够熟练地完成具体地下游任务。预训练与后训练阶段所需的数据具有不同特点:
- 预训练数据集应覆盖尽可能多的任务,并且在每个任务内包含多种行为方式;
- 后训练数据集则应着重于高质量、流畅、连贯的策略表现,能够有效支持目标任务的执行。
关于 Flow Matching,可以看作是 diffusion 的一种变体。Flow Matching 主要是学习如何从一个噪声分布数据流行到目标分布数据流行之间的 flow。
Pi0.5
推理时,使模型也具有动作专家,模型首先生成机器人要执行的高级子任务,然后根据此子任务通过动作专家预测低级动作。
相较于 Pi0,有哪些区别?
Pi0.5 将 state 的 token 同 prompt 的 token 一同输入给 llm,
代码复现:
代码除了 openpi 还有 lerobot,但是目前并没有一份真正从 0 开始的简单的复现记录,甚至有人会将此复现过程作为有偿项目,之后我会整理一份尽可能易上手的记录出来
pi0.6
3. SmolVLA
SmolVLA: A Vision-Language-Action Model for Affordable and Efficient Robotics
轻量高效的视觉 - 语言 - 动作模型,让机器人更智能、更亲民
现有的 VLAs 虽然功能强大,但通常拥有数十亿参数,训练和部署成本高昂,难以在资源有限的设备上运行。此外,这些模型往往依赖于学术界和工业界的大规模专有数据集,忽视了社区贡献的低成本机器人平台数据的潜力。
SmolVLA 的诞生正是为了解决这些问题。它是一个轻量、高效且完全开源的 VLA 模型,能够在单块 GPU 上训练,并在消费级硬件(甚至 CPU)上高效运行。通过创新的架构设计和异步推理技术,SmolVLA 在保持竞争力的同时,显著降低了计算成本。更重要的是,它充分利用了社区贡献的多样化数据集,展示了"小而美"的模型如何在机器人任务中表现出色。
开源了 SmolVLA-450M 模型,它具备以下特点:
- 足够小,可以在 CPU 上运行,单个消费级 GPU 上训练,甚至可以在 MacBook 上运行!
- 训练使用的是公开的、社区共享的机器人数据
- 发布时附带完整的训练和推理方案
- 可以在非常经济的硬件上进行测试和部署(如 SO-100、SO-101、LeKiwi 等)
SmolVLA 先在通用的操控数据上进行预训练,随后进行特定任务的后训练。在架构上,它将 Transformer 与流匹配解码器 相结合,并通过以下设计选择优化速度和低延迟推理:
- 跳过视觉模型的一半层,提升推理速度和减小模型尺寸
- 交替使用自注意力和交叉注意力模块
- 使用更少的视觉标记
- 利用更小的预训练视觉 - 语言模型(VLM)
并且引入了 异步推理堆栈,将机器人执行动作的方式与理解它们所看到和所听到的内容分开。由于这种分离,机器人可以在快速变化的环境中更快速地响应。
SmolVLA 以多个摄像头拍摄的 RGB 图像序列、机器人当前的传感运动状态以及自然语言指令为输入。VLM 将这些信息编码为上下文特征,这些特征为动作专家提供条件,生成连续的动作序列。
使用 SmolVLM2 作为 VLM 主干,经过优化,它能够处理多图像输入,并包含一个 SigLIP 视觉编码器和一个 SmolLM2 语言解码器。
解码器层处理连接的图像、语言和状态标记。得到的特征随后传递给动作专家。
这里的动作专家就是一个 Flow Matching Transformer
SmolVLA 的动作专家是一个轻量 Transformer(约 1 亿参数),它能基于视觉语言模型(VLM)的输出,生成未来机器人动作序列块(action chunks)。它是采用流匹配目标进行训练的,通过引导噪声样本回归真实数据分布来学习动作生成。与离散动作表示(例如通过标记化)强大但通常需要自回归解码、推理时速度较慢不同,流匹配允许直接、非自回归预测连续动作,从而实现高精度的实时控制。
在训练时,将随机噪声添加到机器人的真实动作序列中,并要求模型预测将其"修正"回正确轨迹的"修正向量"。这在动作空间上形成了一个平滑的向量场,帮助模型学习准确且稳定的控制策略。
以上算是对 SmolVLA 的一个大致的介绍,下面详细分析一下 SmolVLA 的架构和训练方法。
上面也提到过,SmolVLA 应用了三项关键技术:减少视觉标记的数量、跳过 VLM 中的高层以及在动作专家中交替使用交叉注意力和自注意力层。
视觉标记减少
SmolVLA 在训练和推理过程中每帧限制视觉标记数量为 64。例如,一个 512x512 的图像被压缩成仅 64 个标记,而不是 1024 个,使用 PixelShuffle 作为高效的重排技术。虽然底层的视觉 - 语言模型(VLM)最初使用图像平铺技术进行预训练,以获得更广泛的覆盖,但 SmolVLA 在运行时仅使用全局图像,以保持推理的轻量化和快速性。
这里提到的图像平铺技术(image tiling)是什么呢?
图像平铺技术(image tiling)在视觉语言模型及视觉语言动作模型例如 SmolVLA 的训练阶段中是一种常见手段,用于提升高分辨率图像处理时的模型性能和细节覆盖,尤其适用于小物体检测或文档理解等任务。
具体来说:
- 将图像分割为多个小 patch/tiles
- 将大图切成多个固定尺寸的小块(例如 448x448 或 512x512 像素),每一块单独处理。这样,小对象在每块中相对尺寸被放大,便于模型学习和检测。
- 每个 tile 可以独立输入视觉编码器得到 token,然后统一合并进入语言模型。
- 支持训练和推理
- 在训练过程中,模型学习识别每个 tile 里的视觉特征。
- 在推理阶段,如果使用 tiling,还需把图像切块,分别推理,再将输出"拼接"回全图,比如目标检测中预测物体位置时常用这种流程。
- trade-off:准确度 vs 性能
- 优点:更好捕捉小物体及局部细节;
- 缺点:需要处理更多 patches,处理开销和推理延迟增加。
PixelShuffle:
PixelShuffle 实际上是将每个像素的位置扩展为 upscale_factor × upscale_factor 的块,从而实现图像的放大。其中 upscale_factor 是图像放大的倍数。
UniVLA
UniVLA: Unified Vision-Language-Action Model.
A general-purpose VLA Model designed to unify vision, language, and action for robotics and autonomous driving.
Bridge perception and action
Bridging Perception and Action: Spatially-Grounded Mid-Level Representations for Robot Generalization
6. RTC: Real-Time Action Chunking with Large Models
Paper: https://arxiv.org/abs/2506.07339
Code: https://github.com/Physical-Intelligence/real-time-chunking-kinetix
可以划火柴点燃蜡烛,有点牛的!
Real-Time Chunking via Inpainting
有一个用于修复改善跨块连续性的 Soft-Mask
考虑是推理延迟的问题,将推理延迟中执行的动作冻结,并给予完整的引导权重 1 关注。剩余的上一次推理的动作则以指数递减的引导权重关注。
假设上一次推理得到 T 步动作,执行前 1/4T 步开始执行新一次推理,但是由于推理延迟又要保证动作的连贯性,动作仍在执行,假设又执行了 1/4T~2/4T 步,那么在新一次推理时要将 1/4T~2/4T 的动作冻结以完整的引导权重 1 关注,也就是在新一次推理的结果中的前 1/4T 动作是冻结的,然后上一次推理的后面 2/4T~4/4T 的动作以指数递减的引导权重关注,这样新一次推理中的最后 3/4T~4/4T 完全是重新生成的。
6*. Training RTC
7. Evo-1: Lightweight Vision-Language-Action Model with Preserved Semantic Alignment
Paper: https://arxiv.org/abs/2511.04555
Code:
Evo-1 是一种轻量级的 VLA 模型,Evo-1 基于原生多模态视觉语言模型,结合了新型交叉调制 diffusion transformer 与优化集成模型,构建了一个高效的架构。还进一步引入了一种两阶段训练范式,逐步将动作与感知对齐,保持 VLM 的表征。
8. HybridVLA: Collaborative Diffusion and Autoregression in a Unified Vision-Language-Action Model
Paper:https://arxiv.org/abs/2503.10631
Project:https://hybrid-vla.github.io/
这篇论文提出了一种融合扩散模型和自回归的统一 VLA 模型。
传统自回归(AR,RT-2/OpenVLA)方法为了将动作作为 token 用 LLM 去预测,将动作离散化,破坏了动作连续性;
扩散方法(Diffusion,CogACT/DiVLA)能预测连续动作,但扩散头独立于 LLM,仅用 LLM 提取的特征作为输入,未充分利用的 token 级推理能力;
设计一种方法协同 AR 和 Diffusion,从而兼顾两者的优点,同时充分利用 LLM。核心问题:如何在单一模型中无缝融合两者优势,而非简单拼接?
HybirdVLA 提出了"协作式统一框架",关键思想是:在同一个 LLM 中同时进行扩散去噪和自回归 token 预测。
如上图所示,无论模态如何,输入数据都会被编码并连接成格式化的 token 序列。为了将扩散模型集成到 LLM 中,HybirdVLA 同时将降噪时间步和噪声动作投影到 token 序列中。标记 token , (扩散开始) 和(扩散结束),旨在连接两种生成方法。通过协作训练显式地将两种生成生成方法地知识纳入其中,这两种动作类型相互增强,并自适应地进行集成以控制机械臂。对于 HybirdVLA 的输出,连续动作通过迭代降噪生成,而离散动作则通过自回归生成,所有操作都在下一个 token 预测过程中完成。
关键设计:
- :特殊标记,像"括号"一样包裹着扩散 token,隔离两种生成范式
- 扩散 token:将噪声样本和去噪时间步编码为连续向量
- 自回归 token:量化后的离散动作 token
模型架构:
Backbone:
- Vision Encoder: DINOv2(语义特征) + SigLIP(细粒度特征)
- 7B 版本用 DINOv2+SigLIP 提取多模态特征;2.7B 版本用 CLIP,支持单视图/多视图输入。
- Prompt Encoder: LLAMA-2(7B) / Phi-2(2.7B)
整体 Token 序列结构:
视觉 token | 语言 token | 机器人状态 | | 扩散 token | | 自回归 token
协作动作集成机制(Collaborative Action Ensemble):
两种范式各有专长,扩散擅长精细操作,自回归擅长语义推理。
推理时同时生成两种动作:扩散动作和自回归动作,然后计算自回归 token 的平均置信度 c^{ar}:
- 如果 c^{ar} > 0.96,认为自回归预测可靠,执行(ad+a{ar})/2
- 否则,仅使用扩散动作 a^d
这相当于用自回归的"自信度"作为指挥,决定何时让两位专家合作。
-
编码后(V.L.R),插入一个特殊的扩散开始 token 与掩码:
Input Tokens = [V_1, ..., V_N]{视觉} ⊕ [L_1, ..., L_M]{语言} ⊕ [R]_{机器人状态} ⊕ ⟨BOD⟩ ⊕ ⟨MASK⟩
-
然后进行扩散 token 预测,使用得到的 token 进行去噪,得到扩散动作 a^d
a^d = a^0 = [Δx, Δy, Δz, Roll, Pitch, Yaw, Gripper(0/1)]
-
对得到的扩散动作 a^d,重新使用 MLP 映射回 LLM,得到 e_{a^d},插入特殊的扩散结束 token,重构得到序列:
V\]\[L\]\[R\]\[⟨BOD⟩\]\[e_{a\^d}\]\[⟨EOD⟩\]\[⟨MASK⟩
-
基于新序列预测 AR token,再经过 Detokenizer,得到动作 a^{ar}(动作离散到 256 个动作区间,概率值)
-
计算 AR 动作置信度 c^{ar}:
c^{ar} = \frac{1}{7} \sum_{k=1}^{7} \max(p(A_k))
-
根据置信度,判断是要融合 AR 动作与扩散动作还是直接使用扩散动作:
a_{\text{final}} = \begin{cases} 0.5 a^d + 0.5 a^{ar}, & \text{if } c^{ar} > 0.96 \ a^d, & \text{otherwise} \end{cases}
协作训练策略:
- 混合损失函数: 同时优化扩散损失(MSE 损失,拟合噪声预测)和自回归损失(交叉熵损失,优化离散 token 预测)
- 分阶段训练:
- 大规模预训练:在 760k 条轨迹(33M 帧)的跨本体数据集(Open-X-Embodiment, DROID, ROBOMIND) 上训练 5 epoch,让模型吸收通用操纵知识。
- 下游微调:在自建的单臂/双臂任务数据上微调。
- 机器人状态嵌入: 通过 MLP 将机器人状态直接映射到嵌入空间,增强动作生成的时间一致性,避免离散化带来的精度损失。
混合目标函数:
- 扩散损失:L_{dif} = E_{a,i,c}|| ε - ε_{π}(a^i_t, i, c)||^2 , where \ ε ∼ N(0, 1), 预测噪声的 MSE
- 自回归损失:L_{ce}, token 预测的交叉熵 cross-entropy
- 总损失:L_{hybird} = L_{dif} + L_{ce}
在这篇文章中,通过消融实验说明了 VLM 在大规模机器人数据熵预训练至关重要。
关键洞察与技术细节:
推理速度优化:
- KV Cache:复用条件 token 的 key/value,使 HybirdVLA-dif 达到 9.4HZ(接近π_0 的 13.8HZ),KV 缓存加速
- DDIM 步数:仅需 4 步去噪即可保持性能,远低于传统扩散的 30-50 步。
9. DepthVLA
Behavior Challenge
第一名与第二名都是在 pi0.5 的基础上做了一些改动
10. Task adaptation of Vision-Language-Action model: 1st Place Solution for the 2025 BEHAVIOR Challenge
11. Openpi Comet: Competition Solution For 2025 BEHAVIOR Challenge
12. AdaMoE-VLA
Expertise need not monopolize: Action-Specialized Mixture of Experts for Vision-Language-Action Learning
13. CoT-VLA
14. SkillVLA
15. XVLA
Soft Prompt 机制
与其在模型末端区分不同机器人,不如在输入端就让模型知晓它正在处理哪个"域"(Domain) 的数据。
实现方式:
- 为每一个异构域(例如,一种特定的机器人设置)分配一组可学习的令牌 (Learnable Tokens),即 Soft Prompt。
- 这些 Soft Prompt 与图像、语言等输入数据一起,在模型的最早期就输入到主干网络中。
模型架构与训练技巧:
-
动作空间对齐
将所有动作数据统一标准化,训练时关节用 MSE,夹爪用 BCE 损失
-
意图抽象
原始数据采集频率过高(如 30HZ),导致动作序列包含大量噪声和冗余信息。
对动作序列进行降采样,让模型预测未来一段时间(如 4 秒)的关键帧轨迹(例如,输出 30 个锚点 anchor points),而不是预测下一个瞬间的动作。
效果:过滤了噪声,让模型学习更宏观的动作意图。
-
定制化学习率
在使用预训练的 vlm 作为 base 时,机器人动作数据可能会污染 vlm 原有的通用知识,导致灾难性遗忘。因此,为 vlm 主干网络设置一个非常小的学习率,而模型的其他部分使用正常的学习率。这样就有效保留了 vlm 的通用推理能力,防止其在机器人任务上过拟合。
-
非对称视觉输入
机器人通常有多个视角,手腕视角充满噪声和剧烈运动,如果与语言指令一起输入 VLM,会增加学习负担。
为此,将主视角图像和语言指令一起输入完整的 vlm,用于理解任务,而手腕视角只通过 vit 提取特征,不与语言进行深度交互,主要用于抓取前的精确定位。
减轻了模型的学习负担,提高了效率与稳定性。
-
简化的动作解码器
作者发现对于生成低维的动作序列,复杂的 DiT 结构不仅计算量大,效果也未必好。因此,作者采用了一个非常朴素的 transformer encoder 作为主干网络,结构简单且易于扩展。
16. ACoTVLA
动作思维链
粗动作意图 coarse action intents
Action-Guided Prediction
Dual cross-attention:
S{ex}=CrossAttn(Q_{action},Z{ex},Z^{ex})
S^{im} = CrossAttn(A_{action},Z{im},Z{im})
显式先验提供运动学线索,隐性先验则捕捉潜在动作倾向
17. RLT
RLT(RL Token),把 VLA 和在线 RL 衔接起来,用少量参数和少量数据就能实现高效的策略优化。
整个方法分为两个阶段:
-
适应阶段: 在少量任务相关的示教数据上训练一个轻量级的编码器 - 解码器模块,同时暴露出一个紧凑的 RL Token。这个 token 压缩了 VLA 内部丰富的视觉 - 语言 - 动作表征,专门为后续 RL 设计。
-
在线 RL 阶段: 冻结 VLA 和 RL Token 模块,只训练一个小的 actor-critic 网络。这个网络以 RL token 为输入,同时接收 VLA 生成的参考动作,在参考动作的基础上做局部优化。
于是,RL 只需要在一个紧凑的表征空间里学习,而不是直接操作几十亿参数的完整模型。整个在线训练只需要几分钟到几小时的机器人交互数据。
RL Token 的提取
RL Token 是整个方法的基础,RLT 在 VLA 的基础上增加了一个编码器 - 解码器结构:
-
编码器: 从 VLA 的 transformer 中间层取出 M 个 token(实验中 M=36)(其实是 vlm 部分的最后一层),每个维度是 2048.编码器是一个轻量级的 transformer,把这些 token 压缩成一个 2048 维的 RL Token,浓缩任务核心信息。
输入是 z_{1:M} = {z_1,...,z_M} 并添加一个可学习的嵌入 e_{rl},得到一个增强的序列[z_{1:M},e_{rl}]
将这个增强的序列经过编码器,在这个过程中 e_{rl} 会通过注意力机制与 z_{1:M} 中的每一个元素进行融合,于是在第 M+1 个位置(即 e_{rl} 的位置)可以得到 z_{rl}=g_{φ}([z_{1:M},e_{rl}]){M+1},这里的 z{rl} 就是 RL Token,它充分融合了 vla 从整个动作序列的不同时刻的状态、文本指令中得到的信息
-
解码器: 接收 RL token 和前 i-1 个重建目标,自回归地重建原始的 M 个 token。
训练时的损失函数是重建误差:
L_{ro} = E_D [∑{i=1}^{M} || h{φ}(d_{φ}([z_{rl}, z̄_{1:i-1}]))_i - z̄_i ||^2]
d_{φ} 是 transformer 解码器,然后经过一个线性投影 h_{φ},这个自回归重建目标强迫 RL token 保留足够的信息还原 VLA 的内部状态,同时又足够紧凑(只有 2048 维)供小网络学习。整个 RL token 模块只有约 10M 的参数,相比 VLA 的 5B 参数可以忽略不计。
Actor-Critic 网络
在线 RL 阶段,RLT 训练两个轻量网络:
Critic Q_{ψ}(x,a_{1:C}) 估计状态 - 动作对的价值,输入是 RL token 和本体感觉状态组成的 x=(z_{rl},s_p) 以及一个动作块 a_{1:C},输出标量价值。训练使用标准的 TD 学习:
L_Q = E_{(x, a_{1:C}, x') ∼ B} [(Q̂ - Q_{ψ}(x, a_{1:C}))^2],
其中 TD 目标是:
Q̂ = ∑{t'=1}^{C} γ^{t'-1} r{t'} + γ^{C} E_{a' ∼ π_{θ}} [Q_{ψ'}(x', a')].
这里使用了一个稀疏奖励函数:对于一个 episode,若最后一步成功,则最后一步的奖励为 1;否则最后一步奖励为 0.除最后一步 t=T 之外的所有 r_t 都为 0.
Actor 网络 π_{θ}(a_{1:C} | x, ã_{1:C}) 输出高斯分布的动作,但关键之处在于它的条件输入:它不仅接收当前状态 x,还接收 VLA 生成的参考动作块 ã_{1:C}
π_{θ}(a_{1:C} | x, ã_{1:C}) = N(μ_{θ}(x, ã_{1:C}), σ²I)
通过对 ã 进行条件处理,actor 能够直接接触到 VLA 预测的动作,从而使在线 RL 精炼一个强有力的初始方案,而不是从零开始学习。第二个好处是采样的参考片段保留了 VLA 的多模态动作分布中的模式信息,否则单模态高斯 actor 将难以恢复。作者通过将其动作正则化向参考动作进一步稳定学习。具体来说,作者优化 actor 以在接近 VLA 参考片段 ã 的同时最大化 critic value,其精神类似于 KL 正则化的 RL 方法。具体是 RLT 引入了一个简单的正则化项:
L_{π}(θ) = E_{s ∼ B, a_{1:C} ∼ π_{θ}} [-Q_{ψ}(x, a_{1:C}) + β || a_{1:C} - ã_{1:C} ||2^2].
ã{1:C} ∼ π_{vla}(· | s, ℓ)
第一项最大化 Critic 估计的价值,第二项惩罚与参考动作的偏离,其中 β 控制 actor 受正则向采样的 vla action 的强度,β大时策略保守地跟随 VLA,β小时策略可以更激进地探索更好的动作。
然而,actor 网络可能会学习到直接复制参考动作片段的内容,这在早期 critic 网络没有学习到准确的 Q 值时尤其容易发生。为了防止这种情况,本文使用了参考动作 dropout 的策略:在每一个训练批次中,随机挑选一部分样本,将它们的 ã_{1:C} 变为全 0,再输入到 actor 网络。