一句话定位

AVID(Imperial College London + Microsoft Research Cambridge,2024-10)针对”最强视频扩散模型大多闭源、拿不到权重”这一现实约束,提出只用预训练模型的噪声预测输出(不碰其参数)训练一个轻量 3D UNet adapter,用一个逐像素学出来的 mask 把预训练模型的噪声预测和 adapter 自己的噪声预测融合,从而把一个通用 image-to-video 扩散模型改造成动作条件世界模型;论文同时用理论证明了 Yang et al. (2024b) 的 product-of-experts 组合方式在扩散模型上是有偏的,AVID 正是为绕开这个偏差而设计。

背景与定位

决策类任务(机器人、游戏)的动作标注数据远比互联网视频稀缺,这限制了世界模型的规模化训练(gaia-1-wayvegenie-generative-interactive-environments 等工作都在从头训练动作条件视频/世界模型)。与此同时,Luma Dream Machine、Sora、Runway 等最强 image-to-video 扩散模型是闭源的,无法用 controlnet/T2I-Adapter 这类需要访问并修改原始 UNet 权重的方法去加动作条件。

AVID 站在两条线的交叉点:

  • 视频扩散预训练路线:以 video-diffusion-models-vdm(Ho et al. 2022,3D UNet 骨干)、DynamiCrafter(Xing et al. 2023,1.4B 参数、基于 Stable Diffusion 自编码器的 latent image-to-video 模型,VBench i2v 榜单头部模型)为代表的通用视频生成模型;
  • 扩散模型后验适配路线:分类器引导(Dhariwal & Nichol 2021)、classifier-free guidance(Ho & Salimans 2021)、controlnet/T2I-Adapter(需要权重访问)、以及 Yang et al. (2024b) 提出的”product of experts”式黑盒组合(ε_PoE = ε_pre + ε_adapt,仅需预训练模型的噪声预测输出)。

论文的关键理论贡献之一是证明 Yang et al. (2024b) 的简单相加式组合会产生有偏样本:因为高斯卷积不满足对乘积的分配律,p_PoE = p_pre·p_adapt/Z 的真实得分函数 ∇log p_PoE 并不等于两个独立模型得分之和,所以 ε_PoE(x_i,i,c) ≠ ε_pre(x_i,i,c) + ε_adapt(x_i,i,c)。AVID 正是为规避这一偏差而设计——不去组合两个独立训练的模型,而是让 adapter 直接以预训练模型的输出为条件,联合优化标准去噪损失。

模型架构

整体范式:adapter 把预训练模型的噪声预测 ε_pre 当作输入的一部分,学习输出一个 mask 和自己的噪声预测,两者按 mask 融合,融合结果直接拿去算标准 DDPM 去噪损失(不重新组合两个独立分布)。

  • Backbone:adapter 是一个 3D UNet(Ho et al. 2022 Video Diffusion Models 风格),由一串 spatio-temporal block 组成,每个 block = 3D 卷积 + 空间注意力 + 时间注意力,带残差连接。
  • 输入构造:三部分沿通道维拼接成 ℝ^{T×h×w×3c} 的张量——(1) 噪声视频 x_i,(2) 预训练模型对同一 x_i 的噪声预测 ε_pre(x_i, i, x0) ∈ ℝ^{T×h×w×c}(推理得到,预训练模型参数本身不动),(3) 初始帧 x0 沿时间维重复 T 次。
  • 条件注入:扩散步 i 用一张学习到的 embedding table 编码成 e_i;动作 a^τ(每帧一个)用 embedding table(离散动作,如 Coinrun 15 个键位)或线性层(连续动作,如 RT1 7 维末端执行器位姿+夹爪)编码成 e_a^τe_ie_a^τ 拼接后过 MLP 得到逐帧的 FiLM 式 scale/shift 参数 γ^τ, β^τ,作用在每个 3D 卷积之后的特征图上(Perez et al. 2018 风格)。
  • 输出与融合(核心机制):adapter 输出一个 ℝ^{T×h×w×(c+1)} 张量,拆成 sigmoid 归一化到 [0,1] 的 mask m ∈ ℝ^{T×h×w×1}(广播到全部 c 通道)和自身噪声预测 ε_adapt;最终预测为 ε_final = ε_pre ⊙ m + ε_adapt ⊙ (1-m)(Hadamard 积)。训练目标是标准无权重去噪损失 E‖ε_final(x_i,a,i,x0) − ε‖²,只更新 adapter 参数 θ_adapt,预训练模型全程冻结、仅做推理。
  • Latent 版本(DynamiCrafter 场景):假设也能推理预训练模型的 encoder/decoder;先编码 z = enc(x),对 latent 加噪得到 z_i,初始帧 x0 换成其 latent z0,其余流程不变,损失预测 latent 上的噪声,采样完成后解码回视频。
  • 参数化差异:Procgen/Coinrun 上所有模型(含预训练模型和 adapter)预测干净视频 x0;DynamiCrafter/RT1 上沿用其 v-prediction 参数化。
  • 规模档位(论文测的所有配置):
    • Procgen 预训练模型 97M(base channels 100,attn heads 8×64);Coinrun adapter 22M(base channels 50)/71M(base channels 90)。
    • DynamiCrafter 预训练模型 1.4B(base channels 320,Chen et al. 2023a 的 3D UNet + Stable Diffusion 自编码器);RT1 adapter 11M(base channels 32)/34M(base channels 64)/145M(base channels 96)。

数据

两个完全独立的测试床,均为动作标注视频数据集用来训练 adapter(预训练模型本身用无关/更大规模数据训练,adapter 训练时不接触预训练数据):

  • Procgen/Coinrun:预训练模型用 Procgen 16 个程序生成游戏中的 15 个(排除 Coinrun)训练,每个游戏从头 2000 个关卡各采 1000 步的随机动作 episode,得到每游戏 2M 帧、总计 30M 步,分辨率 64×64;训练时采 10 步窗口。Coinrun 侧的 adapter 训练集用同样方式从 Coinrun 前 100/500/2500 个关卡随机动作采样,构成 Coinrun100k / Coinrun500k / Coinrun2.5M 三档数据规模(主文用 500k,附录 A.1 有 100k/2.5M 结果);动作是 15 个离散键位输入。评测用 1024 条从 10000–11000 关卡随机采样的 10 步 held-out 轨迹。
  • RT1(真实机器人):RT1 数据集共 87212 条动作标注 episode、共 3.78M 步,动作为 7 维连续向量(末端执行器平移+旋转+夹爪开合),视频分辨率 320×512(对齐 DynamiCrafter 训练分辨率,需 resize+pad)。用 95%(82851 条)episode 训练,采 16 步窗口;评测用剩余 4361 条 held-out episode 中随机采的 1024 条 16 步轨迹。
  • 两侧均不做任何数据过滤/配比设计——直接均匀随机动作采样;sim(Procgen)与 real(RT1)分别独立验证方法,没有 sim-real 混合或跨域协同训练。

训练方法

  • 目标函数:标准 DDPM 去噪 MSE L(θ_adapt) = E_{(x,a)~D, ε~N(0,I), i~U({1..N})} ‖ε_final(x_i,a,i,x0) − ε‖²,只对 adapter 反传,预训练模型不参与梯度更新(仅推理拿 ε_pre)。
  • 对比 Yang et al. (2024b) 的关键区别:不是训练两个独立模型再事后组合分数,而是让 adapter 从一开始就”看到”ε_pre 并联合优化——这是论文用来修正 PoE 偏差问题的实际手段。
  • 两套超参体系(Procgen/Coinrun vs RT1):
    • Procgen/Coinrun:学习率 1e-4(除微调基线用 2e-5)、EMA 0.995、序列长度 10 步、batch size 64、噪声步数 200、采样 200 步 DDPM、预测目标 x0、sigmoid 噪声调度、channel multiplier [1,2,4,8]。
    • RT1/DynamiCrafter:学习率同上、EMA 0.9995、序列长度 16 步、batch size 64、噪声步数 1000、采样 50 步 DDIM、预测目标 v、linear 噪声调度。
  • 对照基线(同一套代码里训练,公平对比 adapter 参数量/算力):需要预训练权重访问的 Action-Conditioned Finetuning(全参微调)、Language-Conditioned Finetuning(CLIP 文本条件替代动作)、ControlNet、ControlNet-Small(缩小可训练参数量到和 AVID 接近);不需要权重访问的 Action-Conditioned Diffusion(从零训练同架构模型)、Classifier Guidance、Product of Experts(Yang et al. 2024b 复现)、Action Classifier-Free Guidance(p=0.2 随机丢弃动作条件训练两个独立模型再做 CFG 式组合)。
  • 消融:No Mask(NM,ε_final = ε_pre + ε_adapt 直接相加,去掉学到的 mask)、No Conditioning(NC,adapter 不再以 ε_pre 为输入)。结果显示 NC 在两个域上都显著变差,证明”以预训练输出为条件”是 AVID 最关键的设计;NM 在 RT1 上比完整 AVID 差、在 Coinrun500k 上相近。

Infra(训练 / 推理工程)

  • Procgen 预训练模型(97M):1× A100,训练 12 天
  • Coinrun adapter 及全部 Procgen/Coinrun 基线:1× A100,每个方法限制在 3 天训练算力预算内。
  • RT1/DynamiCrafter adapter 及全部 RT1 基线:4× A100,每个方法限制在 7 天(= 28 GPU-days)训练算力预算内。
  • 附加对照(附录 A.3,超出主实验算力限制):IRASim(679M 参数)用 100 GPU-days(A800)训练;DynamiCrafter 全参微调用相近算力 104 GPU-days(A100)训练作为参考上限,结果显示微调 DynamiCrafter 略优于 IRASim(FVD 19.5 vs 21.0,Action Err. Ratio 1.151 vs 未披露)。
  • 精度/并行策略:论文未披露具体的混合精度设置、并行方式(DP/FSDP 等)细节。
  • 推理延迟/FPS/控制频率:论文未披露。

评测 benchmark

6 个指标:Action Error Ratio(生成视频上训练的动作分类器/回归器误差 ÷ 真实视频上的误差,衡量动作一致性)、FVD、FID、SSIM、PSNR、LPIPS;均在各自 1024 条 held-out 轨迹上计算。

Coinrun500k(Table 1,节选关键对比)

档位方法Action Err.↓FVD↓SSIM↑
Medium 22MAVID1.25728.50.666
Medium 22MAction-Cond. Diffusion1.50041.60.562
Medium 22MProduct of Experts1.601101.80.584
Medium 22MControlNet-Small1.46534.70.652
Large 71MAVID1.15423.10.713
Large 71MAction-Cond. Diffusion1.21631.30.648
Large 71MControlNet1.41818.50.758
FullAction-Cond. Finetuning (97M)1.22714.10.761
FullPretrained Base (未加条件)3.855204.00.451

RT1(Table 2,节选)

档位方法Action Err.↓SSIM↑LPIPS↓PSNR↑
Large 145MAVID1.6090.8420.14225.3
Large 145MAction-Cond. Diffusion1.3840.8170.15324.6
Large 145MControlNet-Small (170M)1.7790.8320.15324.4
FullAction-Cond. Finetuning (1.4B)1.2970.8520.13425.6
FullControlNet (654M)1.7080.8360.14824.5
FullPretrained Base (未加条件)4.1830.7120.22820.6

结论要点:全参微调(需权重访问)在两个域上都是最强基线;在不假设权重访问的方法里,AVID 在 Coinrun500k 全部指标上于 22M 档位最优,71M 档位上 Action Error Ratio 最优(部分其它指标略输 ControlNet,但 ControlNet 需要权重);在 RT1 上 AVID 在逐帧对比类指标(SSIM/LPIPS/PSNR)全部档位最强,但 Action Error Ratio 略输给从零训练的 Action-Conditioned Diffusion。Classifier Guidance 与 Action CFG 两个基线在两个域都表现很差;Product of Experts(复现 Yang et al. 2024b)同样明显弱于 AVID,印证了论文对其偏差的理论分析。消融显示 mask 融合机制带来的增益在 RT1 上更明显,在 Coinrun 上较小;“以预训练输出为条件”(NC 消融)是最关键设计,去掉后两个域性能都显著下降。附录 A.1 显示同样趋势在 Coinrun100k 和 Coinrun2.5M 上保持一致。

创新点与影响

  • 核心贡献:(1) 提出在完全不访问预训练视频扩散模型权重、只用其推理输出的前提下,训练轻量 adapter 把它变成动作条件世界模型;(2) 用扩散前向 SDE 的卷积不满足乘法分配律这一理论,证明了 Yang et al. (2024b) 的 PoE 式黑盒组合会产生有偏样本;(3) 提出学习 mask 融合机制替代直接相加,在训练时以预训练输出为条件联合优化去噪损失。
  • 它改变了什么:把”能否用闭源大模型做世界模型”从”不行(因为改不了权重)“变成”部分可行(只要 API 暴露中间噪声预测)“,并给出了比朴素分数相加/classifier guidance 更有效的具体融合方案;论文明确呼吁闭源视频模型提供商开放去噪中间输出与自编码器 API,以便下游更灵活地复用其内容先验。
  • 作者自陈局限:(1) AVID adapter 与特定预训练模型绑定,无法跨模型复用;(2) 该方法仍需要访问预训练模型推理阶段的中间噪声预测(以及 latent 扩散下的 encoder/decoder 输出),而多数闭源 API 并不提供这些量;(3) 在 RT1 上从零训练的动作条件扩散模型在 Action Error Ratio 上反而优于 AVID(尽管视觉一致性更差),说明”动作一致性优先”的下游场景可能仍应选择从头训练而非 adapter。

原始链接

一手源存档(sources/)

  • avid—github-readme — GitHub README 快照(sources/world-model/2024/avid--github-readme.md
  • avid—project-page — 项目主页快照(sources/world-model/2024/avid--project-page.md
  • arXiv 全文(2410.12822v1,arXiv 原文 PDF,不入 git):见上方 arXiv 链接