VLA 综述(动作 tokenization 视角):用「动作 token 链」统一一切 VLA 模型
🎯 为什么重要:VLA 论文越来越多,但「谁是同一族」搞不清楚
2023 年以来 VLA 论文井喷:SayCan、PaLM-E、RT-1/2、Code as Policies、VoxPoser、OpenVLA、π0、RDT-1B、GO-1……每个都自称「VLA」,但架构南辕北辙。研究者面对两个困境:
- "我读到的这篇 VLA,到底跟那篇是不是一回事?" —— 一个用 LLM 生成子任务描述、一个用 Transformer 直接回归动作向量,论文里都叫 VLA。
- "我要做新 VLA,该选哪条路?" —— 是该用语言做中间表示?还是 affordance?还是直接端到端到原始动作?没人系统比较过它们的取舍。
综述的判断很关键:与其纠结「架构」,不如看「token 形式」。论文 Fig.1 把 SayCan / Code as Policies / DriveVLM / VoxPoser / π0 / VILA-U / GO-1 等都画进一张「token 链」图——你会看到,差别不在于用不用 Transformer,而在于「中间产物是什么」。
💡 核心思想:八种动作 token + 一条链
综述的核心论断是:所有 VLA 都能写成这个统一形式——「视觉和语言输入 → 一串 VLA 模块接力 → 一条动作 token 链 → 最终可执行动作」。八种动作 token 就是这条链上可能出现的「中间产物类型」:
关键洞察:动作 token 在 VLA 中的地位,类似语言 token 在 LLM 中的地位。LLM 把一切都化为 token 序列,VLA 把「从感知到动作」化为 token 序列。这让 VLA 设计从「架构创新」转向「token 形式选择」。
🛠️ 八种动作 token 的核心取舍(论文 Table 1 浓缩)
| Token 类型 | 核心优势 | 核心短板 | 典型代表 / 任务 |
|---|---|---|---|
| ① 语言描述 | LLM/VLM 原生支持;长程规划必备 | 表达不精确,难以描述灵巧动作 | Hi Robot(做三明治)、π0.5(铺床)、RT-H(抽纸巾) |
| ② 代码 | 逻辑清晰;可借 LLM 的代码能力 + 三方库 | 依赖预定义 API;运行时脆弱 | Code as Policies、Instruct2Act(重排任务) |
| ③ Affordance (keypoint/bbox/mask/map) | 空间定位精准;VLM 支持好 | 3D 结构表达弱;缺乏时序建模 | ReKep(倒茶)、DexGraspVLA(杂乱抓取)、ROCKET-1(开放世界决策) |
| ④ 轨迹 | 可从人类视频学;跨任务泛化 | 3D 表达弱;VLM 支持不足;缺语义 | RT-Trajectory(抹桌子) |
| ⑤ 目标状态 | VFM 支持强;视频数据可 hindsight 重标注 | 生成一致高质量目标难;延迟高 | VPP(移液器转移液体) |
| ⑥ Latent 表示 | 数据可扩展(人视频、跨体数据);紧凑、可多模态 | 不可解释;latent 空间设计挑战大 | GO-1(叠短裤)、OmniJARVIS(Minecraft 挖钻石) |
| ⑦ 原始动作 | 最少人工先验;类 VLM 训练;fine-tune 友好 | 数据稀缺;跨体泛化差;延迟高 | π0(叠衣物)、RT-2、OpenVLA |
| ⑧ 推理 | 提升其他 token 质量;解决复杂问题 | 延迟高;推理范式仍待发展 | DriveVLM(自动驾驶)、CoT-VLA |
顶层(长程规划):语言 + 代码;中间层(运动表示):affordance + 轨迹 + 目标视频;底层(执行):raw action;推理像「调料」渗透全栈。这个判断把「该选哪种 token」从信仰之争变成「该在哪一层用什么 token」的工程问题。
📊 关键论断与代表实验(PDF 溯源)
| 维度 | 核心结论(出自 PDF) |
|---|---|
| 统一框架 | VLA = 视觉/语言 → VLA 模块链 → 动作 token 链 → 可执行动作(§1, §3) |
| 八种 token 全覆盖 | language / code / affordance / trajectory / goal state / latent / raw action / reasoning(§3, Fig.2 同一「倒茶」任务的 8 种 token 可视化) |
| 语言 token 代表 | Hi Robot 用 PaliGemma 出子任务 + 类 π0 出 raw action,做出三明治;π0.5 实现铺床 |
| Affordance token | DexGraspVLA 在杂乱场景灵巧抓取;ROCKET-1 开放世界决策 |
| Goal state token | VPP(Video Predicition Policy)用目标视频完成移液操作 |
| Latent token | GO-1(叠短裤);OmniJARVIS 在 Minecraft 挖钻石 |
| Raw action SOTA | π0 衣物折叠;Real-Time Chunking 划火柴点蜡烛 |
| 数据稀缺量化 | OXE 数据集 token 总量 ≈ 大规模 LLM 语料的 1/200,000(§13.6) |
| 未来方向 | VLA 模型 → VLA agent(加 memory / planning / reflection);IL → RL(自动 dense reward);安全对齐;多模态硬件 |
🌐 在领域中的位置
本综述是VLA 系统化的「测量工具」——在它之前,VLA 领域像「博物馆里散乱陈列的展品」;它给出了一张「分类图」(动作 token)。这与本知识库的另一篇综述 BFM 综述形成互补:BFM 关注「全身高动态控制」的预训练范式,本综述关注「视觉-语言-动作映射」的 token 形式选择。两者结合,构成「通用具身智能体」的两条主线。具体方法卡片可看 Code as Policies、Diffusion Policy、OpenVLA。
❓ 常见误区
「动作 token」和 LLM 里的「token」是一回事吗?
不完全是。LLM token 是文本的最小单元(BPE 子词),是离散的、固定的。VLA 的动作 token 是「VLA 模块的中间产物」的统称,可以是语言、代码、affordance map、轨迹、latent 向量、原始动作,甚至目标图像——形式自由,但有「动作语义」这一共性。论文明确说:「动作 token 是 LLM 语言 token 的广义对应物」。
那 π0、OpenVLA、RT-2 这些「端到端 VLA」属于哪一类?
它们主属 ⑦ Raw Action——直接从视觉语言映射到可执行动作向量。但「端到端」不等于「只有一种 token」。比如 π0 内部其实有「语言计划(高层)→ raw action chunk(低层)」两层 token;Hi Robot 是「语言计划 + raw action」明确两层。所以「端到端」是工程口号,「token 链」才是真实结构。
综述说「没有赢家」,那我做新 VLA 该选什么?
论文 §13.1 给了清晰路线图:
① 顶层用语言 / 代码做长程规划(无可替代);
② 中间层用 affordance + 轨迹 + 目标视频的组合(互补:affordance 给「在哪」,轨迹给「怎么走」,目标视频给「走到哪」);
③ 底层用 raw action policy;
④ 推理作为「元 token」可插入任何一层;
⑤ Latent 现在还不成熟(训练挑战大),先观望。
为什么 OXE 数据集只有 LLM 语料的 1/200,000?这意味着什么?
机器人数据采集成本极高(遥操、人工标注、硬件折旧),无法像文本那样「爬互联网」。论文把这一点列为 VLA 最严重的瓶颈之一。出路有三:(1) 网络视频 + 人手数据(bottom layer,affordance/轨迹/latent 可用);(2) 合成 + 仿真(middle layer);(3) 真机遥操(top layer,质量最高但最贵)。这一三层结构是当前公认的数据扩展路线。