西里森森
26-07-01 19:04 微博认证:AI博主

最近,我听到的很有趣的观点,关于「具身智能领域最被低估的瓶颈」。

我们现在聊具身智能,可能觉得瓶颈在模型架构、训练策略这些。

但我最近看到一篇论文说,真正卡住VLA模型性能的,是管道里一个非常不起眼的小模块,叫动作分词器。

它干的事很简单,就是把连续的动作轨迹,切成一个个离散的Token,让模型能处理。

但就是这么一个听起来很像预处理步骤的东西,可能才是决定VLA模型上限的关键变量,直接影响机器人能不能把活做好。

刚好这两天,我看到自变量也发布了一个新的动作分词器,叫 X-Tokenizer,刚好可以结合这个话题,展开聊一下。

1
现在主流的具身智能模型,叫 VLA模型,全称是视觉-语言-动作模型。

你可以把它的工作方式理解成一个流水线。

流水线的前半段是一个视觉语言模型 VLM,负责看画面、理解指令,输出的是离散的语义表示;

流水线的后半段是一个动作执行模块,负责把前面那组隐藏状态翻译成具体的机械臂控制信号,控制机械臂做出连续的物理动作。

但问题来了。
视觉语言模型输出的是离散Token,机械臂需要的是连续信号,中间必须有个翻译官,可以把连续动作切分压缩成离散的 Token,让 VLM 能够处理。

这个翻译官,就是动作分词器。

2
可能有人觉得,不就是个格式转换吗?这有什么难的?

难就难在,过去所有主流的动作分词器,包括FAST、VQ-BeT这些,它们都只在做一件事:动作压缩和还原。

也就是把连续动作压成离散Token,然后看能不能从Token还原回原始动作,重建误差越小越好,说明压缩得越准确。

这个思路乍看没毛病,但忽略了一个核心问题:压缩出来的Token,有没有语义?

打个比方,一个翻译官在做中英翻译,他唯一的训练目标是:把中文翻成英文再翻回中文,最后跟原文对比,越接近越好。

但这个翻译官从头到尾只看过中文原文,他不知道对话发生在什么场景里,不知道说话人想表达什么情绪,也不知道听众是谁。
他翻出来的东西在字面上可能很准,但在语境理解上完全是脱节的。

在机器人场景里,传统动作分词器拆出来的 Token 是纯几何的。它记录了关节角度变化的数值信息,但不携带任何语义。

这些 Token 不知道「往左移动 5 厘米」这个动作是为了抓杯子还是为了避开障碍物。

对它来说,这就是一串数字,跟「向右移动 5 厘米」在语义层面没有本质区别。

这带来的后果是,当 VLM 模型在预训练的时候接收到这些动作 Token,它需要额外花大量算力去猜测这些 Token 到底代表什么意思。

因为它们跟 VLM 已经学到的视觉语言知识之间没有任何直接的桥接关系,模型很难建立两套表示之间的映射,非常影响VLM模型的训练效果。

3
自变量发布的 X-Tokenizer,做的最核心的一件事,就是把动作分词从一个单纯的压缩还原问题,重新定义成了一个语义接口学习问题,让拆分出的离散动作Token也能对应清晰的语义。

什么意思呢?

回到刚才翻译官的例子,在自变量看来,翻译官不应该只追求字面准确,而是理解对话的上下文。

他需要知道说话人看到了什么画面,听到了什么指令,在什么情境下做出这个动作。
然后他翻译出来的东西,不仅要能还原原文,还要让听众能直接跟对话情境对接上,这能大幅提升VLM模型的预训练效果。

X-Tokenizer 做了三件非常关键的事。

一、让分词器学会分层理解动作。

传统的压缩与离散模块(也用作具身模型的动作分词器),架构是“编码器-RVQ-解码器”。
其中,残差向量量化 RVQ 有多个层级,每一层看到的训练信号是一样的,大家平均分配,最后拆出来的 Token 各层之间没什么区别。

X-Tokenizer 提出了一个叫语义残差量化 SRQ 的方法,替换掉了标准的 RVQ。

它的做法是给不同层级施加不同的监督信号,第 1 层被要求去捕捉粗粒度的动作意图,比如抓取、推动、旋转这种级别的语义信息。
第 2 到第 4 层则负责保留精细的几何修正信息,比如具体的角度微调、轨迹的小幅偏移。

这种分层设计的结果,是动作的语义信息和几何信息被拆到了不同的层级里,互不干扰。

二、让动作 Token 跟视觉语言模态住进同一个空间。

光是内部分层还不够,X-Tokenizer 还引入了两种跨模态的监督信号。

一种是对比对齐,让动作 Token 的表示和 VLM 的视觉语言特征在同一个嵌入空间里拉近。

也就是说,同一时刻「看到的」和「做的」应该在表示层面挨得很近,而不相关的时刻应该离得远。

另一种是未来帧预测,让动作 Token 不光能描述当前在做什么,还能预测接下来视觉场景会怎么变化。

这就迫使动作 Token 去理解自己的动作会对环境产生什么影响。

这两种信号叠加在一起,让分词器在预训练阶段就把动作、视觉、语言三个模态的表示空间统一了。

等到后面 VLA 模型拿这些 Token 做训练的时候,视觉语言模型不需要从零猜测动作 Token 的含义,因为它们已经说着同一套语言了。

三、在足够大规模的多样化数据上预训练。

X-Tokenizer 的预训练数据涵盖了 17 个机械臂系列、240 万条轨迹、20 亿动作帧,这个规模意味着它见过足够多不同形态、不同任务的机械臂数据,学到的不是某一种机器人的专属编码方式,而是一种通用的动作语义表示。

预训练完成后,整个 SRQ 网络的参数被冻结,作为一个即插即用的模块嵌入到 VLA 主干里。

那些辅助的监督头在推理阶段会被移除,不会带来额外的计算开销,动作知识已经沉淀在了网络结构本身。

4
在 VLA 模型框架下,动作分词器的角色正在发生变化。

过去大家把它当成一个压缩工具,追求的是重建精度,核心指标是压缩后还原得准不准。
但 X-Tokenizer 的实验结果显示,仅仅追求重建精度是不够的,动作 Token 的语义质量同样重要。

VLA 模型本质是一个多模态融合系统,动作模态不是孤立存在的。

它需要跟视觉和语言模态进行深度交互。如果动作 Token 本身就不携带语义信息,这种交互的效率会大打折扣。

从自变量的实验数据来看,这条路是走得通的。
240 万条轨迹、17 个机械臂系列的预训练规模让 X-Tokenizer 具备了跨形态的泛化能力,冻结后即插即用的设计也让它有了实际工程部署的可行性。

把动作分词器从压缩工具升级为语义桥梁,这个方向值得更多关注。

发布于 上海