An Introduction to Flow Matching and Diffusion Models(MIT 6.S184)

MIT 6.S184《Generative AI With Stochastic Differential Equations》(2026) 官方讲义,Peter Holderrieth & Ezra Erives 著,84 页。以微分方程为统一语言,从零推导流匹配(Flow Matching)与扩散模型(Diffusion Models):把”生成”形式化为”从数据分布采样”,用 ODE/SDE 把噪声搬运成数据,给出流匹配 / 得分匹配两条训练路径,再延伸到引导(CFG)、大规模图像/视频生成的架构(DiT/U-Net/VAE)与离散扩散语言模型(CTMC)。是把本库散落的 条件流匹配(CFM)DDPM 前向与反向扩散公式推导DiT(Diffusion Transformer)MMDiT(多模态扩散 Transformer)CFG(无分类器引导) 等概念串成一套自洽理论骨架的权威教科书。

核心要点

  • 一句话主旨:“Creating noise from data is easy; creating data from noise is generative modeling.”(Song et al.)生成 = 从数据分布 采样;流/扩散模型通过模拟 ODE/SDE 把简单初始分布 (通常高斯)逐步搬运成
  • 两类模型统一在一个向量场下:流模型 = ODE(),扩散模型 = SDE(加布朗运动)。ODE 是 SDE 的特例,二者共用同一个神经网络向量场
  • 流匹配的核心技巧(边缘化 trick):难算的边缘向量场 无法直接回归,但条件向量场 有解析解;对条件目标做回归(条件流匹配损失 )与对边缘目标回归梯度相同,于是训练变成 simulation-free 的简单回归
  • 得分匹配是同一枚硬币的另一面:扩散模型学得分函数 。对高斯概率路径,向量场与得分可通过线性公式(Proposition 1)互相转换——学会其一即学会另一,因此”流匹配 vs 得分匹配”本质等价。
  • 引导(Guidance):Vanilla guidance 直接把 prompt 喂进网络;**无分类器引导(CFG)**训练时随机丢弃 、推理时把”有条件 − 无条件”向量场之差放大 倍,是几乎所有 SOTA 图像/视频模型()的贴合度来源。
  • 规模化落地:条件嵌入(时间用 Fourier features、文本用 CLIP/T5)→ 骨干用 DiTU-Net → 在 VAE 潜空间训练(latent diffusion)以省算力。案例:Stable Diffusion 3(MMDiT,8B,50 步,CFG 2–5)与 Meta Movie Gen Video(30B,时序 VAE + DiT)。
  • 离散扩散 = 语言模型:把 ODE/SDE 换成连续时间马尔可夫链(CTMC)、把向量场换成速率矩阵 ,同样的”条件→边缘→marginalization trick”成立。训练退化为逐位置分类(交叉熵),掩码扩散语言模型(MDLM)是其特例。

详细笔记

1. 生成即采样(Generative Modeling as Sampling)

  • 对象即向量(Key Idea 1):图像 、视频 、分子结构 ——都可展平为
  • 生成即采样(Key Idea 2):把”生成一张狗的图片”翻译成”从数据分布 采样”。“好不好”这一主观判断被替换为”在 下的似然高不高”。
  • 引导生成(Key Idea 4):条件生成 = 从 采样, 为文本提示等条件。前 3 章聚焦无条件情形,因为条件情形可平滑推广。

2. 流模型与扩散模型(微分方程工具箱)

  • ODE / 流:向量场 定义 ODE ;其解 (流)在弱假设下存在且唯一(Theorem 3)。向量场→ODE→流是同一对象的三种描述。
  • 数值模拟:Euler 法 ;更精确的 Heun 法(预测-校正)。
  • 流模型:把向量场参数化为神经网络 ,初值 随机,目标让终点 注意:网络参数化的是向量场,不是流本身
  • SDE / 扩散:布朗运动 (正态增量 + 独立增量)驱动随机轨迹。SDE 扩散系数。用 Euler-Maruyama 法模拟:
  • OU 过程(Example 6):,收敛到 ,是扩散模型早期形式的原型。扩散模型 = 神经网络向量场 + 固定扩散系数 时退化为流模型(Summary 7)。

3. 流匹配(Flow Matching)—— 训练算法

  • 概率路径 :从 的插值(条件路径),诱导出边缘路径 ,满足
  • 高斯概率路径(最重要,Example 8): 为噪声调度器()。采样
  • 边缘化 trick(Theorem 9,核心):条件向量场 可解析求出(高斯情形 Example 10:);边缘向量场为其按后验加权平均:
  • 连续性方程(Theorem 11):——向量场生成概率路径的充要条件。
  • 流匹配损失:边缘损失 不可算,但条件流匹配损失 可算,且 (Theorem 12)。这是流匹配能 simulation-free 训练的关键
  • 训练算法(Algorithm 3):采 → 令 → 回归 。CondOT 路径()下损失极简:Stable Diffusion 3、Meta Movie Gen 都用这一目标

4. 得分函数与得分匹配(Score Matching)—— 训练扩散模型

  • 得分函数 :对数似然的梯度(最陡上升方向)。同样有边缘化关系 (Eq. 38)。高斯路径下
  • 向量场 ⇄ 得分的转换公式(Proposition 1,重要):高斯路径下二者都是 的线性函数,可互相恢复:,其中 学会向量场就学会了得分,反之亦然
  • SDE 扩展 trick(Theorem 17):给定学好的向量场/得分,可对任意 构造保持同一边缘 的 SDE: 在实践中有一个经验最优值(训练误差 + 模拟误差的权衡)。
  • Fokker-Planck 方程(Theorem 19):连续性方程 + 拉普拉斯项 ,SDE 保持 的充要条件。Langevin 动力学 恒定的特例(MCMC、分子动力学的基础)。
  • 得分匹配损失:同样地 (Theorem 22),条件得分匹配 = 去噪得分匹配(denoising score matching)。DDPM 把 重参数化为噪声预测器 (因 数值不稳定,故丢弃系数直接预测噪声)。详见 DDPM 前向与反向扩散公式推导

5. 引导(Guidance)—— 如何条件化 prompt

  • 术语澄清(Remark 25):为区别于”条件路径”里对 的 conditioning,专用 guided(引导) 指对 prompt 的条件化。
  • Vanilla guidance:把 作为额外输入喂进网络 ,训练目标 ;数据集变成 对。
  • CFG(无分类器引导):实践发现 vanilla guidance 贴合度不够。用贝叶斯 把引导向量场拆成”无条件 + 似然梯度”,放大似然项得 classifier guidance;进一步用同一网络同时学有条件/无条件(训练时以概率 替换为 ),得 CFG: (Summary 27, Algorithm 5)。 越大越贴合 prompt,但 不再严格服从 ——CFG 是”由出色实证结果支撑的启发式”。详见 CFG(无分类器引导)

6. 大规模图像/视频生成器

  • 条件嵌入:时间 Fourier features(归一化正弦编码);类别标签学一个 embedding;文本 prompt 用冻结的 CLIP / T5-XXL 编码为序列嵌入。
  • DiT(Diffusion Transformer):Patchify 图像 → 加 patch/time/prompt 嵌入 → DiT Block(自注意力 patch + 交叉注意力 prompt + AdaLN 时间调制)→ Depatchify。类条件 DiT 常简化,去掉交叉注意力只用 AdaLN。详见 DiT(Diffusion Transformer)MMDiT(多模态扩散 Transformer)
  • U-Net:编码器-中码器-解码器,残差连接,输入输出同形,早期扩散模型主流。
  • 潜空间(VAE):直接在 (1024² 图 ≈ 3×10⁶)建模成本过高。VAE 用编码器 + 解码器 + KL 正则(先验 )把数据压到低维潜空间,-VAE 损失 = 重建 + KL,重参数化技巧使其可训练。Latent diffusion:在 VAE 潜空间训练流/扩散模型——当前几乎所有 SOTA 图像/视频模型的范式。详见 VAE(变分自编码器)
  • 案例
    • Stable Diffusion 3:条件流匹配 + CFG + 潜空间 + MMDiT(同时用 CLIP 与 T5-XXL 嵌入),最大 8B 参数,50 步 Euler,CFG 权重 2–5。见 资料摘要:SD3(MMDiT)
    • Meta Movie Gen Video:CondOT 流匹配()+ 时序自编码器(TAE) 压缩视频( 各 8×)+ 时空 patch 化 DiT + 三类文本嵌入(UL2 / ByT5 / MetaCLIP),最大 30B 参数。

7. 离散扩散模型(Discrete Diffusion)—— 用扩散造语言模型

  • 动机:文本/DNA 是离散状态空间 ,无法用 SDE(离散空间不存在布朗运动)。改用连续时间马尔可夫链(CTMC),“离散版 SDE”。
  • 速率矩阵 :状态间跳转速率(离散版向量场),对角非正、非对角非负、行和为零。CTMC 存在唯一性由 Theorem 33 保证。
  • 因子化 CTMC(关键工程约束):状态空间 指数爆炸,故约束只允许单 token 跳变(因子化速率矩阵),输出形状 线性可存。
  • 训练(与流匹配完全平行):因子化混合路径(Example 35,逐 token 独立加噪:)→ 条件速率矩阵(Example 37)→ 离散 marginalization trick(Theorem 36,用 Kolmogorov 前向方程证明)→ 边缘速率矩阵是去噪概率网络 的重参数化 → 训练退化为逐位置交叉熵(Algorithm 8)。
  • 掩码扩散语言模型(MDLM)(Example 39):词表加 [MASK] token,初始全 mask,逐步”解掩码”生成序列——当前 SOTA 离散扩散 LM(如 LLaDA 一类)的配方。

附录(补充)

  • A:概率论提要(随机向量、条件密度期望);B:Fokker-Planck 方程证明;C:CTMC 存在唯一性证明;D:VAE 的额外视角;E:扩散模型文献导读。

引用与数据

  • 课程主页MIT 6.S184 / diffusion.csail.mit.edu(含 lecture recordings 与 labs,强烈建议动手实现)。
  • 作者:Peter Holderrieth、Ezra Erives(MIT)。
  • 配套引用:Lipman et al.(Flow Matching, ICLR 2023)、Song et al.(Score-Based SDE)、Ho et al.(DDPM, [17])、Ho & Salimans(CFG, [18])、Peebles & Xie(DiT, [30])、Esser et al.(SD3, [14])、Meta(Movie Gen, [33])。
  • 规模数据点:SD3 最大 8B / 50 步 / CFG 2–5;Movie Gen 30B / TAE 8× 压缩;AlphaFold3 亦为扩散模型。

批判性评价

  • 定位:这是一份教学导向的推导讲义而非研究综述——最大价值在于用统一的微分方程语言把 flow matching、score matching、CFG、离散扩散串成一条自洽推导链,且每个定理都给自足证明。适合作为本库所有扩散/流匹配概念页的”理论根页”。
  • 可信度 high:MIT 官方课程材料、作者为该领域活跃研究者、内容与本库既有论文(DiT/SD3/DDPM)完全自洽。
  • 局限:截至讲义仅覆盖到 flow/diffusion 的”训练-采样”骨架与两个案例,对采样加速(蒸馏、少步、分布匹配蒸馏(DMD)对抗后训练(Adversarial Post-Training))、rectified flow reflow、consistency models 等推理提速方向着墨少——这些正是本库音频线(Stable Audio 3 / AudioX-Turbo)的重点,可互补。
  • 与本库的衔接:本库此前的扩散知识多从音频/TTS 应用切入(CosyVoice、Stable Audio 等),本讲义补上了图像/视频视角 + 严格数学骨架 + 离散扩散语言模型这三块,显著提升理论完备度。

相关