Representation Fréchet Loss for Visual Generation
Paper: arXiv:2604.28190 Code: Jiawei-Yang/FD-Loss Code reference:
main@5c03b811(2026-04-30)
1. Motivation (研究动机)
这篇论文要解决的问题很具体: 把长期只作为 evaluation metric 的 Fréchet Distance(FD / FID)变成一个可训练、可扩展、可在真实视觉生成器上稳定优化的 post-training loss。传统生成模型社区几乎一直在“间接优化”FID: 训练目标通常是 diffusion / flow / consistency / distillation / adversarial loss。FID 只在训练后或 checkpoint selection 时评估。模型改进被称为 FID 更低,但梯度并不来自 FID 本身。这造成评价与优化目标之间存在断层。理论上,FD 本身是可微的: 它只依赖特征均值。它只依赖特征协方差。
它包含矩阵平方根与 trace 项。这些运算原则上可以被 autograd 处理。实践上,FD 一直被认为不适合作为 loss: 可靠估计生成分布需要大 population。FID 标准评估通常使用 50,000 generated samples。一个训练 mini-batch 通常只有 64 到 1024。小 batch 估计均值和协方差会高度 noisy。高维特征空间(例如 Inception 2048 dim)尤其依赖大样本协方差。如果直接对 50k 样本反传,代价又不可接受: 需要在每个训练 step 生成大量图像。需要保存所有样本的 forward activation。需要让协方差与矩阵平方根对全部样本保留梯度。
对现有 image generator 几乎不可用。因此以往 FD-as-loss 相关工作通常只能退化到 batch-wise FD: 当前 batch 上估计分布。当前 batch 上计算 FD。当前 batch 上反传。论文实验证明这种做法会损坏 base generator。这篇论文的核心动机不是提出又一个 sample-wise perceptual loss。它真正关心的是 distribution-level objective 是否也能成为 practical training objective。这个问题值得研究,因为它一旦成立,会带来三个直接收益: 可以把 FID / FD 从“裁判”变成“训练信号”。
可以给 one-step generator 一个不依赖 teacher 的 post-training 目标。可以用不同 representation spaces 诊断 FID 的 blind spots。该论文还抓住了一个更大的评估悖论: 按 Inception FID 看,很多 ImageNet generators 已经接近甚至超过 validation images。但人眼仍然能明显区分 generated images 与真实 validation images。这说明单一 Inception feature space 已经不再足以代表 perceptual quality。
作者的目标可以概括为两层: 训练层:让 FD 在 representation space 内可直接优化。 评估层:说明单一 FID 会误判视觉质量,并提出多 representation 的 FDr。 与普通加速 / 蒸馏论文不同,本工作没有把 teacher distillation 作为必要条件。 它希望证明: 只要 distribution matching 目标足够稳定。 只要 representation space 足够有效。 已有 multi-step generator 也可以被 repurpose 成 1-NFE generator。 这也是它被放在 “Acceleration & Distillation” 类别下的原因: 它不是典型 teacher-student distillation。 但它能把多步模型转成一步模型。 它用 FD-loss 作为替代的 post-training / repurposing objective。
2. Idea (核心思想)
核心 insight 很简单: FD-loss 的统计 population size 和梯度 optimization batch size 不必相同。作者把两件过去被绑定的事情解耦: 用大 population 估计生成分布统计量。只让当前 mini-batch 承担梯度计算。这使得 FD 可以同时具备: evaluation-scale 的统计稳定性。mini-batch-scale 的训练开销。online post-training 的可实现性。论文中有两个 estimator: Queue-based estimator:维护最近生成样本的 feature queue。EMA-based estimator:维护特征一阶矩与二阶矩的指数滑动平均。
这两个 estimator 共享同一个原则: 旧 feature / 旧统计量参与 FD 估计。旧 feature / 旧统计量不参与梯度。当前 batch feature 参与 FD 估计。当前 batch feature 保留梯度。方法的新意不在 FD 公式本身。FD 公式是标准的 Fréchet distance。方法的新意在于把 FD 的“估计窗口”做大,同时把“反传窗口”保持小。这和 MoCo 的 feature queue、BatchNorm 的 EMA 有相似直觉: 当前 batch 不能代表完整分布。但可以通过 memory / running statistics 获得更稳定的全局视角。只要把旧统计量 detach,就不会让反传成本爆炸。
与 existing methods 的差异: 与 batch-wise FD loss 相比,它不用当前 batch 独立估计协方差。与 adversarial training 相比,它不训练 discriminator。与 distillation 相比,它不需要 per-sample teacher target。与 diffusion consistency / rectification 相比,它不是约束轨迹或 score,而是直接匹配生成分布的 feature Gaussian。第二个 insight 是 representation matters: Inception feature space 优化后可以显著降低 FID。
但现代 ViT / vision-language representation 往往给出更好视觉质量。这暴露了 FID 与 perceptual quality 的不一致。因此作者提出 FDr: 先在每个 representation model 下计算 generated-vs-train FD。再除以 validation-vs-train FD 得到 normalized FD ratio。最后跨多个 representation 平均。FDr 的解释非常直观: validation images 的 FDr 定义为 1。
如果某 generator 的 FDr 为 2,表示它在该 representation 下距离 training distribution 是 validation gap 的 2 倍。比单一 FID 更难被单个 feature extractor 的偏差主导。整体贡献可以总结为三句话: FD-loss 使 FD 第一次在大规模视觉生成 post-training 中成为实用 loss。同一 loss 可以改进 one-step generators,也可以 repurpose multi-step generators。FDr 揭示了 FID 已经接近饱和,并给出更 representation-diverse 的自动评价。
3. Method (方法)
3.1 Overall framework

Figure 1 解读(paper Figure 2):图中展示了 FD-loss 的关键结构。Generator 每个 step 只产生一个普通 batch 的图像;图像经过 frozen representation model 得到 features;这些 features 被写入 queue 或 EMA estimator;FD 在大 population statistics 上计算,但反传只穿过当前 batch。该图最重要的是“Population”和“Batch”被拆开:population 用于稳定估计,batch 用于可负担优化。
给定 frozen representation model : real images 的 reference statistics 预先离线计算。 generated images 的 statistics 在训练中在线估计。 generator 参数只通过 generated current batch 的 features 接收梯度。 真实数据在 post-training 期间不需要反复加载: 先用 real dataset 计算 。 再用 real dataset 计算 。 训练时只读取这些 reference stats。 这让 FD-loss 更像 distributional regularizer,而不是 paired supervision。 标准 FD 定义为: 其中: 是真实图像集合。 是生成图像集合。 是 real features 的均值与协方差。 是 generated features 的均值与协方差。 是 frozen feature extractor。 当 是 Inception-v3 时,这个 FD 就是 FID。 当 是 MAE / DINOv2 / SigLIP2 / CLIP / ConvNeXt 等模型时,它就是 representation-specific FD。
3.2 Queue-based FD estimator
Queue estimator 用一个 feature queue 表示最近生成样本的 population。每个训练 step: generator 采样噪声 和类别 。生成当前 batch 图像 。frozen 提取当前 batch features。across GPUs 使用 differentiable all-gather 聚合当前 batch features。queue 中旧 features 与当前 features 一起估计 。FD-loss 反传时只有当前 features 有梯度。当前 features detach 后再写入 queue。
这个 estimator 的关键是 stop-gradient 边界: queue 里历史 features 不反传。当前 batch features 反传。统计上看到了大窗口。优化上只付当前 batch 的成本。如果 queue size 太小: 统计估计接近 batch-wise FD。协方差估计 noisy。训练可能把 base generator 变差。如果 queue size 太大: queue 内 features 变 stale。旧 generator distribution 与当前 generator distribution 不一致。FD 估计虽然稳定但 off-policy。
Table 1a 的 500k queue 就出现 FID / FDr 分歧。Queue version 的优点: 直观。可解释。明确控制 effective population size。Queue version 的缺点: 多 representation 时要存多个 feature buffers。高维 feature + 大 queue 会占显存 / 内存。queue 越大越容易 stale。
3.3 EMA-based FD estimator
EMA estimator 不保存完整 feature queue。 它维护两个 running statistics: feature mean 。 feature second moment 。 当前 batch 的 moments 为: EMA 更新为: 再恢复协方差: 这里 表示 stop-gradient。 因此: 历史 EMA 统计量提供大窗口估计。 当前 batch moments 提供梯度。 控制 effective population / smoothing window。 论文 Table 1b 发现: 已经大幅改善。 更好。 最优并成为默认设置。 反而开始变 stale。 Released code 的默认 final scripts 也使用 EMA:
--fd_ema_beta 0.999 --fd_eigvalsh --num_sampling_steps 1 --steps_per_epoch 1250 EMA version 是最终实验的主力: 它不需要 clone 50k queue。 多 representation 更容易扩展。 warm-start 后从第一步就有合理 statistics。
3.4 Multi-representation FD-loss
单一 representation 的 FD 有明显 bias。 例如: Inception 对 FID 最敏感。 MAE 对结构和重建相关信息更敏感。 SigLIP2 对 semantic / vision-language alignment 更敏感。 DINOv2 对 self-supervised visual semantics 更敏感。 论文把多个 representation losses 合成一个 normalized objective:
这和 released code 中 fid_loss = fid / (fid.detach() + fid_norm_eps) 对应。 这样做的原因: 不同 representation 的 raw FD 量级相差很大。 直接相加会让大数值 feature space 主导训练。 用 stop-gradient denominator 只归一化 loss scale。 不改变当前 FD 对 generator 的梯度方向。 论文中最重要的组合是 FD-SIM: SigLIP2。 Inception-v3。 MAE。 这个组合在 FID 和 FDr 之间取得折中:
Inception 保留 FID 竞争力。 SigLIP2 / MAE 改善 broader representation quality。 三者结合优于只优化 Inception 或单个现代 representation。

Figure 2 解读(paper Table 1):这个表同时说明三个设计点。第一,batch-only FD(0k)会让 pMF-B 从 FID 3.31 退化到 3.84,证明大 population 不是可选项。第二,queue size 从 5k 到 50k 持续改善,50k 达到 FID 0.89,但 500k 因 stale statistics 使 FDr 变差。第三,representation choice 决定优化方向:Inception 最会降低 FID,SigLIP / MAE 更会降低 FDr,FD-SIM 在两者之间取得更好平衡。

Figure 3 解读(paper Figure 4):这张图用样本直观展示“低 FID 不等于最好视觉质量”。Inception post-training 的 FID 最低,但现代 representation post-training 的物体结构和语义一致性更好。图中的暗绿色代表更低 FID,暗黄色代表更低 FDr;不同颜色趋势不一致正是论文提出 FDr 的动机。
3.5 FDr: normalized Fréchet Distance Ratio
FDr 不是训练 loss 的必要组成。 它是论文提出的 evaluation metric。 对于某个 representation ,定义: 其中: 是训练集图像。 是验证集图像。 是生成图像集合。 validation images 的 被归一化为 1。 多 representation 版本为: 论文默认 :
Inception-v3。 ConvNeXt-v2。 DINOv2。 MAE。 SigLIP2。 CLIP。

Figure 4 解读(paper Figure 3):左图用 FID 看,很多近年 ImageNet generators 似乎已经接近“solved”,甚至优于 validation reference。右图换成 FDr^6 后,validation images 仍然是 1,而生成器明显高于 1,说明真实质量差距仍存在。FD-loss post-trained models 同时向左图和右图的更好区域移动,但 FDr 仍揭示它们没有真正达到 real validation images。
3.6 Repurposing multi-step generators
FD-loss 还被用于把 multi-step generator 转成 one-step generator。 核心做法很直接: 取一个已经训练好的 multi-step denoising / velocity model。 不执行完整多步采样。 只在 terminal timestep / high-noise endpoint 上调用一次模型。 把这次输出解释为 one-step clean prediction。 用 FD-loss post-train 这个 one-step behavior。 对于 JiT-L: 原始 50-step sampling 是 200 NFE。 naive 1-step 输出几乎不可用,FID 291.59。 FD-loss post-training 后 1 NFE 模型恢复到可用质量。 这个结果重要,因为它不需要:
teacher trajectories。 adversarial discriminator。 per-sample regression target。 score / velocity matching 的额外监督。 它说明 representation-space distribution matching 本身足以把一个多步模型推向一步生成。

Figure 5 解读(paper Table 2 + Figure 5):Table 2 显示 JiT-L naive 1-step 的 FID 是 291.59,基本失败;FD-Inception 1-step 变成 FID 0.77,但 FDr 仍高;FD-SIM 1-step 达到 FID 0.85、FDr 3.29。Figure 5 显示同一噪声下,post-trained variants 能产生语义明确的图像,说明 FD-loss 确实把 multi-step model 的终点行为改造成了可用 one-step generator。
3.7 Source-based pseudocode
下面伪代码基于 released code main_fd.py, frechet_distance/losses.py, frechet_distance/queue.py。
它反映的是实际实现,而不是只照抄论文算法框。
def fd_loss_train_step(generator, judges, batch_size, sampling_args, eps=0.01):
z = torch.randn(batch_size, *sampling_args.input_shape, device="cuda")
y = torch.randint(0, sampling_args.num_classes, (batch_size,), device="cuda")
images = generator.sample_one_step(z, y, sampling_args)
total_loss = torch.zeros([], device="cuda")
new_features_per_judge = []
for judge in judges:
with torch.no_grad_if_needed(False):
features = judge.repr_model(images, pool_type=judge.pool_type)
features = differentiable_all_gather(features)
new_features_per_judge.append(features)
if judge.queue.uses_ema_or_online_accum:
mu_g, sigma_g = judge.queue.build_feats_stats(features)
fd = frechet_distance(
mu_ref=judge.mu_ref,
sigma_ref=judge.sigma_ref,
mu=mu_g,
sigma=sigma_g,
sigma_ref_sqrt=judge.sigma_ref_sqrt,
)
else:
all_features = judge.queue.build_feats_snapshot(features)
fd = frechet_distance(
mu_ref=judge.mu_ref,
sigma_ref=judge.sigma_ref,
all_feats=all_features,
sigma_ref_sqrt=judge.sigma_ref_sqrt,
)
normalized_fd = fd / (fd.detach() + eps)
total_loss = total_loss + judge.weight * normalized_fd
total_loss.backward()
optimizer.step()
for judge, features in zip(judges, new_features_per_judge):
judge.queue.enqueue(features.detach())class QueueEstimator:
def __init__(self, queue_size=50000, feat_dim=2048):
self.buffer = torch.zeros(queue_size, feat_dim, device="cuda")
self.ptr = 0
def build_feats_snapshot(self, current_features):
stale_features = self.buffer.detach()
return torch.cat([stale_features, current_features], dim=0)
@torch.no_grad()
def enqueue(self, current_features):
current_features = current_features.detach()
n = current_features.shape[0]
self.buffer[self.ptr:self.ptr + n] = current_features[:n]
self.ptr = (self.ptr + n) % self.buffer.shape[0]class EMAEstimator:
def __init__(self, beta=0.999):
self.beta = beta
self.mu_ema = None
self.second_moment_ema = None
def build_feats_stats(self, current_features):
mu_b = current_features.mean(dim=0)
second_b = current_features.T @ current_features / current_features.shape[0]
mu_g = self.beta * self.mu_ema.detach() + (1.0 - self.beta) * mu_b
second_g = (
self.beta * self.second_moment_ema.detach()
+ (1.0 - self.beta) * second_b
)
sigma_g = second_g - torch.outer(mu_g, mu_g)
return mu_g, sigma_gdef fdr_metric(fd_generated_to_train, fd_validation_to_train):
per_repr_ratio = {}
for repr_name in fd_generated_to_train:
per_repr_ratio[repr_name] = (
fd_generated_to_train[repr_name]
/ fd_validation_to_train[repr_name]
)
fdr_k = sum(per_repr_ratio.values()) / len(per_repr_ratio)
return fdr_k, per_repr_ratio3.8 Code-to-paper mapping
Code reference:
main@5c03b811(2026-04-30) — pseudocode and mapping based on this commit
| Paper concept | Released code location | 实现要点 |
|---|---|---|
| FD-loss train step | main_fd.py::get_fd_train_step | 采样当前 batch、提取 representation features、计算 FD、归一化并反传 |
| Differentiable all-gather | frechet_distance/losses.py::diff_all_gather | 多 GPU 下聚合当前 batch features,同时保留当前 features 梯度 |
| FD formula | frechet_distance/losses.py::compute_frechet_distance_loss | 均值项 + covariance trace term;支持 eigvalsh 加速 |
| Queue / EMA stats | frechet_distance/queue.py::FeatureQueue | 同一类同时支持 queue snapshot、online accumulator、EMA statistics |
| Representation loading | frechet_distance/repr_models.py::load_repr_model | 加载 Inception / timm / ViT feature extractor,并设置 pooling |
| Reference stats | frechet_distance/losses.py::load_mu_and_sigma_reference | 读取 real-image feature mean / covariance |
| Evaluation | frechet_distance/evaluator.py::FDEvaluator | 生成 50k samples 后计算 FID / FD 系列指标 |
| Table 1 queue ablation | scripts/table_1a_queue_size.sh | queue size 1024 / 5k / 10k / 50k / 100k / 500k |
| Table 1 EMA ablation | scripts/table_1b_ema_beta.sh | fd_ema_beta = 0.9 / 0.99 / 0.999 / 0.9999 |
| Table 2 JiT repurpose | scripts/table_2_repurpose_jit_L.sh | JiT-L, 1 NFE, 50 epochs, LR 1e-5, EMA 0.999 |
| Table 3 pMF | scripts/table_3_pMF.sh | pMF B/L/H, 256/512, 100 epochs, LR 1e-6 |
| Table 3 iMF | scripts/table_3_iMF.sh | iMF B/L/XL, 100 epochs, LR 1e-6 |
| Table 3 JiT | scripts/table_3_JiT.sh | JiT B/L/H, 100 epochs, LR 1e-5 |
论文公式与 released code 实现差异:
未发现会改变方法含义的核心矛盾。 论文描述 queue 与 EMA 两种 estimator;released final scripts 默认主要使用 EMA。 论文把 multi-representation loss 写成归一化形式;released code 对每个 FD 使用 fid / (fid.detach() + fd_fid_norm_eps)。 论文附录强调 eigvalsh 更快;released scripts 明确传入 --fd_eigvalsh。 训练配置应以 scripts/table_*.sh 为准,而不是 main_fd.py 的 argparse defaults。
4. Experimental Setup (实验设置)
4.1 Datasets
ImageNet class-conditional experiments: 数据集:ImageNet-1k。 分辨率:256px 和 512px。 评估样本数:50,000 generated images。 Reference:against ImageNet training-set statistics。 Validation reference:50,000 validation images。 Text-to-image experiments: Base model:Stable Diffusion 3.5 Medium 的 MMDiT transformer。 参数规模:2.5B。 Tokenizer:SD3.5 VAE。 Post-training variant (i):BLIP3o-Pretrain-Long-3M。 数据规模:3M realistic photographic subset。 Post-training variant (ii):BLIP3o-GPT4o-60k。 数据规模:60k GPT-4o distilled stylized images。
4.2 Compared baselines
离散空间模型: VAR-d30。 BAR-L。 Latent-space multi-step models: SiT-XL/2。 MAR-L。 MAR-H。 FlowAR-H。 MAR-L + DeTok。 REG。 SiT-XL/2-REPA。 LightningDiT。 DDT-XL。 REPA-E。 RAE-XL。 Latent-space one-step models: Drift-L (latent)。 iMF-XL。 iMF-XL + FD-loss。
Pixel-space multi-step models: PixNerd-XL。 JiT-L。 JiT-H。 JiT-L/H + FD-loss。 Pixel-space one-step models: Drift-L (pixel)。 pMF-L。 pMF-H。 pMF-L/H + FD-loss。
4.3 Metrics
FID: Inception-v3 feature space 的 Fréchet distance。 越低越好。 主要用于和旧工作对比。 IS: Inception Score。 越高越好。 作者也指出它可被过度优化而失真。 Precision / Recall: Precision 反映生成样本是否落在真实数据 manifold 附近。 Recall 反映生成分布覆盖真实数据 manifold 的程度。
: 单个 representation 下的 normalized FD ratio。 Validation images 被归一化为 1。 : 六个 representation spaces 的平均 normalized FD ratio。 用于减少 Inception-only metric blind spot。 Human preference: Pairwise anonymized image-grid voting。 支持 tie option。 ties 按 0.5/0.5 分配。 评估 post-trained vs base,以及 generators vs real validation images。
4.4 Training config
ImageNet class-conditional post-training: Global batch size:1024。Optimizer:AdamW。。。Weight decay:0。LR schedule:cosine。Warmup:5 epochs。Precision:bf16。Gradient clipping:none。Dropout:0。Model-weight EMA:none / online weights。Sampling NFE:1。
Released scripts 中的关键值: scripts/table_3_pMF.sh:GPUS_PER_NODE=8, GLOBAL_BSZ=1024, epochs=100, steps_per_epoch=1250, lr=1e-6, fd_ema_beta=0.999。scripts/table_3_iMF.sh:GPUS_PER_NODE=8, GLOBAL_BSZ=1024, epochs=100, steps_per_epoch=1250, lr=1e-6, fd_ema_beta=0.999。
scripts/table_3_JiT.sh:GPUS_PER_NODE=8, GLOBAL_BSZ=1024, epochs=100, steps_per_epoch=1250, lr=1e-5, fd_ema_beta=0.999。scripts/table_2_repurpose_jit_L.sh:JiT-L, epochs=50, steps_per_epoch=1250, lr=1e-5, fd_ema_beta=0.999。Text-to-image post-training: Model:SD3.5 Medium MMDiT。Parameters:2.5B。
Representation set:FD-SIM = SigLIP2 + Inception-v3 + MAE。Estimator:EMA。Warm start:50k samples from base。Total steps:15,000。Warmup steps:2,500。Global batch size:1024。Precision:bf16。Sampling:1 NFE。CFG:none / no classifier-free guidance for the one-step run。

Figure 6 解读(paper Table 3):这个表证明 FD-loss 不是只对单一模型有效。pMF、iMF、JiT 三个家族,B/L/H 或 XL 多个 scale,以及 pMF 512px 都能被同一套 FD-SIM / FD-Inception post-training 改善。最强 pMF-H 256px + SIM 达到 FID 0.77、FDr 1.89;pMF-H 512px + SIM 达到 FID 0.78、FDr 1.81。
5. Experimental Results (实验结果)
5.1 Population size is necessary
Table 1a 的核心结果:
| Setting | FID | IS | FDr-CLIP |
|---|---|---|---|
| Base pMF-B/16 | 3.31 | 254.6 | 13.70 |
| Batch-only / 0k queue | 3.84 | 250.9 | 17.06 |
| 5k queue | 1.05 | 280.0 | 11.89 |
| 10k queue | 0.93 | 283.9 | 11.71 |
| 50k queue | 0.89 | 288.3 | 10.91 |
| 100k queue | 0.93 | 288.8 | 11.15 |
| 500k queue | 1.22 | 294.4 | 17.67 |
结论:
batch-only FD 明确退化。 50k queue 是较好平衡点。 500k queue 过大导致 stale statistics。 FID 与 FDr-CLIP 的分歧说明单一 FID 不可靠。
Table 1b 的 EMA 结果:
| EMA beta | FID | IS | FDr-CLIP |
|---|---|---|---|
| Base | 3.31 | 254.6 | 13.70 |
| 0.0 / batch-only | 3.84 | 250.9 | 17.06 |
| 0.9 | 0.98 | 283.6 | 11.19 |
| 0.99 | 0.84 | 291.8 | 10.74 |
| 0.999 | 0.81 | 294.5 | 10.81 |
| 0.9999 | 0.98 | 287.7 | 11.63 |
结论:
EMA 能避免显式大 queue。 是默认选择。 过大的 同样会 stale。
5.2 Representation choice controls the optimization direction
Table 1c 的关键结果:
| Loss representation | Incep. FDr | ConvNeXt FDr | DINOv2 FDr | MAE FDr | SigLIP FDr | FID | IS | FDr-CLIP |
|---|---|---|---|---|---|---|---|---|
| Validation images | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.68 | 232.2 | 1.00 |
| Base | 1.98 | 1.93 | 10.13 | 13.81 | 31.03 | 3.31 | 254.6 | 13.70 |
| FD-Inception | 0.48 | 1.26 | 7.52 | 8.51 | 26.02 | 0.81 | 294.5 | 10.81 |
| FD-ConvNeXt | 0.98 | 0.34 | 4.93 | 7.48 | 17.38 | 1.64 | 281.0 | 8.46 |
| FD-DINOv2 | 2.91 | 2.14 | 2.11 | 10.88 | 16.92 | 4.89 | 347.1 | 8.47 |
| FD-MAE | 3.83 | 1.92 | 5.30 | 1.11 | 14.44 | 6.42 | 344.0 | 6.63 |
| FD-SigLIP | 4.60 | 2.69 | 4.27 | 9.09 | 3.61 | 7.71 | 399.4 | 5.85 |
| FD-SIM | 0.56 | 0.85 | 4.65 | 2.36 | 6.94 | 0.94 | 307.8 | 4.20 |
结论:
Inception-only 最能降低 FID。 SigLIP / MAE 等现代 representation 更能降低 broader FDr。 FD-SIM 牺牲很少 FID,却大幅改善 FDr-CLIP。 这证明 FID 不是唯一质量方向。
5.3 Multi-step repurposing works
JiT-L repurposing results:
| Setting | NFE | FID | IS | FDr |
|---|---|---|---|---|
| JiT-L 50-step base | 200 | 2.59 | 288.5 | 10.73 |
| JiT-L naive 1-step | 1 | 291.59 | 2.0 | 214.75 |
| FD-Inception 1-step | 1 | 0.77 | 293.7 | 12.86 |
| FD-MAE 1-step | 1 | 6.52 | 280.4 | 9.30 |
| FD-SigLIP 1-step | 1 | 5.10 | 329.6 | 9.04 |
| FD-SigLIP+MAE 1-step | 1 | 4.67 | 354.0 | 3.83 |
| FD-SIM 1-step | 1 | 0.85 | 319.5 | 3.29 |
这个结果说明:
naive one-step 几乎崩溃。 FD-loss 能把它拉回可用分布。 Inception 版本 FID 最好。 SIM 版本 FDr 最好。 1 NFE 直接替代 200 NFE 是显著加速。
5.4 Generalization across families, scales, and resolutions
pMF 256px: pMF-B base:FID 3.31 / FDr 13.70。pMF-B + SIM:FID 0.85 / FDr 3.50。pMF-L base:FID 2.72 / FDr 9.09。pMF-L + SIM:FID 0.78 / FDr 2.09。pMF-H base:FID 2.29 / FDr 6.87。pMF-H + SIM:FID 0.77 / FDr 1.89。iMF 256px: iMF-B base:FID 3.45 / FDr 15.29。iMF-B + SIM:FID 0.88 / FDr 5.56。iMF-L base:FID 1.93 / FDr 9.06。iMF-L + SIM:FID 0.79 / FDr 2.74。
iMF-XL base:FID 1.82 / FDr 8.39。iMF-XL + SIM:FID 0.76 / FDr 2.45。JiT 256px: JiT-B base:FID 3.71 / FDr 15.65。JiT-B + SIM:FID 1.00 / FDr 5.53。JiT-L base:FID 2.59 / FDr 10.73。JiT-L + SIM:FID 0.77 / FDr 3.24。JiT-H base:FID 1.97 / FDr 7.66。JiT-H + SIM:FID 0.75 / FDr 2.65。
pMF 512px: pMF-B base:FID 3.59 / FDr 15.04。 pMF-B + SIM:FID 0.87 / FDr 3.82。 pMF-L base:FID 2.56 / FDr 9.76。 pMF-L + SIM:FID 0.80 / FDr 2.12。 pMF-H base:FID 2.43 / FDr 7.33。 pMF-H + SIM:FID 0.78 / FDr 1.81。 关键结论: 同一超参能跨 family 使用。 FD-SIM 在所有规模上降低 FDr。 FD-Inception 在多个 family 上把 FID 推到 0.72–0.79 区间。 方法并不依赖某一个 generator architecture。
5.5 System-level comparison

Figure 7 解读(paper Table 4):统一 evaluation pipeline 下,FD-loss post-trained rows 在 1 NFE 下同时提升 FID 与 FDr。iMF-XL + FD-loss 从 FDr 8.39 / FID 1.82 变为 FDr 2.45 / FID 0.76;JiT-H + FD-loss 从 FDr 7.66 / FID 1.97 变为 FDr 2.65 / FID 0.75;pMF-H + FD-loss 从 FDr 6.87 / FID 2.29 变为 FDr 1.89 / FID 0.77。与多步强 baseline 相比,FD-loss 的优势是只需 1 NFE。
Table 4 的代表结果:
| Method | NFE | Space | Params | FDr^6 | FID | IS | Precision | Recall |
|---|---|---|---|---|---|---|---|---|
| 50k validation images | N/A | N/A | N/A | 1.00 | 1.68 | 232.2 | 0.75 | 0.66 |
| BAR-L | 256×24 | discrete | 1.1B | 3.57 | 1.01 | 281.9 | 0.77 | 0.68 |
| RAE-XL | 50×2 | latent | 839M | 3.26 | 1.16 | 261.0 | 0.77 | 0.67 |
| iMF-XL | 1 | latent | 610M | 8.39 | 1.82 | 278.9 | 0.78 | 0.63 |
| iMF-XL + FD-loss | 1 | latent | 610M | 2.45 | 0.76 | 301.3 | 0.77 | 0.67 |
| JiT-H | 50×2×2 | pixel | 953M | 7.66 | 1.97 | 296.0 | 0.78 | 0.63 |
| JiT-H + FD-loss | 1 | pixel | 953M | 2.65 | 0.75 | 313.0 | 0.76 | 0.66 |
| pMF-H | 1 | pixel | 935M | 6.87 | 2.29 | 267.2 | 0.80 | 0.59 |
| pMF-H + FD-loss | 1 | pixel | 935M | 1.89 | 0.77 | 310.1 | 0.77 | 0.68 |
这些 numbers 支撑两个结论:
FD-loss post-training 能显著改善 strong base models。 1-NFE 的 post-trained models 可以接近或超过多步 baselines 的 distribution metrics。
5.6 Human preference

Figure 8 解读(paper Figure 6):左图比较 FD-loss post-trained models 与对应 base models,post-trained side 在 pMF-H、iMF-XL、JiT-H 三类上都更受偏好。右图比较 generators 与 real validation images,FD-loss pMF-H 是 tested generators 中最强,但仍输给 real validation images。这与 FDr^6 的结论一致:生成质量有明显进步,但 ImageNet generation 并未真正 solved。
Human preference 的意义:
它验证了 FDr 的方向不是纯 metric artifact。 它也提醒 FDr 仍然不是最终 human-quality oracle。 自动指标变好后仍需要人类偏好检查。
5.7 Text-conditioned generation

Figure 9 解读(paper Figure 7):这张图把 FD-loss 从 ImageNet class-conditional 扩展到 text-to-image。Base 是 SD3.5 Medium 多步模型;作者用 FD-loss 把其 MMDiT transformer post-train 为 1-NFE text-to-image generator。图中对比显示,FD-loss 版本虽然只走一步,但能产生语义可读、风格一致的图像,说明方法不局限于 ImageNet class labels。
Text-to-image 结果主要是 demonstration:
论文没有把它作为完整系统 benchmark。 重点是证明 FD-loss 能扩展到 caption-conditioned generation。 Reference statistics 可以来自 3M photographic set 或 60k stylized set。 不同 reference set 会引导不同 aesthetic direction。
5.8 Limitations
作者明确承认的限制: 研究主要集中在 image generation。 ImageNet 是主要 controlled benchmark。 Text-conditioned generation 只是额外 demonstration。 FD-loss 行为依赖 representation space。 FD-loss 行为依赖 reference statistics。 不同 domain 可能需要不同 feature set 或 weighting scheme。 FDr 仍继承 Gaussian moment matching 的假设。 FDr 仍可能有 representation blind spots。 自动指标不能替代 human evaluation。 附录还给出一个 warning: 过度优化 Inception-based metrics 可以得到异常高 IS。 例如 stress test 中 IS 达到 660、FID 2.09。 但样本出现明显 artifact。 FDr 恶化到 50.66。 这说明 FD-loss 的价值不是“盲目把某个 metric 做低”。 更合理的使用方式是:
选择多样化 representation。 监控 FID 与 FDr 的分歧。 对关键系统做 human preference。 把 FD-loss 当作 post-training objective,而不是最终评价标准。
5.9 Overall conclusion
这篇论文的主要结论是: FD 可以被直接优化,只要把 population size 与 batch size 解耦。 Queue / EMA estimator 是让 FD-loss 实用化的关键。 EMA 版本在最终实验中更简洁、更可扩展。 Representation choice 决定优化后的视觉特性。 FD-SIM 是比单一 Inception 更可靠的训练信号。 FDr^6 揭示 FID 已饱和但视觉生成并未 solved。 FD-loss 可以把 one-step generators 做强,也可以把 multi-step generators repurpose 成 one-step generators。 对后续工作的启发: Distributional loss 不必停留在 evaluation side。 Generator acceleration 不一定要依赖 teacher distillation。 多 representation 评价应成为视觉生成 benchmark 的常规补充。 对任意 FD / FDr 改进,都应同时检查样本质量与 representation hacking 风险。