跳转至

Training-Free Refinement of Flow Matching with Divergence-based Sampling

会议: ECCV2026
论文: ECCV 原文
项目: https://yeonwoo378.github.io/official_fds
领域: 图像生成
关键词: 流匹配、速度场散度、零阶搜索、推理时细化、数值求解器

一句话总结

Flow Divergence Sampler(FDS)在每次选定的求解器步之前,用速度场散度从原状态与随机邻居中选择局部速度冲突更小的状态,无需重新训练,并在 ImageNet 的 JiT-L/16 + Heun 上将 FID 从 2.713 降至 2.496,优于耗时匹配的加步数基线 2.886。

研究背景与动机

流匹配把噪声与数据之间的插值速度作为监督信号,但同一中间位置可能对应多组噪声与目标样本。网络用平方误差学习时,最优预测是这些样本级速度的条件均值。如果不同速度分别指向不同模式,这个均值可能位于模式之间,而不是指向任何一个具体目标。论文将这种局部不确定性与有限步采样中的模糊、细节缺失联系起来。

已有方法如 HRF、VRFM 会修改训练方式或网络结构,显式建模多模态速度;另一类方法增加积分步数或采用高阶求解器,减少时间离散化误差。前者不能直接复用现成的大模型,后者仍然从当前状态沿已有速度场推进。作者于是提出一个不同的干预位置:不改变网络,也不只把时间步切得更细,而是在同一时刻先挪动中间状态,让下一步从局部歧义更小的位置出发。

真正的难点是如何判断哪个邻居更可靠,因为推理时拿不到经过该位置的所有训练样本及其速度。论文用边缘速度场的散度建立这种判断的代理量。核心 idea:用冻结模型自身的空间导数估计局部速度分歧,再通过小范围随机搜索细化状态,把额外推理计算用于改变出发位置,而不只是增加积分步数。

方法详解

整体框架

FDS 接收当前状态、时间和冻结的速度预测网络,先用散度代理评价局部可靠性,再在随机扰动候选中保留较优者,最后调用原来的 Euler、Heun 等求解器推进时间。它是包在基础求解器外面的状态细化模块,不是新的训练目标,也不要求额外奖励模型。

需要区分两种移动:候选搜索发生在同一个时间点,改变的是空间位置;求解器随后从筛选后的状态向下一时刻积分。最终样本经历的是带有额外状态干预的轨迹,而非原始 ODE 的单纯高精度求解。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
        Input["当前状态与时间"] --> Signal["散度可靠性代理"]
        Signal --> Search["保留原点的局部搜索"]
        Search --> Budget["截断细化与求解器衔接"]
        Budget --> Output["下一时刻状态"]
        Output -->|尚未结束| Input

关键设计

1. 散度可靠性代理:把不可观测的速度分歧变成模型内生信号

设样本级插值速度为 \(v_t\),真实边缘速度为 \(u_t(x_t)\)。条件流匹配的最优预测等于给定中间状态时的样本级速度均值,因此即便网络训练充分,均值周围仍然可能存在不可约的分散程度。论文式(6)衡量的是这种条件均方偏差,而不是网络预测与最优速度场之间的拟合误差。

\[ \mathcal L^*_{\mathrm{CFM}}(x_t,t) =\mathbb E\!\left[\|u_t(x_t)-v_t\|^2\mid x_t\right], \qquad \widehat\delta_t(x)=\nabla_x\cdot u_\theta(x,t). \]

定理 1 在高斯先验和论文的插值日程下,将左侧真实偏差表示为真实速度场散度与已知时间系数的组合;固定时间后,可用散度比较邻近状态的偏差。实际计算时将真实场替换为预训练网络,得到右侧代理。这里的关键不是“散度越小,图像质量就必然越高”,而是它在理想场的理论关系支持下,为邻域搜索提供可计算的排序信号。

散度是速度场关于输入的 Jacobian 的迹。直接构造高维 Jacobian 太贵,因此作者采用 Hutchinson 迹估计,通过随机探针估计这个迹,不显式存储完整矩阵。它仍涉及输入导数,不能把“无需训练”理解成“只有普通前向调用”。缓存未包含附录 D 的进一步可靠性分析,也没有提供探针数量等实现细节,不能据此补齐具体估计器配置。

另一个重要边界是:理想连续流的边缘速度本来可以输运目标分布,非零条件速度方差本身不证明理想 ODE 的终点分布错误。本文把这一量用于改善学习模型和有限步采样的经验质量;这与证明所有低散度干预都保持原目标分布,是不同的命题。

2. 保留原点的局部搜索:避免对散度再求梯度

最直接的优化方式是沿散度梯度更新状态,但散度已经包含网络的一阶空间导数,再对它求梯度就涉及二阶导数。FDS 改用零阶候选搜索:给当前状态添加小幅高斯扰动,分别评价原状态和扰动状态,选择散度代理最低的一个。这样规避的是“优化代理所需的二阶导数”,不是散度评价中的一阶导数。

\[ x^{(0)}=x_t,\qquad x^{(m)}=x_t+\sigma_t\xi^{(m)},\quad \xi^{(m)}\sim\mathcal N(0,I),\quad m=1,\ldots,M, \qquad \widetilde x_t=x^{(m^*)},\quad m^*=\arg\min_{m\in\{0,\ldots,M\}}\widehat\delta_t(x^{(m)}). \]

原状态始终在候选集合里,因此当扰动没有带来更低的代理值时,可以留在原地。这里 \(M\) 是扰动候选数,实际参与比较的是 \(M+1\) 个状态;默认 \(M=1\) 并不是不做比较,而是比较一个原点和一个随机邻居。若重复 \(N\) 轮,则以前一轮筛选后的状态作为新中心。

这个保留规则只保证在当前估计值下选取较小的代理量;迹估计有随机误差,因此不能把它说成真实偏差或最终 FID 的逐步单调下降保证。扰动幅度还需要随生成过程减小,避免后期已经形成的细节被大幅移动破坏。论文从最大扰动幅度逐渐衰减到零,并通过消融比较不同日程。

3. 截断细化与求解器衔接:把预算集中在有效阶段

局部搜索完成后,基础求解器以细化状态为输入,重新按已有速度场推进下一时间步。因为这一接口不依赖 Euler 特有的更新形式,作者还将 FDS 接到 Heun、UniPC、RK4,以及 CFG-Zero* 和逆问题引导框架 TFG 上。可组合性来自干预发生在状态层,而不是替换每一种求解器内部的数值近似。

默认候选数与迭代数为 \(N=M=1\);§6.2 给出的默认最大扰动幅度为 \(\sigma_{\max}=0.01\)。图 6 采用余弦衰减,截断阈值为 \(T_{\mathrm{trunc}}=0.5\),对应消融节讨论的早期细化。增大候选数或迭代次数仍可改善指标,但很快出现边际收益递减。

必须保留原文的不一致:§3.2 写成在 \(t<T_{\mathrm{trunc}}\) 关闭 FDS,而 §6.2 明确写只在 \(t\leq T_{\mathrm{trunc}}\) 进行细化,并用图 6 支持早期干预。本笔记按 §6.2 解读消融,不把相反的两条条件合并为确定的实现规范;复现时需核对作者代码或补充材料。

一个完整示例

以图 2 的二维棋盘分布为例,某个中间状态位于通向不同目标格子的插值路径交汇处。直接使用平均速度可能让有限步求解落到两个有效格子之间。FDS 在同一时刻提出一个邻居,比较它与原点的散度;如果邻居更低,就从邻居而非原点继续积分,否则保持原状态。

图 2b 展示的是从 \(t_k=0.6\) 细化后向 \(t_{k+1}=1.0\) 推进的机制示意,不能与图 6 中主实验的早期截断配置混成同一次实验。这个例子说明为何空间选点可能改变结果,但二维可视化也不能替代高维图像模型上的代理可靠性检验。

损失函数 / 训练策略

FDS 不更新预训练网络参数,不增加微调损失,也不使用训练样本或外部奖励来决定候选。条件流匹配损失只是推导代理量的出发点,实际增加的是推理时散度评价与候选搜索。

论文 §5.2 报告,在相同基础求解器 NFE 下,FDS 的耗时约为基线的 1.5 倍。因而表 1 同时给出增加步数的耗时匹配基线;表内 NFE 不能直接解释为包含所有导数计算的总成本。具体计时过程被放在未包含于当前缓存的附录 C 和表 6 中。

实验关键数据

主实验

下表摘自原文表 1。CIFAR-10 使用 EDM,ImageNet 使用 \(256\times256\) 分辨率的 JiT;FID 越低越好。符号 † 表示作者通过增加基础求解器调用次数匹配 FDS 的实际耗时,不是与 FDS 等 NFE。

配置 NFE CIFAR-10 EDM 条件 FID CIFAR-10 EDM 无条件 FID ImageNet JiT-B/16 FID ImageNet JiT-L/16 FID
Euler 50 3.003 3.034 4.151 3.859
Euler† 77 2.515 2.550 4.061 3.857
Euler + FDS 50 2.319 2.440 3.799 3.519
Heun 99 1.904 2.021 3.637 2.713
Heun† 153 1.910 2.034 3.815 2.886
Heun + FDS 99 1.786 1.953 3.394 2.496

原文表 2 的 DrawBench 结果如下,四项分数均以越高越好解读;IR 是 ImageReward,Aes. 是 Aesthetic Predictor 分数。这里没有表 1 那样标注耗时匹配基线,不能直接据此宣称文生图等算力优势。

模型 IR HPSv2 Aes. CLIP
SD3-M 82.36 27.72 5.70 28.47
SD3-M + FDS 89.33 27.76 5.72 28.76
FLUX.1 92.95 29.37 6.18 27.33
FLUX.1 + FDS 94.63 29.39 6.14 27.46

消融实验

下表对应原文图 6c 和图 7b 的表格面板,不是另一个编号表。设置统一为 ImageNet \(256\times256\)、JiT-B/16、Euler、50 NFE。

分析项 配置 FID
无细化基线 不启用 FDS 4.151
扰动日程 余弦 3.799
扰动日程 线性 3.823
扰动日程 凹形 3.893
扰动候选数 M=1 3.799
扰动候选数 M=2 3.795
扰动候选数 M=8 3.785
扰动候选数 M=20 3.765

关键发现

  • 在 JiT-L/16 上,Heun 从 99 增至 153 NFE 的 FID 反而由 2.713 变为 2.886,而 FDS 得到 2.496。这支持“额外预算的使用位置很重要”,不意味着所有高阶求解器都已无改进空间。
  • 候选数从 1 增至 20,FID 只从 3.799 改善到 3.765,支持轻量默认配置。余弦日程也优于该设置下的线性和凹形日程。
  • 指标并非全面提升:FLUX.1 的 Aes. 从 6.18 降至 6.14;表 1 的 JiT-L/16 + Heun,IS 从 330.23 降至 329.70。论文最稳定的证据是 FID 改善,而不是所有质量维度同时改善。

亮点与洞察

  • 将模型自身导数用作候选评价,避免为每种任务训练奖励模型。理论推导提供了信号来源,而不是仅凭视觉效果设计一个经验打分器。
  • 保留原状态是很有价值的实现细节:随机扰动不是强制接受,搜索可以拒绝更差的邻居。这也说明候选数与实际比较状态数必须分开记录。
  • 耗时匹配对照比单纯等 NFE 更有说服力。由于散度计算不免费,只有将导数开销计入预算,才能判断空间细化是否值得采用。

局限与展望

  • 作者在 §6.2 承认增加候选和迭代的收益很快饱和;同时,默认配置仍有约 1.5 倍耗时开销。候选并行化是否几乎不增加延迟,取决于显存、批处理和硬件,不能视为普遍保证。
  • 从真实速度场定理转到神经网络代理,需要网络的空间导数足够可靠,仅有速度预测接近并不自动保证导数接近。笔记判断:应补充导数误差、随机迹估计方差与候选排序稳定性的高维实验。
  • 降低局部速度分歧可能改变生成分布,现有 FID 与偏好指标不能单独排除模式覆盖受损。笔记判断:精确分布保持、多样性和召回率值得单独检验。
  • 当前缓存包含正文方法、实验与分析,但不含被引用的附录 A–F。时间截断方向存在上述矛盾,式(7)的文本提取也损坏,因此不重构其精确系数,不臆造样本量、硬件、种子、文生图步数或显著性结论。

相关工作与启发

  • vs HRF / VRFM:这些方法通过训练处理多模态速度,FDS 则利用已有边缘速度场在推理时选点。表 5 的比较涉及不同模型及训练方式,不能把差距全部归因于“训练方法必然不如推理方法”。
  • vs UniPC / RK4:高阶求解器改善时间积分,FDS 先改变起始状态。原文表 4 的组合结果支持二者互补,但也应同时观察 IS 等其他指标。
  • vs 外部奖励搜索 / TFG:FDS 的排序信号来自速度场自身;TFG 提供任务约束,FDS 可以叠加。一个可检验方向是同时限制任务一致性与散度下降,防止低散度候选偏离条件目标。

评分

  • 新颖性: 4/5。将不可约速度偏差与散度联系,并用于训练自由状态搜索,贡献清楚。
  • 实验充分度: 4/5。覆盖多骨干、求解器和任务,有耗时匹配对照,但当前缓存缺少附录复现信息。
  • 写作质量: 3/5。机制叙述直观,但时间截断方向矛盾影响复现,理想流与实践退化的边界也应更明确。
  • 价值: 4/5。适合作为预训练生成模型的推理增强,但应同时核算导数开销与分布覆盖变化。