#Flow Matching 与 Diffusion:区别、联系,以及为什么新一代生成模型越来越偏向 Flow Matching
一句话概括:Diffusion 和 Flow Matching 都是在学习“如何从噪声走到数据”,但 Diffusion 更像学习一个逐步去噪的随机过程,Flow Matching 更像直接学习一个连续时间的搬运速度场;前者从 score / denoising 传统发展而来,后者把生成过程统一成 ODE vector field learning,所以在采样、训练稳定性、路径设计和多模态扩展上更简洁。
如果再压缩一点:
Diffusion: 学会每个噪声程度下怎么去噪
Flow Matching: 学会每个时间点上样本该往哪里流
两者并不是互斥关系。很多现代生成模型里所谓的 v-prediction、rectified flow、flow matching、diffusion ODE 本质上已经非常接近。今天大家说“从 Diffusion 转向 Flow Matching”,更多不是说 Diffusion 被完全推翻了,而是说:生成模型的主流表述正在从“反向扩散 / 预测噪声”转向“学习连续速度场 / 解 ODE”。
#1. 先建立直觉:生成模型到底在做什么?
假设我们有真实数据分布 p_data,比如自然图片、视频 latent、音频、机器人动作轨迹。我们想从一个简单分布 p_noise 采样,例如高斯噪声,然后把它变成真实样本。
所以核心问题是:
如何构造一条从噪声分布到数据分布的路径,并训练神经网络沿着这条路径把样本推过去?
这件事可以有两种典型理解。
#1.1 Diffusion 的直觉:先加噪,再学会反向去噪
Diffusion 的经典做法是:
- 正向过程:把真实图片
x_0一步步加噪,得到越来越吵的x_t。 - 当
t足够大时,x_t近似高斯噪声。 - 训练一个模型,看到 noisy sample
x_t和时间t,预测应该怎么去噪。 - 采样时从纯噪声开始,反过来一步步去噪生成图片。
教学上最常见的公式是:
x_t = alpha_t * x_0 + sigma_t * ε
其中:
x_0是干净数据;ε ~ N(0, I)是高斯噪声;alpha_t随时间下降;sigma_t随时间上升;x_t是不同噪声强度下的数据。
模型可以预测噪声 ε,也可以预测干净样本 x_0,或者预测 velocity v。这些参数化形式不同,但背后都在回答同一个问题:
在当前噪声强度下,样本应该往哪个方向去,才能回到数据流形?
#1.2 Flow Matching 的直觉:直接学“从噪声到数据的速度”
Flow Matching 则从另一个角度出发。
它说:不要先把故事讲成“加噪-去噪”,我们可以直接定义一条连续路径:
x_0 ~ p_noise
x_1 ~ p_data
x_t = 某种从 x_0 到 x_1 的插值
最简单的路径就是线性插值:
x_t = (1 - t) * x_noise + t * x_data
那么从 x_noise 走到 x_data 的速度就是:
u_t = d x_t / d t = x_data - x_noise
然后训练一个神经网络 v_θ(x_t, t) 去预测这个速度:
loss = || v_θ(x_t, t) - u_t ||²
采样时,从高斯噪声 x_0 出发,解一个 ODE:
dx / dt = v_θ(x, t)
一路积分到 t = 1,就得到生成样本。
直觉上,Flow Matching 像是在学习一个流体场:每个时间点、每个空间位置,模型告诉你“这个点应该往哪里流”。
#2. 一个类比:Diffusion 像修复照片,Flow Matching 像导航路线
为了避免公式先行,可以先用两个类比。
#2.1 Diffusion:从被噪声污染的照片里逐步修复
Diffusion 的训练像这样:
- 给一张真实照片加入不同程度的噪声;
- 让模型判断这张照片里哪些部分是噪声;
- 采样时从一张全是雪花点的图开始;
- 每一步清掉一点噪声,逐渐显露出图像。
所以它的核心语义是 denoising。
#2.2 Flow Matching:从 A 城市开车到 B 城市,学习每个位置的方向盘
Flow Matching 更像:
- 起点是噪声分布;
- 终点是真实数据分布;
- 中间有一条连续道路;
- 模型学习在每个中间位置应该往哪个方向开。
所以它的核心语义是 transport / vector field。
Diffusion 问的是:
这个 noisy sample 里噪声是什么?怎么去掉?
Flow Matching 问的是:
这个 sample 在当前时间应该以什么速度移动?
#3. 从数学对象看:score、SDE、ODE、vector field
两者的联系通常会卡在几个术语上:score、SDE、ODE、vector field。先把它们拆开。
#3.1 Score 是什么?
在 score-based generative modeling 里,score 指的是:
∇_x log p_t(x)
它表示在当前噪声分布 p_t 下,密度上升最快的方向。
直觉上:如果一个点在数据分布附近,score 会告诉它往更像数据的区域移动。
Diffusion 模型经常通过 denoising score matching 来学习这个 score。预测噪声 ε 和预测 score 在许多参数化下可以互相转换。
#3.2 SDE 是什么?
SDE 是随机微分方程。Diffusion 的反向生成过程经常可以写成:
dx = drift(x, t) dt + diffusion(t) dW
其中 dW 是随机噪声项。
这说明经典扩散采样并不是纯确定性的,而是一个带随机性的反向过程。
#3.3 ODE 是什么?
ODE 是普通微分方程,没有额外随机噪声:
dx / dt = v(x, t)
同一个 diffusion 过程通常也有对应的 probability flow ODE。也就是说,哪怕训练来自 diffusion / score matching,采样时也可以用一个确定性 ODE 来生成。
这就是 Diffusion 与 Flow Matching 最重要的桥梁:
Diffusion 可以从 score / SDE 视角理解,也可以转写成 probability flow ODE;Flow Matching 则一开始就直接学习这个 ODE 的速度场。
#3.4 Vector field 是什么?
Vector field 就是每个位置对应一个方向和速度:
v_θ(x, t)
Flow Matching 训练的就是这个东西。
从这个角度看,Diffusion 的 denoiser、score network、velocity network,很多时候也都是 vector field 的不同参数化方式。
区别在于:
- Diffusion 通常从“加噪过程 + 反向去噪”推导;
- Flow Matching 通常从“分布路径 + 连续速度场”推导。
#4. 训练目标对比:预测噪声 vs 预测速度
#4.1 Diffusion 的常见训练目标
最常见的 DDPM 风格训练目标是:
x_t = alpha_t x_0 + sigma_t ε
loss = || ε - ε_θ(x_t, t) ||²
也就是让模型预测加进去的噪声。
后来也常见 x_0 prediction:
loss = || x_0 - x_θ(x_t, t) ||²
以及 v-prediction:
v = alpha_t ε - sigma_t x_0
loss = || v - v_θ(x_t, t) ||²
v-prediction 在 Stable Diffusion、Imagen Video 等系统里很常见,因为它在不同噪声水平下的数值性质更好,训练更稳定。
#4.2 Flow Matching 的训练目标
Flow Matching 的典型目标是:
x_t = ψ_t(x_0, x_1)
u_t = dψ_t(x_0, x_1) / dt
loss = || v_θ(x_t, t) - u_t ||²
这里 ψ_t 是你设计的路径,u_t 是这条路径上的真实速度。
如果用最简单的线性路径:
x_t = (1 - t) x_noise + t x_data
u_t = x_data - x_noise
模型就是直接预测从噪声点指向数据点的速度。
#4.3 二者最容易混淆的地方:v-prediction 和 Flow Matching 很像
Diffusion 里的 v-prediction 也叫 velocity prediction,但它的 velocity 通常来自特定的 diffusion noise schedule,例如:
x_t = alpha_t x_0 + sigma_t ε
对 t 求导,可以得到某种速度目标。
Flow Matching 的速度则来自更一般的 probability path:
x_t = ψ_t(x_noise, x_data)
所以可以这样理解:
Diffusion 的 v-prediction 是在特定扩散路径上的速度预测;Flow Matching 是把“预测速度场”提升成更一般的生成模型训练原则。
#5. 路径设计:Flow Matching 的关键自由度
Diffusion 里路径通常由 noise schedule 决定。你可以选择 VP、VE、sub-VP 等 SDE,也可以选择 cosine schedule、linear schedule 等,但整体语义仍然是从数据逐渐加噪到高斯。
Flow Matching 则更强调:你可以自由设计从噪声到数据的路径。
#5.1 直线路径:Rectified Flow
Rectified Flow 是最有代表性的 Flow Matching 思路之一。
它使用接近直线的路径把噪声搬运到数据:
x_t = (1 - t) z + t x
训练目标:
v_θ(x_t, t) ≈ x - z
如果学得好,采样路径会更直,ODE 积分需要的步数更少。
这就是为什么很多人说 Flow Matching 采样快:不是魔法,而是因为它鼓励生成轨迹更接近直线,减少复杂弯曲路径带来的数值积分成本。
#5.2 Optimal Transport 路径
如果噪声样本和数据样本的配对是随机的,路径可能互相交叉、效率不高。
因此一些 Flow Matching 方法会引入 Optimal Transport 视角:
能不能更聪明地配对噪声点和数据点,让整体搬运成本更低?
这样得到的路径可能更平滑、更短、更容易学习。
#5.3 Conditional Flow Matching
Conditional Flow Matching 的核心是:
- 不直接求复杂的全局边缘分布速度场;
- 而是在条件路径上构造可计算的 target velocity;
- 再通过采样训练,让模型学到整体的 marginal vector field。
这让 Flow Matching 在理论和工程上都很方便,因为目标速度可以直接算出来,不需要复杂的 score 估计。
#6. 采样过程对比:反向去噪链 vs 解 ODE
#6.1 Diffusion 采样
经典 diffusion 采样是:
x_T ~ N(0, I)
for t = T ... 1:
predict noise / score
update x_{t-1}
DDPM 早期往往需要很多步,比如 1000 步。后来 DDIM、DPM-Solver、EDM sampler 等方法把步数降到几十步甚至更少。
但从直觉上,Diffusion 给人的默认图景仍然是:一步一步反向去噪。
#6.2 Flow Matching 采样
Flow Matching 采样是解 ODE:
x_0 ~ N(0, I)
for t from 0 to 1:
dx/dt = v_θ(x, t)
实际实现中可以用 Euler、Heun、RK45、DPM-Solver 类似的 ODE solver。
如果 vector field 足够直,几步到十几步就可能得到不错结果。
#6.3 关键差别:采样时是否必须注入随机性?
Diffusion 的 SDE 版本采样通常带随机项;Flow Matching 的基本形式是确定性 ODE。
当然这不是绝对的:
- Diffusion 可以用 probability flow ODE 做确定性采样;
- Flow Matching 也可以扩展出 stochastic interpolants 或加入随机性;
- 实际系统里两者边界越来越模糊。
但工程默认心智不同:
Diffusion 默认心智:denoising Markov chain / reverse SDE
Flow Matching 默认心智:continuous normalizing flow / ODE transport
#7. 为什么现在大家越来越喜欢 Flow Matching?
这里的“大家都用”不是说所有模型都抛弃了 diffusion,而是说很多前沿生成模型,特别是图像、视频、多模态生成系统,更愿意用 Flow Matching / Rectified Flow / velocity field 的语言来设计和训练。
主要原因有六个。
#7.1 原因一:概念更统一,直接学习生成动力学
Diffusion 的术语体系比较绕:
- forward noising process;
- reverse denoising process;
- score matching;
- epsilon prediction;
- x0 prediction;
- v prediction;
- SDE / probability flow ODE;
- noise schedule。
Flow Matching 则更直接:
定义路径 -> 计算速度 -> 训练模型预测速度 -> 解 ODE 采样
这对大规模工程很重要。模型、数据、条件、模态越来越复杂时,统一成 vector field learning 会更容易扩展。
#7.2 原因二:采样路径可以更直,少步采样更自然
早期 diffusion 最大痛点是采样慢。虽然 sampler 进步很大,但 diffusion 反向轨迹本身可能比较弯,需要较多步数稳定积分。
Flow Matching / Rectified Flow 的目标之一就是让路径更直。
如果从噪声到数据的流线更直,ODE solver 用更少步数也能走得准。
这对视频生成尤其重要,因为视频 token / latent 的维度巨大,一步模型调用成本很高。采样步数从 50 降到 20、10、甚至更低,工程收益非常明显。
#7.3 原因三:训练目标数值性质好,和 velocity prediction 经验兼容
Diffusion 里的 epsilon prediction 在不同噪声水平下会遇到 loss weighting、信噪比不平衡等问题。
后来大家发现 velocity prediction 往往更稳。
Flow Matching 天然就是预测 velocity,因此继承了这类优势:
- 不同时间点的目标尺度更容易处理;
- 训练目标是简单 MSE;
- 不必显式估计 score;
- 条件路径上的 target velocity 可以直接构造。
当然,Flow Matching 仍然需要处理 time sampling、loss weighting、路径选择等问题,但整体目标更干净。
#7.4 原因四:更适合和 Transformer / 多模态 token 系统结合
现在的生成模型越来越不是单纯图像 U-Net,而是:
- latent video Transformer;
- text-conditioned multimodal Transformer;
- image / audio / action token unified model;
- world model 或 action generation model。
对于这些系统,“在连续时间上预测 token latent 的 velocity”是一个很自然的接口。
它不要求模型语义上必须是“去噪器”,而可以被看成一个一般的动态系统模型:
state at time t + condition -> velocity of state
这和 Transformer 的序列建模、条件注入、scaling law 经验更容易融合。
#7.5 原因五:路径设计给了研究者更大的优化空间
Diffusion 的路径通常被 noise schedule 限制。Flow Matching 则打开了更多问题:
- 什么路径最容易学?
- 什么路径采样最短?
- 如何做 noise-data pairing?
- 如何用 optimal transport 减少路径交叉?
- 如何在 latent space 中设计更好的 geometry?
- 如何让不同模态共享同一种 flow 表达?
这对研究很有吸引力,因为它把生成模型的瓶颈从“调 denoising schedule”拓展成“设计分布搬运几何”。
#7.6 原因六:与连续归一化流、最优传输、控制理论的语言接上了
Flow Matching 把生成模型放回了一个更广泛的框架:
- continuous normalizing flows;
- optimal transport;
- neural ODE;
- stochastic interpolants;
- control / path planning;
- Schrödinger bridge。
这使得很多理论工具更容易进入生成模型研究。
对 wenjun 关心的 LLM Agent、model-based RL、latent reasoning 来说,这点尤其有启发:
如果生成不只是“去噪”,而是“在潜空间里学习状态分布如何流动”,那它和世界模型、规划、潜空间推理之间的距离会更近。
#8. 但 Flow Matching 不是无脑更强:它也有代价
#8.1 代价一:路径太直不一定代表语义简单
线性插值在像素空间或某些 latent space 里未必语义自然。
比如两张图片的线性插值,中间状态可能是语义混合、模糊、非自然的。模型要学习这些中间态,未必总比 diffusion 的加噪路径更容易。
因此 Flow Matching 的效果很依赖 latent representation 的质量。现代系统常常在 VAE latent、video latent 或其他压缩空间里做 flow,而不是直接在像素空间做。
#8.2 代价二:noise-data pairing 会影响路径质量
如果每个噪声点随机配一个数据点,很多路径可能互相交叉,导致中间 vector field 复杂。
这会带来:
- 学习难度上升;
- ODE 轨迹变弯;
- 少步采样质量下降;
- 训练目标方差变大。
所以 OT pairing、rectification、多阶段 reflow 等方法仍然重要。
#8.3 代价三:ODE 少步采样也可能损失细节
Flow Matching 常被宣传为少步采样更快,但少步不等于免费。
如果步数太少,ODE solver 误差会导致:
- 细节糊;
- 文本对齐变差;
- 视频时序不稳定;
- high-frequency texture 不足。
因此实际系统还是要在质量、速度、guidance、solver、distillation 之间权衡。
#8.4 代价四:Diffusion 的很多经验资产仍然有用
Diffusion 时代积累了大量工程经验:
- classifier-free guidance;
- noise schedule;
- latent diffusion;
- U-Net / DiT 架构;
- v-prediction;
- distillation;
- advanced samplers;
- data curation and captioning。
Flow Matching 并没有替代这些资产,而是大量吸收了它们。
所以更准确的说法是:
Flow Matching 是 Diffusion 经验的一种重新组织和推广,而不是完全推倒重来。
#9. 和几类现代模型的关系
#9.1 Stable Diffusion / DDPM / Score-based models
这些是 diffusion 传统的代表。它们通常从 forward noising 和 reverse denoising 出发,训练预测 noise、score、x0 或 velocity。
如果用 probability flow ODE 采样,它们已经和 Flow Matching 的形式很接近。
#9.2 Rectified Flow
Rectified Flow 可以看作 Flow Matching 中特别强调“拉直路径”的路线。
它的目标是让噪声到数据的生成轨迹尽量直,从而减少采样步数。
#9.3 Consistency Models
Consistency Models 的核心是学习同一生成轨迹上不同时间点的一致映射,使得模型可以一步或少步生成。
它和 Flow Matching / Diffusion 都有关,但重点不同:
- Diffusion / Flow Matching 主要学习局部方向或去噪;
- Consistency 更强调沿轨迹的全局一致性映射。
#9.4 DiT
DiT 不是一种独立的生成理论,而是 backbone。
它可以服务于 diffusion,也可以服务于 flow matching。模型输入仍然是 noisy / interpolated latent 加时间条件,输出可以是 noise、x0、velocity 或 flow vector。
因此今天很多所谓 flow-based image / video model 仍然长得像 DiT。
#9.5 视频生成模型
视频生成特别偏向 Flow Matching / Rectified Flow 的原因很现实:
- 视频 latent 维度高;
- 每一步 Transformer 代价大;
- 长时间一致性很难;
- 少步采样收益巨大;
- 连续时间速度场更适合描述时空 latent 的演化。
所以在视频生成里,Flow Matching 的工程吸引力比图像更强。
#10. 何恺明团队在 Flow Matching 上的研究:从“多步速度场”走向“一步生成”
如果要理解为什么 Flow Matching 近两年变得重要,何恺明团队这一系列工作是一个很好的切口。它们不是简单把 diffusion 换个名字,而是在追问一个更尖锐的问题:
既然 Flow Matching 已经把生成看成从噪声到数据的速度场,那能不能不再一步步积分,而是直接学会“一步到位”的生成映射?
这条线可以概括为:
Diffusion / Flow Matching
-> 学 instantaneous velocity,采样时多步积分
MeanFlow
-> 学 average velocity,希望 1-NFE 一步生成
Improved MeanFlow / Pixel MeanFlow / Drifting
-> 解决训练稳定性、guidance、pixel-space、latent-free、一阶段训练等问题
这里的关键词是 1-NFE。NFE 是 number of function evaluations,也就是采样时调用神经网络多少次。传统 diffusion 可能需要几十次模型调用;普通 flow matching 也通常需要多步 ODE 积分;而何恺明团队关注的是:能否训练一个不依赖蒸馏、不依赖预训练、不依赖 curriculum 的模型,只调用一次网络就生成高质量样本。
这件事很关键,因为它瞄准的是生成模型最核心的工程瓶颈之一:采样成本。
#10.1 背景:Flow Matching 学的是瞬时速度,但采样需要积分
普通 Flow Matching 训练的是 instantaneous velocity:
dx / dt = v(x_t, t)
模型 v_θ(x_t, t) 告诉你:在当前时刻 t、当前位置 x_t,样本应该往哪里走。
但这只是局部速度。要从噪声走到数据,需要沿着时间积分:
x_1 = x_0 + ∫_0^1 v(x_t, t) dt
实际采样时,积分要离散成多步:
x_{t+Δt} = x_t + Δt * v_θ(x_t, t)
这就带来一个矛盾:
- Flow Matching 的理论表述很优雅;
- 但只要它仍然依赖多步 ODE solver,推理成本就仍然偏高;
- 少步采样会引入数值误差,质量容易掉;
- 如果再用 distillation 把多步模型压成一步,系统又变复杂。
何恺明团队的 MeanFlow 正是针对这个矛盾。
#10.2 Mean Flows:不要只学瞬时速度,改学“平均速度”
2025 年的 Mean Flows for One-step Generative Modeling 提出 MeanFlow。它的核心思想很直接:
普通 Flow Matching 学的是某一瞬间的速度;但一步生成真正需要的是从起点到终点这整段轨迹的平均速度。
如果一个样本从时间 r 的状态 z_r 走到时间 t 的状态 z_t,那么这段时间的 average velocity 可以写成:
u(z_t, t, r) ≈ (z_t - z_r) / (t - r)
更直观地说:
瞬时速度:这一刻往哪里走?
平均速度:从当前时刻一路走到目标时刻,整体平均应该怎么走?
如果我们能直接预测从噪声到数据的平均速度,那么一步生成就变成:
x_data ≈ x_noise + u_θ(x_noise, t=1, r=0)
也就是说,模型不再只是告诉你“下一小步怎么走”,而是直接告诉你“这一整段路平均怎么走”。
MeanFlow 的关键理论点是:它推导了 average velocity 和 instantaneous velocity 之间的恒等关系,并用这个关系来训练神经网络。论文强调它是 self-contained 的:不需要先训练一个多步 teacher,也不需要 distillation 或 curriculum learning。
从研究意义上看,MeanFlow 不是普通 Flow Matching 的小修小补,而是把目标从:
learn local vector field for ODE integration
推进到:
learn an integral / average field for one-step transport
这就是它真正有意思的地方。
#10.3 为什么 MeanFlow 重要:它把“一步生成”从蒸馏问题变成训练目标问题
在 MeanFlow 之前,一步或少步生成常见路线包括:
- 先训练一个强大的多步 diffusion / flow teacher;
- 再通过 distillation、consistency training、progressive distillation 等方法压成一步模型;
- 或者训练一个 consistency model,让同一轨迹上不同时间点保持一致。
这些路线有效,但代价是系统复杂:
- 要有 teacher;
- 训练 pipeline 更长;
- 蒸馏目标和原始生成目标之间可能有 gap;
- guidance、条件控制、采样质量都要重新调。
MeanFlow 的野心是:
不要把一步生成看成事后蒸馏,而是从一开始就训练一个适合一步生成的 flow 目标。
这对应一个很重要的范式变化:
多步模型 -> 蒸馏成一步
变成:
直接训练一步模型
论文报告 MeanFlow 从零训练,在 ImageNet 256x256 上用单次函数调用达到很强的 FID。这里具体数字会随版本和设置变化,但核心信号是:one-step diffusion/flow 不一定必须依赖强 teacher,平均速度场本身可以成为独立训练范式。
#10.4 Improved MeanFlow:MeanFlow 的第一个问题是训练目标里“自己依赖自己”
MeanFlow 很漂亮,但它也暴露出 fast-forward generative model 的新问题。
2025 年后续的 Improved Mean Flows: On the Challenges of Fastforward Generative Models 主要处理两个痛点。
第一个痛点是:原始 MeanFlow 的训练 target 不只依赖 ground-truth field,也依赖网络自身。换句话说,它不像普通监督回归那样有一个完全外部给定的 target,训练动态会更微妙,稳定性更难。
Improved MeanFlow 的处理方式是:
把目标重新写成 instantaneous velocity
v上的 loss,但用一个预测 average velocityu的网络来重参数化。
这件事听起来绕,但核心意思是:
- 网络仍然服务于 one-step average velocity;
- 训练目标则被改写得更像标准回归;
- 这样可以减少原始 MeanFlow 里 target 和网络互相纠缠带来的不稳定。
第二个痛点是 guidance。
原始 MeanFlow 中 classifier-free guidance 的 scale 在训练中相对固定,这会牺牲测试时调节 guidance scale 的灵活性。而 diffusion / flow 模型在实际使用中非常依赖 test-time guidance,比如文本图像对齐、条件强度调节等。
Improved MeanFlow 把 guidance scale 显式作为 conditioning variable,让模型在训练时见到多种 guidance 条件,并通过 in-context conditioning 处理这些条件。这样测试时就能更灵活地调 guidance。
这说明何恺明团队并不是只追一个 FID 数字,而是在把 one-step flow 变成一个完整可用的生成建模范式:
目标稳定性 + guidance 灵活性 + 从零训练 + 单步推理
#10.5 Pixel MeanFlow:从 latent 走回 pixel,挑战“必须有 VAE latent”的默认假设
现代图像生成模型常常依赖 latent space,例如 Stable Diffusion 先用 VAE 把图片压缩到 latent,再在 latent 上做 diffusion / flow。这有明显好处:
- 维度低,训练和采样便宜;
- latent 更平滑,生成模型更容易学;
- 高分辨率图像更可扩展。
但也有代价:
- VAE tokenizer 会引入信息瓶颈;
- 细节可能受 reconstruction quality 限制;
- 系统不再 self-contained;
- tokenizer / generator 的联合优化变复杂。
2026 年的 One-step Latent-free Image Generation with Pixel Mean Flows 继续推进 MeanFlow:能不能不用 latent tokenizer,直接在 pixel space 中做一步生成?
这篇工作的一个关键设计是:把网络输出空间和 loss 空间分开。
论文认为,自然图像位于低维图像流形上,所以网络直接预测的对象最好落在图像流形附近,也就是做 x-prediction;但训练 loss 又通过 MeanFlow 在 velocity space 中定义。
可以把它理解成:
网络输出:更像干净图像,贴近自然图像流形
训练约束:仍然利用 MeanFlow 的平均速度场思想
这解决了一个很实际的问题:在高维 pixel space 中直接预测 noised quantity 或 velocity 可能很难,因为这些量不在自然图像流形上;但如果网络输出的是 clean image,模型更容易利用图像的低维结构。
这条线也和何恺明团队另一篇 Back to Basics: Let Denoising Generative Models Denoise 有内在一致性:他们反复强调,生成模型不一定要预测 noise / noised quantity;预测 clean data 本身可能更符合 manifold assumption,尤其是在 raw pixel high-dimensional space 上。
所以 Pixel MeanFlow 的意义不只是“又一个一步模型”,而是挑战了两个默认假设:
- 高质量生成一定要依赖 latent tokenizer;
- diffusion / flow 网络最好预测 noise 或 velocity。
它给出的替代路线是:
pixel-space + x-prediction + MeanFlow velocity loss + one-step inference
#10.6 Drifting Models:进一步把生成看成训练时分布自身的演化
2026 年的 Generative Modeling via Drifting 又把问题往前推了一步。
普通 flow / diffusion 的心智是:
训练一个场,采样时用这个场把噪声推到数据
Drifting Models 则更强调:
训练过程中,模型诱导的 pushforward distribution 本身就在演化
它提出 drifting field,让样本移动,并在模型分布和数据分布匹配时达到 equilibrium。直觉上,这有点像把生成模型训练看成一个分布层面的动态系统:模型不是只在拟合一个固定 target,而是在优化过程中推动自己的生成分布向数据分布漂移。
这和 Flow Matching 的关系在于:二者都把生成看成 distribution transport / dynamics,但 Drifting 更进一步强调训练动态本身,而不只是采样 ODE。
从何恺明团队这几篇工作的连续性看,可以读出一个清晰的问题链:
- Flow Matching 已经把生成表述成速度场,能不能减少采样步数?
→ MeanFlow:学平均速度,直接面向一步生成。
- 平均速度目标训练起来是否稳定?guidance 是否灵活?
→ Improved MeanFlow:重写 objective,显式条件化 guidance。
- 一步生成是否必须依赖 latent tokenizer?
→ Pixel MeanFlow:在 pixel space 中分离输出空间和 loss 空间,做 latent-free one-step generation。
- 生成模型是否可以从“采样时积分”进一步变成“训练时分布漂移”?
→ Drifting Models:把 pushforward distribution 的演化放进训练范式。
#10.7 这条线和 Diffusion / Flow Matching 主线的关系
何恺明团队的工作不是简单站队 Flow Matching、反对 Diffusion。更准确地说,他们在做三件事。
第一,从 denoising 回到 manifold。
他们质疑一些 diffusion 默认设定,例如 noise conditioning 是否绝对必要、模型是否应该预测 noise / noised quantity。相关工作包括 Is Noise Conditioning Necessary for Denoising Generative Models? 和 Back to Basics: Let Denoising Generative Models Denoise。这里的核心判断是:自然数据在低维流形上,模型如果直接预测 clean data,可能比预测高维噪声量更合理。
第二,从瞬时速度回到积分效果。
普通 Flow Matching 关注 v(x_t, t),但生成质量最终取决于从噪声到数据的整体 transport。MeanFlow 用 average velocity 把目标对准“一整段路的效果”,这比单纯局部速度更接近一步生成需求。
第三,从多步采样回到 self-contained one-step model。
他们不满足于“先训练多步 teacher 再蒸馏”,而是试图从目标函数本身构造可以从零训练的一步模型。
因此,这条线真正的研究判断是:
Flow Matching 的下一步,不只是设计更好的 ODE solver,而是重新定义模型应该预测什么,使生成从多步积分问题变成直接搬运问题。
这对整个领域很有启发。因为如果 one-step flow 能稳定 scaling,那么未来生成模型的工程形态可能会发生变化:
- 推理成本大幅下降;
- 生成模型更容易作为实时交互组件;
- 视频、机器人、agent action generation 的采样延迟会降低;
- 不依赖 latent tokenizer 的 pixel-space 路线可能重新获得吸引力;
- 生成模型可能更像一个直接的 transport map,而不是一个需要反复迭代的 denoiser。
当然,这条路线也还没有完全解决所有问题。one-step 模型通常会面对更高的函数逼近难度:模型一次调用要完成原来几十步逐步修正的工作,因此对架构、数据、目标尺度、guidance 条件和训练稳定性要求更高。MeanFlow 系列的意义,正是在系统性探索这些难点。
#10.8 对 wenjun 关心问题的启发:平均速度场像不像 latent planning?
这条线对 LLM Agent / latent reasoning / model-based RL 的启发很值得单独说。
普通 Flow Matching 学的是局部 vector field:当前状态下一步往哪里走。MeanFlow 学的是一段时间上的 average velocity:从当前状态到目标状态,整体应该怎么走。
这和长程 agent 里的一个核心矛盾很像:
局部 next-action policy 容易短视;
长程任务真正需要的是跨越一段 horizon 的整体方向。
如果把生成模型里的 noise -> data 类比成 agent 里的:
初始 belief / messy state -> goal-satisfying belief / solution state
那么 instantaneous velocity 类似一步策略,而 average velocity 更像某种 horizon-level plan direction。
这当然还只是类比,不能直接等同。但它给了一个研究问题:
能不能在 latent belief space 中学习“平均推进方向”,让 agent 不只是学 next step,而是学从当前状态到目标状态的一段整体 transport?
这可能和用户关心的 model-based RL、latent-space reasoning、长轨迹 agent 训练有连接:与其在超长 token/action 轨迹上直接做稀疏 RL,不如学习某种潜空间中的分布搬运或平均动力学,再用它辅助规划和生成。
#11. 一个对照表
| 维度 | Diffusion | Flow Matching |
|---|---|---|
| 核心问题 | 如何从噪声中逐步去噪 | 如何把噪声分布连续搬运到数据分布 |
| 默认表述 | forward noising + reverse denoising | probability path + vector field |
| 常见训练目标 | 预测 noise / score / x0 / velocity | 预测路径上的 velocity |
| 采样形式 | reverse SDE / Markov chain / probability flow ODE | ODE integration |
| 随机性 | 经典形式常带随机项 | 基本形式通常确定性 |
| 路径设计 | 主要由 noise schedule 决定 | 可自由设计路径和 pairing |
| 采样速度 | 原始慢,靠 DDIM / solver / distillation 加速 | 天然适合少步 ODE,尤其配合直线路径 |
| 理论语言 | score matching, SDE, denoising | ODE, transport, vector field, CNF |
| 工程心智 | 模型是 denoiser | 模型是 dynamics / velocity field |
| 关系 | 特定路径和参数化下可转成 flow ODE | 可视作对 diffusion ODE / velocity learning 的推广 |
#12. 最核心的联系:它们都在学习同一个“从简单分布到复杂分布”的变换
不要被名字骗了。Diffusion 和 Flow Matching 的共同点非常多:
- 都从简单噪声分布开始采样;
- 都引入连续或离散时间
t; - 都训练一个条件神经网络
f_θ(x_t, t, condition); - 都可以在 latent space 中运行;
- 都可以用 classifier-free guidance;
- 都可以用 Transformer 作为 backbone;
- 都可以通过 ODE / solver 做少步采样;
- 都是在近似一个把噪声分布推到数据分布的动态过程。
如果站在非常高层的视角:
生成模型 = 学一个从 p_noise 到 p_data 的 transport map / dynamics
Diffusion 是其中一条以“加噪-去噪”为核心的路线。
Flow Matching 则更直接地把这件事抽象成“学习 transport dynamics”。
#13. 为什么这个转向重要?
我觉得 Flow Matching 重要,不只是因为它可能采样更快,而是因为它改变了我们理解生成模型的方式。
Diffusion 时代,我们经常说:
模型在学习如何去噪。
Flow Matching 时代,我们更容易说:
模型在学习数据分布的生成动力学。
这个表述变化很关键。
因为一旦生成模型被理解为 dynamics model,它就更自然地和以下问题连接:
- latent space 中能不能做规划?
- 生成轨迹能不能被控制?
- 多步 reasoning 能不能看作潜空间状态流?
- world model 是否也是一种条件 flow?
- agent action distribution 是否可以通过 flow 来建模?
- 长轨迹任务中,能不能学习从初始 belief 到目标 belief 的 flow?
这就超出了图像生成本身。
对 LLM Agent 和 model-based RL 来说,Flow Matching 的启发可能是:
与其只把模型看成 next-token predictor,不如把模型看成在某个 latent / belief space 中学习状态分布演化的 vector field。
当然这还不是成熟范式,但它提供了一种很有想象力的连接:生成、规划、控制、推理,也许可以在“学习潜空间动力学”这个层面统一。
#14. 怎么判断一个工作到底是 Diffusion 还是 Flow Matching?
可以看四个问题。
#14.1 它的路径怎么定义?
如果论文从 x_t = alpha_t x_0 + sigma_t ε、forward noising、reverse denoising 讲起,多半是 diffusion 表述。
如果从 x_t = ψ_t(x_0, x_1)、probability path、interpolation、transport 讲起,多半是 flow matching 表述。
#14.2 它的模型输出是什么?
如果输出是 ε 或 score,是典型 diffusion。
如果输出是 velocity / vector field,是 flow matching 或 diffusion v-prediction 的语言。
#14.3 它的采样器是什么?
如果是 reverse Markov chain 或 reverse SDE,是 diffusion 心智。
如果是 ODE solver 从 t=0 积到 t=1,是 flow 心智。
#14.4 它是否强调路径拉直 / optimal transport / reflow?
如果强调这些,基本就是 Flow Matching / Rectified Flow 路线。
#15. 研究判断:未来不是 Diffusion 消失,而是 Flow 语言吸收 Diffusion
我更倾向于这样判断:
- Diffusion 作为历史路线和工程资产不会消失。 许多模型仍然会保留 diffusion 的 schedule、guidance、sampler、distillation 经验。
- Flow Matching 会成为更上层的统一语言。 因为它能把 diffusion ODE、rectified flow、optimal transport、continuous normalizing flow、stochastic interpolants 放进一个框架。
- 真正的竞争点会从“预测噪声还是预测速度”转向“路径几何设计”。 哪种 latent space、哪种 interpolation、哪种 pairing、哪种 solver、哪种 conditioning 让生成轨迹最短、最稳、最可控,会成为核心问题。
- 对视频、多模态、agent 行为生成,Flow Matching 的吸引力会更强。 因为这些任务的采样成本和轨迹控制问题更突出。
- 如果和 latent reasoning / world model 结合,Flow Matching 可能不只是生成技术,而是一种潜空间动力学学习范式。
所以,“为什么现在大家都用 Flow Matching”的答案不是简单的“因为它效果更好”。更准确地说:
因为它用更统一、更直接、更可扩展的方式表达了生成模型真正要学的东西:从简单分布到复杂分布的连续动力学。
#16. 如果只记住五句话
- Diffusion 的核心是:从数据加噪,再学习反向去噪。
- Flow Matching 的核心是:定义噪声到数据的路径,直接学习路径速度场。
- Diffusion 可以通过 probability flow ODE 和 Flow Matching 联系起来;两者不是割裂关系。
- Flow Matching 流行的主要原因是:训练目标直接、路径可设计、采样可少步、适合 Transformer 和视频等大模型工程。
- 真正重要的趋势不是名字变化,而是生成模型正在从 denoising model 变成 dynamics / transport model。