FlowMatching
Flow Matching (流匹配)
核心概念
Flow Matching (FM) 是一种基于连续归一化流 (CNF) 的生成模型范式。它通过直接回归向量场 (Vector Field) 来学习从简单分布(如高噪声)到复杂数据分布(如图像)的确定性传输路径。
简单来说,Diffusion 是在学习“如何去噪”,而 Flow Matching 是在学习“如何从噪声平滑地流向数据”。
1. 背景与直觉
在生成模型中,我们希望找到一种映射,能将简单的先验分布 $p_0$(通常是高斯噪声)转化为复杂的数据分布 $p_1$(如图片)。
- Diffusion Models (SDE): 通过逐步加噪的随机过程(扩散)将数据破坏为噪声,然后学习反向过程。路径通常是随机的、曲折的 (Curved)。
- Flow Matching (ODE): 建立一个确定性的概率路径 (Probability Path) $p_t$,并学习一个向量场 $v_t(x)$,该向量场描述了粒子(数据点)随时间 $t$ 移动的速度和方向。通过求解常微分方程 (ODE) $dx/dt = v_t(x)$ 生成样本。
为什么 Flow Matching 越来越火?
- 路径更直 (Straighter Paths): FM 允许我们自定义概率路径。特别是 Rectified Flow 或 Optimal Transport FM,可以强制路径走直线。
- 生成更快 (Efficiency): 直线路径意味着 ODE 求解器需要的步数极少。Diffusion 可能需要 50 步,而直线路径的 FM 可能只需要 1-2 步 (One-step generation)。
- 训练更稳: 避免了某些扩散模型中复杂的 SDE 推导,目标函数简单直观(回归速度场)。
2. 核心原理 (Core Principles)
2.1 概率路径与向量场
Flow Matching 的目标是定义一个时变概率密度路径 $p_t(x)$,使得 $p_0$ 是标准正态分布,$p_1$ 是数据分布。 根据连续性方程 (Continuity Equation),必然存在一个向量场 $v_t(x)$ 生成此路径:
$$ \frac{\partial p_t(x)}{\partial t} + \nabla \cdot (p_t(x) v_t(x)) = 0 $$我们的目标就是训练一个神经网络 $v_\theta(t, x)$ 来拟合这个 $v_t(x)$。
2.2 Conditional Flow Matching (CFM)
直接计算边缘分布 $p_t(x)$ 的向量场是极其困难的(intractable)。 FM 的这篇论文提出了 Conditional Flow Matching (CFM) 技巧:
- 我们不需要通过复杂的积分去算整体的 $v_t$。
- 只需要定义基于单个数据点 $x_1$ 的条件路径 $p_t(x|x_1)$ 和对应的条件向量场 $u_t(x|x_1)$。
- Loss Function: 直接回归这个条件向量场: $$ L_{CFM}(\theta) = \mathbb{E}_{t, x_1, x} \| v_\theta(t, x) - u_t(x|x_1) \|^2 $$ 其中 $x$ 是从条件分布 $p_t(x|x_1)$ 中采样的点。
通俗理解 CFM
你不需要知道整个大部队如果移动(Marginal Vector Field),你只需要知道如果最终目标是特定的图片 A,当前的噪声应该往哪个方向走(Conditional Vector Field)。只要所有样本都学会了这种“回特定家”的能力,在推理时,模型就能处理未知的噪声。
3. Rectified Flow (校正流)
Rectified Flow 可以看作是 Flow Matching 的一种特例或一种改进策略。 它的核心思想是:“两点之间直线最短”。
- 1-Rectified Flow: 如果我们强制条件路径是从噪声 $x_0$ 到数据 $x_1$ 的直线插值: $$ x_t = t \cdot x_1 + (1-t) \cdot x_0 $$ 这就对应了一个常数速度场 $v = x_1 - x_0$。
- Reflow (Re-rectification): 即使训练了直线路径,由于是非线性神经网络拟合,生成的轨迹可能还是弯曲的。Rectified Flow 提出了一种递归训练方法(Reflow),用上一轮生成的 $(Z, X_{gen})$ 对作为下一轮的数据对,进一步“拉直”轨迹。
应用: Stable Diffusion 3 (SD3) 就采用了 Rectified Flow (RF) 加上 Transformer 架构 (DiT)。
4. Flow Matching vs Diffusion
4.1 理论关系图谱
Flow Matching 是一个更通用的框架,Diffusion Model 可以看作是其中的一种特例(路径受限为高斯路径)。
graph TD
FM[**Flow Matching**<br>通用框架:学习向量场] --> RF[**Rectified Flow**<br>路径: 直线 Straight]
FM --> DM[**Diffusion Models**<br>路径: 高斯弯曲 Curved]
RF --> SOTA[**SOTA Models**<br>Stable Diffusion 3<br>FLUX.1<br>Sora]
DM --> Classic[**Classic Models**<br>DDPM / EDM<br>SD 1.5 / SDXL]
style FM fill:#ffeb3b,stroke:#333
style RF fill:#a5d6a7,stroke:#333
style DM fill:#90caf9,stroke:#3334.2 详细对比
| 特性 | Diffusion Models (DDPM / EDM) | Flow Matching / Rectified Flow |
|---|---|---|
| 基础方程 | SDE (随机微分方程) | ODE (常微分方程) |
| 路径形态 | 弯曲 (Curved), 随机 | 趋向直线 (Straight), 确定性 |
| 采样效率 | 低 (通常需 20-50 步) | 极高 (可低至 1-5 步) |
| 连接方式 | 噪声预测 ($\epsilon$-prediction) | 速度/向量场预测 (Velocity-prediction) |
| 灵活性 | 固定前向加噪过程 (Gaussian) | 可灵活设计源和目标分布 |
| 代表模型 | SD 1.5, SDXL, DALL-E 2 | SD 3, Flux.1, Sora (推测) |
5. 关键参考文献 (References)
基础理论
- [Lipman et al. 2023] Flow Matching for Generative Modeling
- Title: Flow Matching for Generative Modeling
- Link: arXiv:2210.02747
- Note: 提出了 FM 框架和 CFM 训练目标,用 Optimal Transport (OT) 路径实现了 SOTA。
Rectified Flow 系列
[Liu et al. 2023] Flow Straight and Fast
- Title: Flow Straight and Fast: Learning to Generate with One Step
- Link: arXiv:2209.03003
- Note: 提出了 Rectified Flow 和 Reflow 操作,专注于将 ODE 轨迹拉直以实现一步生成。
[Esser et al. 2024] Scaling Rectified Flow Transformers (SD3 Paper)
- Title: Scaling Rectified Flow Transformers for High-Resolution Image Synthesis
- Link: arXiv:2403.03206
- Note: Stable Diffusion 3 的技术报告,详细阐述了如何在大规模文生图中使用 RF + DiT。
相关变体
- [Tong et al. 2023] Conditional Flow Matching
- Title: Improving and Generalizing Flow-Based Generative Models with Minibatch Optimal Transport
- Link: arXiv:2302.00482