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)衡量的是这种条件均方偏差,而不是网络预测与最优速度场之间的拟合误差。
定理 1 在高斯先验和论文的插值日程下,将左侧真实偏差表示为真实速度场散度与已知时间系数的组合;固定时间后,可用散度比较邻近状态的偏差。实际计算时将真实场替换为预训练网络,得到右侧代理。这里的关键不是“散度越小,图像质量就必然越高”,而是它在理想场的理论关系支持下,为邻域搜索提供可计算的排序信号。
散度是速度场关于输入的 Jacobian 的迹。直接构造高维 Jacobian 太贵,因此作者采用 Hutchinson 迹估计,通过随机探针估计这个迹,不显式存储完整矩阵。它仍涉及输入导数,不能把“无需训练”理解成“只有普通前向调用”。缓存未包含附录 D 的进一步可靠性分析,也没有提供探针数量等实现细节,不能据此补齐具体估计器配置。
另一个重要边界是:理想连续流的边缘速度本来可以输运目标分布,非零条件速度方差本身不证明理想 ODE 的终点分布错误。本文把这一量用于改善学习模型和有限步采样的经验质量;这与证明所有低散度干预都保持原目标分布,是不同的命题。
2. 保留原点的局部搜索:避免对散度再求梯度
最直接的优化方式是沿散度梯度更新状态,但散度已经包含网络的一阶空间导数,再对它求梯度就涉及二阶导数。FDS 改用零阶候选搜索:给当前状态添加小幅高斯扰动,分别评价原状态和扰动状态,选择散度代理最低的一个。这样规避的是“优化代理所需的二阶导数”,不是散度评价中的一阶导数。
原状态始终在候选集合里,因此当扰动没有带来更低的代理值时,可以留在原地。这里 \(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。适合作为预训练生成模型的推理增强,但应同时核算导数开销与分布覆盖变化。