ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Flow Matching 算法简介:从 Diffusion 到连续流

2026/9/3 8:38:26 拓冰建站 浏览量
Flow Matching 算法简介:从 Diffusion 到连续流 目录一、Diffusion 留下的问题二、Flow Matching 的核心三、数学框架流、向量场与 ODE3.1 流Flow3.2 向量场Vector Field3.3 与 Diffusion 的关键区别四、Conditional Flow Matching让训练变得简单4.1 线性插值路径4.2 目标向量场两个公式五、训练目标六、采样推理过程6.1 Eluer 方法6.2 Midpoint 方法更常用6.3 与 Diffusion 对比为什么步数更少七路线演进总结本文介绍 Flow Matching 的核心原理并说明其适合用来建模连续动作分布的原因以及它是如何衔接到以为代表的一类 VLA 动作生成头中的。一、Diffusion 留下的问题ACT 用 CVAE 实现了用一个隐变量编码动作模式一次解码出 action chunkDiffusion Policy 用一串隐变量逐步去噪多模态建模能力更强。但是Diffusion 有一个明显的缺点推理速度慢。方法推理步数推理方式ACTCVAE1 步采样一次解码Diffusion PolicyDDPM10 ~ 1000 步从噪声逐步去噪Diffusion PolicyDDIM加速~ 10 步跳步去噪即使用 DDIM 加速diffusion 仍需多步迭代在实际机器人控制中每一步都要跑一次完整的神经网络前向传播非常耗时。Diffusion 需要多步的一个重要原因为 Diffusion 的前向过程带有随机性导致常见采样轨迹更像是逐步修正、逐步去噪的过程步数过少时离散化误差和建模误差很难收敛。二、Flow Matching 的核心如下图为流匹配的整体结构Flow Matching 的核心对象可以分成三类概率路径Probability Paths向量场Vector Fields流匹配损失Flow Matching Loss每一类又都有条件版本和边缘版本。首先是概率路径条件概率路径描述从初始噪声分布到单个数据点 z 的插值边缘概率路径​ 通过对数据点 z 边缘化得到描述从初始噪声分布到整个数据分布的插值。然后是向量场条件向量场是可解析计算的它让 ODE 遵循条件概率路径边缘向量场是我们真正想学习的对象因为它让 ODE 遵循边缘概率路径并最终生成数据分布。最后是损失函数边缘 Flow Matching Loss直接回归边缘向量场是我们真正想优化的目标但不可直接计算。条件 Flow Matching Loss回归条件向量场是可计算、可训练的目标。核心定理告诉我们因此二者有相同的梯度和最小化器。于是我们可以通过最小化条件 Flow Matching Loss 来学习边缘向量场。即用一个简单的监督回归任务训练出能够从噪声生成数据的向量场。详细公式推导过程参考如下链接MIT 6.S184 | 基于随机微分方程的生成式AI | 2026 | 笔记 | Lecture 2: Flow Matching_爱听歌的周童鞋-AtomGit AI 社区三、数学框架流、向量场与 ODE3.1 流FlowFlow Matching 的核心数学对象是一个流它描述了样本随时间的运动轨迹初始位置为带随机噪声的样本是最终生成的样本流把 t0 时刻的分布简单分布连续变换到 t1 时刻的分布数据分布。3.2 向量场Vector Field流的运动由一个向量场驱动向量场告诉每个点在每个时刻的速度这是一个常微分方程ODE给定初始条件沿着向量场积分就能得到完整的轨迹。符号含义从初始点 z 出发在时刻 t 的位置在时刻 t 、位置 x 处的速度向量初始分布通常是目标数据分布3.3 与 Diffusion 的关键区别Diffusion 的生成过程本质上是一个随机微分方程SDE--- 每一步都有随机噪声Flow Matching 的生成过程是一个常微分方程ODE--- 完全确定的、没有随机项。SDE有随机项dW ODE纯确定性。确定性路径意味着采样可以被表述成标准 ODE积分问题。在很多常见设定下这会带来更平滑、更可预测的采样过程并允许用较少的积分步数得到可用结果四、Conditional Flow Matching让训练变得简单直接学习一个能把整个 po 变换到 p,的全局向量场是困难的。一个关键简化是: Conditional FlowMatching(CFM)。核心思想不直接在难以显式写出的全局向量场上训练而是在更容易构造的条件概率路径上定义一个条件向量场。假设条件概率路径符合线性插值则可以把一对端点样本 () 看成这条条件路径的条件信息。想象你站在某个中间位置想知道该往哪走。全局向量场很难直接写出来但如果我们额外知道这条条件路径由哪对端点生成那么对应的条件向量场就会简单得多。在线性插值情形下甚至就是一个常向量。更进一步边际向量场可以理解为对这些条件向量场做适当平均后的结果。这样一来训练就可以转化为回归一个显式、便宜、易采样的条件目标而不必直接回归难以获得的全局目标。4.1 线性插值路径CFM最常用的选择是线性插值也叫Optimal Transport 路径符号含义从先验分布采样的噪声从数据集采样的真实样本时刻 t 的差值点这条路径的含义非常直观在 t0 时是纯噪声在 t1 时是真实数据中间是两者的线性混合。下图展示了 1D 情况下的线性插值路径。每条线连接一个噪声点左侧和一个数据点右侧中间的就是两者的线性混合4.2 目标向量场两个公式沿着线性插值路径每个点的速度是常数此为神经网络学习的目标向量场在时刻 t 、位置处速度应该是。整个 Flow Matching 的核心思想其实就是两个公式第一个公式定义了从噪声到数据的路径(线性插值)第二个公式是这条路径的导数(速度)。神经网络要学的就是这个速度-----一个从指向的向量。给定当前位置模型预测”往哪走、走多快”就能把噪声推向数据。与 Diffusion 对比Diffusion预测噪声Flow Matching预测速度差值方式非线性线性学习目标预测加入的噪声预测速度路径形状弯曲受噪声调度影响笔直线性插值线性路径是很多 Flow Matching 实现高效的一个重要原因。在常见设定下更规则的概率路径通常更容易用较少步数进行数值积分。五、训练目标和训练流程训练过程用一句话概括随机选一个时刻 t在噪声和数据之间做线性插值得到让网络预测从噪声指向数据的速度。与 Difusion 训练的对比:5.1 训练目标训练输入路径点 (x_t) 和时间 (t)训练输出网络预测速度 (v_\theta(x_t, t))训练标签真实速度 (x_1 - x_0)于是 Flow Matching 的 loss 是一个普通的 MSE 回归5.2 完整训练流程1从数据集中采样中点2从高斯采样起点3采样时间4构造路径点5构造真实速度6优化损失六、采样推理过程训练好后生成新样本的过程是求解一个 ODE 从 t0 (噪声) 积分到 t1 (数据) 得到生成结果。实际中用数值 ODE 求解器如 Euler 或 Midpoint 方法来离散化该过程。6.1 Eluer 方法最简单的数值积分把 [0,1] 分成 N 步步长逐步积分。6.2 Midpoint 方法更常用先走半步估计中点速度再用中点速度走完整步Midpoint 方法每步需要两次网络前向推理但精度更高总步数可以更少。6.3 与 Diffusion 对比为什么步数更少关键在于概率路径和采样过程的复杂度。在线性插值等常见设定下路径更规则ODE 求解器往往可以用更少步数获得可用结果。而在 diusion 的常见采样流程里逐步修正的过程通常对步数更敏感粗步长更容易带来明显质量损失因此往往需要更多步来保证精度。七路线演进总结整体技术发展路线如下所示ACTCVAE----- Diffusion Policy ------ Flow Matching -----等连续动作 VLA每一代方法都在解决上一代的核心瓶颈1ACT 解决了朴素 BC 的多模态问题但推理时放弃了多模态采样(≈0)。2Difusion Policy 恢复了真正的多模态采样但推理太慢。3Flow Matching 保持了多模态能力并在很多常见设定下减少了推理步数。这条演进线最终汇入 VLA连续动作生成不再只停留在单步回归而是逐步走向更强的分布建模。Flow Matching 是其中一种很自然的落点因为它既保留了生成式动作建模的表达力又更容易把采样过程写成少步数的 ODE 积分。以为代表的一类系统就把这种思路和视觉-语言 backbone 结合在了一起。