Flow Matching 流匹配
Flow Matching 是一类基于连续归一化流(Continuous Normalizing Flows, CNF)的生成模型训练方法。它由 Lipman et al. (2022) 在论文 "Flow Matching for Generative Modeling" 中提出,核心思想是通过一个极其简洁的回归目标来训练神经网络,使其学会一个从噪声分布到数据分布的连续变换(速度场)。相比扩散模型,Flow Matching 在数学上更直观、采样效率更高,已经成为 Stable Diffusion 3、FLUX 等前沿模型的核心训练范式。
学习路线: Normalizing Flows → Neural ODEs / CNF → Flow Matching (CFM) → Optimal Transport 路径 → Rectified Flow → 应用(SD3, FLUX)
1. 背景与动机
生成模型的演进
深度生成模型经历了几代范式的演变:
| 时期 | 模型 | 核心思想 | 主要局限 |
|---|---|---|---|
| 2013-2014 | VAE | 变分推断 + 编码器-解码器 | 生成质量偏模糊 |
| 2014-2018 | GAN | 对抗训练,生成器 vs 判别器 | 训练不稳定,模式坍缩 |
| 2020-2022 | Diffusion | 逐步加噪 → 逐步去噪 | 采样步骤多,数学复杂 |
| 2022-至今 | Flow Matching | 直接学习速度场,ODE 框架 | 理论更简洁,采样更快 |
Diffusion 模型的问题
尽管扩散模型在图像生成中取得了巨大成功,但它存在几个痛点:
- 采样速度慢:标准 DDPM 需要 1000 步采样,即便 DDIM 等加速方法也通常需要 20-50 步
- 数学框架复杂:涉及前向 SDE、反向 SDE、score function、noise schedule(\(\alpha_t, \bar{\alpha}_t, \sigma_t\))等大量术语
- 路径弯曲:扩散过程走的是一条从数据到噪声的"弯曲路径",反向采样时需要更多步骤来精确跟踪
- 设计选择多:噪声调度表的选择(线性、余弦、sigmoid 等)对生成质量影响很大,且缺乏统一理论指导
Flow Matching 的核心思想
Flow Matching 回答了一个朴素但深刻的问题:
能不能找到一条从噪声到数据的最短、最直的路径,然后直接学习沿着这条路径走的速度?
答案是可以的。Flow Matching 的做法是:
- 定义一条从噪声 \(x_0\) 到数据 \(x_1\) 的直线插值路径
- 计算沿这条路径的速度(方向 + 大小)
- 训练神经网络预测这个速度
整个训练目标简化为一个简单的均方误差回归问题,不需要 noise schedule、不需要 score matching、不需要 SDE 求解器。
2. 前置知识:Normalizing Flows
在理解 Flow Matching 之前,需要先了解两个前置概念:传统的 Normalizing Flows 和 Continuous Normalizing Flows(Neural ODEs)。
可逆变换与密度变换
Normalizing Flows 的核心思想是通过一系列可逆变换,将一个简单分布(如标准高斯)变换为一个复杂的数据分布。
设 \(z \sim p_z(z)\) 是一个简单的先验分布(例如 \(\mathcal{N}(0, I)\)),\(f\) 是一个可逆变换,数据 \(x\) 通过以下方式生成:
变量替换公式
由于 \(f\) 是可逆的,我们可以通过变量替换公式(Change of Variables)精确计算数据的概率密度:
取对数后:
这意味着只要能计算 \(f^{-1}\) 以及其 Jacobian 矩阵的行列式,就能精确计算数据的对数似然,从而进行最大似然训练。
传统 Normalizing Flows 的问题
为了让上述公式可计算,传统 Normalizing Flows(如 RealNVP, Glow, NICE)需要满足两个约束:
- 变换必须可逆:\(f\) 和 \(f^{-1}\) 都必须存在且可计算
- Jacobian 行列式必须可计算:通用方阵的行列式计算是 \(O(n^3)\) 的,因此需要特殊设计
架构受限
为了同时满足可逆性和行列式可计算性,传统 Normalizing Flows 只能使用特殊结构(如仿射耦合层、自回归变换),这严重限制了模型的表达能力。相比之下,扩散模型和 Flow Matching 可以使用任意神经网络架构(如 U-Net、DiT)。
3. 前置知识:Continuous Normalizing Flows(Neural ODEs)
从离散到连续
传统 Normalizing Flows 通过有限步可逆变换组合来实现分布变换。一个自然的想法是:如果步数趋于无穷、每步的变化趋于无穷小,会发生什么?
答案是:离散的变换序列变成了一个常微分方程(ODE)。
Neural ODE 的定义
Continuous Normalizing Flows(CNF),也称为 Neural ODEs(Chen et al., 2018),用一个向量场(速度场) \(v_\theta(x, t)\) 定义数据的连续变换:
其中:
- \(x(0) = x_0 \sim p_0\):起始分布(通常是标准高斯噪声)
- \(x(1) = x_1 \sim p_1\):目标分布(数据分布)
- \(v_\theta(x, t)\):神经网络参数化的速度场,指示在时刻 \(t\)、位置 \(x\) 处粒子应该往哪个方向、以多大速度移动
直观理解:想象空间中有无数个粒子,从噪声分布的位置出发。速度场 \(v_\theta\) 就像一个"风场",在每个位置和时刻告诉粒子应该往哪走。所有粒子从 \(t=0\) 流到 \(t=1\),就从噪声分布变换到了数据分布。
t=0 (噪声) t=1 (数据)
. . .***.
. .. . v_θ(x,t) 速度场引导 * *
. . ──────────────────────────→ * * *
. . . ODE 积分 * *
. . .***.
连续性方程
在 CNF 中,概率密度 \(p_t(x)\) 随时间的演化满足连续性方程(Continuity Equation):
这是流体力学中质量守恒的体现:概率的"总量"在变换过程中保持不变(始终积分为 1),概率密度的变化完全由速度场的散度决定。
展开散度项:
连续性方程的物理直觉
想象概率密度是一片"流体"。\(v_t(x)\) 是流速,\(\nabla \cdot v_t(x)\) 是散度。如果某个区域的速度场是"发散的"(散度 > 0),则流体从该区域流出,密度降低;如果是"汇聚的"(散度 < 0),则流体汇入该区域,密度升高。
对数密度的演化
对于 CNF,沿流线的对数密度变化可以用瞬时变量替换公式表达:
这里 \(\text{tr}\left(\frac{\partial v_\theta}{\partial x}\right)\) 是速度场 Jacobian 的迹(trace),它替代了传统 Normalizing Flows 中完整的 Jacobian 行列式计算。
CNF 的训练困难
尽管 CNF 在理论上很优雅,但直接训练存在严重的计算问题:
- 前向传播需要 ODE 求解:为了得到 \(x(1)\),需要从 \(x(0)\) 数值积分整个 ODE
- 反向传播需要通过 ODE solver 传梯度:使用 adjoint method 计算梯度,需要再解一次 ODE
- 训练代价极高:每一步训练都涉及多次 ODE 求解,且步长需要自适应调整
这些问题使得传统 CNF 在大规模数据集上几乎不可行。Flow Matching 正是为了解决这个训练困难而提出的。
4. Flow Matching 核心方法
目标:学习边际速度场
我们的最终目标是学习一个速度场 \(v_\theta(x, t)\),使得由它定义的 ODE 能够将噪声分布 \(p_0\) 变换为数据分布 \(p_1\)。
理想情况下,我们希望最小化Flow Matching(FM)目标:
其中 \(u_t(x)\) 是能够生成概率路径 \(p_t(x)\) 的真实速度场。
问题:\(u_t(x)\) 和 \(p_t(x)\) 都是未知的。我们不知道将噪声变换到数据的"真实"速度场长什么样。
关键洞察:条件 Flow Matching
Lipman et al. 的核心贡献在于证明了:我们不需要知道边际速度场 \(u_t(x)\),只需要拟合条件速度场 \(u_t(x | x_1)\) 即可。
定义条件概率路径 \(p_t(x | x_1)\):给定一个数据点 \(x_1\),从噪声到这个特定数据点的概率路径。
定义条件速度场 \(u_t(x | x_1)\):生成条件概率路径 \(p_t(x | x_1)\) 的速度场。
Conditional Flow Matching(CFM)目标:
CFM 与 FM 的等价性
Lipman et al. 证明了一个关键定理:\(\mathcal{L}_{CFM}\) 和 \(\mathcal{L}_{FM}\) 在梯度上是等价的,即 \(\nabla_\theta \mathcal{L}_{CFM} = \nabla_\theta \mathcal{L}_{FM}\)。这意味着通过最小化 CFM 目标训练得到的速度场,和直接最小化 FM 目标得到的结果是一样的。这个结论解放了我们:只需要设计简单的条件路径和条件速度场即可。
Optimal Transport 路径:最简单的选择
条件概率路径和条件速度场有无数种选择。最简单、最自然的选择是Optimal Transport(OT)路径,也称为线性插值路径。
条件概率路径(高斯形式):
其中 \(\sigma_{\min}\) 是一个很小的正数(接近 0),控制终点处的方差。
当 \(\sigma_{\min} \to 0\) 时,简化为:
- \(t = 0\):\(p_0(x | x_1) = \mathcal{N}(x; 0, I)\),即标准高斯噪声
- \(t = 1\):\(p_1(x | x_1) = \mathcal{N}(x; x_1, \sigma_{\min}^2 I) \approx \delta(x - x_1)\),几乎集中在数据点 \(x_1\) 上
条件速度场(OT 路径):
极简形式:线性插值
当 \(\sigma_{\min} \to 0\) 时,一切变得极其简洁。
插值公式:给定噪声 \(x_0 \sim \mathcal{N}(0, I)\) 和数据 \(x_1 \sim q(x_1)\),在时刻 \(t\) 的插值为:
t=0 t=0.25 t=0.5 t=0.75 t=1
噪声 x₀ ─────→──────→──────→──────→ 数据 x₁
x_t = (1-t)x₀ + tx₁,线性插值
速度:对 \(x_t\) 关于 \(t\) 求导,速度为常数:
这就是条件速度场的目标值。速度就是终点减起点,沿直线以恒定速度前进。
训练目标:
与扩散模型预测噪声的联系
在扩散模型(DDPM)中,训练目标是预测加入的噪声 \(\epsilon\):\(\| \epsilon_\theta(x_t, t) - \epsilon \|^2\)。在 Flow Matching 中,训练目标是预测速度 \(v = x_1 - x_0\)。两者都是简单的回归目标,但 Flow Matching 的目标更加直观:速度就是"数据减去噪声",指向从噪声到数据的方向。
5. 训练与采样算法
训练算法
Flow Matching 的训练过程极其简洁:
算法: Flow Matching 训练
──────────────────────────────────
输入: 数据集 D, 网络 v_θ
重复:
1. 从数据集采样 x₁ ~ q(x₁)
2. 从标准高斯采样 x₀ ~ N(0, I)
3. 从均匀分布采样 t ~ U[0, 1]
4. 计算插值: x_t = (1-t) x₀ + t x₁
5. 计算目标速度: u = x₁ - x₀
6. 计算损失: L = || v_θ(x_t, t) - u ||²
7. 反向传播,更新 θ
直到收敛
注意训练过程中完全不需要 ODE 求解器。与传统 CNF 相比,这是一个质的飞跃:
- 传统 CNF:每步训练需要求解 ODE(前向 + 反向),计算代价极高
- Flow Matching:每步训练只需要一次前向传播 + 反向传播,与训练普通回归网络无异
采样算法
训练完成后,采样需要从 \(t=0\) 到 \(t=1\) 积分 ODE \(\frac{dx}{dt} = v_\theta(x, t)\)。
Euler 方法采样(最简单):
算法: Flow Matching 采样(Euler 方法)
──────────────────────────────────
输入: 训练好的 v_θ, 步数 N
1. 采样 x₀ ~ N(0, I)
2. 设置步长 Δt = 1/N
3. for k = 0, 1, ..., N-1:
t_k = k / N
x_{k+1} = x_k + Δt · v_θ(x_k, t_k)
4. 返回 x_N 作为生成样本
高阶 ODE 求解器(更精确):
也可以使用更高阶的求解器,如 RK45(四阶五阶 Runge-Kutta)、Midpoint 方法等。高阶方法在相同步数下更精确,但每步需要多次函数评估(Network Function Evaluations, NFE)。
步数选择
由于 Flow Matching 学到的路径通常比较直(尤其是使用 OT 路径时),Euler 方法在较少步数(如 20-50 步)下就能获得不错的结果。这比扩散模型的典型采样步数要少得多。在 Rectified Flow 的进一步优化下,甚至可以减少到 1-4 步。
6. Flow Matching vs Diffusion 详细对比
框架对比
| 方面 | Diffusion (DDPM/Score-based) | Flow Matching |
|---|---|---|
| 随机过程 | SDE(随机微分方程) | ODE(常微分方程) |
| 训练目标 | 预测噪声 \(\epsilon\) 或 score \(\nabla_x \log p_t(x)\) | 预测速度 \(v = x_1 - x_0\) |
| 路径形状 | 弯曲路径(由 noise schedule 决定) | 直线路径(OT 路径) |
| 采样过程 | 反向 SDE/ODE 求解 | 前向 ODE 求解 |
| 设计选择 | noise schedule、\(\beta_t\)、参数化方式等 | 几乎没有超参数 |
| 数学复杂度 | 高(SDE、Fokker-Planck、score matching) | 低(ODE、线性插值、MSE 回归) |
| 采样步数 | 通常 20-1000 步 | 通常 10-50 步 |
路径对比的直觉
Diffusion 路径(弯曲): Flow Matching 路径(直线):
数据 x₁ . 数据 x₁ .
/ \ |
/ \ |
| | 曲线路径 | 直线路径
| | 需要更多步 | 步数更少
\ / |
\ / |
噪声 x₀ . 噪声 x₀ .
弯曲路径意味着离散化误差更大,需要更多采样步骤来保持精度。直线路径的离散化误差最小,即便用粗糙的 Euler 步也能得到较好的结果。
数学等价性
值得指出的是,Diffusion 和 Flow Matching 在一定条件下是数学等价的。具体来说:
- DDPM 的确定性采样器(DDIM)实际上在求解一个 probability flow ODE
- 如果把 Diffusion 的 noise schedule 视为一种特殊的概率路径选择,它可以被纳入 Flow Matching 的通用框架
因此,Flow Matching 可以被视为 Diffusion 的一个更通用的框架,而不仅仅是一个替代品。Diffusion 的 SDE 路径是 Flow Matching 无数种可选路径中的一种特例(但不是最优的那种)。
为什么直线路径更好
OT 直线路径的优势可以从几个角度理解:
- 离散化误差最小:直线路径的曲率为零,Euler 积分在直线上是精确的(如果速度场完美学到)
- 学习难度更低:沿直线路径的速度是常数 \(x_1 - x_0\),不随时间变化。网络只需要学习"如何根据当前位置和时间推断终点方向"
- Optimal Transport 意义:直线路径对应二次 Wasserstein 距离下的最优传输方案,是将一个分布变换为另一个分布的"最经济"方式
7. 深入理解:为什么 CFM 与 FM 等价
这一节对 CFM 等价性定理做更详细的解释。
边际速度场的构造
给定条件速度场 \(u_t(x | x_1)\) 和条件概率路径 \(p_t(x | x_1)\),边际速度场可以通过对所有数据点求期望来构造:
其中边际概率密度为:
直觉上,边际速度场是所有条件速度场按概率加权平均的结果。在位置 \(x\)、时刻 \(t\),不同数据点 \(x_1\) 对速度场的贡献按 \(p_t(x | x_1) q(x_1)\) 加权。
梯度等价性证明思路
证明 \(\nabla_\theta \mathcal{L}_{CFM} = \nabla_\theta \mathcal{L}_{FM}\) 的关键步骤如下:
- 将 \(\mathcal{L}_{FM}\) 展开为 \(\| v_\theta - u_t \|^2\),其中 \(u_t\) 是边际速度场
- 注意到展开后与 \(\theta\) 相关的交叉项为 \(-2 \, \mathbb{E}[v_\theta(x,t) \cdot u_t(x)]\)
- 将边际速度场的定义代入,利用 \(p_t(x) = \int p_t(x|x_1)q(x_1)dx_1\) 交换积分顺序
- 最终得到与 \(\mathcal{L}_{CFM}\) 相同的梯度表达式
实际意义
这个等价性意味着:训练时我们只需要为每个数据点 \(x_1\) 构造简单的条件路径和条件速度(线性插值 + 常数速度),网络自然会学到正确的边际速度场。不同数据点的条件路径可能会交叉(因为从不同噪声到不同数据点的直线可能相交),但梯度平均后网络学到的边际速度场会正确地处理这些交叉。
8. Rectified Flow:进一步拉直路径
动机
虽然 Flow Matching 使用了直线条件路径,但由于边际速度场是所有条件速度场的加权平均,实际的边际流线仍然可能是弯曲的。
考虑一个简单的例子:如果数据分布有两个模式(如两个高斯),从噪声到不同模式的直线路径会交叉。在交叉区域,速度场是两个不同方向的平均,导致实际流线弯曲绕行。
Reflow 操作
Rectified Flow(Liu et al., 2022)提出了一种迭代拉直流线的方法,称为 Reflow:
- Step 1:用标准 Flow Matching 训练一个速度场 \(v_\theta^{(1)}\)
- Step 2:用 \(v_\theta^{(1)}\) 生成配对数据。从 \(x_0 \sim p_0\) 出发,通过 ODE 积分得到 \(\hat{x}_1 = \text{ODESolve}(x_0, v_\theta^{(1)})\)
- Step 3:用新的配对 \((x_0, \hat{x}_1)\) 重新训练 Flow Matching,得到 \(v_\theta^{(2)}\)
- 重复:可以继续迭代 reflow
第1轮训练:随机配对 (x₀, x₁)
路径有交叉,边际流线弯曲
× ← 路径交叉
/ \
x₀ₐ ────/──────→ x₁ₐ
x₀ᵦ ──/────────→ x₁ᵦ
Reflow 后:配对变为 (x₀, ODESolve(x₀))
路径更少交叉,流线更直
x₀ₐ ──────────→ x₁ₐ
x₀ᵦ ──────────→ x₁ᵦ
直线路径的终极目标
经过 reflow 迭代,流线越来越直。当流线完全是直线时,一步 Euler 积分就能精确采样:
这意味着采样退化为一次前向传播,与 GAN 的采样速度相当。
Reflow 与蒸馏
Reflow 可以与知识蒸馏结合。先通过 reflow 拉直路径,再通过渐进蒸馏(progressive distillation)将多步采样压缩为 1-2 步。InstaFlow(2023)就是这种方法的一个成功案例,实现了高质量的单步图像生成。
9. 与 Score Matching 的联系
Flow Matching 和 Score-based Diffusion Models(score matching)之间存在紧密的数学联系。
Score 与速度的关系
在 Diffusion 框架中,score function 定义为:
在 Flow Matching 框架中,速度场和 score 之间的关系为:
其中 \(\mu_t\) 和 \(\sigma_t\) 分别是条件分布的均值和标准差随时间的演化。
对于 OT 路径(\(\mu_t = t x_1\), \(\sigma_t = 1-t\)):
预测目标的统一
不同的参数化方式实际上在预测不同但等价的量:
| 参数化 | 预测目标 | 关系 |
|---|---|---|
| \(\epsilon\)-prediction | 噪声 \(\epsilon = x_0\) | DDPM 标准 |
| \(v\)-prediction | 速度 \(v = x_1 - x_0\) | Flow Matching 标准 |
| \(x\)-prediction | 数据 \(x_1\) | 直接预测去噪结果 |
| score prediction | \(\nabla_x \log p_t\) | Score-based 标准 |
在 OT 路径下,这些预测目标之间可以互相转换:
10. 实际应用与影响
Stable Diffusion 3(SD3)
Stability AI 在 Stable Diffusion 3 中全面采用了 Flow Matching 训练范式,具体改进包括:
- Rectified Flow 训练:使用 OT 路径的 Flow Matching 替代传统的 DDPM 训练
- DiT 架构(MM-DiT):使用 Transformer 替代 U-Net,文本和图像 token 在同一序列中联合处理
- 采样效率提升:相比 SD 1.5/2.x,SD3 在更少的采样步数下达到更好的图像质量
FLUX
Black Forest Labs(由 Stability AI 前核心成员创办)推出的 FLUX 模型系列进一步发展了 Flow Matching + DiT 的范式:
- FLUX.1 [pro/dev/schnell]:不同配置满足不同需求
- schnell 版本:通过蒸馏实现 1-4 步生成
- 指导蒸馏(Guidance Distillation):将 classifier-free guidance 的多步过程蒸馏到更少步骤
视频生成
Flow Matching 在视频生成领域展现出巨大潜力:
- 时空一致性:ODE 框架天然适合建模时序连续变化
- 可控生成:速度场的可解释性使得条件控制更加直观
- Meta Movie Gen、Sora 等模型都采用了 Flow Matching 或类似的连续流框架
其他应用领域
- 音频生成:Voicebox(Meta)使用 Flow Matching 进行语音合成
- 蛋白质设计:FrameFlow 等方法将 Flow Matching 应用于蛋白质结构生成
- 3D 生成:Flow Matching 在点云生成、NeRF 优化等 3D 任务中的应用
- 科学计算:分子动力学模拟、气象预测等领域
11. 代码直觉:最小化 Flow Matching 实现
以下伪代码展示 Flow Matching 的核心实现,帮助理解其简洁性:
# ========== 训练 ==========
def train_step(model, x1, optimizer):
"""
model: 速度场网络 v_θ(x, t)
x1: 一个 batch 的真实数据, shape [B, D]
"""
# 1. 采样噪声和时间
x0 = torch.randn_like(x1) # 标准高斯噪声
t = torch.rand(x1.shape[0], 1) # 均匀采样 t ~ U[0,1]
# 2. 线性插值得到 x_t
xt = (1 - t) * x0 + t * x1
# 3. 目标速度 = 终点 - 起点
target = x1 - x0
# 4. 网络预测速度
pred = model(xt, t)
# 5. MSE 损失
loss = ((pred - target) ** 2).mean()
# 6. 反向传播更新
optimizer.zero_grad()
loss.backward()
optimizer.step()
return loss
# ========== 采样 ==========
def sample(model, shape, num_steps=50):
"""
从噪声采样,通过 Euler 积分生成数据
"""
x = torch.randn(shape) # x_0 ~ N(0, I)
dt = 1.0 / num_steps
for i in range(num_steps):
t = torch.full((shape[0], 1), i / num_steps)
v = model(x, t) # 预测速度
x = x + v * dt # Euler 步进
return x # 近似 x_1(生成的数据)
这是简化版本
实际工程中还需要考虑:时间 \(t\) 的编码方式(sinusoidal embedding)、条件输入(文本 embedding、类别标签)、classifier-free guidance、EMA 模型等。但核心训练循环确实就是这么简单。
12. 思考与讨论
Flow Matching 会取代 Diffusion 吗?
从实践角度来看,Flow Matching 正在逐步成为主流。SD3、FLUX 等新一代模型已经全面转向 Flow Matching。但更准确的说法是:Flow Matching 是 Diffusion 的一个自然进化,而非完全替代。
两者的关系类似于:
- Diffusion 提出了"逐步去噪"的核心范式
- Flow Matching 找到了训练这个范式的更优方法
- 底层的生成思想是一脉相承的
ODE vs SDE 的根本区别
- ODE(确定性):给定初始点,轨迹是唯一确定的。同一个噪声永远生成同一个数据
- SDE(随机性):轨迹包含随机性,同一个噪声可能生成不同的数据
SDE 的随机性有时是有用的(例如可以提升样本多样性),因此一些方法会在 Flow Matching 的 ODE 框架上加入少量随机噪声(stochastic sampling),兼取两者之长。
为什么更直的路径更好:总结
- 采样效率:直线路径使得粗糙的数值积分也能给出好结果
- 学习效率:恒定速度比随时间剧烈变化的速度更容易学习
- 理论最优:OT 路径在 Wasserstein 距离意义下是最优的传输方案
- 实用价值:路径越直,越容易通过蒸馏压缩到极少步采样
开放问题
- 最优路径的选择:OT 直线路径是否真的是所有场景下的最优选择?对于复杂的多模态分布,弯曲路径是否有时更好?
- 离散化误差的理论分析:在有限步采样下,Flow Matching 的误差界与步数的关系是什么?
- 与一致性模型(Consistency Models)的关系:Consistency Models 直接学习 ODE 轨迹上任意两点之间的映射,是否比 Rectified Flow 更高效?
- 高维空间中的 OT:在非常高维的数据空间中(如百万像素图像),线性 OT 路径是否仍然有效?条件 OT 与全局 OT 的差距有多大?
参考文献
- Lipman, Y., Chen, R. T., Ben-Hamu, H., Nickel, M., & Le, M. (2022). Flow Matching for Generative Modeling. ICLR 2023.
- Liu, X., Gong, C., & Liu, Q. (2022). Flow Straight and Fast: Learning to Generate and Transfer Data with Rectified Flow. ICLR 2023.
- Chen, R. T., Rubanova, Y., Bettencourt, J., & Duvenaud, D. (2018). Neural Ordinary Differential Equations. NeurIPS 2018.
- Albergo, M. S., & Vanden-Eijnden, E. (2022). Building Normalizing Flows with Stochastic Interpolants. ICLR 2023.
- Esser, P., Kulal, S., Blattmann, A., et al. (2024). Scaling Rectified Flow Transformers for High-Resolution Image Synthesis. (Stable Diffusion 3 技术报告)
- Tong, A., Malkin, N., Huguet, G., et al. (2023). Improving and Generalizing Flow-Based Generative Models with Minibatch Optimal Transport. TMLR 2024.