LAP:把「动作」翻译成「英语」,VLM 才能跨本体零样本迁移
🎯 为什么重要:跨本体「零样本」是机器人基金会模型的圣杯
VLA(Vision-Language-Action)模型承诺:一个模型,控制所有机器人。但现实是——
根本原因不在数据量,而在「动作怎么表示」:
| 方法 | 动作表示 | 对 VLM 的影响 | 大规模训练 | 推理频率 | 跨本体 |
|---|---|---|---|---|---|
| RT-2 / OpenVLA | 离散化为「未用词表 token」 | 分布外 token → 破坏预训练表征 | ✓ | ~0.5 Hz | ✗ |
| FAST (π0.5) | 学习型 tokenizer 压成非语言 token | 仍是「外语」,但更紧凑 | ✓ | 4 Hz | ✗ |
| VLA-0 | 动作写成数字字符串 | 训练不稳,易塌成「全零输出」 | ✗(大数据上崩) | 4 Hz | ✗ |
| LAP(本文) | 模板化英语短语 | 贴合 VLM 预训练分布 | ✓ | 25 Hz | ✓ |
关键洞察:跨本体迁移不能靠「统一动作空间」(很多方法都试过,没用),必须换一种根本上不同的动作表示——让监督信号本身就活在 VLM 的母语里。
💡 核心思想:动作 = 末端位姿净位移的英语描述
三个关键设计:
① 确定性模板,零标注——动作 → 英语用固定模板,无需学习型 tokenizer:
"<verb> <direction> <magnitude> <unit>",verb ∈ {move, tilt, rotate},magnitude 离散为整数(cm / 度),零值省略。
② 整个 chunk 一句话——不是每步翻译一次,而是把整个动作 chunk(未来 H 步)的净位移写成一句话。低频监督 + 时序抽象,让 VLM 更容易学。
③ 坐标系随机化——50% 用基坐标系、50% 用末端坐标系,prompt 里告诉模型是哪个。强制模型学会「相对工具的运动语义」,不绑定特定本体。
🛠️ 怎么做:π0.5 架构 + 把 FAST 换成 language-action
| 组件 | 设计 | 关键决定 |
|---|---|---|
| VLM 主干 | PaliGemma-3B(224×224 双图输入 + 文本 prompt + 离散化状态 token) | 状态用 6D 旋转 + 二值夹爪,255-bin 离散为文本 token,全统一到「文本」模态 |
| Action Expert | flow-matching 头(π0.5 风格),预测 16 步动作 chunk | 训练时与 VLM 通过 cross-attn 通信;推理时只跑 Action Expert → 25 Hz |
| 知识隔离 | Action Expert 的梯度阻断不回传到 VLM 主干 | 避免连续动作监督「污染」VLM 表征;让 VLM 只被语言动作监督 |
| 训练目标 | $L = L_\text{FM} + \lambda L_\text{CE}$,预训练 $\lambda=0.8$,微调 $\lambda=0.4$ | $\lambda<1$ 因为语言动作收敛比 flow matching 快,避免主导优化 |
| 数据混合 | OXE + MolmoAct,DROID 占 85.26%;16M shuffle buffer | 几乎都是开源数据,无任何额外采集 |
| 规模 | 2048 batch / 64 TPU v6e / 15k steps / 10 小时 / ~0.65 epoch | EMA 5k 步后启动;LR 1e-4,5k warmup |
| 坐标约定 | +x 前 / +y 左 / +z 上;旋转外旋 XYZ;50% 基坐标系 + 50% 末端坐标系 | 大多数数据集已符合 → 无需额外坐标变换 |
「往前 3 cm」是任何末端执行器都能理解的语义,无论它是 Franka 的平行夹爪、Kinova 的两指夹爪,还是 YAM 的单相机 setup。VLM 在预训练里见过海量「forward / left / up / rotate」这类空间语言描述,语言动作就落在它熟悉的分布里。而原始关节向量([0.03, -0.01, ...])这种表示跟本体硬件强绑定,VLM 见都没见过,硬学就会把视觉语义表征带歪。TSNE 可视化(论文 Fig.5)证实:LAP-3B 的训练/未见本体特征高度重叠,π0.5 则形成分离簇。
📊 结果:零样本跨本体 50%+,2× 提升;LIBERO 96.8%
零样本跨本体(3 个未见机器人 × 5 类任务;全实验共 1300+ 试次)
| 维度 | 数字 | 对比 |
|---|---|---|
| 未见本体平均零样本成功率 | > 50% | ~2× 优于最强 baseline(~25%);公开 SOTA VLA 全 0% |
| 相对最强 baseline 提升 | ~30% 绝对 | baseline π0.5-replicated / π0-replicated / VLA-0-replicated 同架构同数据 |
| 已见本体(DROID) | 与 π0.5-DROID 持平 | 但 LAP-3B 没在 DROID 上 fine-tune,π0.5-DROID 专门 fine-tune 过 |
| 同架构对比(π0.5-replicated) | LAP-3B 平均高 15 个百分点 | 唯一差别是动作表示:language-action vs FAST token |
| 统计严谨 | 95% finite-sample-valid CI(控制 Type-I 错误) | 不是简单的 std,而是有理论保证的覆盖区间 |
LIBERO 仿真 benchmark(Table 3)
| 方法 | Spatial | Object | Goal | LIBERO-10 | 平均 |
|---|---|---|---|---|---|
| OpenVLA | 84.7 | 88.4 | 79.2 | 53.7 | 76.5 |
| π0.5 | 98.8 | 98.2 | 98.0 | 92.4 | 96.9 |
| OpenVLA-OFT | 97.6 | 98.4 | 97.9 | 94.5 | 97.1 |
| X-VLA | 98.2 | 98.6 | 97.8 | 97.6 | 98.1 |
| LAP-3B | 98.2 | 99.0 | 98.8 | 91.2 | 96.8 |
| LAP-3B + VQA co-training | 99.0 | 99.0 | 97.2 | 93.4 | 97.2 |
微调效率与扩展性
| 维度 | 数字 | 解读 |
|---|---|---|
| 真机微调数据效率(YAM Hang Tape) | 2.5× fewer demos | 20 段就能到 ~50% task progress,baseline 需 50+ 段 |
| LIBERO 微调速度 | 1 epoch → 78%;6 epoch → 96.8% | baseline 收敛明显更慢 |
| 未见本体的动作预测误差 | 0.151(vs π0.5-rep 0.168, π0-rep 0.189) | 预训练阶段就在未见数据上更准 |
| 规模实验(4B / 12B / 27B Gemma3) | LAP 单调改善;π0.5-rep 饱和甚至退化 | 语言动作监督在 27B 仍然受益,FAST token 反而被大模型过拟合 |
| VQA 协同训练(motion prediction) | 两个未见本体成功率都提升 | 共享语言输出格式,VQA 与动作预测天然兼容 |
🌐 在领域中的位置
LAP 是VLA 跨本体迁移「零的突破」。它指出:过去的瓶颈不是数据或架构,而是动作表示偏离了 VLM 的预训练分布。把动作翻译成英语这件看起来「过于简单」的事,反而让 VLM 既保住语义视觉能力、又学到了精确控制。关联线索:与 Diffusion Policy(动作扩散)、CogACT(动作头解耦)、π0/π0.5(flow matching action expert)同属 VLA 谱系。
❓ 常见误区
用英语描述动作,听起来很慢、精度也低吧?整数 cm 级精度怎么够?
推理时不靠 VLM 输出语言!VLM 只在训练时被语言动作监督(学好的表征);推理时只跑 flow-matching Action Expert,输出连续动作 chunk,25 Hz 实时控制。整数 cm 是监督信号的离散化(足够稳定),不是推理输出。控制精度由 Action Expert 保证。
那 VLM 学语言动作有什么用?反正推理时不调用?
作用是塑造 VLM 的表征。被语言监督的 VLM 学到「这个画面 + 这个任务 → 该做什么运动」的语义映射,这些特征通过 cross-attention 传给 Action Expert 指导其生成。消融:去掉 VLM 语言监督(π0-replicated)跨本体就崩——因为 Action Expert 学不到泛化的视觉-运动语义。
「Language-Action」跟以前 SayCan / Code-as-Policies 这类用语言做动作的工作有什么区别?
本质不同。SayCan 等用语言描述高层子任务("pick up the cup"),是粗粒度任务规划,还要另配底层控制器执行。LAP 用语言描述电机级别的末端位移("move forward 3 cm, rotate 22°"),直接监督底层控制表征。粒度差几个数量级,定位完全不同。
「零样本跨本体」是不是有点夸张?是不是只换了夹爪?
比换夹爪严重得多。3 个未见机器人:Custom Franka(新夹爪 + 手腕相机新位置)、YAM(6-DoF,单外置相机,连相机数都不一样)、Kinova(7-DoF 但运动学完全不同)。三个本体的控制接口、观测模态、自由度都不同——而 LAP-3B 拿过来就跑,平均 50%+。这在过去 VLA 里是没有过的。
跟 RDT2 / DexVLA 这类也宣称零样本的工作区别在哪?
论文 §2 明确对比:RDT2 的「零样本」假设新机器人与训练数据共享相同夹爪 + 手腕相机配置——本质是约束本体变化在「硬件接口对齐」内,不是任意形态。DexVLA 引入显式的本体特定训练阶段。X-VLA 用 per-embodiment soft prompt。LAP 不做任何本体条件化、不假设硬件对齐、不引入额外训练阶段,纯靠动作表示的范式转变。
为什么坐标系数要 50/50 随机化?只用末端坐标系不是更本体无关吗?
只用末端坐标系确实更本体无关,但数据集里很多任务更自然在基坐标系下表达(比如「把东西放到桌上」是相对桌面的)。50/50 随机化 + prompt 里告诉模型「现在用哪个坐标系」,强制模型两个坐标系都要懂,部署时按需选择。这是数据增强,不是约束。