从 SD3 到 MeanFlow 的一步生成技术路线封面

从 SD3 到 MeanFlow:一步生成是如何发生的

SD3 和 MeanFlow 是图像生成方向前后衔接的两篇论文。SD3 [1] 发表于 ICML 2024,把基于流匹配的文生图模型做到了当时最好的生成质量,但生成一张图像仍然需要几十步采样。MeanFlow [2] 发表于 NeurIPS 2025 并入选口头报告,它分析了多步采样的根本原因,指出瓶颈在于模型的学习目标本身,并把学习目标从瞬时速度改成平均速度,实现了从头训练的一步生成。本文按这条线索介绍两篇论文的核心思想和实验结果。

从 SD3 到 MeanFlow 的一步生成技术路线封面
图1|从 SD3 的瞬时速度到 MeanFlow 的区间平均速度。

封面页。图中的示意图概括了两篇论文的关系:灰色虚线表示生成轨迹,橙色短箭头表示轨迹上每一点的瞬时方向,蓝色长箭头表示从噪声到图像的整体位移。SD3 学习的是瞬时方向,MeanFlow 学习的是整体位移,这一区别解释了 MeanFlow 如何实现一步生成。

从直线插值到多步采样

生成模型将随机噪声转换为图像
图2|生成模型把随机噪声转换为图像。
图像与随机噪声之间的线性插值
图3|图像与噪声之间的线性插值。

生成模型的任务是把从高斯分布采样的随机噪声变成一张图像。一种最直接的建模方式是在图像和噪声之间做线性插值:给定图像 x 和噪声 ε,令 zₜ = (1 − t)·x + t·ε。当 t 从 0 增大到 1,图像逐渐变成纯噪声。图 3 中的五张缩略图对应这条直线上的五个位置,直线上任意一点 zₜ 都是一张部分加噪的图像。

流匹配网络学习轨迹上每一点的方向
图4|流匹配网络学习轨迹上每一点的瞬时方向。

有了这条直线,网络的学习目标就很自然:在直线上任何一点,预测指向图像的方向。对直线来说这个方向处处相同,等于 ε − x,论文中称为速度。网络输入位置 zₜ 和时刻 t,输出这个速度。这就是流匹配(Flow Matching)[3] 的训练目标,SD3 使用的修正流(Rectified Flow)也属于这一框架。

多步采样反复预测方向并更新位置
图5|多步采样需要反复预测方向并更新位置。
小步长沿曲线到达目标而大步长偏离轨迹
图6|弯曲轨迹上,大步长会沿切线偏离目标。

生成的时候沿反方向进行,这个过程称为采样:从纯噪声出发,用网络预测一个方向,沿这个方向走一小步,在新的位置重新预测、继续走,重复几十次得到图像。图 6 解释了步长必须小的原因:如果轨迹的方向在不断变化,较大的步长会让更新点沿切线方向偏离轨迹,步长越大偏离越远,所以步长和精度只能折中。这里有一个前提,就是轨迹是弯曲的。直线插值为什么会产生弯曲的轨迹,是理解 MeanFlow 的关键。

SD3 生成样例与采样步数
图7|SD3 的生成质量与 28 至 50 步采样。

SD3 就在这个框架下训练,配合一系列工程改进,包括 logit-normal 时间采样、MMDiT(Multimodal Diffusion Transformer)架构和三个文本编码器,达到了 2024 年文生图模型的最好水平,图中的样例取自 SD3 论文图 1 [1]。它的采样需要 28 到 50 步。这就出现了一个矛盾:插值路径被设计成直线,采样却仍然需要几十步。

多步采样为什么没有消失

直线插值为何仍需多步采样
图8|直线插值与多步采样之间的矛盾。
同一位置被多条训练直线穿过
图9|同一位置可能对应多条训练轨迹,网络只能输出方向的条件期望。

矛盾的答案在于训练目标和网络实际学到的东西并不相同。每个训练样本对 (x, ε) 定义一条自己的直线,而同一个位置 zₜ 会被无数条不同的直线穿过,每条直线在这里的方向都不一样。网络对同一个输入只能给出一个输出,因此它学到的是条件期望 v(zₜ, t) = E[vₜ | zₜ],也就是所有这些方向的平均值。

条件流和平均后边缘流的轨迹对比
图10|条件流逐条为直线,平均后的边缘流却会弯曲。

MeanFlow 论文的图 2 [2] 展示了取平均的后果。左图是条件流,每一条单独的轨迹都是直线;右图是取平均之后的边缘速度场,沿着这个速度场走出的轨迹是弯曲的。直线的平均不再是直线,几十步采样来自这种弯曲。

模型容量无法消除由定义造成的轨迹弯曲
图11|轨迹弯曲来自学习目标的定义,无法靠模型容量消除。

这种弯曲无法通过扩大模型来消除。MeanFlow 论文指出,弯曲来自取平均这一数学定义,与网络容量无关,因此增加参数、增加数据或改进架构都不能让轨迹变直。只要学习目标还是瞬时速度,多步采样就无法避免,若要减少采样步数,就必须改变学习目标。

MeanFlow 改变了什么

MeanFlow 从瞬时方向转向学习区间位移
图12|MeanFlow 把问题从瞬时方向改为区间位移。

MeanFlow 因此换了一个学习目标。完成生成只需要从噪声到图像的位移,中间轨迹的形状并不影响结果。网络可以放弃预测每个时刻的方向,转而预测一整段区间上的位移。图中橙色箭头表示 SD3 学习的瞬时方向,蓝色箭头表示 MeanFlow 学习的整段位移。这样一来,轨迹是否弯曲就不再影响采样。

用区间位移和时间长度定义平均速度
图13|平均速度只取决于区间位移和时间长度。

平均速度是一个日常概念。在轨迹上取两个时刻,t 表示当前时刻,r 表示目标时刻。位移等于终点减去起点,它是一个直的向量,与轨迹的弯曲程度无关。平均速度 u 等于位移除以区间长度 t − r。就像两小时行驶 120 公里,平均时速就是 60 公里,计算时不需要知道路线的形状。

SD3 与 MeanFlow 网络结构对比
图14|SD3 与 MeanFlow 的网络输入和输出对比。

落实到网络结构上,改动只有一处。SD3 和流匹配的网络是 v(z, t),输入位置和一个时刻,输出当前时刻的方向。MeanFlow 的网络是 u(z, r, t),输入位置和两个时刻,输出区间 [r, t] 上的平均速度。整篇论文唯一的结构改动就是增加了一个时间输入,后面的一切都建立在这个改动上。

MeanFlow 一次前向传播的采样公式
图15|MeanFlow 用一次前向传播完成从噪声到图像的更新。

当网络输出平均速度时,采样变得非常简单。从时刻 t 移动到时刻 r 只需要计算 zᵣ = zₜ − (t − r)·u(zₜ, r, t),一次网络前向传播加一次减法,不需要任何循环。这个区间也可以直接取到最大:令 t = 1、r = 0,一次前向传播就把纯噪声变成图像,这就是一步生成。

真实平均速度场由数据定义
图16|真实平均速度场由数据定义,网络只负责逼近。

MeanFlow 的核心观点是,学习目标在网络出现之前就已经存在。数据定义了真实的瞬时速度场 v,对 v 沿区间积分就得到真实的平均速度场 u。u 是一个固定的目标,网络的任务只是逼近它。作为对比,一致性模型(Consistency Models)[4] 对网络的行为施加约束,并没有写出应当指导学习的真实目标。回归一个由数据预先定义的目标,让 MeanFlow 的训练稳定,不需要额外的稳定化技巧。

区间位移满足可加性
图17|区间位移的可加性使一致性由定义自动成立。

真实的平均速度场还自动满足一个性质:从 t 到 r 直接走一大步,与在中间任选一个时刻 s 拆成两小步,得到的位移完全一致,因为整个区间上的积分等于两个子区间积分之和。一致性模型需要把这个性质当作训练约束来强制执行,还要配合专门设计的离散化调度。对真实的 u 来说,这个性质由定义自动成立,网络只要把 u 学好就会继承它。

平均速度如何成为可训练目标

平均速度的积分定义
图18|平均速度的积分定义仍需要沿路径累加。

不过 u 的定义带来一个新问题。按定义,平均速度是瞬时速度 v 在区间上的积分除以区间长度,而计算这个积分需要沿路径逐步累加,这又回到了采样时想避免的逐步累加,因此这个定义不能直接用作训练目标。

对平均速度积分定义求导
图19|对积分定义求导后,积分项被消去。

论文用微分解决了这个问题,分两步。第一步,等式两边同乘区间长度 t − r,左边变成位移,右边只剩积分本身。第二步,固定 r,对 t 求导,左边按乘积法则展开,右边是对积分上限求导,根据微积分基本定理,整个积分坍缩成单个值 v(zₜ, t)。求导之后,积分就从等式中消失了。

MeanFlow 恒等式
图20|MeanFlow 恒等式连接平均速度、瞬时速度和修正项。

整理后得到论文的核心结果,MeanFlow 恒等式:u(zₜ, r, t) = v(zₜ, t) − (t − r)·du/dt。等式的含义是平均速度等于瞬时速度减去一个修正项,修正项等于区间长度乘以 u 自身的变化率,反映了轨迹弯曲的影响。如果速度场在区间内不变,平均速度就等于瞬时速度。这个等式是精确的恒等式,论文附录证明了它与积分定义完全等价。

MeanFlow 恒等式中各项的计算方式
图21|恒等式右侧各项均可直接计算。

这个等式可以用于训练,因为右边每一项都能计算。u 是网络的输出,也就是训练对象。v 是已知量,等于 ε − x,与 SD3 使用的目标完全相同。导数项 du/dt 按链式法则展开为 v·∂u/∂z + ∂u/∂t,这个组合恰好对应深度学习框架中的一次 JVP(雅可比向量积)调用。右边没有任何一项需要沿路径积分。

由 MeanFlow 恒等式构造训练信号
图22|由恒等式构造训练目标,额外计算开销约为 16%。

训练目标由此得到:把恒等式右边代入网络自身的导数,得到目标值 u_tgt,损失函数让网络输出逼近这个目标。目标经过停止梯度处理,对应图中的 sg,额外的求导只增加约 16% 的计算开销,不需要二阶反向传播。该方法直接训练平均速度,不依赖预训练教师模型、蒸馏、一致性约束或课程式训练。

流匹配和 MeanFlow 的参数区域关系
图23|流匹配、Consistency Models 与 MeanFlow 的参数区域关系。

这个框架包含了原来的方法。令 r = t,区间长度为零,修正项消失,恒等式退化为 u = v,正是 SD3 使用的流匹配目标。在 (t, r) 平面上,流匹配和 SD3 对应对角线 r = t,一致性模型对应底边 r = 0,MeanFlow 覆盖整个下三角区域,一步生成对应其中的角点 u(z₁, 0, 1)。原有框架成为新框架的一个特例。

实验结果

MeanFlow 一步和两步生成的 FID 实验结果
图24|MeanFlow 在 ImageNet 256×256 上的一步与两步生成结果。

最后看实验结果。所有模型都在 ImageNet 256×256 上从头训练,数据来自 MeanFlow 论文表 2 [2]。衡量生成质量的 FID 指标数值越低越好,全称 Fréchet Inception Distance。单次前向传播的 FID 为 3.43,此前最好的一步生成模型为 10.60。两次前向传播为 2.20,已经和 DiT-XL/2 基线 [5] 用 500 次前向传播得到的 2.27 相当。采样步数减少了两个数量级,生成质量基本持平。

结语

两篇论文合起来是一条完整的线索。SD3 证明学习瞬时速度、多步采样的路线可以达到最好的生成质量。MeanFlow 证明这条路线的多步采样来自学习目标的数学定义,把目标换成平均速度,再用一个恒等式把积分定义转化成可计算的训练信号,一步生成就可以从头训练。一步生成的 FID 从此前的 10.60 降到 3.43,两步生成达到 2.20,和多步基线基本持平。

仍有几个问题未解决:一步与两步之间的质量差距还能缩小多少,平均速度框架能否扩展到文生图等更大规模的任务,以及 JVP 在更大模型上的计算开销是否可以接受。

参考文献

[1] Esser, P., Kulal, S., Blattmann, A., et al. Scaling Rectified Flow Transformers for High-Resolution Image Synthesis. ICML 2024. arXiv:2403.03206.

[2] Geng, Z., Deng, M., Bai, X., Kolter, J. Z., He, K. Mean Flows for One-step Generative Modeling. NeurIPS 2025. arXiv:2505.13447.

[3] Lipman, Y., Chen, R. T. Q., Ben-Hamu, H., Nickel, M., Le, M. Flow Matching for Generative Modeling. ICLR 2023. arXiv:2210.02747.

[4] Song, Y., Dhariwal, P., Chen, M., Sutskever, I. Consistency Models. ICML 2023. arXiv:2303.01469.

[5] Peebles, W., Xie, S. Scalable Diffusion Models with Transformers. ICCV 2023. arXiv:2212.09748.

Leave a Reply

Your email address will not be published. Required fields are marked *