Flow Matching 的核心可以概括成一句话:先规定一条从简单噪声分布到数据分布的概率路径,再直接学习这条路径上的速度场。形式上有一个连续时间 ODE,dx_t/dt 等于 v_t(x_t)。如果把这个 ODE 从 t=0 积分到 t=1,基分布的样本就被运输到数据分布。训练时用神经网络 v_theta 拟合目标向量场 u_t,损失是随机时间 t 和路径样本 x_t 上的平方误差。
实际常讲 Conditional Flow Matching,因为边缘分布 p_t 的速度场未必容易直接计算。做法是先采一个数据端点和基分布端点,再从条件概率路径采 x_t,并计算对应的条件速度。论文给出的关键结果是,在相应条件下,条件目标与边缘 Flow Matching 目标有相同的期望梯度。因此训练时可以做普通的随机 t 回归,不需要每个 batch 都先用 ODE solver 跑完整条轨迹,这也是它训练上比较直接的原因。
这里有几类概念很容易混在一起。diffusion conditional path 是 Flow Matching 可以选择的一类概率路径,它与扩散过程有联系,但 Flow Matching 并不只等于扩散。Optimal Transport displacement path 常用端点之间的插值,轨迹可能更直,但它不等于某个扩散模型的 probability-flow ODE。Rectified Flow 同样学习运输速度,常用直线插值;它的 reflow 是用当前模型生成新的端点配对再训练,让轨迹进一步变直,不能把所有 reflow 都简单称为多轮蒸馏。
采样效率也要说条件。生成时仍然要数值积分 ODE,实际函数评估次数取决于路径曲率、求解器阶数、误差容差和网络精度。路径更直通常更容易少步求解,但 Flow Matching 不保证天然十步,更不保证单步高质量。比较模型时要固定分辨率、采样器、NFE 和算力,再看质量与延迟。
图像生成可以引用有公开论文的 rectified-flow 或 flow-matching 系统。视频则还需要时序注意力、联合噪声建模、运动条件或跨帧约束;ODE 是确定性的,也不代表每帧自然一致。对于 Midjourney 这类没有公开完整架构的产品,不能断言它使用了 Flow Matching。总结来说,Flow Matching 是一个学习概率路径速度场的统一框架,优势来自目标和路径设计,效果边界仍由采样器、模型与数据共同决定。
评测生成器时,除 FID 等总体指标,我还会固定 NFE 比较采样耗时、显存、条件遵循和多样性,并检查不同 solver 容差下结果是否稳定。只有在同一质量水平上减少函数评估,才可以把路径更直转化成真实的效率优势。
训练和推理还需使用一致的时间方向与端点定义,避免把数据端和噪声端写反。