一句话定位
给一对(或三帧)真实视频帧做极度不对称的时序遮罩——第一帧全可见、最后一帧只留 10% patch 可见——训一个 MAE 式 ViT 编码器-解码器去重建被遮的最后一帧;这个”时序分解遮罩策略”逼迫模型把两帧间的场景变换压缩进那一小撮可见 patch 的 embedding 里,于是在推理时改写这几个 patch 的内容就等于给模型下达”反事实”指令(把某个 patch 挪到别处、固定不动等)。作者用这套无监督训练出的单一 predictor,通过不同的反事实探针(prompt 的构造方式)零样本抽出关键点、光流、物体分割(Spelke object)三种视觉结构,无需任何标注微调;这些结构直接拿去做 Physion 物理动力学基准的物体接触预测/检测,取得当时的自监督 SOTA(ViT-B 75.9% OCP / 89.1% OCD),逼近专门在仿真 3D 粒子图上训练的监督模型 SGNN(76.4%/98.8%)。
背景与定位
物理动力学理解(预测物体碰撞、稳定性等)传统上要么依赖结构化中间表示(3D 粒子图、物体分割等,只能在仿真/人工标注数据里拿到 ground truth,如 SGNN 等图神经网络仿真器),要么直接在像素空间做视频预测(MCVD、FitVid、TECO 等),后者虽能直接用于真实视频但高维像素预测在物理随机性下常产生不合理的运动。本文的路线是第三条:自监督视觉表征学习 + 零样本结构抽取,既不需要标注也不在像素空间做端到端预测。
本文是同组前作《Unifying (Machine) Vision via Counterfactual World Modeling》(Bear et al., arXiv:2306.01828,提出 CWM 框架本体)在物理动力学理解这一具体任务上的延伸与验证:把 CWM 的”时序分解遮罩 + 反事实探针”框架系统应用到 Physion 基准,并新增了完整的定量评测(结构质量、消融)。论文用 Pearl 因果阶梯类比 CWM 的三层:Association(预训练的关联学习)→ Intervention(patch 级 prompt 干预)→ Counterfactual(比较干预结果与替代未来来抽取结构)。
与 VideoMAE 相比,CWM 的核心区别只是遮罩策略(时序分解 vs 随机 tube masking),但这一策略差异是全部反事实-可提示性的来源——论文的对照实验(VideoMAE* 用相同帧数/patch size 重训)直接证明了这点。与非生成式的表征预测路线(如同组 JEPA 谱系)不同,CWM 仍在像素 patch 空间用 MSE 做重建(继承 MAE/VideoMAE),“世界模型”属性来自涌现的可提示结构而非架构上的隐空间预测头。发表于 ECCV 2024。
模型架构
- Backbone:标准 ViT 编码器-解码器(沿用 MAE 设计),仅编码可见 patch,解码器把编码器输出 + 可学习 mask token 一起接收,重建被遮 patch;编码器/解码器宽度不同,用一层线性投影对齐。每个时空 patch 有唯一的正弦-余弦位置编码,编码器和解码器输入都加位置编码;不用相对位置编码、不用 layer scaling。
- 规模:ViT-B(86M 参数)与 ViT-L(304M 参数)两个尺寸,patch size 8×8,输入分辨率 224×224。
- 时序分解遮罩(temporally-factored masking):定义帧对 $x_1,x_2$,遮罩比 $\alpha,\beta$,训练目标 $\Psi(x_1^\alpha, x_2^\beta)=\tilde x_2$。论文设 $\alpha=0$(第一帧全可见),$\beta=0.90$(第二帧 90% 被遮)——极度不对称。这迫使 predictor 只能靠第二帧仅存的少量可见 patch 推断场景变换,再把该变换套用到第一帧上完成重建,效果是把”变换”信息压缩进这几个可见 patch 的 embedding。
- 上下文帧数:物理预测需要初始速度信息,故实际输入为连续 3 帧、帧间隔 150ms:前两帧全可见(context),只遮最后一帧;若只需 2 帧的结构(关键点、光流),把第一帧重复两遍凑齐 3 帧输入;分割任务给单帧、重复两遍再模拟运动到第三帧。
- ACTION 条件化:无显式动作变量。“动作”由**对第二帧可见 patch 内容的编辑(intervention)**扮演——外观干预(改第一帧像素)或运动干预(改第二帧可见 patch 的位置/内容),替代传统 action-conditioning。
- 记忆/一致性/长程 rollout:无——只做单步帧对/帧三元组预测,不含递归状态或多步自回归 rollout 机制,这是论文自陈的适用边界(见”创新点与影响”)。
- 反事实结构抽取的三种探针(均基于同一个预训练 predictor $\Psi$,零样本、无微调):
- 关键点(Keypoint):贪心搜索使重建误差最小的 n 个 patch 位置(式 3),迭代式逐个加入,默认 k=4 候选/轮。
- 光流(Optical Flow):对第一帧某像素加无穷小扰动 $\delta_{ij}$,用 $\Psi$ 的雅可比 $\nabla_x\Psi$(PyTorch autograd 一次性算全图)定位扰动在第二帧的响应峰值,得到逐像素位移(式 4-5、式 7)。
- 分割(Segmentation / Spelke object):在单张图上模拟”移动某个 patch”的运动干预,对预测结果与观测计算光流,阈值化得到随该 patch 共同移动的区域(式 6);迭代 3 轮细化,用 CutLER 的 normalized-cut prominence map 或 movability 分布采样多物体位置,实现自动多物体发现;再用 CutLER 流程蒸馏出更快的实例分割器。
数据
- 预训练数据:Kinetics-400 视频数据集,无需专门的稀疏算子或时序降采样。
- 无标注:整个预训练过程不使用任何人工标注(动作标签、分割、关键点等),MSE 重建损失是唯一监督信号。
- 下游评测数据:
- Physion v1.5(ThreeDWorld 仿真渲染,物理场景真实感更高、新增 “craft room” 环境、8 种 HDRI 天空盒光照):7 类物理场景(collide/drop/dominoes/contain/roll/support/link),训练集 5,600 段视频、测试集 1,000 段视频,冻结特征 + 逻辑回归线性探针的三段式协议。
- 结构质量评测另用 DAVIS(反事实运动 FID)、SPRING(光流 F1)、COCO train2017(分割 AP,蒸馏 CutLER 式检测器)、Something-Something V2(动作识别)、IntPhys(直觉物理合理性)。
- 训练-测试域差:CWM 只在真实世界 Kinetics-400 上预训练,直接零样本迁移到仿真 Physion 基准,属于强泛化测试(与之相对,多数基线的仿真数据 SGNN 是在 Physion 本身上训练的)。
- 无 sim-vs-real 混合、无 co-training:预训练单一使用 K400 真实视频,不与仿真数据混训。
训练方法
- 目标函数:被遮 patch 与重建 patch 间的 MSE 损失(像素/patch 值域回归,非概率分布采样)。
- 默认预训练超参(论文 Table 4):优化器 AdamW,base learning rate 1.5e-4,weight decay 0.05,动量 β1,β2 = 0.9, 0.95,累积 batch size 4096,cosine 衰减学习率,warmup 40 epoch,总 1600 epoch;不用 flip 增强,图像增强仅 MultiScaleCrop;不用 color jitter / drop path / 梯度裁剪;Transformer block 用 xavier uniform 初始化,可学习 mask token 初始化为零张量;学习率按 MAE 的线性缩放规则 lr = base_lr × batch_size / 256。
- 两阶段范式:先无监督预训练 predictor(唯一训练阶段),再对下游任务完全冻结该 predictor,只在其(可选结构增强的)特征上训练一个线性分类器(逻辑回归)做 Physion OCP/OCD——没有针对下游任务的微调或 RL。
- 结构抽取是推理时算法,不是训练:关键点/光流/分割均通过对固定 predictor 做不同 prompt 查询与后处理(贪心搜索、雅可比、阈值化)得到,训练阶段不涉及这些结构的监督。
Infra(训练 / 推理工程)
- 硬件:TPU v4-256 pod(Google TPU Research Cloud 提供算力支持,论文致谢明确写明)。
- 训练时长:ViT-B/8、1600 epoch on Kinetics-400,约 6 天训完。
- 精度/并行细节:论文未进一步披露具体的并行策略(数据并行/模型并行切分)与混合精度设置,仅给出 TPU v4-256 + 6 天这一组合数字。
- 对照口径:官方 GitHub(neuroailab/CounterfactualWorldModels,前作 CWM 框架代码仓)发布的预训练权重是 ViT-B/8×8patch、3200 epoch on K400(与本文默认 1600 epoch 配置不同,说明不同工作用了不同训练时长,具体到本文以论文正文/附录数字为准)。
- 推理工程(FPS/控制频率/边缘部署):论文不涉及机器人在线控制或边缘部署场景,未披露任何推理 FPS、延迟或硬件功耗数据;结构抽取的计算成本以「雅可比一次性算全图光流」「关键点贪心搜索 n 轮」「分割 3 轮迭代 × 4 次采样」等算法步骤描述,无具体墙钟时间披露。
评测 benchmark
Physion v1.5(主表,Table 1,OCP=物体接触预测 / OCD=物体接触检测,↑越高越好)
| 方法类别 | 方法 | 训练数据 | 架构 | 参数 | OCP | OCD |
|---|---|---|---|---|---|---|
| 监督 ground-truth 3D 粒子 | SGNN | Physion v1.5 | GNN | 23M | 76.4 | 98.8 |
| 视频预测 | MCVD | K400+Ego4D | UNet | 251M | 63.4 | 80.8 |
| 视频预测 | TECO | K600 | vq-gan | 160M | 69.3 | 80.9 |
| 图像自监督 | DINOv2 | LVD-142M | ViT-g | 1.1B | 72.7 | 84.6 |
| 图像自监督 | MAE | IN-1K | ViT-H | 632M | 73.3 | 80.8 |
| 视频自监督 | VideoMAE*(同帧数/patch size 重训) | K400 | ViT-B | 86M | 73.2 | 86.2 |
| 视频自监督 | V-JEPA | VideoMix2M | ViT-L | 304M | 73.4 | 87.0 |
| VLM | GPT4-V | - | - | - | 52.9 | 54.7 |
| 本文 | CWM | K400 | ViT-B | 86M | 75.9 | 89.1 |
| 本文 | CWM | K400 | ViT-L | 304M | 76.1 | 88.7 |
要点:CWM ViT-B/L 在 OCP 上超过所有自监督基线(含参数量大 13 倍的 DINOv2 ViT-g、大 7 倍的 MAE ViT-H),逼近专门在 Physion 上训练的监督 3D 粒子模型 SGNN(76.4);OCD 上 CWM 89.1(ViT-B)为全表最高(不含 SGNN)。GPT4-V 在 OCP 上接近随机猜测。
结构质量对比(Table 2,DAVIS/SPRING/COCO,均与 VideoMAE / VideoMAE*[同帧数同 patch size 重训] 对照)
| 指标 | VideoMAE | VideoMAE* | CWM |
|---|---|---|---|
| 反事实运动 FID ↓ | 213.4 | 166.3 | 25.4 |
| 光流 F1 ↓(SPRING) | 56.3 | 54.9 | 46.8 |
| 方法 | 分割 AP ↑(COCO) |
|---|---|
| FreeSOLO | 4.3 |
| CutLER | 8.4 |
| CWM | 8.2(与 SOTA CutLER 基本持平,二者定义的物体粒度不同:Spelke object vs COCO instance) |
附加基准(补充材料)
- Something-Something V2 动作识别:CWM(3 帧)54.2,VideoMAE*(3 帧)51.3,VideoMAE(16 帧)54.7——CWM 用更少帧数追平/略输于长上下文 VideoMAE。
- IntPhys(B1 物体恒存性/B2 形状恒常性/B3 时空连续性,相对误差↓):CWM 0.36/0.20/0.26,VideoMAE 0.40/0.23/0.30,VideoMAE* 0.46/0.30/0.30,VideoMAEv2(1.1B) 0.36/0.30/0.36——CWM(86M)全面优于参数量大 13 倍的 VideoMAEv2。
- GPT-4V 提示策略对照(Table 5):纯 RGB 帧 OCP 52.9%/OCD 54.7%;叠加 ground-truth 分割高亮后提升到 58.3%/67.5%——侧面印证”结构信息(分割)对物理推理任务的增益”这一论文核心论点,与 CWM 用分割结构提升线性探针分数(见下)呼应。
消融(Table 3,默认 backbone ViT-B)
- 视觉结构叠加(1600 epoch):仅 feature 73.6/89.1 → + 关键点 74.4/89.1 → + 光流 75.5/88.5 → + 分割(完整)75.9/89.1(OCP 单调提升,OCD 基本持平)。
- 训练时长:800 epoch → 75.4/88.9;1600 epoch → 75.9/89.1(收益递减)。
- 遮罩策略(800 epoch):随机 tube masking(VideoMAE 原始策略)73.2/86.2 vs 时序分解遮罩 75.9/89.1 对应的 1600-epoch 数字更高,而同为 800 epoch 下的时序分解设置也是 75.4/88.9,均显著超过 tube masking——证明时序分解遮罩是抽取有效结构的关键,而非单纯训练时长。
- 遮罩比例 β(800 epoch):0.85→75.0/88.9,0.90→75.4/88.9(800ep)/75.9/89.1(1600ep),0.95→74.6/88.3,0.99→72.5/86.6——0.90 附近最优,过高(0.99)明显掉点。
- 上下文帧数(800 epoch):1 帧→71.0/85.2,2 帧→75.4/88.9(即默认),4 帧→68.5/79.9——2 帧最优,4 帧反而显著退化。
- patch size(800 epoch):8→75.4/88.9(默认),16→74.2/88.8——patch 8 更优(利于高分辨率结构抽取)。
创新点与影响
贡献
- 用一个极简的时序分解遮罩策略($\alpha=0,\beta=0.90$)替换 VideoMAE 的随机 tube masking,把两帧间的场景变换压缩进少量 patch 的 embedding 里,从而获得强大的”反事实可提示性”——这是全部下游能力的根源,论文用严格对照(VideoMAE* 同帧数同 patch size)证明了这一点(FID 166.3→25.4, 光流 F1 54.9→46.8, tube-masking OCP 73.2 vs 时序分解 75.9)。
- 证明单一预训练 predictor 无需微调即可通过不同反事实 prompt 零样本抽取关键点、光流、分割三种传统上依赖专用监督或专用架构的视觉结构。
- 在 Physion v1.5 上取得自训视频/图像自监督方法中的 SOTA(ViT-B 75.9/89.1),逼近仿真 3D 粒子监督模型 SGNN(76.4/98.8),且用远小于对比基线的参数量(比 DINOv2 ViT-g 少 13×,比 MAE ViT-H 少 7×)跑赢它们。
- 揭示 GPT-4V 等大型 VLM 在物理场景动力学理解上的显著局限(OCP 接近随机猜测),并用分割高亮实验佐证”显式结构信息对物理推理任务的价值”这一论点跨模型成立。
它改变了什么:把 Pearl 因果阶梯(关联→干预→反事实)作为设计原则用于自监督视觉预训练,提供了一条不依赖标注、不依赖显式生成式视频预测、只靠遮罩策略设计就能涌现”可提示性”结构的新路径,为后续把 masked-prediction 模型当作可查询的隐式世界模型(而非单纯表征提取器或像素生成器)提供了具体方法论。
论文自陈的局限
- CWM 只做单步/帧对(最多 3 帧)预测,不含长程 rollout 或递归状态,不能像生成式视频模型那样连续多步展开未来。
- 关键点/光流/分割的抽取算法都依赖多次前向或雅可比计算(多轮迭代、多次随机采样取平均),论文未给出这些查询过程的墙钟时间或吞吐,是否能实时部署未知。
- 分割抽取的 Spelke object 定义与 COCO 实例分割标准不完全对齐(论文自述”并非精确对应”),因此 AP 指标只能做近似参考而非严格上限比较。
- Physion 是仿真基准,论文承认目前没有可用的真实世界物理理解基准,CWM 在真实场景下的物理推理能力只能靠 K400→Physion 的跨域泛化间接验证。
原始链接
- 论文(arXiv:2312.06721,ECCV 2024):https://arxiv.org/abs/2312.06721
- PDF:https://arxiv.org/pdf/2312.06721
- 项目主页:https://neuroailab.github.io/cwm-physics/
- 官方代码(本文项目页链接,
rahulvenkk/cwm_dynamics,fetch 时返回 404,疑似私有/已下线):https://github.com/rahulvenkk/cwm_dynamics - 前作 CWM 框架代码仓(
neuroailab/CounterfactualWorldModels,实现基础 predictor 与反事实查询):https://github.com/neuroailab/CounterfactualWorldModels - Physion 评测器:https://github.com/neuroailab/physion_evaluator
- Hugging Face 交互 Demo:https://huggingface.co/spaces/rmvenkat/counterfactual-world-models
- 前作论文(CWM 框架本体,被引用为 ref [11]):https://arxiv.org/abs/2306.01828
一手源存档(sources/)
- counterfactual-world-modeling—project — 项目主页快照(sources/world-model/2023/counterfactual-world-modeling—project.md)
- counterfactual-world-modeling—github-readme — neuroailab/CounterfactualWorldModels(前作框架代码仓)README 快照(sources/world-model/2023/counterfactual-world-modeling—github-readme.md)
- arXiv 全文 PDF(arXiv 原文 PDF,不入 git):https://arxiv.org/pdf/2312.06721