RT-2 如何将连续动作转化为语言 Token
视觉—语言—动作模型(Vision-Language-Action Model, VLA)面对一个接口错位:语言模型预测离散 token,而机器人控制器需要连续动作。RT-2 的核心做法,是把动作也放进 token 预测接口中。
1. 动作向量是什么
以常见的末端执行器控制为例,每个时间步输出 7 维动作:
前三维是位置增量,中间三维描述旋转,最后一维 控制夹爪。不同数据集对旋转和夹爪的定义并不完全相同,因此动作规范必须与模型权重一起版本化。
2. 连续值如何离散化
设第 个动作维度的有效区间为 ,划分为 个 bin。量化后的编号为:
量化结果再映射到词表中预留的 token。模型看到的任务因此变成:根据图像和自然语言指令,自回归生成一串动作 token。
def decode_action(token_ids, low, high, bins=256):
indices = token_ids - ACTION_TOKEN_OFFSET
normalized = indices / (bins - 1)
return low + normalized * (high - low)
3. 完整数据流
RGB 图像 [B,H,W,3] ─┐
├─→ VLM Backbone → 动作 Token [B,7]
语言指令 [B,L] ─────┘ │
↓
反量化 → 安全裁剪 → 机器人执行
离线评估通常停在 token 准确率,但真实机器人端还包含相机延迟、推理延迟、动作执行时长和下一帧观测。完整闭环应记录“观测—推理—执行—再观测”的时间线。
4. 复现时最容易遗漏的三件事
- 动作统计量来自哪个数据集切分;
- 旋转量使用欧拉角、轴角还是四元数;
- 夹爪维度是连续值、二值还是带滞回的状态机。
核心结论
- Action tokenization 让连续控制复用语言模型的离散预测接口;
- 动作范围与 token 偏移属于模型定义,而不是可随意替换的预处理;
- 评估 VLA 必须同时检查 token 预测和闭环控制表现。