一句话定位

History-Guided Video Diffusion(ICML 2025,MIT/CMU/Harvard)提出 Diffusion Forcing Transformer(DFoT)——一种给非因果视频扩散 Transformer 引入”逐帧独立噪声级别”的训练目标,使模型能以任意长度、任意子集、甚至任意频率的历史帧作为条件;在此基础上定义 History Guidance(HG),把经典 classifier-free guidance 从”固定条件向量”推广为”对不同历史片段/频段的分数做加权组合”,从而显著提升视频生成的画质、时序一致性与运动幅度,并首次让单个模型稳定 rollout 出 800+ 帧的长视频。

背景与定位

经典 CFG(Ho & Salimans, 2022)通过联合训练”条件”与”无条件”分数并加权组合来提升采样质量,但视频扩散领域的条件通常只是文本或”第一帧/固定几帧”这种定长向量(Stable Video Diffusion、CogVideoX 等)——DiT/U-ViT 等主流架构用 AdaLN 或通道拼接注入条件,天然只支持定长条件,无法对”任意长度历史”做 CFG。

本文的前置工作是同一团队的 diffusion-forcing(Chen et al., NeurIPS 2024):DF 首次提出”逐 token 独立加噪 = 部分掩码”这一训练范式,但只在因果 RNN 上实现,服务于规划/模仿学习等序贯决策场景。DFoT 把这一范式扩展到**非因果、无状态(state-free)**的视频扩散 Transformer(DiT/U-ViT),使其在 sampling 时也能像 DF 一样对任意历史子集去噪,从而首次让”历史引导”作为 CFG 的推广在视频扩散里落地。与 CausVid(Yin et al., 2024,把 DF 扩展到因果 Transformer 做自回归视频基础模型)是并行但方向不同的推广。

DFoT 定位为世界模型 / 视频生成方向”长时程一致性与可控 rollout”这条线上的方法论基石:它不是一个具体的产品级世界模型,而是一个可微调现有视频扩散模型获得的训练目标+推理范式,理论上可迁移给任何 DiT 系视频基础模型。

模型架构

骨干:两类 transformer-based 视频扩散架构,随数据集选择:

  • DiT(Peebles & Xie, 2023)用于潜空间扩散(Kinetics-600、Minecraft)——单一分辨率的 transformer block。
  • U-ViT(Hoogeboom et al., 2023/2024)用于像素空间扩散(RealEstate10K)——多分辨率、每个分辨率各自带 transformer block,作者发现 U-ViT 在像素空间扩展性更好。

注意力与位置编码:弃用”空间/时间分离的 factorized attention”,改用3D attention(所有 token 一起算,兼顾可扩展性与时序一致性),叠加 3D RoPE(T/H/W 三维相对位置编码)。

训练目标(核心机制):把”历史 = 条件”和”待生成帧 = 目标”统一成同一条序列 x_T,每帧 t 独立采样噪声级别 k_t ∈ [0,1]:历史帧噪声=0(干净)、生成目标帧噪声=k、无条件时全掩码=1。训练时对每帧独立随机采噪声级别(式 4),而非传统的”历史清晰+目标统一噪声级别”或”框架级二值 dropout”。作者证明该目标是对数似然 ELBO 的一个 reweighting(Theorem 4.1,非正式)。论文实验证实框架级二值 dropout(BD 基线)性能明显更差(因为只有随机子集的帧对 loss 有贡献,token 利用率低),这是 DFoT 相对”直觉修复方案”的关键改进点。

条件注入:噪声级别、动作、相机位姿均通过 AdaLN 注入;因每帧噪声级别独立,AdaLN 按 token 逐帧施加对应噪声级别的调制。Minecraft 离散动作转 one-hot → MLP embedding,与噪声级别 embedding 相加;RealEstate10K 相机位姿取相对首帧的位姿,按 3DiM/4DiM 方法转成 ray origin/direction 后编码为 180 维位置嵌入(类 NeRF),再按 U-ViT 各分辨率下采样注入。

Tokenizer / 潜空间:Kinetics-600 用逐 4 帧压缩的 chunk-wise VideoVAE({1,4}×128×128 → 16×16 潜码,仿 Open-Sora-Plan 训练流程,压缩比 (ft,fs)={1,4},8,16 通道);Minecraft 用逐帧 ImageVAE(256×256 → 32×32,仿 Stable Diffusion,4 通道);RealEstate10K 直接在像素空间训练(作者观察到潜空间扩散在该数据集上难以正确遵循相机位姿条件)。

具体网络配置(Kinetics-600 / RealEstate10K / Minecraft / 模仿学习机器人)

Kinetics-600RealEstate10KMinecraft机器人模仿学习
BackboneDiTU-ViTDiTAttention UNet
Patch size1221
Layers28[3,3,6,20]128
Hidden size1152[128,256,576,1152]768128
Heads169124
扩散类型DiscreteContinuousDiscreteDiscrete
噪声调度CosineShifted Cosine (shift 0.125)Shifted Cosine (shift 0.125)Cosine
参数化vvvx0

Kinetics-600 上的 DFoT 是 DiT/XL 规模、673M 参数(对照文献基线 Video Diffusion 1.1B、Rolling Diffusion 1.2B 参数,DFoT 明显更小;但因 patch size=1,GFLOPs 反而比同架构的 MAGVIT/MAGVIT-v2/W.A.L.T 的 DiT/L 基线约多 1.5 倍)。Diffusion 采样统一用 DDIM 50 步、v-parameterization(机器人模型例外用 x0)。

数据

每个数据集单独训练一个 DFoT(不做跨数据集联合训练):

  • Kinetics-600(Kay et al., 2017):600 类、约 40 万条动作视频,分辨率 128×128,帧率跳步 1;主基准数据集。
  • RealEstate10K(Zhou et al., 2018):室内房产实拍漫游视频,带相机位姿标注,分辨率 256×256;训练用递增帧跳步(从 10 直到该视频最大可用跳步),帮助模型学习多样相机运动。
  • Minecraft(Yan et al., 2023):20 万条游戏录像,每条 300 帧,原始 128×128、本文上采样到 256×256 训练评测;玩家用 3 个离散动作(前进/左转/右转)随机导航,帧跳步 2;数据集含大量”转身后重访已见区域”的轨迹,专门用来考验长上下文一致性。
  • Fruit Swapping(机器人模仿学习):改编自 Diffusion Forcing 的真实单臂机器人任务,需同时具备长时程记忆(记住水果初始槽位)和短时反应(应对人为扰动)。数据集含 300 条换位演示(平均 540 帧,无扰动)+ 300 条纯”重新抓取”演示(平均约 50 帧,短时反应但不涉及记忆),两类行为在训练数据中从不同时出现。

VAE 单独训练:Kinetics VideoVAE 训 60 万步(batch 64,Adam,lr 1e-4);Minecraft ImageVAE 训 5 万步(batch 96,Adam,lr 4e-4)。

训练方法

核心目标:式 (4),对序列中每帧独立采样噪声级别 k_t,最小化全序列噪声预测损失 E[||ε_T − ε_θ(x_T^{k_T}, k_T)||²];训练时无需区分”历史/目标”角色,采样时通过把历史帧噪声设为 0、待生成帧设为 k、丢弃部分设为 1 来实现任意历史条件。

History Guidance 三种形式(均建立在 DFoT 之上):

  1. Vanilla HG(HG-v):以某个历史长度 H 做标准 CFG(式 2),无条件分数 = 历史全掩码时的分数;guidance scale ω 越大,一致性/画质越好但多样性/动态性下降(在 Kinetics-600 上最佳 FVD 出现在 ω=1.5,ω>1.5 后 FVD 迅速上升)。
  2. Temporal HG(HG-t):组合”长历史”与”短历史”(或多个重叠的短历史)各自的条件分数(式 5,各 k_{H_i}=0),缓解历史越长越容易 OOD 的问题;在长上下文 Minecraft 上把 FVD 从 97.63 降到 79.19
  3. Fractional HG(HG-f):用部分加噪k_H∈(0,1))的历史做引导,等效对历史做”低通滤波”,专门解决 HG-v 在高 guidance scale 下把视频引导成静止画面的失效模式;Kinetics-600 最佳 FVD 由 HG-v 的 181.6 进一步降到 HG-f 的 170.4

二者可组合为 History Guidance across Time and Frequency(HG-tf),用于图 1 展示的 862 帧超长 rollout。

微调既有模型成 DFoT:把一个已训练好的 Full-Sequence(FS)扩散模型继续训练成 DFoT,仅需从头训练成本的 12.5%(80k 步 vs. 640k 步),80k 步后训练 loss 已优于从头训练模型,40k 步时即与从头训练 405k 步的模型相当(约 10 倍训练效率提升),最终 FVD 与从头训练版本相当(4.7 vs 4.3)。

长 rollout 工程技巧:沿用 Diffusion Forcing 的 stabilization 技巧——把已生成帧标记为轻微噪声(k=0.02)以防误差累积;862 帧 rollout 中根据任务动态切换 guidance 方案(HG-f, ω=4, k_H=0.4 用于稳定探索;转向>30° 或移动距离较大时切到 HG-v, ω=4 做外推;插值阶段用 HG-v, ω=1.5)。

优化超参:全部用 AdamW(VAE 用 Adam),fp16 混合精度,梯度裁剪 max-norm 1.0,线性 warmup(10k 步)+ 恒定学习率;Kinetics-600 batch 192 / lr 2e-4 / 640k 步,RealEstate10K batch 96 / lr 5e-5 / 500k 步,Minecraft batch 96 / lr 1e-4 / 200k 步,机器人 batch 64 / lr 5e-4 / 100k 步;Kinetics 与机器人用 min-SNR loss reweighting,RealEstate10K 与 Minecraft 用 sigmoid loss reweighting。

Infra(训练 / 推理工程)

  • 训练硬件12× H100 GPU(80GB 显存规格,与 GitHub README 一致)训练全部视频扩散模型,每个模型约 5 天训完(对应各自的 batch size);机器人模型例外,用 4× RTX 4090 训 4 小时
  • 作者指出多数模型在验证指标上远未训满就已收敛,之所以训到报告的总步数,是为了对齐工业界基线(MAGVIT、Rolling Diffusion)动辄训更多 epoch 的做法;训练全程未观察到明显过拟合。
  • 推理:采样统一用 DDIM 50 步;History Guidance 需要在每个采样步计算多个条件分数,通过把不同条件输入沿 batch 维度堆叠、并行计算再组合分数实现,未引入额外串行开销。
  • 论文未披露具体的推理延迟 / FPS / 显存占用数字(未披露)。

评测 benchmark

Kinetics-600 标准基准(首帧history=5 帧、预测 11 帧,128×128,50K 个 16 帧视频、3 个随机种子,FVD↓):

方法FVD↓备注
SD(同架构定长基线)4.8±0.0
FS(Full-Sequence + reconstruction guidance)95.5±0.4画质差
BD(框架级二值 dropout 消融)6.4±0.1支持变长条件但明显更差
DFoT(从头训练)4.3±0.1
DFoT(从 FS 微调)4.7±0.0仅 12.5% 训练成本
文献基线 Video Diffusion (Ho et al. 2022)16.2±0.31.1B 参数
文献基线 MAGVIT9.9±0.3
文献基线 MAGVIT-v24.3±0.1
文献基线 W.A.L.T3.3±0.1
文献基线 Rolling Diffusion5.21.2B 参数

DFoT(673M 参数,论文正文 Table 2 记 batch size 为 192、附录 C.4 资源对比处记为 196,原文两处数字不一致,如实标注)在算力明显小于 Video Diffusion / Rolling Diffusion(十亿参数级)、batch size 小于 MAGVIT 系(256)与 W.A.L.T/Rolling Diffusion(512)的情况下,取得与 W.A.L.T、MAGVIT-v2 相当的 FVD,全面超过其余基线。

64 帧滑窗 rollout(History Guidance 效果,Kinetics-600,1024 个视频):无引导 DFoT FVD=208.0;HG-v 最佳 ω=1.5 时 FVD=181.6;HG-f(k_H 越大越动态)进一步压到 170.4;对照 SD=247.5、FS=1040(因画质差单独列出)。VBench 子指标(Frame-wise Quality / Consistency / Dynamic Degree)均随 guidance scale 提升单调改善(HG-v 提升一致性但会牺牲动态性,HG-f 能同时兼顾)。

OOD 历史鲁棒性(RealEstate10K,按相机旋转角度分箱:in-distribution / slightly OOD(<500 训练场景) / OOD(<100 训练场景)):基线在 slightly-OOD 阶段即出现模糊、伪影,OOD 阶段生成不可辨认;DFoT + HG-t 性能几乎不随 OOD 程度下降。

长上下文(Minecraft):HG-t 把 FVD 从 97.63 降到 79.19

长时程-反应式模仿学习(机器人换水果任务):DFoT + Temporal HG(结合长历史分数做记忆、单帧分数做反应)成功率 83%,基线完全无法完成任务。

超长 rollout 展示:从 RealEstate10K 单张测试图像出发,用 HG-tf 稳定 rollout 出 862 帧导航视频(远超训练集最长视频长度与此前方法能做到的数十帧);项目页另指出标准对比设置下 Kinetics-600 可 rollout 60 帧(此前基准为 11 帧)、RealEstate10K 可达 276+ 帧(此前上限约 16 帧)。

创新点与影响

  • 核心贡献:把 Diffusion Forcing 的”逐 token 独立噪声=部分掩码”范式从因果 RNN 迁移到非因果视频扩散 Transformer(DiT/U-ViT),证明它可与现有架构兼容、可通过微调现成模型低成本获得(12.5% 训练成本达到相当效果)。
  • History Guidance:把 CFG 从”单一固定条件”推广为”对任意历史子序列 + 任意噪声/频率组合的分数做加权求和”(式 5),统一了 vanilla/temporal/fractional 三种引导,且这是传统固定长度条件架构无法做到的新能力。
  • 它改变了什么:解决了长视频自回归 rollout 的一致性-动态性权衡与 OOD 历史崩溃问题,让单个未在超长视频上训练过的模型稳定生成 800+ 帧连贯视频,并在真实机器人任务上把”长时程记忆”与”短时反应”两种此前互斥的行为统一到同一模型。
  • 作者自陈局限:论文正文与附录未系统探索把该方法扩展到更大规模基础模型 / 互联网级数据的 scaling 行为(大规模微调仅在自建 FS 模型上验证,未在外部大模型如商用视频基础模型上实测);HG-f 的”不同历史帧按不同频段贡献信息”这一更精细采样策略留作未来工作。项目页提到 Adobe 曾用 Diffusion Forcing 思路微调其视频基础模型(CausVid),但这是第三方外部实践,非本文实验结果,本页未纳入验证数字。
  • 影响:作为同一系列(diffusion-forcing → DFoT)在视频扩散上的落地,被认为是世界模型/长视频生成方向”长时程稳定 rollout + 灵活历史条件”的通用技术基座,配套开源代码、预训练 checkpoint 与 HuggingFace 交互式 demo。

原始链接

一手源存档(sources/)