Motus 阅读笔记
Motus: A Unified Latent Action World Model — Hongzhe Bi*, Hengkai Tan* et al., Tsinghua University, 2025
这篇工作在讲什么
当前做机器人操作的模型各管一摊:VLA(视觉-语言-动作模型)管出动作,视频生成模型管想象未来画面,世界模型管预测状态变化,逆动力学模型管从视频反推动作。它们互不相通,没法同时从互联网视频、人类示教、多机器人轨迹这些形态各异的数据里一起学。Motus 想把五种能力(VLA、世界模型、逆动力学、视频生成、视频-动作联合预测)统一到一个模型中。具体做法是采用 Mixture-of-Transformers(MoT)架构,将预训练好的视频生成模型、视觉语言模型、动作专家三路拼接,通过共享的"三模型联合注意力"实现跨模态融合。
最关键的一招是用光流作为"潜在动作"。光流天然编码了像素级的运动信息,无需动作标注即可从任意视频中提取,使得动作专家能在大规模无标注视频上预训练,学到跨机器人的通用运动先验。配合三阶段训练和六层数据金字塔,Motus 在仿真中比 X-VLA 高 15%、比 $\pi_{0.5}$ 高 45%,真机上提升 11%~48%。此外,该模型还能灵活切换"只生成视频""只出动作""同时出"等不同推理模式。
一、Motivation
想象这样一个场景:你想让一个机械臂学会"把面包放进烤箱"。这个任务需要机器人看懂桌面上有什么(面包、烤箱门的位置)、想象未来会发生什么(门打开后面包进去的样子)、出动作控制关节把面包放进去。在人类看来这三件事是一体的,但目前的模型把它们拆成了三个独立系统,各自训练、各自推理。
前人卡在哪?拆开做的最大问题不是"分别做不好",而是数据不能共享。互联网上有海量人类操作物体的视频(YouTube 做饭、开瓶盖、折衣服),但这些视频没有机器人的关节角度标注,VLA 用不了;反过来,机器人采集的示教数据量很小,视频生成模型吃不饱。这种"有数据的模型不匹配、匹配的模型没数据"的死锁,让每个子系统只能在自己的小数据池子里打转。UWM 试过把五种能力塞进一个网络,但它从头训练、不利用预训练大模型的先验,结果既缺视觉理解能力,也缺物理交互知识。
Motus 的切入点是:既然数据形态千差万别,那就找一种所有数据都天然具备的运动表示作为桥梁,也就是光流。任何两帧视频之间都能算出光流,它编码了像素级的"哪里动了、动了多少"。将光流压缩成低维向量,就得到了不依赖动作标注的"潜在动作"。有了这个桥梁,互联网视频和机器人轨迹就能用同一套表示来训练同一个动作专家。
二、现存问题
四、方法详解
回到"把面包放进烤箱"的场景。Motus 要做的是:读入当前画面和语言指令,同时预测未来会发生什么(视频)和该怎么动(动作)。整个方法由四个组件构成,下面逐一拆解。
Figure 1: Motus 整体架构。三个 Expert 通过 Tri-model Joint Attention 共享信息,各自保留专属的 FFN/AdaLN。
4.1 Tri-model Joint Attention:三路专家怎么拼
Motus 的骨架是一个 MoT 结构,包含三个 expert:
- 视频生成 Expert(VGM):基于 Wan 2.2 5B,负责生成/预测未来视频帧。
- 动作 Expert:与 VGM 同深度(30 层)的 Transformer,负责预测动作序列。
- 理解 Expert(VLM):基于 Qwen3-VL-2B,负责理解场景和语言指令。
三路 expert 各有各的 QKV 投影、FFN 和归一化层(VGM 和动作 expert 用 AdaLN 注入时间步信息,VLM 用 LayerNorm),但在每一层的 self-attention 阶段,三路的 token 拼在一起做联合注意力——这就是 Tri-model Joint Attention。
为什么这么设计?如果完全独立,三路之间无法交换信息(VGM 不知道 VLM 看到了什么,动作 expert 不知道 VGM 想象了什么未来)。如果完全共享所有参数,三个截然不同的任务又会互相干扰:视频生成需要建模高频纹理,动作预测需要关注低频控制信号,语言理解的表征空间又完全不同。MoT 的设计在"共享信息"和"保持专长"之间取得了折中。
4.2 UniDiffuser-style 调度器:一个模型,五种推理模式
Motus 用 rectified flow 做生成(一种简化的扩散/flow matching 框架)。关键技巧是给视频和动作分别分配独立的时间步$\tau_v$ 和 $\tau_a$。训练时从 $\text{Uniform}(\{1, 2, \dots, T_\tau\})$ 各自采样;推理时通过控制这两个时间步的起点,就能切换模式:
- VLA 模式(只出动作):$\tau_v$ 设为最大(视频始终保持噪声),只去噪 $\tau_a$ → 动作从噪声中恢复。
- VGM 模式(只出视频):$\tau_a$ 设为最大,只去噪 $\tau_v$。
- IDM 模式(已知未来视频反推动作):视频设为干净输入($\tau_v = 0$),只去噪 $\tau_a$。
- 世界模型模式:动作设为干净输入,只去噪视频。
- 联合预测:两路同时从噪声开始去噪。
训练目标是 flow matching 的标准形式:
$$l_{\text{action}}^{\theta} = \mathbb{E}\left\| v_a^{\theta} - (\epsilon_a - a_{t+1:t+k}) \right\|_2^2$$即模型预测的速度场 $v_a^{\theta}$ 要和"噪声方向减去干净动作方向"对齐。直觉上就是让模型学会"从噪声里恢复出干净动作的方向"。视频侧同理,总损失是两路之和:
$$l^{\theta} = l_{\text{action}}^{\theta} + l_{\text{obs}}^{\theta}$$这意味着同一个 batch 里的不同样本可能被分配到完全不同的 $(\tau_v, \tau_a)$ 组合,模型在训练过程中自然学会了所有五种推理模式。
4.3 Action-Dense Video-Sparse Prediction:动作密采、视频稀采
Figure 2: 动作和视频的采样率不同——动作 48 帧 @30Hz,视频只保留 8 帧 @5Hz。
机器人动作一般需要 30 Hz 的精细控制,但视频帧之间变化缓慢,每秒 5 帧就够了。如果按动作的帧率去预测视频,会产生大量冗余的视频 token,拖慢训练。更关键的是,视频 token 数量远超动作 token,Tri-model Joint Attention 会被视频主导,动作预测能力反而退化。
Motus 的做法很直接:动作密采(48 帧 @30Hz),视频稀采(8 帧 @5Hz)。这样一个 chunk 里视频和动作的 token 数量大致平衡,三路 expert 在联合注意力里地位对等。
4.4 Latent Actions:光流 → 压缩 → 潜在动作
Figure 3: Latent Action VAE 架构。DPFlow 算光流 → DC-AE 编码 → 14 维潜在动作向量。
这是 Motus 最核心的设计。思路分三步:
- 算光流:对相邻帧用 DPFlow 算像素级光流,转成 RGB 图。光流天然表达了"每个像素从这帧到下帧移动了多少",是最原始的运动信息。
- 压缩:用预训练的深度卷积自编码器 DC-AE 把光流图编码成 4 个 512 维 token,再用轻量 encoder 投影成一个 14 维向量。之所以选 14 维,是因为常见的双臂机器人动作空间就是 14 维(左右各 7 个关节角),维度对齐使 latent 和真实动作可以直接对应。
- 对齐:光流压出来的 latent 和真实动作的分布不一定一样。Motus 在训练 VAE 时混入 10% 有真实动作标注的数据,加一个 alignment loss 把 latent 往真实动作分布上拉:
第一项是光流重建误差(让 latent 保留运动信息),第二项是 latent 和真实动作的对齐(让 latent 的数值接近真实关节角),第三项是 KL 正则化。90% 数据无标注做自监督重建,10% 有标注做弱监督对齐。
有了 latent action,互联网视频、人类视频、多机器人轨迹都能统一成"(画面, latent action)"的格式喂给动作 expert。数据量一下子从几千条机器人轨迹扩展到几十万条。
4.5 三阶段训练与六层数据金字塔
Figure 4: 六层数据金字塔——从底部的网络数据到顶部的目标机器人轨迹,数据量递减但质量递增。
Motus 把训练分成三个阶段,每个阶段吃不同层级的数据:
- Stage 1(学视觉动态):只训练 VGM,喂第一人称人类视频(Egodex 23 万条)、合成数据(RoboTwin 2.7 万条)、多机器人轨迹(Agibot 73 万条等),让视频生成模型理解物理世界里"东西怎么动",约 8000 GPU hours。
- Stage 2(学动作表示):三个 expert 一起训,引入 latent action。VLM 冻结,VGM 和动作 expert 同时学,数据扩展到包含 task-agnostic 数据(AnyPos 1000 条),约 10000 GPU hours。
- Stage 3(适配目标机器人):在目标机器人的任务轨迹上微调全部三个 expert,只需 2000 条 in-house 数据,约 400 GPU hours。
六层数据金字塔从底到顶依次为:Level 1 网络数据(训 VGM 和 VLM)、Level 2 第一人称人类视频、Level 3 合成数据、Level 4 Task-agnostic 数据、Level 5 多机器人任务轨迹、Level 6 目标机器人任务轨迹。越往上数据越少,但越贴近下游任务。
五、实验结果
主结果:在 RoboTwin 2.0 的 50+ 随机化仿真任务上,Motus 平均成功率 87.02%(随机化场景),比 $\pi_{0.5}$ 的 43.84% 高出 43 个绝对百分点,比 X-VLA 的 72.84% 高出 14 个绝对百分点。在真机 AC-One 上平均部分成功率 63.22%($\pi_{0.5}$ 仅 14.79%),Agilex-Aloha-2 上 59.30%($\pi_{0.5}$ 仅 48.60%)。
消融实验:每个训练阶段的贡献
Figure 6: 消融实验——Stage 2 预训练(完整 Motus)vs. 仅 Stage 1 vs. 无预训练。
消融结论清晰:
- 无预训练 → 仅 Stage 1:随机化场景从 77.00% 涨到 81.86%(+4.86%)。说明视频生成预训练教会了模型物理世界的动态知识。
- 仅 Stage 1 → 完整 Motus(加 Stage 2):从 81.86% 涨到 87.02%(+5.16%)。说明 latent action 预训练带来的跨数据源运动先验价值甚至更大。
- Clean 场景同理:77.56% → 82.26% → 88.66%。
真机实验亮点
在 AC-One 平台上,几个有代表性的任务:
- Place Cube into Plate:Motus 100 分 vs. $\pi_{0.5}$ 46 分 vs. w/o Pretrain 60 分。
- Brew Coffee using Coffee Maker:Motus 62 分,$\pi_{0.5}$ 和无预训练都是 0 分。这是一个需要多步长规划的难任务,只有 Motus 能完成。
- Grind Coffee Beans with Grinder:Motus 92,$\pi_{0.5}$ 8,无预训练 0。
多模式推理验证
Motus 作为 IDM 时,在 RoboTwin 2.0 上的动作 MSE 仅 0.014,低于专门训练的 ResNet18+MLP(0.044)和 DINOv2+MLP(0.122)。作为 VLA 时成功率 83.90%,接近联合预测模式的 87.02%。说明统一训练没有以牺牲单项能力为代价。
六、总结
Motus 证明了一件事:将预训练好的视频生成模型、视觉语言模型和一个新训练的动作专家用 MoT 架构拼接,再以光流作为"万能动作表示"打通异构数据,可以同时做好五种任务(VLA、WM、IDM、VGM、联合预测),且每种都不逊于专门的模型。
它打开的新可能是:机器人学习不再被限制在"有动作标注的小数据集"里。互联网视频、人类操作视频、其他机器人的轨迹都能被有效利用,因为光流是一种无需标注就能从任意视频中提取的运动表示。
遗留问题:模型总共 8B 参数(VGM 5B + VLM 2.13B + Action Expert 641.5M + Understanding Expert 253.5M),推理需要 10 步 flow matching,实时性未详细讨论。Latent action 的 14 维假设只适合关节位控场景,力矩控或更高维的人形机器人是否适用有待验证。此外,Stage 1 和 Stage 2 共耗约 18000 GPU hours,预训练成本不低。
七、Insight
光流是一种被严重低估的"跨模态胶水"。以前大家把光流当成视觉处理的中间产物(算了就扔),但 Motus 的实验表明:把光流压缩成低维 latent 再和真实动作做分布对齐,它就变成了一种不需要标注就能从任意视频中提取的通用动作表示。这个观察的价值不限于 Motus 本身,它暗示任何需要从视频中学习运动策略的系统,都可以考虑把光流作为一个"免费的"先验信号。
八、启发
迁移:对于 starVLA 这类已有 VLA 框架的项目,可以考虑在现有 action head 旁边加一路 latent action decoder,用光流做预训练。具体操作:用 DPFlow 对训练集的相邻帧算光流 → 训练一个轻量 VAE 压缩成 14 维 → 在预训练阶段同时预测 latent action 和 video token。这样即使没有动作标注的视频数据也能参与预训练。
混搭:Motus 的 UniDiffuser-style 调度器设计很巧妙,把"五种推理模式"统一成"调两个标量"。这个思路可以和任何 flow-matching based 的 VLA 结合:只要模型同时预测 video 和 action,给它们各自一个独立的噪声时间步就行,不需要改架构。
九、关键引用
"This fragmentation prevents unifying multimodal generative capabilities and hinders learning from large-scale, heterogeneous data."
碎片化建模阻碍了多模态生成能力的统一,也无法从大规模异构数据中协同学习。
Section 1 (Abstract)
"We introduce latent actions that encode the motion learned directly from pixels. These latent actions allow the model to absorb motion knowledge from various sources such as internet videos, egocentric human demonstrations, and multi-robot trajectories."
潜在动作直接从像素中学习运动。有了它,模型就能从互联网视频、第一人称人类示教、多机器人轨迹等来源中吸收运动知识。
Section 4.2
"By allocating different timesteps and noise scales to videos and actions, respectively, Motus establishes a UniDiffuser-like scheduler to capture heterogeneous data distributions and adaptively switch between various embodied foundation models during inference."
为视频和动作分别分配不同的时间步和噪声尺度,使 Motus 既能捕获异构数据分布,又能在推理时灵活切换不同模式。
Section 4.1
"Dimensional correspondence and weak action supervision jointly drive the latent-action distribution to align with the real action distribution, allowing motion priors learned from videos to naturally map to executable controls."
维度对应加上弱动作监督,一起把 latent action 的分布往真实动作分布上拉,让从视频学到的运动先验自然映射成可执行的控制信号。
Section 4.2
十、Q&A
三个 Expert 分别是:(1) Video Generation Expert,基于 Wan 2.2 5B,负责预测/生成未来视频帧;(2) Action Expert,新训练的 Transformer(与 VGM 同深度 30 层,隐藏维度 1024),负责预测动作序列;(3) Understanding Expert,基于 Qwen3-VL-2B,负责理解场景和语言指令。通信方式是 Tri-model Joint Attention:每一层的 self-attention 阶段,三路的 token 拼在一起做联合注意力,但各自的 FFN 和归一化层保持独立,从而保留了各 expert 的专长。其中 VGM 和 Action Expert 用 AdaLN 注入时间步,Understanding Expert 用 LayerNorm。
流程:DPFlow 算相邻帧光流 → 转 RGB 图 → DC-AE(深度卷积自编码器)编码成 4 个 512 维 token → 轻量 encoder 投影成 14 维向量。选 14 维是因为常见的双臂机器人动作空间就是 14 维(左右各 7 DoF),维度对齐让 latent 和真实动作可以直接做 L2 对齐,无需额外的映射层。这是一个刻意的设计选择,牺牲一些通用性来换取和真实动作空间的天然对应。
核心是给视频和动作各自独立的扩散时间步 $\tau_v$ 和 $\tau_a$。推理时:VLA 模式 → $\tau_v$ 设为最大值 $T_\tau$(视频全噪声不去噪),只迭代去噪 $\tau_a$;VGM 模式 → 反过来;IDM 模式 → 视频 $\tau_v = 0$(输入干净未来帧),去噪 $\tau_a$;WM 模式 → 动作 $\tau_a = 0$(输入干净动作),去噪 $\tau_v$;联合预测 → 两路同时从 $T_\tau$ 开始去噪。训练时 $\tau_v$ 和 $\tau_a$ 从 Uniform(1,...,$T_\tau$) 独立采样,模型自然学到所有组合。
Stage 1 解决"VGM 不懂机器人场景的物理动态",只在视频数据上 finetune VGM。Stage 2 解决"动作 expert 没有运动先验",引入 latent action,三路一起训,让动作 expert 从海量视频中学运动。Stage 3 解决"通用先验落不到具体机器人",在目标机器人数据上 finetune。消融表明:跳过 Stage 1(直接从头训)掉 10 个点(77.00% vs. 87.02%),跳过 Stage 2(仅 Stage 1)掉 5 个点(81.86% vs. 87.02%),两个预训练阶段都有不可替代的价值。
论文没有做这个配比的消融实验,但设计逻辑是:无标注数据负责学运动表示的多样性(光流重建),有标注数据负责把 latent 分布和真实动作空间对齐。10% 的比例是 AnyPos 等先前工作的经验值,太多标注数据会让 VAE 过拟合到特定机器人的动作分布,太少则对齐不够。$\lambda_a = 1.0$,$\beta = 1 \times 10^{-6}$,KL 正则化非常弱,说明作者更看重重建质量和对齐质量而非隐空间的光滑性。
论文没有单独消融"如果视频和动作用同样的帧率会怎样",但动机很明确:如果按动作帧率(30 Hz)去预测视频,一个 chunk 里视频 token 数量会远超动作 token,在 Tri-model Joint Attention 里视频 token 会主导注意力分配,动作 expert 被"淹没"。8 帧 @5 Hz vs. 48 帧 @30 Hz 让两路 token 数量大致平衡。这也是工程上提高训练效率的关键,因为视频 token 是最贵的(要过 5B 的 VGM)。
Table 7 显示 Motus 作为 IDM 的动作 MSE 仅 0.014,ResNet18+MLP 是 0.044,DINOv2+MLP 是 0.122。原因可能有两个:(1) Motus 的 Tri-model Joint Attention 让动作 expert 能看到 VGM 和 VLM 的表征,用了比 ResNet18 / DINOv2 更强的视觉特征;(2) 联合训练 VLA+VGM+IDM+WM 等五种模式产生了正则化效果,避免了 IDM 单独训练时容易过拟合的问题。这其实是 multi-task learning 的经典收益。
论文没有报告推理延迟数字,但可以估算:VLA 模式下需要 10 步 flow matching 迭代,每步要过 8B 参数的 MoT(不过 VGM 部分在 VLA 模式下虽然参与 Joint Attention 但不产生有意义的输出)。Action chunk 大小 48 步 @30 Hz,约 1.6 秒的动作。如果推理一个 chunk 的时间不超过 1.6 秒,理论上可以实时。实际上 5B 的 VGM 是大头,但由于 VLA 模式下视频始终保持噪声,可能可以做某些优化(如跳过视频解码),这是一个值得追问的点。
论文说选 Wan 2.2 5B 是因为"accessibility and ease of use"。更大的模型会显著增加训练和推理成本,而且 MoT 架构要求三个 expert 共享 self-attention,VGM 太大会导致 hidden dimension 匹配变复杂。5B 作为视频生成模型已经足够强,且和 2B 的 VLM 在参数量上大致可比,这对 Joint Attention 的 token 表征质量平衡可能很重要。