一句话定位
港大 + 腾讯 ARC Lab(+ 港中文、UC Berkeley)提出 Moto:先用 VQ-VAE 从无标签视频里学出一套离散「潜运动 token」(把两帧之间的视觉变化压缩成 8 个来自 128 大小码本的 token),再让一个 98M 参数的 GPT 主干在这套 token 序列上做下一 token 自回归预训练,最后引入”动作查询 token”做协同微调(co-fine-tuning),把学到的运动先验转成真实机械臂动作;在 SIMPLER 上以 98M 参数打平/反超 PaLI-X-55B 的 RT-2-X 与 Prismatic-7B 的 OpenVLA,在 CALVIN(ABC→D) 零样本泛化上逼近甚至反超同时用多相机+本体感受输入的 GR-1,1% 标注数据微调即可达 52.5% 成功率(对照组 0%),并进一步验证潜运动 token 可从 Something-Something V2 人类视频迁移到机器人动作。
背景与定位
VLA 的两条主流预训练路线是:从大规模图文预训练的 VLM 微调出策略模型(如 rt-2、openvla),或在跨本体带动作标签数据上训练通用策略(如 octo、Open-X-Embodiment)。这两条路线都依赖机器人动作标签,而动作标签采集成本高、规模受限;相比之下互联网/机器人视频数据量大得多,但缺少动作标注、也带有和具体硬件无关的冗余像素细节。
Moto 的定位是回答”能否把 LLM 式的自回归预训练搬到视频上做机器人学习”这个问题,关键是找到一个既能捕捉运动本质、又不依赖硬件特定动作标签的自回归目标。此前的视频预训练工作(如 gr-1)直接把像素值或图像 patch token 作为自回归预测目标,需要建模大量与动作无关的视觉细节;Moto 转而把预测目标换成”潜运动 token”——用无监督 VQ-VAE 从相邻两帧中提炼出的离散运动表示,天然与低层动作强相关且与具体硬件形态无关。
与同期”潜动作”路线(如 Genie 的 2D 游戏潜动作、LAPA 用潜动作直接预训练 VLM 策略、IGOR 把潜动作当中间目标)相比,Moto 的差异在于:训练一个端到端策略模型,对完整视频片段自回归预测一串潜运动 token 轨迹(而非单步潜动作),并系统性验证了预训练各阶段与微调策略的有效性(多组消融:Moto w/o Motion Token、Moto-IML、Moto-DM)。
模型架构
三阶段流水线:① Latent Motion Tokenizer(无监督)② Moto-GPT 预训练(自回归)③ 协同微调(action co-fine-tuning)。
① Latent Motion Tokenizer(编解码器结构,VQ-VAE 目标)
- Tokenization(M-Former):4 层、hidden_size 768、12 头的 multi-layer transformer;用一个冻结的预训练 ViT 编码器(config 命名确认为 ViT-MAE-Large)分别抽取当前帧 o_t 与前一帧 o_{t-1} 的最后一层 patch 特征,与 8 个可学习 query embedding 拼接后送入 M-Former 做自注意力交互;输出的 query 特征经 **VQ codebook(码本大小 128,latent_dim 32)**量化为离散潜运动 token(每次两帧转换产出 8 个 token)。
- De-tokenization(ViT Decoder):patch_size 16、12 层、hidden_size 768、12 头;输入 o_{t-1} 的线性 patch embedding,用一个 MLP 把量化后的潜运动 token 拼接压缩成 1 个 embedding 并加到每个输入 patch 上作为条件瓶颈,据此重建 o_t。
- 训练目标为标准 VQ-VAE 损失(重建损失[对 o_t 像素值用 MSE] + 向量量化损失 + commitment 损失)。训练完成后 tokenizer 冻结,其 decoder 本身可作为”环境模拟器”根据初始帧 + 指定潜运动 token 生成 rollout。
② Moto-GPT(自回归预训练)
- GPT 风格 transformer 主干:12 层、hidden_size 768、12 头,约 98M 参数(论文正文明确给出)。
- 输入:冻结预训练 T5 提供的语言指令特征 + 冻结 ViT 提供的初始帧视觉特征作为前缀 prompt,之后自回归预测潜运动 token 序列;目标函数为下一 token 似然最大化 $\mathcal{L}{motion}=-\sum{i=1}^{M}\log P(m_i|\boldsymbol l,\boldsymbol v,\boldsymbol m_{<i};\boldsymbol\Theta)$,其中 $M=K*T$(K=8 为单次帧转换的 token 数,T 为视频转换步数)。Moto-GPT 处理的最大视频长度为 3 帧(即最多 2 次帧转换)。
③ 协同微调(co-fine-tuning)动作头
- 在每个时间步的潜运动 token chunk 之后插入 N 个可学习”动作查询 token”(N 依基准而变:SIMPLER 插 3 个,CALVIN 插 5 个,对应两帧之间的真实动作数);沿用预训练的因果 mask,但潜运动 token 不 attend 到新插入的动作查询 token(保持与预训练一致),且随机 mask 50% 的”动作查询 token → 潜运动 token”注意力,既做知识迁移又降低对 ground-truth 潜运动 token 的依赖,同时让推理时可以用 padding token 占位潜运动 token、直接查询真实动作而无需先生成潜运动 token(提升推理效率)。
- 动作头:2 层 MLP,hidden_size 384,把每个动作查询 token 的输出隐状态投影到真实动作空间;连续量(位置 Δx、旋转 Δθ)用 Smooth-L1 损失,二值量(夹爪开合 Δgrip)用 BCE 损失(个别本体如 Google Everyday Robot 夹爪为连续值则同样用 Smooth-L1)。微调阶段总损失保留潜运动 token 预测项:$\mathcal{L}{ft}=\mathcal{L}{motion}+\mathcal{L}_{action}$,用以维持预训练学到的运动先验。
跨本体:tokenizer 与 Moto-GPT 均在跨本体的 Open-X-Embodiment 视频子集上训练,未针对本体做专门的编码/解码分支;论文进一步在附录展示潜运动 token 具备”人类视频→机器人本体”的跨本体迁移能力(Learning from Human Videos 实验)。
数据
- SIMPLER 预训练(tokenizer + Moto-GPT 预训练):Open-X-Embodiment 子集,109k 条真实世界轨迹视频,来自 RT-1 Robot Action、Bridge、Task Agnostic Robot Play、Jaco Play、Cable Routing、RoboTurk、NYU VINN、Austin VIOLA、Berkeley Autolab UR5、TOTO 等 10 个数据集,跨多种本体。降采样:对 RT-1 Robot-Action 视频取 Δt=3(每 3 帧取 1 帧),其余 OXE 子集按其 fps 相对 RT-1 的比例调整降采样率;tokenizer 训练 350k 步。
- SIMPLER 微调:73k 条带动作标签的 RT-1 Robot-Action 专家轨迹。
- CALVIN(ABC→D) 预训练:环境 A/B/C 的全部 play 视频用于训练 tokenizer(Δt=5,训练 150k 步);其中 **35%(约 18k 条轨迹视频)**带语言标注的部分用于 Moto-GPT 自回归预训练。
- CALVIN(ABC→D) 微调:环境 A/B/C 的 18k 条同时带语言标注和动作标签的专家轨迹;测试放在未见过的环境 D(零样本泛化设定)。
- 真机实验:FANUC LR Mate 200iD 机械臂,3 个任务(Pick-Place Banana / Close Laptop / Disassembly);预训练沿用 OXE 数据,另遥操作采集 **90 条演示(每任务 30 条)**用于微调;tokenizer 在 OXE 预训练基础上额外用新采集真机视频微调 500 步;Moto-GPT 先用 OXE+90条新视频联合再预训练 5 epoch,再用真机动作标签微调 20 epoch。泛化评测设两个场景:Novel Object(改变操作物体的颜色/纹理/形状)、Visual Distractor(加入无关干扰物)。
- 人类视频预训练(附录实验):用 Something-Something V2 (SSV2) 数据集捕捉基本人手动作,过滤掉运动无关视频后保留 105k 条人类视频,与 109k 条 OXE 机器人视频合并,联合训练 tokenizer 与预训练 Moto-GPT(Δt=6 用于人类视频降采样);仅在 SIMPLER 的 Move Near 任务上做了对比评测。
- 未采用仿真数据(simulation-generated)——SIMPLER 的训练/微调数据全部来自真实世界,用于专门检验模型在”真实数据训练、仿真环境评测”之间的迁移能力;CALVIN 本身即由仿真环境提供的 play 数据。
训练方法
- 目标函数:预训练阶段纯下一潜运动 token 的自回归似然(式 1);微调阶段为 $\mathcal{L}{ft}=\mathcal{L}{motion}+\mathcal{L}_{action}$(潜运动 token 预测损失 + 动作回归/分类损失),即所谓”协同微调”——不是单纯行为克隆,而是保留视频预训练目标以防止遗忘运动先验。
- 超参数(Latent Motion Tokenizer):batch_size 256,AdamW,lr_max 1e-4,cosine decay,weight_decay 1e-4,warmup_steps 1000。
- 超参数(Moto-GPT 预训练与微调):batch_size 512,AdamW,lr_max 1e-4,cosine decay,weight_decay 1e-4,warmup 1 epoch;预训练 10 epoch;微调阶段沿用同一组超参,仅 epoch 数不同——RT-1 微调 3 epoch,CALVIN 微调 18 epoch,真机微调 20 epoch(真机额外先联合再预训练 5 epoch)。
- 无强化学习环节;全程为”无监督视频预训练 + 有监督动作协同微调”两段式(tokenizer 训练视为第 0 段)。消融变体:Moto w/o Motion Token(从零在动作标签数据上训练同结构 backbone,不用潜运动 token)、Moto-IML(保留预训练,微调时保留输入序列里的潜运动 token 但去掉其预测损失项)、Moto-DM(保留预训练,微调时输入序列里完全去掉潜运动 token)。
Infra(训练 / 推理工程)
- Latent Motion Tokenizer 训练:4 张 A100-40G GPU(OXE 350k 步 / CALVIN 150k 步;真机场景在 OXE 预训练权重基础上再额外微调 500 步,GPU 数未单独说明)。
- Moto-GPT 预训练:8 张 A100-40G GPU,10 epoch。
- Moto-GPT 微调:4 张 A100-40G GPU,RT-1 3 epoch / CALVIN 18 epoch;真机实验(先联合再预训练 5 epoch,再用真机动作标签微调 20 epoch)沿用同一小节描述但未再单独复述 GPU 数,按上下文推断同为 4 卡量级,非独立披露的数字。
- GPU-hours、训练总时长均未披露。
- 推理侧:论文未披露具体的控制频率(Hz)、单步推理延迟或 FPS 数字;仅描述了通过”padding token 占位潜运动 token + 屏蔽相应注意力”的机制来跳过潜运动 token 生成、直接查询动作输出以提升推理效率,未给出量化的加速比。
- 精度(fp16/bf16/fp32)与并行策略(数据/模型并行)均未披露。
评测 benchmark
SIMPLER(Table 2,Google Everyday Robot;数值为各子任务成功率,来自 OXE 预训练模型对比):
| Method | Pick Coke Can (Horizontal/Vertical/Standing/Avg) | Move Near Avg | Open/Close Drawer (Open/Close/Avg) | Overall |
|---|---|---|---|---|
| RT-1-X | 0.820/0.330/0.550/0.567 | 0.317 | 0.296/0.891/0.597 | 0.534 |
| RT-2-X (PaLI-X 55B) | 0.740/0.740/0.880/0.787 | 0.779 | 0.157/0.343/0.250 | 0.607 |
| Octo-Base | 0.210/0.210/0.090/0.170 | 0.042 | 0.009/0.444/0.227 | 0.169 |
| OpenVLA (Prismatic-7B) | 0.270/0.030/0.190/0.163 | 0.462 | 0.194/0.518/0.356 | 0.248 |
| OpenVLA (fine-tuned on RT-1) | 0.470/0.080/0.540/0.363 | 0.542 | 0.102/0.361/0.231 | 0.349 |
| Moto | 0.820/0.500/0.900/0.740 | 0.604 | 0.130/0.732/0.431 | 0.614 |
| Moto w/o Motion Token | 0.600/0.190/0.740/0.503 | 0.554 | 0.000/0.796/0.398 | 0.480 |
Moto(98M 参数 GPT 主干、预训练不接触任何动作标签)整体成功率 0.614,反超 RT-2-X(PaLI-X 55B)与 OpenVLA(Prismatic-7B),与专门在 RT-1 上进一步微调过的 OpenVLA(fine-tuned) 相比仍保持竞争力(尽管其预训练数据已包含 RT-1 数据集)。
CALVIN(ABC→D)(Table 3,Franka Emika Panda,1000 条评测链,成功率随链长衰减 + Avg. Len.):
| Model | 观测输入 | 1 | 2 | 3 | 4 | 5 | Avg. Len. |
|---|---|---|---|---|---|---|---|
| SuSIE | Static RGB | 0.870 | 0.690 | 0.490 | 0.380 | 0.260 | 2.69 |
| RoboFlamingo | Static+Gripper RGB | 0.824 | 0.619 | 0.466 | 0.331 | 0.235 | 2.47 |
| MT-R3M | Static+Gripper RGB+Proprio | 0.529 | 0.234 | 0.105 | 0.043 | 0.018 | 0.93 |
| GR-1 | Static+Gripper RGB+Proprio | 0.854 | 0.712 | 0.596 | 0.497 | 0.401 | 3.06 |
| Moto | Static RGB only | 0.897 | 0.729 | 0.601 | 0.484 | 0.386 | 3.10 |
| Moto w/o Motion Token | Static RGB only | 0.779 | 0.555 | 0.380 | 0.256 | 0.167 | 2.14 |
Moto 仅用静态相机 RGB(无夹爪视角、无本体感受)就在 Avg. Len. 上略超同时使用多相机+本体感受输入的 gr-1(3.10 vs 3.06)。
潜运动 token 可解释性(Table 1,34 类 CALVIN 任务的视频分类准确率):仅初始帧 0.292;初始帧重复 8 次 0.283;初始帧+后续 7 帧真实图像 0.828;初始帧+7 个潜运动 token chunk(每帧仅 8 token,对比 196 个 patch token)0.797——证明 8-token 的潜运动表征在把每帧特征量压缩 24 倍以上的情况下,语义判别力接近用完整图像特征。
潜运动 token 预测准确率(Table 8,128 大小码本上的验证集 top-k 准确率):OXE — top5 0.521 / top10 0.698 / top20 0.853;CALVIN(ABC→D) — top5 0.298 / top10 0.518 / top20 0.768。
数据效率(CALVIN ABC→D,不同比例标注数据微调):仅用 1% 标注数据微调时,Moto 达到 52.5% 成功率,对照组 Moto w/o Motion Token 为 0%;随标注数据比例下降,两者差距持续拉大。
真机实验(FANUC LR Mate 200iD,3 任务 × 10 次测试):Moto 相对 Moto w/o Motion Token 把平均成功率从 23.33% 提升到 60%;在两个泛化场景下(按论文原句顺序:Visual Distractor / Novel Object)分别仍能把平均成功率提升 20 个百分点和 30 个百分点。
人类视频迁移(附录,SIMPLER Move Near 任务):加入 105k 条 SSV2 人类视频联合预训练后,Moto(OXE+SSV2) 相对 Moto(OXE-only) 与 Moto w/o Motion Token 均有明显提升(论文仅以图表呈现,未给出具体数值)。
微调策略消融(CALVIN ABC→D,Figure 12):Moto-IML、Moto-DM 均优于 Moto w/o Motion Token(说明预训练本身带来运动先验),但均逊于完整协同微调的 Moto-GPT(说明微调阶段保留潜运动 token 输入 + 保留其预测损失都是必要的)——论文仅以图表呈现,未给出具体数值。
创新点与影响
- 提出”潜运动 token”作为连接无标签视频与机器人动作的桥接语言:用 VQ-VAE 从相邻帧对中无监督学出的离散运动表示,天然贴近低层动作、与具体硬件形态解耦,从而让视频自回归预训练直接服务于下游操作任务,而非停留在像素/patch 级预测(如 GR-1)。
- 协同微调策略把”潜运动 token 预测”与”真实动作回归”用同一因果序列、同一组损失联合训练,实验证明比”预训练后完全弃用潜运动 token”(Moto-DM)或”保留输入但不保留预测损失”(Moto-IML)效果更好,说明微调阶段持续对齐视频先验和真机动作对性能是关键。
- 以 98M 参数的 GPT 主干在 SIMPLER 上追平/反超 PaLI-X-55B(RT-2-X)与 Prismatic-7B(OpenVLA),并在极低标注数据比例(1%)下仍有 52.5% 成功率,证明该路线的样本效率优势。
- 论文自陈的局限与未来方向:当前主要用机器人视频训练 tokenizer,人类视频(SSV2)迁移仅是”预备性研究”(preliminary study),尚未纳入更复杂的人类动作和更大规模互联网视频;作者认为可扩展预训练视频规模、优化微调策略以提升下游任务表现,并探索 Moto 用作强化学习奖励模型、环境模拟器,以及导航/移动等更广泛机器人任务的可能性。
原始链接
- arXiv: https://arxiv.org/abs/2412.04445
- PDF: https://arxiv.org/pdf/2412.04445
- GitHub: https://github.com/TencentARC/Moto
- Hugging Face(模型权重): https://huggingface.co/TencentARC/Moto
- 项目主页: https://chenyi99.github.io/moto/
一手源存档(sources/)
- moto—github-readme — GitHub README 快照(模型权重发布、训练 config 命名细节)
- moto—hf-card — Hugging Face 模型卡快照
- moto—project-page — 项目主页快照(真机任务示例、人类视频迁移小节)
- arXiv 原文 PDF,不入 git(https://arxiv.org/pdf/2412.04445,本页取用截至 v4 修订版 2025-10-16 的内容)