一句话定位
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-wayve、genie-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_i与e_a^τ拼接后过 MLP 得到逐帧的 FiLM 式 scale/shift 参数γ^τ, β^τ,作用在每个 3D 卷积之后的特征图上(Perez et al. 2018 风格)。 - 输出与融合(核心机制):adapter 输出一个
ℝ^{T×h×w×(c+1)}张量,拆成 sigmoid 归一化到 [0,1] 的 maskm ∈ ℝ^{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换成其 latentz0,其余流程不变,损失预测 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 22M | AVID | 1.257 | 28.5 | 0.666 |
| Medium 22M | Action-Cond. Diffusion | 1.500 | 41.6 | 0.562 |
| Medium 22M | Product of Experts | 1.601 | 101.8 | 0.584 |
| Medium 22M | ControlNet-Small | 1.465 | 34.7 | 0.652 |
| Large 71M | AVID | 1.154 | 23.1 | 0.713 |
| Large 71M | Action-Cond. Diffusion | 1.216 | 31.3 | 0.648 |
| Large 71M | ControlNet | 1.418 | 18.5 | 0.758 |
| Full | Action-Cond. Finetuning (97M) | 1.227 | 14.1 | 0.761 |
| Full | Pretrained Base (未加条件) | 3.855 | 204.0 | 0.451 |
RT1(Table 2,节选):
| 档位 | 方法 | Action Err.↓ | SSIM↑ | LPIPS↓ | PSNR↑ |
|---|---|---|---|---|---|
| Large 145M | AVID | 1.609 | 0.842 | 0.142 | 25.3 |
| Large 145M | Action-Cond. Diffusion | 1.384 | 0.817 | 0.153 | 24.6 |
| Large 145M | ControlNet-Small (170M) | 1.779 | 0.832 | 0.153 | 24.4 |
| Full | Action-Cond. Finetuning (1.4B) | 1.297 | 0.852 | 0.134 | 25.6 |
| Full | ControlNet (654M) | 1.708 | 0.836 | 0.148 | 24.5 |
| Full | Pretrained Base (未加条件) | 4.183 | 0.712 | 0.228 | 20.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。
原始链接
- 论文(arXiv abs):https://arxiv.org/abs/2410.12822
- 论文 PDF:https://arxiv.org/pdf/2410.12822
- 代码(GitHub,microsoft/causica 子目录):https://github.com/microsoft/causica/tree/main/research_experiments/avid
- 项目主页:https://sites.google.com/view/avid-world-model-adapters/home
一手源存档(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 链接