论文导读 · 从图像扩散到因果视频生成¶
先读基础笔记,再带着一个具体问题打开论文。每篇首轮只读下面指定的位置,尝试回答自测;推导和完整实验留给第二轮。这个顺序按概念依赖组织,不代表发表顺序或模型排名。
| 阶段 | 阅读顺序 | 要建立的区分 |
|---|---|---|
| 图像基础 | DDPM → LDM → DiT → Flow Matching | 训练目标、数据表示、网络架构分别是什么 |
| 图像到视频 | Video Diffusion Models → Stable Video Diffusion | 时间信息怎样进入网络,视频数据怎样组织 |
| 因果生成 | Diffusion Forcing → Self Forcing | 每帧噪声水平与训练时的历史来源是两个问题 |
1. DDPM:为什么预测噪声就能生成图像¶
前置:Diffusion 与 Flow Matching 的加噪与采样。首读:论文 v2 的 Figure 2、Algorithm 1–2,再看 §3.4。
核心问题:训练样本是干净图像,生成输入却是噪声,二者怎样接起来?训练时随机选噪声时刻,直接构造带噪输入;网络回归本次加入的噪声。采样器反复使用预测结果计算反向转移,逐步得到样本。对照两个算法,圈出“训练随机抽一个时刻”与“生成遍历多个时刻”的区别。原文 §2–3
容易误解:一次噪声预测不是完整生成;网络也不是在噪声里检索一张预先藏好的图片。
自测:训练为什么不用先执行所有前向加噪步骤?
给定干净样本与时刻,可以直接从该时刻的条件高斯分布采样带噪输入,见 Eq. 4;不必逐步模拟前面的过程。
2. LDM:把反复计算搬到哪里¶
前置:DDPM、VAE 与视频潜空间。首读:论文 v2 的 Figure 3、§3.1–3.3。
核心问题:高分辨率像素上的反复去噪太贵,能否先压缩?论文将感知压缩与生成建模分开:先学 encoder/decoder,再在固定的潜空间学习扩散,最后解码。看 Figure 3 时,把压缩阶段、循环生成阶段和条件分支分别描出来;压缩倍率还涉及细节保留与计算量的取舍。原文 §3、§4.1
容易误解:latent 是学出来的表示,不能当成 RGB 缩略图;把压缩做得更强也不保证整体效果更好。
自测:文生图推理时,为什么不需要先运行图像 encoder?
当前任务没有待编码的目标图像。模型在潜空间从噪声采样,得到 latent 后运行 decoder;encoder 主要用于准备训练表示。
3. DiT:换主干,不必同时换生成目标¶
前置:LDM、Transformer 与 DiT。首读:论文 v2 的 Figure 3–4、§3.2。
核心问题:潜空间去噪一定要用 U-Net 吗?DiT 把带噪 latent 切成 patches,经线性投影变成 tokens,用 Transformer 处理,再投影回输出。adaLN-Zero 用时间和类别条件调制残差分支。阅读时分别追踪“视频之外的原始图像任务”“patch 数”“条件进入块的位置”。原文 §3
容易误解:原始 DiT 研究类别条件图像生成,不是完整文生视频系统;DiT 这个名字也不指定某一种采样器。
自测:二维 patch 边长减半,token 数与参数量会同步翻倍吗?
token 数变为四倍,而主干参数量并不因此成倍增加。序列更长主要改变计算量;Figure 4 正是理解这一点的入口。
4. Flow Matching:学习怎样移动概率分布¶
前置:向量、导数、速度场与 ODE。首读:论文 v2 的 §3.1–3.2,再看 §4 的路径构造。
核心问题:目标速度场无法直接求出,如何获得可训练的监督?论文先构造按数据样本定义的条件路径与速度,再证明条件回归目标与边际 Flow Matching 目标具有相同的参数梯度。训练利用容易采样的局部监督,生成则沿学到的速度场积分。原文 §3–4
容易误解:这里的“条件”首先指用于构造路径的数据样本,不等于文本提示词;简单的条件路径也不保证实际生成轨迹是直线。
自测:线性插值训练为什么不能直接推出一步生成?
网络并不知道当前训练样本对的两个端点,学到的是给定位置与时间下的速度预测;沿生成轨迹速度可以变化,仍需考虑数值积分误差。
5. Video Diffusion Models:让不同帧交换信息¶
前置:DDPM、空间与时间 attention。首读:论文 v2 的 Figure 1、§3;再读 §4.3.1 的图像与视频联合训练。
核心问题:把图像扩散扩展到视频,除了多一个维度还要改什么?论文使用时空分解的 3D U-Net:空间层处理各帧内容,随后加入时间 attention,让帧间传递信息。屏蔽跨帧交互又能处理独立图片,因此同一架构可以联合学习图片与视频。原文 §3
容易误解:时间 attention 不等于因果 attention。联合生成一个固定长度片段,与利用历史片段续写长视频,也不是同一层次的操作。
自测:图片没有运动,为何还可以用于联合训练?
图片可提供单帧外观的学习信号;按论文方式限制时间交互后,模型可按独立图片处理输入。运动依赖仍需从视频数据学习。
对应本地笔记:三种 attention、HunyuanVideo 与 Wan。
6. Stable Video Diffusion:读架构之外的数据与训练¶
前置:LDM、上篇视频模型。首读:论文 v1 的 §2、§3.1–3.4;Figure 2 用于观察切镜头与静态片段问题。
核心问题:加入时间层之后,怎样训练出有用的视频模型?SVD 在图像模型中插入时间卷积和 attention,并微调整个模型;论文重点研究图像预训练、视频预训练、高质量视频微调三阶段,以及切镜头、描述与筛选对结果的影响。原文 §2–3
容易误解:不要将论文里的全部任务和某一个发布 checkpoint 的接口混为一谈;阅读这篇也不能只抄网络层数,忽略它验证的数据处理变量。
自测:想检验数据筛选是否有效,为什么应尽量固定架构与训练方案?
否则结果差异可能来自模型或训练变化,无法清楚归因于数据。论文以固定的模型与训练设置研究筛选作用,见 Introduction 与 §3。
7. Diffusion Forcing:各帧不必共享噪声水平¶
前置:噪声时间与采样、因果注意力。首读:论文 v1 的 Figure 2、§3、Algorithm 1。
核心问题:能否让历史较确定、未来较不确定,同时仍保留扩散采样的灵活性?DF 训练时给序列各 token 独立采样噪声水平,让模型面对多种“部分已知”的历史。论文用因果序列模型实现,使采样可选择不同位置的去噪进度;原文的基础实现是 RNN,不应直接等同于后续视频 DiT 实现。原文 §3
容易误解:“噪声水平独立”不是“帧内容独立”。而且历史仍来自真实训练序列的加噪版本,不自动变成模型自己生成的历史。
自测:给每帧使用不同噪声水平,就自动得到因果模型了吗?
没有。噪声安排控制输入的不确定程度,因果依赖还要由模型结构保证。这是两个独立的设计维度。
8. Self Forcing:训练时就面对自己的历史¶
前置:Diffusion Forcing、因果 attention、KV cache。首读:论文 v1 的 Figure 2、§3.2–3.3、Algorithm 1–2。
核心问题:训练看真实历史,推理看自己生成的历史,误差累积怎么办?Self Forcing 在训练中自回归展开生成,后续帧以自身输出为历史,用视频级分布匹配目标优化。少步生成、梯度截断与训练时 KV cache 使这条训练路径可实施。原文 §3.2–3.3
容易误解:它不只是给已有模型打开 KV cache;训练历史、优化目标与展开方式都发生变化。论文报告的速度也不能脱离硬件、帧块设置与采样步数套用。
自测:Self Forcing 相比 DF,最关键的历史来源变化是什么?
DF 使用真实序列的加噪历史;Self Forcing 训练时使用模型自身生成的历史,使模型接触推理时会遇到的上下文分布。
继续读:自回归视频扩散推理效率。
读完后做一次横向归纳¶
挑一篇现代视频模型论文,用五句话写出:生成哪个空间的变量、网络预测什么、帧间如何通信、每帧如何安排噪声、训练历史从哪里来。无法定位的项记为未知,再去查方法章节和实现;不要只凭“DiT”“causal”或“flow”补全整套系统。
搭配视频课程与作者报告,回到学习地图或查阅论文与图源。本页固定上述 arXiv 版本作为阅读依据,后续修订可能调整章节和实验结果。