Hero diagram

Paper: 2606.20536 Authors: Nicolas Dufour, Alexei A. Efros, Patrick Pérez Categories: cs.CV

The Gap

Existing practice treats FID as a deterministic number: train one model, pick one seed, compute one value, call it the score. A few papers report FID over multiple samples from a fixed model, but almost nobody varies the training seed. The implicit assumption is that training noise — random initialisation, data ordering, Gaussian noise in the flow-matching loss — averages out. The authors show this assumption is false.

They train several hundred SiT networks on class-conditional ImageNet 256x256, systematically varying both training seeds and generation seeds. This lets them decompose FID variance into its sources and measure their relative magnitudes. The evidence is quantitative and exhaustive: retraining shifts FID 3.2x more than resampling from a fixed network.

[Problem]         +--  One FID number  --+    [Assumption]
  FID used as           published              Training noise
  ground truth                                  is negligible
       v                                        v
[Question]         +--  Treat FID as     --+  [Method]
  How much does          a random           Train 200+ models
  FID actually          variable           on two axes: train
  vary?                                     seeds + gen seeds
       v                                        v
[Evidence]         +--  Retrain variance 3.2x > sample variance
  400+ models          CoV ~1-2%           Count the sources
  on ImageNet                              (init, data order, noise)
       v                                        v
[Conclusion]
  No single FID number is reliable.
  Report error bars over training seeds.
  Gaps below ~1.3% CoV are inconclusive.

The Increment

One sentence: Before this paper, FID was treated as a trustworthy point estimate; after this paper, it is an unbounded random variable whose dominant variance component comes from retraining, not sampling.

Core Mechanism

The authors construct a two-axis experiment panel: the training axis and the generation axis. Along the training axis, they start from different random seeds (affecting weight initialisation, data-shuffle order, and the per-step Gaussian noise in the flow-matching loss). Along the generation axis, they draw different sets of 50,000 images from a fixed trained model.

For each cell in this grid — a specific (training seed, generation seed) pair — they compute a single FID. By collecting many cells, they can decompose the total variance: how much comes from the training axis, how much from the generation axis, and how much from their interaction.

The key operation is ANOVA-like variance decomposition on the FID values. They also introduce a practical trick: per-cell classifier-free guidance (CFG) tuning. Instead of using a fixed guidance scale λ for all training seeds, they optimise λ separately for each cell. This halves the spread and rescues the unluckiest seeds, but it reshuffles which seeds perform best.

[Training Seed] -> [SiT Model] -> [50k Samples] -> [FID]  <--  one cell
        ^               ^               ^
   random init      data order      Gaussian noise
   (seed)          (seed)          in loss (seed)

[Experiment Grid]      gen seed 1    gen seed 2  ...  gen seed 10
  train seed 1          FID_11        FID_12         FID_110
  train seed 2          FID_21        FID_22
  ...
  train seed 20         FID_201

[variance breakdown]  ->  total variance = var(train) + var(gen) + var(interaction)
                        ->  var(train) : var(gen) ~ 3.2 : 1

Think of this as a lottery with two tiers. The first tier (training seed) determines which lottery ticket you hold — your initialisation, your data order, your luck with the per-step Gaussian noise. The second tier (generation seed) determines which 50,000 tickets you scratch off from that ticket.

Most labs report the result of scratching one ticket from one ticket — a single FID. What this paper shows is that the prize pool is huge: holding a “lucky” training ticket can save you up to 2× compute to reach the same FID as an “unlucky” ticket. And changing the training ticket (retraining) moves the prize 3.2× more than scratching a different set of tickets from the same ticket (resampling).

The per-cell CFG tuning is like allowing each ticket holder to choose their own scratch-off technique. It halves the spread, but it also reshuffles which tickets pay out best — so you can no longer compare scores across different guidance scales.

Key Concepts

  • Variance Decomposition (ANOVA-style):
    Imagine you’re measuring the height of plants in a field. The total variation comes from three sources: different seed varieties (training seed), different watering schedules (generation seed), and their interaction. ANOVA splits the total into these components. Here, the “height” is FID, and the sources are training randomness and generation randomness. The paper finds that the “seed variety” factor (training seed) is 3.2× more important than the “watering” factor (generation seed). If you only water differently (resample), you don’t see the full range.

  • Coefficient of Variation (CoV):
    Standard deviation divided by mean, expressed as a percentage. If FID is 10 with a CoV of 1.5%, that means one standard deviation is 0.15 FID points. Why does this matter? If you see a paper claiming a 0.3 FID improvement over a baseline, and the CoV is 1.5%, the gap is only 2 standard deviations apart — barely significant. The authors measure CoV across models of different sizes and compute budgets, finding it stays in a 1-2% band no matter what. So a 1-2% FID gap is the noise floor.

  • Classifier-Free Guidance (CFG) Tuning:
    In conditional generation, CFG trades off diversity vs. fidelity via a scale λ. Usually λ is fixed for all experiments. This paper tunes λ per training seed to minimise FID. Why? Because different training seeds produce models with slightly different optimal λ. Fixing λ penalises the unlucky seeds. After per-cell tuning, the spread halves. But the cost is apples-to-oranges comparison: two FIDs at different λ are not on the same scale.

Framework Shift

Before (mainstream approach):
  [Train one model with one seed]
         |
    [Sample one set of 50k images with one seed]
         |
    [Compute one FID number]
         |
    [Publish as "the" score]
    [Compare to other papers' single numbers]

After (this paper's approach):
  [Train 5-10 models with different seeds]
       |           |           |
  [Optimise CFG per model] [Optimise CFG per model]
       |           |           |
  [Sample 50k images per model]
       |           |           |
  [Compute mean FID + std across models]
       |           |           |
  [Report as: FID = 10.23 +/- 0.15]
  [Declare any gap < 0.20 as inconclusive]

One sentence: From treating FID as a precise number to treating it as a random draw from a distribution with a stable ~1.3% CoV, the core shift is adopting error bars over training seeds as the minimal credible unit of evaluation.

Expert Assessment

Problem choice: This is a genuine and overdue gap. The field has been using FID as a cudgel in leaderboards and paper comparisons for years, despite widespread intuition that it’s noisy. The authors turn that intuition into measurement. It sits at the intersection of reproducibility and evaluation methodology — not flashy, but foundational. Every generative-model paper from now on should cite this.

Method maturity: The approach is simple and elegant: treat FID as a random variable and measure its variance via brute-force repetition. That’s not clever; it’s correct. An even simpler approach would be to just report the variance over training seeds without the ANOVA decomposition, but the decomposition is what makes the 3.2× finding concrete. The per-cell CFG tuning is the one clever addition. Some might argue the paper is “just a measurement” — but that measurement is what was missing.

Experimental integrity: The authors train several hundred SiT models. That’s expensive but thorough. Baselines are fair because they compare against themselves (retraining vs resampling). The choice of SiT over DiT or other architectures is reasonable for compute reasons, and the class-conditional ImageNet setting is standard. One potential red flag: all experiments use the same architecture family. Would the CoV band hold for GANs or VAEs? The paper doesn’t say. But for score-based diffusion models, the evidence is solid.

Writing quality: The paper is well-structured and the findings are presented clearly. The weakest section is the discussion of *why the CoV band is so stable across model sizes and compute budgets. They show it’s true, but the explanation is thin: “three factors (init, data order, noise) are invariant to scale.” That’s plausible but not proven. A deeper analysis of where the residual variance comes from would elevate the paper from “phenomenological” to “mechanistic.”

Verdict: Strong accept — This paper fixes a blind spot that has infected hundreds of prior evaluations. It doesn’t invent a new method; it invents a new *standard for evaluation.

Takeaways

  1. Report FID as a distribution over training seeds, not a point estimate.
    Even 5 seeds (with per-seed CFG tuning) give a mean and std that are far more informative than a single number.

  2. Adopt a 1-2% CoV as the noise floor for diffusion models on ImageNet.
    Any claimed improvement below this threshold — especially from a single run — should be treated as inconclusive.

  3. Per-seed CFG tuning is a practical cheap fix to reduce variance by ~2x.
    But don’t compare FIDs across different guidance scales; the numbers are not on the same axis.

  4. The “lucky seed” compute gap is real. If you find a good training seed, you can report the same FID with half the compute. This is an incentive to cherry-pick. The fix is to pre-commit to a set of seeds and report all results.

论文: 2606.20536 作者: Nicolas Dufour, Alexei A. Efros, Patrick Pérez 分类: cs.CV

缺口

现有的做法把FID当作一个确定值:训练一个模型,选一个种子,生成一组图片,算一个数,称之为”该模型的FID”。 少数论文会报告同一个模型多次采样的FID波动,但几乎没有人改变训练种子。 隐含的假设是:训练过程中的随机性——初始化、数据顺序、flow-matching损失中的高斯噪声——会互相抵消。 这篇论文证明这个假设是错的。

他们在class-conditional ImageNet 256x256上训练了几百个SiT网络,系统性地变化训练种子和生成种子。 这让他们能把FID的方差分解到不同来源,并测量它们的相对大小。 证据是量化的、彻底的:重新训练导致的FID变化,是同一个模型重新采样的3.2倍

[问题]              +--  一个FID数值  --+   [假设]
  FID被当作              发表出来          训练噪声可忽略
  真理                                       |
       v                                     v
[疑问]              +--  把FID当成    --+   [方法]
  FID到底有多大的           随机变量        训练200+模型
  波动?                   二维网格:      两轴:训练种子
                            训练种子 x 生成种子  和  生成种子
       v                                     v
[证据]              +--  重新训练方差是重采样方差的3.2倍
  400+模型               CoV ~1-2%        分解方差来源
  在ImageNet上                              (初始化、数据顺序、噪声)
       v                                     v
[结论]
  FID的单个数字不可靠
  报告多个训练种子的误差棒
  低于~1.3% CoV的差距在统计上无意义

增量

一句话: 这篇论文之前,FID被视为一个可信的点估计;这篇论文之后,FID是一个方差不定的随机变量,且其主导方差来自重新训练,而非重采样。

核心机制

作者构建了一个二维实验面板:训练轴生成轴。 在训练轴上,他们从不同的随机种子开始(影响权重初始化、数据打乱顺序、flow-matching损失中每一步的高斯噪声)。 在生成轴上,他们对一个固定的已训练模型,抽取不同的50,000张图像集合。

对于网格中的每个格子——即特定的(训练种子,生成种子)对——他们计算一个FID值。 通过收集大量格子,他们可以分解总方差:多少来自训练轴,多少来自生成轴,多少来自它们的交互。

核心操作是类似ANOVA的方差分解。 他们还引入了一个实用技巧:逐细胞的无分类器引导(CFG)调优。 代替对所有训练种子使用固定的引导尺度λ,他们为每个格子独立优化λ。 这使波动减半,并拯救了最不走运的种子,但也重新洗牌了哪些种子表现最好。

[训练种子] -> [SiT 模型] -> [50k 样本] -> [FID]  <--  一个格子
        ^               ^               ^
   随机初始化        数据顺序       损失中的
   (种子)          (种子)         高斯噪声(种子)

[实验网格]         生成种子1   生成种子2  ...  生成种子10
  训练种子1          FID_11      FID_12         FID_110
  训练种子2          FID_21      FID_22
  ...
  训练种子20         FID_201

[方差分解]  ->  总方差 = 训练方差 + 生成方差 + 交互方差
             ->  训练方差 : 生成方差 ~ 3.2 : 1

可以把这想象成一个双层彩票。 第一层(训练种子)决定你拿到哪张彩票——你的初始化、你的数据顺序、你的每一步高斯噪声运气。 第二层(生成种子)决定你从这张彩票上刮开哪50,000个号码。

大多数实验室报告的是从一张彩票上刮一个号码的结果——一个单一的FID。 这篇论文表明,奖池巨大:拿到一张”幸运”的训练彩票,可以让你用少至一半的计算量达到和”倒霉”彩票相同的FID。 而且,换一张训练彩票(重新训练)带来的数值变化,是从同一张彩票上刮不同号码(重采样)的3.2倍

逐细胞CFG调优就像允许每个彩票持有者选择自己的刮奖姿势。 它使波动减半,但也重新洗牌了哪些彩票中奖——所以你不能再比较不同引导尺度下的FID分数了。

关键概念

  • 方差分解(类似ANOVA): 想象你在测量田里植物的高度。 总变异来自三个来源:不同的种子品种(训练种子)、不同的浇水方案(生成种子)、以及它们的交互。 ANOVA把总和拆成这些分量。 在这里,“高度”是FID,来源是训练随机性和生成随机性。 论文发现”种子品种”因素(训练种子)的重要性是”浇水”因素(生成种子)的3.2倍。 如果你只改变浇水(重采样),你看不到完整的波动范围。

  • 变异系数(CoV): 标准差除以均值,用百分比表示。 如果FID是10,CoV是1.5%,意味着一个标准差是0.15个FID点。 这有什么要紧? 如果你看到一篇论文声称比基线好了0.3个FID点,而CoV是1.5%,那这个差距只有2个标准差——几乎没有统计显著性。 作者测量了不同模型大小和不同计算预算下的CoV,发现它始终保持在1-2%的区间内,不受规模影响。 所以,1-2%的FID差距就是噪声底限。

  • 无分类器引导(CFG)调优: 在条件生成中,CFG通过一个尺度λ来权衡多样性与保真度。 通常λ对所有实验固定。 这篇论文为每个训练种子独立调优λ以最小化FID。 为什么? 因为不同的训练种子产生的模型,其最优λ略有不同。 固定λ会惩罚那些不走运的种子。 经过逐细胞调优后,波动减半。 但代价是”苹果对橙子”的比较:不同λ下的FID不在同一尺度上。

框架转变

之前(主流方法):
  [训练一个模型,用一个种子]
         |
  [采样一组50k图像,用一个种子]
         |
  [计算一个FID数值]
         |
  [以"该模型的分数"发表]
  [与其他论文的单个数字比较]

之后(本文方法):
  [训练5-10个模型,用不同种子]
       |           |           |
  [为每个模型优化CFG]
       |           |           |
  [为每个模型采样50k图像]
       |           |           |
  [计算多个模型的均值+标准差]
       |           |           |
  [报告为:FID = 10.23 +/- 0.15]
  [声称任何 < 0.20 的差距为无意义]

一句话: 从把FID当作精确数字,到把它当作从一个具有稳定~1.3% CoV的分布中的随机抽样,核心转变是采用基于多个训练种子的误差棒作为评估的最小可信单元。

专家评审

选题眼光: 这是一个真实而迟到的问题。 该领域多年来一直把FID当作排行榜和论文比较中的大棒,尽管几乎人人都直觉它很嘈杂。 作者把这种直觉变成了测量。 它处于可重复性和评估方法学的交叉点——不花哨,但基础。 从现在开始,每篇生成模型的论文都应该引用它。

方法成熟度: 方法简单而优雅:把FID当随机变量,通过暴力重复测量方差。 这不巧妙,但正确。 一个更简单的做法是只报告训练种子的方差而不做ANOVA分解,但分解使得3.2倍这个发现变得具体。 逐细胞CFG调优是唯一的巧妙之处。 有人会说这篇论文”只是测量”——但正是这个测量是缺失的。

实验诚意: 作者训练了几百个SiT模型。 这很昂贵但很彻底。 基线是公平的,因为他们和自己比较(重新训练 vs 重采样)。 选择SiT而非DiT或其他架构是出于计算考虑,class-conditional ImageNet是标准设置。 一个潜在的红旗:所有实验使用同一种架构族。 CoV区间对GAN或VAE是否成立? 论文没有说。 但对基于分数的扩散模型,证据是扎实的。

写作功力: 论文结构清晰,发现表达明确。 最弱的段落是关于”为什么CoV区间在模型大小和计算预算下如此稳定”的讨论。 他们展示了它是真的,但解释很薄弱:“三个因素(初始化、数据顺序、噪声)与规模无关。” 这有道理但未被证明。 对残余方差来源做更深入分析,能将论文从”现象学”提升到”机制学”。

判决: 强接收 — 这篇论文修复了一个污染了数百个先前评估的盲点。 它没有发明新方法;它发明了一种新的评估标准

要点总结

  1. 将FID报告为多个训练种子上的分布,而非点估计。 即使是5个种子(配合逐种子CFG调优),给出的均值和标准差也比单个数字有信息量得多。

  2. 采用1-2% CoV作为ImageNet上扩散模型的噪声底限。 任何低于此阈值的改进——尤其是单次运行的结果——应被视为无意义。

  3. 逐种子CFG调优是一种实用的低成本降噪手段,可将波动减半。 但不要比较不同引导尺度下的FID;数字不在同一量轴上。

  4. “幸运种子”节省计算量的差距是真实存在的。 如果你找到了一个好的训练种子,你可以用一半的计算量报告相同的FID。这鼓励了选择性报告。解决方法是预先承诺一组种子并报告所有结果。