1. Flow Matching 概览

从噪声到数据的连续变换 —— 一种基于连续归一化流(Continuous Normalizing Flow)的生成建模新范式

Generative Modeling Continuous Normalizing Flow Optimal Transport Probability Flow ODE

核心思想 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$ 的目标分布的连续演化过程。

展开推导 Expand

速度场 Velocity Field

速度场 $v_t(x)$ 是指导概率质量如何移动的向量场,由神经网络参数化并学习。

展开推导 Expand

连续性方程 Continuity Equation

连续性方程保证了概率质量在传输过程中的守恒性,是 Flow Matching 的理论基石。

展开推导 Expand

4. 交互演示 Interactive Demo

拖拽时间滑块,观察粒子如何在速度场的引导下从高斯噪声流向目标分布。切换不同目标分布,感受概率质量传输的过程。

Flow Matching 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