Unifying Mask Prompting and Prediction for World-Action Models · HKUST / Tencent RoboticsX / THU · arXiv 2606.13515 (2026)
世界动作模型(WAM)靠"预测未来 RGB"来学表征,但 RGB 监督把背景和目标一视同仁、文本指令又说不清"是哪个物体"。 MaskWAM 让模型同时把物体 mask 当输入、当预测目标:预测未来 mask 逼模型只盯任务相关区域(语义正则化),首帧 mask 提示给出精确空间锚点(消除语言歧义)。因为 WAM 本就是视觉驱动的,用 mask 这种视觉信号做条件,比往文本里塞坐标有效得多。
arXiv:2606.13515v1);架构机制核对自官方仓库 maskwam/models/(wam.py/mask_encoder.py/action_head.py/tokenizer.py) 与 configs/。重要:官方仓库当前为"代码即将发布"的骨架(core forward/loss 均为 NotImplementedError),只落地了配置与 API 结构,完整实现尚未开源——见"代码印证"tab。公式/数字一律以 PDF 为准。原文:arXiv · 项目页 · 代码(官方仓库骨架)。| 项 | 内容 |
|---|---|
| 标题 | MaskWAM: Unifying Mask Prompting and Prediction for World-Action Models |
| 单位 | 香港科技大学(HKUST) / 腾讯 Robotics X / 清华大学 |
| 核心思想 | mask 同时作为首帧空间提示(输入)与未来预测目标(输出),与 RGB、动作在统一架构中联合建模 |
| 基座 | Wan 2.2 Video VAE + 统一 DiT + MoT 动作专家 + flow matching |
| 两个作用 | ① 预测未来 mask = 语义正则化器(抑制背景噪声) ② 首帧 mask 提示 = 精确空间锚点(消除语言歧义) |
| 关键结果 | LIBERO 98.4 · RoboTwin 2.0 92.2 · 真机语言清晰 84.3 · 真机语言歧义 84.9(超最强 baseline 33.2) |
| 统一提示 | Mask Dropout(p=0.5):同一模型既能吃首帧 mask 精确消歧,也能纯靠 RGB+语言 |
| 推理加速 | Partial denoising:联合 RGB-mask 流只去噪一步取任务感知 latent + KV-cache |
VLA(vision-language-action) 直接把"观测+指令"映射到动作;WAM(world-action model) 在中间加一步"预测未来观测"作为代理任务(proxy task),用视频预测来捕捉物理动态和时空结构,让表征更利于下游控制。MaskWAM 属于 WAM 阵营(基线里的 Motus、FastWAM 也是 WAM,π0/π0.5/GR00T-N1 是 VLA)。
论文指出,现有 WAM 在"如何编码目标物体及其空间位置"上有两个根本缺陷:
| 瓶颈 | 说明 | 后果 |
|---|---|---|
| ① 纯视觉预测缺乏显式锚定 | 预测 RGB 帧虽给出隐式空间先验,但重建监督是弱结构化的——它平等对待所有像素,不区分任务相关物体与背景 | 目标与背景杂物纠缠,策略被任务无关区域带偏 |
| ② 文本条件的固有描述局限 | 语言提供语义上下文,但缺乏精确空间锚定能力,难以描述复杂空间关系、难以在视觉相似干扰物中指认目标 | "给我红色瓶子"——但有多个红瓶子时,策略无从判断是哪个 |
作者的关键判断是:既然 WAM 本质上是视觉驱动架构,那么空间引导就应该通过视觉模态注入,而不是塞进文本。 mask 正是这样一种密集、以物体为中心的视觉空间信号。于是他们提出两个协同机制:
给定当前 RGB 观测 I0∈ℝ3×H×W、本体感觉 s0∈ℝD、语言指令 ℓ、以及可选的首帧目标 mask M0∈{0,1}H×W,MaskWAM 联合预测动作块 a1:K、未来 RGB 帧 I1:T 和未来 mask M1:T:
其中 K 是动作块大小,D 是动作维度,T 是预测 horizon(实现中 T=8)。模型建立在 Wan 2.2 视频生成模型之上,把 mask 作为任务相关区域的显式空间表示,将传统 RGB-space WAM 扩展为 RGB-mask-action 联合建模。
s0 + 带噪动作经投影层送入动作专家;语言经 T5 以 cross attention 注入视觉分支。
| 张量 | 维度 | 含义 |
|---|---|---|
| 观测 I0 | [B,3,H,W],H=384,W=320 | 当前 RGB(T-shape 输入) |
| 首帧 mask M0 | [B,1,H,W] | 可选目标 mask(二值→渲染成三通道) |
| RGB / mask 潜变量 | [B,C,L,H',W'] | VAE 压缩后 |
| 拼接潜变量 z | [B,2C,L,H',W'] | RGB+mask 通道拼接(式2) |
| 动作块 a1:K | [B,K,D] | 预测的 K 步动作 |
| 预测 horizon | T=8 | 未来帧数 |
最自然的想法是给 mask 单独训一个编码器,但作者发现这会引入表征不匹配。他们的做法:把任务相关 mask 渲染成一张三通道 RGB 兼容图像(固定调色板标目标、另一种颜色标背景),让它与 RGB 帧有相同的时间 horizon 和空间分辨率,然后用同一个冻结的 Wan 2.2 Causal 3D VAE 编码器 𝓔 编码二者:
沿通道维拼接后送入扩散骨架,使每个 latent 位置同时编码外观(RGB)和任务相关空间引导(mask)。
为吃下 2C 通道输入,把预训练视频骨架的输入 patch embedding 从 C 扩到 2C:原始视觉通道继承预训练权重,新增 mask 通道初始化为零。这保证微调开始时模型行为与预训练完全一致,mask 信息在训练中被逐渐吸收,不破坏视觉先验。输出头同样 C→2C,预测 RGB 和 mask 两路 latent 速度场。
部署时 M0 是一个可选的首帧锚点,可由 SAM-3 从文本短语、点击、边界框或粗糙 mask 生成。它只在 episode 开头提供一次,无需实时跟踪——首帧 mask 与"预测的未来 mask"之间的对应关系,让世界模型自动把目标规格传播到未来 RGB、未来 mask 和动作中。
Mask Dropout:训练时以概率 p=0.5 把 M0 替换为零张量。这让同一个模型既能在语言歧义时吃首帧 mask 做精确消歧,也能在语言清晰时纯靠 RGB+语言运行,无需训两套模型。
MoT(Mixture of Transformers) 含两个交互分支:视觉分支联合去噪 RGB+mask,轻量动作专家去噪动作块。训练用统一 flow matching,但解耦两个域的噪声时间步:
三项分别是 RGB 视频、mask 表征、动作轨迹的 flow-matching 损失。仓库 config 中三者权重默认各为 1.0。
configs/train/libero.yaml 给的是简化骨架的超参(hidden_dim 768、12 层、12 头、action_dim 7、chunk_size 8、pred_horizon 4、batch 64、lr 1e-4、bf16、max_steps 100k、image_size 224)。这套配置与论文最终 Wan 2.2/DiT/384×320/T=8 设计不一致,属占位骨架,以论文数字为准。为拿到训练所需的每帧 mask,作者搭了自动标注流程,且区分两类任务以避免 oracle 泄漏:
所有首轮标注人工验证,低质量 episode 用关键帧点提示修正后 SAM3 重传播。效果:91% 的 episode 无需人工修正,标注 50 个 episode 约 3 分钟;语言歧义任务的初始点提示每 episode 仅多花 5-10 秒。
完整视频生成太慢。MaskWAM 的推理只做一步去噪:
动作专家联合关注这些部分去噪的 latent、语言、本体感觉来生成动作块,再配合 KV-caching 进一步加速。首帧 mask 只在 episode 开头由 SAM3 生成一次。
| 评测块 | Benchmark / 平台 | 任务与数据 | 为什么这样测 | 复现状态 |
|---|---|---|---|---|
| 标准仿真 | LIBERO | Spatial/Object/Goal/Long 四套件,每套件 10 tasks;测试 RGB-only、Mask-only、Joint。 | 验证 mask 预测即使在语言清晰任务中也能作为注意力正则化提升 WAM。 | 未本地复现;当前只做论文和仓库骨架核对。 |
| 双臂随机化 | RoboTwin 2.0 | Hammer、Bell、Card、Burger、Stand、Shoe 六个随机化任务;每任务约 500 episodes。 | 检验 mask 引导能否在双臂、多物体、随机布局中提供空间锚定。 | 未复现。 |
| 真机语言清晰 | Dual-arm Xtrainer | 4 个语言清晰任务,每任务约 100 demos;报告平均成功率。 | 测试 mask 预测作为辅助目标对普通真实任务是否有效。 | 未复现。 |
| 真机语言歧义 | Dual-arm Xtrainer | 4 个语言歧义任务;ID、Distractors、Novel Instances、Lighting 四种 setting;每 setting 60 trials/task。 | 这是 MaskWAM 最核心的实验:文本说不清目标时,首帧 mask 是否能消除空间歧义。 | 未复现;依赖 SAM3 标注和真机平台。 |
| 关键消融 | 论文 Table 4 / Fig. 8 | Ours-no-pred、Ours-coord、mask erosion/dilation/shift/dropout。 | 区分“有 mask 输入”“预测未来 mask”“用坐标文本替代 mask”三者贡献,并评估 SAM3 mask 不完美时的鲁棒性。 | 未复现。 |
| 方法 | 类型 | Spatial | Object | Goal | Long | 平均 |
|---|---|---|---|---|---|---|
| π0 | VLA | 96.8 | 98.8 | 95.8 | 85.2 | 94.1 |
| π0.5 | VLA | 98.6 | 98.2 | 98.0 | 92.4 | 96.8 |
| Motus | WAM | 96.8 | 99.8 | 96.6 | 97.6 | 97.7 |
| FastWAM | WAM | 98.2 | 100.0 | 97.0 | 95.2 | 97.6 |
| Ours (RGB-only) | WAM | 96.8 | 99.6 | 97.0 | 95.8 | 97.3 |
| Ours (Mask-only) | WAM | 97.2 | 99.8 | 97.4 | 96.0 | 97.6 |
| Ours | WAM | 98.8 | 100.0 | 98.2 | 96.4 | 98.4 |
联合 mask 预测把 RGB-only(97.3) 提到 98.4——部署时不用任何 mask 提示,仅辅助训练目标就带来提升,Spatial +2.0 / Goal +1.2。注意力图显示 RGB-only 常盯背景,mask 监督让模型精确关注任务区域。
| 方法 | Hammer | Bell | Card | Burger | Stand | Shoe | 平均 |
|---|---|---|---|---|---|---|---|
| π0 | 68 | 72 | 81 | 79 | 63 | 74 | 72.8 |
| FastWAM | 83 | 87 | 92 | 94 | 80 | 90 | 87.7 |
| Ours (RGB-only) | 82 | 87 | 91 | 93 | 79 | 92 | 87.3 |
| Ours (Mask-only) | 85 | 90 | 93 | 93 | 81 | 91 | 88.8 |
| Ours | 88 | 93 | 95 | 97 | 85 | 95 | 92.2 |
92.2,超 π0 达 19.4、超 FastWAM 达 4.5。Mask-only(88.8) 原生就比 RGB-only(87.3) 强,联合两者最大化到 92.2。
MaskWAM 平均 84.3,超 FastWAM(79.0)、π0.5(72.3)。整合未来 mask 预测比自家 RGB-only 一致涨点(Task1 86→91,Task3 76→81)——mask 不损害清晰任务,反而稳定增强。
| 设置 | π0-mask | π0-coord | FastWAM-coord | Ours |
|---|---|---|---|---|
| In-Distribution | 62.9 | 41.7 | 26.3 | 92.9 |
| Distractors 干扰物 | 52.9 | 30.0 | 10.8 | 90.4 |
| Novel Instances 新物体 | 44.6 | 25.4 | 13.3 | 74.6 |
| Lighting 光照变化 | 46.3 | 33.3 | 19.2 | 81.7 |
整体 84.9,超最强 baseline π0-mask(51.7) 达 33.2。三个 OOD 轴均保持高性能——干扰物几乎不掉、新物体类别级迁移、光照强不变性。
| 设置 | Future Mask | Mask Prompt | Coord Prompt | 平均成功率 |
|---|---|---|---|---|
| Ours-no-pred | ✗ | ✓ | ✗ | 21.6 |
| Ours-coord | ✓ | ✗ | ✓ | 18.2 |
| Ours | ✓ | ✓ | ✗ | 84.9 |
maskwam/)后确认:README 明确写着 "Code is coming soon. We are finalizing training, inference, and evaluation code." TODO 清单里训练/推理/checkpoint/数据工具/评测脚本全部未勾选。MaskWAM.forward / compute_loss / predict_action / MaskEncoder.forward / ActionHead.forward / MultiModalTokenizer.forward 等核心方法全部 raise NotImplementedError("... not released yet.")。所以下面能印证的只是意图性的 API 设计与配置,不是可运行的完整实现。maskwam/models/wam.py 的 MaskWAMConfig 把论文的三大要素落成了显式开关:
@dataclass
class MaskWAMConfig:
rgb_encoder: str = "vit_base_patch16"
mask_encoder: str = "vit_small_patch16"
hidden_dim: int = 768
num_layers: int = 12
action_dim: int = 7
action_chunk_size: int = 8
pred_horizon: int = 4 # 预测的未来 RGB/mask 帧数
use_mask_prompt: bool = True # ← 机制③ mask 作为输入提示
predict_future_mask: bool = True # ← 机制① mask 作为预测目标
loss_weights: dict = {"rgb":1.0, "mask":1.0, "action":1.0} # ← 式3 三项损失
use_mask_prompt 与 predict_future_mask 两个布尔量,正好对应论文"mask 既是输入、又是输出"的双重角色;loss_weights 对应式(3)的 𝓛video+𝓛mask+𝓛act。
MaskWAM.forward 的签名与 docstring 明确了输入输出契约(实现待发布):
def forward(self, rgb, language, mask_prompt=None) -> dict:
"""
rgb: (B, T, 3, H, W) 观测帧
mask_prompt: 可选首帧目标 mask (B, 1, H, W)
Returns: dict with 'actions', 'future_rgb', 'future_mask'
"""
raise NotImplementedError("MaskWAM.forward is not released yet.")
返回 actions / future_rgb / future_mask 三路输出,与论文"联合预测动作块、未来 RGB、未来 mask"(式1)一致。MaskEncoder 的 docstring 也点明"同一编码器复用于首帧 mask 提示 与 未来 mask 预测目标"。
| 维度 | 仓库骨架 | 论文最终设计 |
|---|---|---|
| 视觉编码 | 分离的 ViT(vit_base / vit_small) | 共享 Wan 2.2 Causal 3D VAE,mask 渲染成 RGB 后通道拼接 |
| 骨架 | 普通 nn.TransformerEncoder | 统一 DiT + MoT 动作专家 |
| 训练目标 | 未实现(generic ActionHead) | 联合 flow matching + 解耦噪声 τv/τa |
| 分辨率 / horizon | image_size 224 / pred_horizon 4 | 384×320 / T=8 |
| 语言 | tokenized language 张量占位 | 冻结 T5 + cross attention |
models/(wam/rgb_encoder/mask_encoder/action_head/tokenizer) · engine/(trainer/evaluator) · scripts/(train/inference/eval_libero/eval_robotwin) · configs/(train+eval × libero+robotwin) · deploy/real_robot_demo.py。"世界模型该预测什么"是 WAM 路线的隐含假设。主流答案是"预测未来 RGB(what happens)"。MaskWAM 给出补充答案:还要预测"什么重要(what matters)"——用未来 mask 把物体中心的语义监督注入 WAM。同时它用一个漂亮的实证反转说明:在视觉驱动的 WAM 里,空间信息该走视觉通道(mask)而非文本通道(坐标)。
配合 ImageWAM 页对比两种 WAM 效率哲学(取 KV cache 不解码图 vs partial denoising 不生成完整视频);配合 DiT4DiT 页看视频动态+动作联合建模的另一条路;配合"世界模型"谱系页理解 WAM 与 VLA 的分野;配合 DP·DiT·Flow Matching 页理解这里的 flow-matching 动作专家。