1. Flow Matching 概览
从噪声到数据的连续变换 —— 一种基于连续归一化流(Continuous Normalizing Flow)的生成建模新范式
核心思想 Core Idea
学习一个随时间变化的速度场(velocity field),将简单先验分布(如高斯噪声)连续地变换为目标数据分布。
核心优势 Key Advantage
相比扩散模型(Diffusion),Flow Matching 允许任意概率路径,不局限于扩散过程,实现更高效的采样。
数学本质 Mathematical Essence
求解一个常微分方程(ODE):$\frac{dx}{dt} = v_t(x)$,其中 $v_t$ 是学习到的向量场,$x(0) \sim p_0$,$x(1) \sim p_1$。
2. 直觉:为什么需要 Flow Matching?
传统的扩散模型(DDPM)通过逐步添加噪声再逐步去噪来生成数据。Flow Matching 则直接从"源头"思考问题——找到一条从噪声到数据的最优路径。
扩散模型 (Diffusion)
前向过程:$x_t = \sqrt{\bar{\alpha}_t}x_0 + \sqrt{1-\bar{\alpha}_t}\epsilon$
反向过程:逐步去噪,需要多步(通常 1000 步)
⚠️ 路径固定为扩散过程,采样步骤多
Flow Matching
概率路径:$p_t(x) = \int p_t(x|z)q(z)dz$
速度场:直接学习 $v_t(x)$,ODE 一步到位
✅ 灵活选择路径,采样效率更高
核心直觉:概率质量传输 (Probability Mass Transport)
想象两团"概率质量"——一团分散在各处(噪声),一团聚集在数据区域。Flow Matching 学习一个速度场,告诉你每一点的概率质量应该往哪个方向"流动",才能从噪声分布无缝地变为数据分布。这就像流体力学中的质量守恒——只不过我们传输的是概率。
3. 数学基础 Math Foundations
Flow Matching 的数学框架建立在三个核心概念之上。点击展开以查看详细推导。
概率路径 Probability Path
概率路径 $p_t(x)$ 描述了从 $t=0$ 的先验分布到 $t=1$ 的目标分布的连续演化过程。
速度场 Velocity Field
速度场 $v_t(x)$ 是指导概率质量如何移动的向量场,由神经网络参数化并学习。
连续性方程 Continuity Equation
连续性方程保证了概率质量在传输过程中的守恒性,是 Flow Matching 的理论基石。
4. 交互演示 Interactive Demo
拖拽时间滑块,观察粒子如何在速度场的引导下从高斯噪声流向目标分布。切换不同目标分布,感受概率质量传输的过程。
控制面板
5. 训练算法 Training Algorithm
Conditional Flow Matching (CFM) 提供了一种简便而高效的训练方式,无需直接访问边缘速度场的真实值。
Conditional Flow Matching Loss
CFM 的核心损失函数,直接回归条件速度场,避免了边缘化积分的计算困难。
$$\mathcal{L}_{\text{CFM}}(\theta) = \mathbb{E}_{t,q(z),p_t(x|z)}\left[\|v_\theta(t, x) - u_t(x|z)\|^2\right]$$
其中 $z = (x_0, x_1)$,$u_t(x|z) = x_1 - x_0$ (对于 OT 路径),$v_\theta$ 是参数化的神经网络。
训练伪代码 Training Pseudocode
以下伪代码展示了 Conditional Flow Matching 的训练循环核心逻辑。
# Flow Matching Training Loop
for epoch in range(num_epochs):
for x1 in data_loader: # real data
x0 = torch.randn_like(x1) # Gaussian noise
t = torch.rand(x1.size(0)) # random timesteps
# Conditional interpolation (OT path)
xt = (1 - t[:,None]) * x0 + t[:,None] * x1
# Target conditional velocity
ut = x1 - x0
# Neural net predicts velocity
vt = velocity_net(xt, t)
# CFM loss: match predicted & target velocity
loss = F.mse_loss(vt, ut)
optimizer.zero_grad()
loss.backward()
optimizer.step()
采样过程 Sampling
训练完成后,通过求解 ODE 从先验分布中生成样本。
采样:$x(0) \sim p_0$,解 ODE $\frac{dx}{dt} = v_\theta(t, x)$
欧拉法:$x_{t+\Delta t} = x_t + v_\theta(t, x_t) \cdot \Delta t$
可以使用任意 ODE 求解器(如 Euler、Runge-Kutta、Dopri5),且通常需要比扩散模型少得多的步骤(10-100 步 vs 1000 步)。
6. 方法对比 Method Comparison
从多个维度对比 Flow Matching、扩散模型(DDPM)和连续归一化流(CNF)的核心差异与共性。
| Feature 特征 | Flow Matching | Diffusion (DDPM) | Continuous Normalizing Flow |
|---|---|---|---|
| 训练框架 Training Framework | 条件速度场回归,简单高效 | 噪声预测 / 分数匹配,需多步加噪 | 直接最大似然估计,ODE 伴随法反向传播 |
| 概率路径 Probability Path | 任意选择(OT、扩散、Schrodinger bridge) | 仅扩散过程(固定高斯转移核) | 由网络结构隐式定义 |
| 采样步骤 Sampling Steps | 10-100 步(ODE 求解器) | 通常 1000 步(SDE 离散化) | 1 步(单次前向传播) |
| 训练稳定性 Training Stability | 稳定,L2 回归,无对抗训练 | 稳定,L2 回归,无对抗训练 | 不稳定,需要伴随法,梯度可能爆炸 |
| 似然估计 Likelihood Estimation | 通过瞬时变量变换公式(ODE) | 通过 ELBO(变分下界) | 精确可计算(变量变换公式) |
| 代表性工作 Representative Work | Lipman et al. (2023), Tong et al. (2024) | Ho et al. (2020) DDPM | Chen et al. (2018) FFJORD |
注:Flow Matching 结合了扩散模型的稳定训练和 CNF 的灵活采样,成为当前生成建模领域最受关注的范式之一。
7. 应用与前沿 Applications & Frontiers
Flow Matching 正在多个领域展现其强大的生成能力,从图像到分子、从视频到物理模拟。
图像生成 Image Generation
Stable Diffusion 3 采用 Flow Matching 作为其核心生成框架,结合多模态 DiT 架构,在文本到图像生成任务上与当前最佳模型不相上下。
Stable Diffusion 3分子构象 Molecular Conformation
AlphaFold 3 利用 Flow Matching 直接生成蛋白质-配体复合物的三维结构坐标,取代了传统的离散扩散或自回归方法。
AlphaFold 3视频生成 Video Generation
Video Flow Matching (VFM) 将概率路径从空间扩展到时空域,实现连续、时间一致的高质量视频生成。
Video FM物理模拟 Physical Simulation
Scientific Machine Learning (SciML) 中,Flow Matching 被用于学习偏微分方程的解算子,加速流体力学和气候模拟。
SciML