跳转至

M2Tok: Multi-head Multi-codebook Discrete Action Tokenization for Vision-Language-Action Models

会议: ECCV 2026
论文: ECCV 原文
PDF: https://media.eventhosts.cc/Conferences/ECCV2026/pdfs/7815.pdf
代码: https://github.com/cpaaax/M2Tok
领域: 机器人/具身智能
关键词: 视觉语言动作模型、动作分词器、多头正交分解、多码本量化、双臂精细操作

一句话总结

针对现有 VLA 离散动作分词器因维度语义缠绕和码本容量受限导致的“离散化瓶颈”,M2Tok 提出隐空间多头正交分解与多码本组合量化,将动作重构 L1 误差降低至 0.0024,并在 RoboTwin 仿真双臂操作中取得 51% 的成功率。

研究背景与动机

自回归语言模型作为多模态生成的统一范式,正逐步拓展至机器人控制领域。为了将连续的高频控制信号映射进大语言模型的离散符号空间,视觉-语言-动作(VLA)模型依赖动作分词器(Action Tokenizer)对控制轨迹进行离散压缩。早期的 RT-1 与 OpenVLA 采用单步按维度独立均匀分箱(Uniform Binning),忽略了动作序列的时序相关性,且极易引起高频执行机构的剧烈抖动;随后引入的“动作分块”(Action Chunking)技术转向对未来一段完整动作轨迹进行压缩,并演化出两条主要技术路线:以 FAST 为代表的频域离散余弦变换结合字节对编码(DCT + BPE),以及以 VQ-BET、VQ-VLA 为代表的矢量量化变分自编码器(VQ-VAE)。

然而,这两条技术路线在连续高频机器人动作表征上面临深层的拓扑与语义失配。DCT + BPE 将文本分词算法强套于连续频谱信号,硬阈值量化不仅引入了显著的重构失真,还导致输出 token 长度动态可变,无法适配下游 LLM 的高效固定并行解码。另一方面,基于残差矢量量化(RVQ)的 VQ-VAE 架构则遭遇了“离散化瓶颈”:它们将异构的 6-DoF 末端位姿与离散二值化夹爪状态混为一体,单一大码本导致不同维度的语义相互缠绕;同时,码本的表征容量受限于码本表项总数,无法以足够的组合密度覆盖复杂的双臂连续操控空间,从而丢失了精细操作所需的运动动力学细节。

这种语义缠绕与容量受限构成了离散动作建模的核心痛点。核心 idea:将高维连续动作隐空间正交解耦为多个独立子空间(Multi-head),并为每个头赋予独立的离散码本进行组合量化(Multi-codebook),以指数级跃升的组合表征容量打破离散化瓶颈,并设计专用动作转换模块桥接下游自回归 VLA。

方法详解

整体框架

M2Tok 的核心由动作分词器架构与下游 M2Tok-based VLA 策略两大部分组成。在分词器阶段,针对双臂协作任务,首先执行双臂解耦分解(Bimanual Factorization),将 14 自由度的双臂动作切分为两个独立的 7 自由度单臂动作序列以学习通用的运动学基元。输入单臂动作块经过由一维因果卷积与 Transformer 模块交织组成的时序混合编码器,被下采样压缩为隐空间特征序列。随后,隐空间特征在通道维度被等分为 \(h\) 个正交子空间(Heads),各头在独立的码本中分别进行最近邻查找与量化索引分配;解码器将拼接后的量化特征逐步上采样重构原始动作。在下游 VLA 训练阶段,冻结分词器与视觉编码器,多模态输入(文本、分箱关节状态、SigLIP 视觉 Patch)按统一标记范式拼接入 LLM 主干,并引入轻量化动作转换模块将离散动作 token 映射回码本量化表征空间,以自回归方式逐 token 预测动作序列。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    In["输入双臂动作轨迹<br/>14-DoF 连续动作块"] --> Split["双臂解耦分解<br/>拆为单臂 7-DoF 序列"]
    Split --> Enc["时序感知混合编码器<br/>因果 1D-CNN + Transformer"]
    Enc --> Head["隐空间多头正交分解<br/>划分 h 个独立特征子空间"]
    Head --> Quant["多码本组合量化<br/>h 个独立码本并行最近邻量化"]
    Quant --> Trans["动作转换模块与 VLA 解码<br/>码本嵌入投影 + 自回归下一词预测"]
    Trans --> Dec["保真解码器<br/>上采样重构高精度连续动作"]

关键设计

1. 双臂解耦分解:强制运动学对称性并提升样本效率

面对双臂机器人 14 自由度的联合控制空间,若将整体作为单一庞大向量直接建模,会急剧放大搜索空间并要求模型同时拟合双臂复杂的协调动力学。M2Tok 提出在分词器输入端将每个双臂轨迹 \(a_{1:T} \in \mathbb{R}^{T \times 14}\) 显式分解为左臂和右臂两个单臂轨迹 \(a_{\text{left}}, a_{\text{right}} \in \mathbb{R}^{T \times 7}\),并将它们汇聚为通用的单臂动作集合 \(\mathcal{A}'\) 作为分词器的输入。这种设计使分词器专注于捕捉臂无关的通用运动学基本构件与细粒度末端控制特征,将双臂之间的高层时空协调逻辑剥离并交由下游的大语言模型策略去统一学习,大幅降低了底层动作模式的学习难度与数据需求。

2. 隐空间多头正交分解与时序混合编码:解耦异构动作动力学语义

机器人动作向量内生具有异构的语义尺度:连续平滑的 6-DoF 末端位置与姿态变化,与瞬时开关的二值化夹爪状态具有截然不同的动态特性。为此,M2Tok 的编码器先采用因果 1D 卷积层提取高频局部运动特征并降低时间分辨率,再通过 Transformer 块聚合全局长程依赖,输出降采样隐特征序列 \(\hat{Z} \in \mathbb{R}^{R \times d}\)。随后,在每个时间步 \(r \in \{1, \dots, R\}\),模型将隐特征向量 \(\hat{z}_r \in \mathbb{R}^d\) 切分为 \(h\) 个正交子空间分段: $\(\hat{z}_r = [\hat{z}_{1,r}, \hat{z}_{2,r}, \dots, \hat{z}_{h,r}], \quad \hat{z}_{i,r} \in \mathbb{R}^{d/h}\)$ 这种多头分解机制促使模型隐式地将末端轨迹、方向朝向和夹爪开合状态等异构动力学属性分别解耦分配至不同子空间中独立建模,彻底避免了以往单头编码器中不同自由度特征相互干扰、顾此失彼的语义缠绕问题。

3. 多码本组合量化:以恒定码表规模实现指数级表征容量扩展

传统单码本或残差量化(RVQ)受限于单一词表容量 \(V\),难以兼顾覆盖广度与局部精细度。M2Tok 为 \(h\) 个子空间分别配置独立的专用码本 \(\mathcal{C} = \{\mathcal{Z}_1, \dots, \mathcal{Z}_h\}\),每个码本包含 \(N\) 个维度为 \(d/h\) 的可学习原型向量 \(\mathcal{Z}_i = \{z_{i,n}\}_{n=1}^N\)。在各子空间内部,模型独立进行最近邻查找以确定量化索引: $\(q_{i,r} = \arg\min_{z_{i,n} \in \mathcal{Z}_i} \|z_{i,n} - \hat{z}_{i,r}\|_2\)$ 随后将选中的原型向量拼接生成最终量化隐表示 \(z_{q,r} = [z_{1,q_{1,r}}, \dots, z_{h,q_{h,r}}]\)。若保持总码表存储参数恒定(即单码本容量为 \(V\),多码本划分为 \(h\) 个大小为 \(V/h\) 的码本),多码本组合所能表达的独特动作状态总数从 \(V\) 爆发式增长为 \((V/h)^h\)。在论文基准配置中,\(h=8\) 且每个子码本大小为 256(总词表表项 2048),其理论可表示的状态组合数达到 \(256^8 \approx 1.84 \times 10^{19}\)。这种巨大的组合密度从本质上打破了离散化瓶颈,使得分词器能以极小的重构失真捕捉细微的毫米级操控位移。

4. 动作转换模块:填补码本语义与大语言模型嵌入空间的表示鸿沟

在自回归 VLA 解码过程中,标准做法是将前一个离散动作索引送入通用词表 Embedding 层转换为输入向量。然而通用嵌入层随机初始化且缺乏底层几何拓扑,直接打碎了 M2Tok 各头解耦出的精细物理运动动力学。针对该问题,M2Tok 设计了轻量级的动作转换模块(Conversion Module):对于已生成的动作索引 \(q_{i-1,r}\),模型首先直接从 M2Tok 预训练码本中检索出对应的量化原型向量 \(z_{i-1,q_{i-1,r}}\),随后通过专用 MLP 投影器映射至与 LLM 文本嵌入一致的维度空间。该设计作为桥梁将离散 token 重新平滑注回连续的物理空间语义,使下游自回归策略在生成下一动作 token 时能够感知前序动作的精确几何表征。

损失函数 / 训练策略

M2Tok 的训练分为分词器预训练和 VLA 下游多任务微调两阶段。分词器端遵循 VQ-VAE 框架,联合优化动作重构损失、码本嵌入更新损失和承诺损失(Commitment Loss):

\[\mathcal{L} = \lambda_1 \mathcal{L}_{\text{rec}}(\hat{a}, a') + \lambda_2 \sum_{i=1}^h \sum_{r=1}^R \|\text{sg}[\hat{z}_{i,r}] - z_{i,q_{i,r}}\|_2^2 + \lambda_3 \sum_{i=1}^h \sum_{r=1}^R \|\text{sg}[z_{i,q_{i,r}}] - \hat{z}_{i,r}\|_2^2\]

其中 \(\text{sg}[\cdot]\) 为停止梯度操作,\(\lambda_1, \lambda_2, \lambda_3\) 为对应项的权重。分词器采用 AdamW 优化器,学习率为 \(5 \times 10^{-5}\),使用 4 张 RTX 4090 GPU(总批次大小 \(2048 \times 4\))进行训练。

在下游 VLA 训练中,LLM 主干选用轻量且高效的 Qwen2.5-0.5B,图像编码器采用 SigLIP (siglip-so400m-patch14-224)。M2Tok 与 SigLIP 的参数全程保持冻结,仅微调 LLM 主干和投影层。模型通过最大似然估计最小化自回归生成交叉熵损失:

\[\mathcal{L}_{\text{AD}} = -\sum_{i=1}^h \sum_{r=1}^R \log P(q_{i,r} \mid q_{<}, o_t, s_t, L)\]

学习率设置为 \(1 \times 10^{-4}\),采用余弦退火调度与 0.03 的预热比例,在 RoboTwin 基准上训练 10 个 epoch,在 Simpler-Env 上训练 20 个 epoch。

实验关键数据

主实验

论文在 RoboTwin 仿真基准(12 个双臂复杂操作任务)、Simpler-Env 仿真基准(4 个 BridgeV2 单臂任务)以及真实物理环境(AgileX Cobot Magic 双臂移动机器人,3 个零样本 Sim-to-Real 迁移任务)中全面对比了 Binning、FAST、VQ-BET、VQ-VLA 及本文的 M2Tok。

在动作轨迹重构精度方面,M2Tok 展现了显著超越现有基线的高保真特性:

分词器方法 压缩机制类型 RoboTwin 重构 L1 误差 (\(\downarrow\))
FAST 频域 DCT + BPE 离散化 0.0055
VQ-BET 2 层残差矢量量化 (RVQ) 0.0044
VQ-VLA 2D 时序卷积 + RVQ 0.0032
M2Tok (本文) 隐空间多头分解 + 多码本组合量化 0.0024

在下游策略成功率方面,RoboTwin 12 个任务的平均成功率与代表性任务评测对比如下表所示:

模型分词器 平均成功率 (\(\uparrow\)) Move Can Pot Place Burger Fries Move Pillbottle Pad Handover Mic
Binning (OpenVLA 范式) 0.24 0.00 0.01 0.02 0.85
FAST 0.17 0.08 0.00 0.01 0.17
VQ-BET 0.29 0.13 0.15 0.06 0.59
VQ-VLA 0.45 0.30 0.52 0.20 0.93
M2Tok-based VLA (本文) 0.51 0.58 0.64 0.33 0.94

在 Simpler-Env 跨域泛化评测中,M2Tok 取得 28% 的平均成功率(超越次优基线 VQ-VLA 的 21%达 33% 相对增益),尤其在具有不规则几何抓取的“Put Eggplant in Basket”任务中,所有既有基线均为 0% 成功率,而 M2Tok 独家实现 33% 的突破性成功。在真实硬件 Cobot Magic 双臂机器人零样本迁移中,M2Tok 在 20 次独立试验中平均成功率达 0.33(6/20 Bell、7/20 Plate、2/20 Bottles),优于 VQ-VLA 的 0.28 与 VQ-BET 的 0.15。

消融实验

论文针对核心组件进行了严密的消融研究,在 RoboTwin 12 任务上分别去除多头分解、多码本量化以及转换模块:

配置 平均成功率 相对降幅 说明
M2Tok 完整模型 0.51 - 完整多头多码本架构 (\(h=8\)) + 转换模块
w/o Multi-head 0.22 -56.9% 移除多头分解,单头隐空间导致语义混杂严重塌陷
w/o Multi-codebook 0.34 -33.3% 采用单一共享码本,失去组合指数级表征容量
w/o Conversion 0.42 -17.6% 移除投影转换模块,回退至原生随机文本嵌入层

关键发现

  • 多头正交分解是决定控制精度的最核心支柱:消融多头机制后,模型平均成功率从 51% 发生灾难性滑坡至 22%。在对轨迹与抓取精度要求极高的细粒度任务中(如 Move Pillbottle Pad 与 Place Mouse Pad),成功率直接归零(0.33 \(\to\) 0.00,0.10 \(\to\) 0.00)。这证明若不解耦夹爪开关与连续位姿轨迹,动作信号会相互平滑模糊,彻底摧毁复杂操作能力。
  • 码本数量 \(h\) 存在性能饱和拐点:对头数 \(h\) 的敏感度分析表明,随着 \(h\) 从 1 逐步提升至 8,下游策略平均成功率单调上升并达到峰值 51%;但进一步增加至 \(h > 8\) 时性能出现平台甚至微幅下降。这是由于过细的特征切分导致单一头内的隐空间维度过低,造成隐特征的过度碎片化(Over-fragmentation)。
  • 离散自回归架构具备优越的推理吞吐潜力:在 RTX 4090 单卡上,M2Tok 基础推理帧率为 8.2 Hz(耗时 121.6 ms),相比 Binning 的 2.0 Hz(485.3 ms)提升超 4.1 倍。得益于纯离散自回归 token 接口,M2Tok 原生无缝兼容现代大模型加速框架;在接入 vLLM 推理引擎后,其推理帧率跃升至 56.2 Hz(延迟压缩至 17.8 ms),不仅远超物理控制所需的 10-20 Hz 阈值,更避免了扩散头(Diffusion Head)固有的多步去噪高延迟瓶颈。

亮点与洞察

  • 组合码本的容量杠杆效应:通过在恒定参数量下将一个单一大码本切分为多个子空间独立码本,M2Tok 将有效离散状态容量从多项式级推至指数级(\((V/h)^h\)),用最经济的离散词表开销提供了连续空间级别的逼近精度。
  • 双臂解耦的工程通用性:将双臂 14-DoF 强制分解为单臂 7-DoF 共享动作表征,不仅使训练样本密度翻倍,还使分词器学到的动作基元具备左右臂通用的运动学对称性,降低了多臂具身智能体的建模壁垒。
  • 坚守纯离散自回归路线的工程红利:当前诸多研究倾向于给 VLA 嫁接连续扩散头(Diffusion Head),但这破坏了纯语言模型的架构统一性并阻碍了推理生态接入。M2Tok 证明只要攻克离散化瓶颈,纯自回归架构即可结合 vLLM 实现超 50 Hz 的超实时高精度闭环控制。

局限与展望

  • 子空间分配缺乏显式因果可解释性:当前多头的子空间切分是无监督隐式对齐的,虽然有效降低了重构误差,但模型无法人为保证特定 Head 严格只对应夹爪、另一些 Head 严格对应旋转或平移。未来可探索引入结构化动力学正则项进行有约束的解耦。
  • 真实环境任务成功率仍有提升空间:尽管零样本 Sim-to-Real 显著优于基线,但 33% 的平均成功率表明,真实场景中传感器噪声、光照变化以及物理接触接触力的差异仍对离散动作解码构成扰动。
  • 序列时序步长的刚性假设:当前分词器采用固定的动作块分块窗口大小,对于需要动态时序精度的接触丰富型任务(如高速插拔或柔性物体形变),难以自适应调节不同时间步的量化粒度。

相关工作与启发

  • vs FAST [25]: FAST 采用频域 DCT 压缩配合文本 BPE,产生非定长动作 token 导致自回归推理中难以实现高效张量并行对齐,且连续频域系数强行分词带来较大重构失真;M2Tok 保持定长 token 序列,在时空隐空间直接进行多码本组合量化,重构 L1 误差降低超 56%(0.0055 \(\to\) 0.0024)。
  • vs VQ-BET [15] 与 VQ-VLA [33]: 二者均基于残差矢量量化(RVQ)机制,动作语义混杂且码本表达容量受限;M2Tok 采用正交子空间多头划分,以指数级组合容量消除语义缠绕,下游平均成功率领先最强基准 VQ-VLA 13% 以上。
  • 启发:对于包含异构物理量的具身控制信号(力、位姿、开闭状态),不应使用单一庞大的统一度量空间进行粗暴编码;“子空间解耦 + 组合式量化”为高维连续物理信号接入通用大模型提供了一种通用的架构范式。

评分

  • 新颖性: ⭐⭐⭐⭐ [创新地将多头子空间分解与独立多码本引入动作分词,以简洁优雅的组合机制突破离散化容量瓶颈]
  • 实验充分度: ⭐⭐⭐⭐⭐ [覆盖双臂大样本仿真 (RoboTwin)、跨域泛化仿真 (Simpler-Env) 以及真机零样本部署,消融实验与延迟分析翔实]
  • 写作质量: ⭐⭐⭐⭐⭐ [逻辑链条清晰,严谨阐释了离散化瓶颈的数学本质与架构解法]
  • 价值: ⭐⭐⭐⭐ [为纯自回归 VLA 提供了高性能、低延迟的动作分词基座,代码开源利于社区复用]