扩散模型的曝光偏差是频域误差,索尼 SPA 以 3% 开销跨架构修正

Spectral Prior for Reducing Exposure Bias in Diffusion Models

Yuya Kobayashi, Masato Ishii, Yuhta Takida, Takashi Shibuya, Yuki Mitsufuji

cs.CV

2026-07-24

谱对齐(SPA)在推理时用预计算的频谱先验校正扩散模型各频段的训练-推理失配,3% 开销让 DDPM 到 FLUX 一致涨点。

这篇在解决什么

扩散模型采样是一步步去噪,每一步都基于上一步的输出来预测。训练时模型见到的是加噪后的真实图像,推理时见到的是自己生成的中间结果。两者分布不一致,误差逐步累积,这就是曝光偏差(exposure bias)。

这篇把问题放到频域里看,发现一个此前没被点破的现象:训练和推理之间的差异在不同频段上系统性不一样,可以当成频段相关的信噪比误差来理解。更关键的是误差方向并不统一。ADM 在高频衰减,Stable Diffusion 2.0 在低频衰减,SDXL、SD3.5、FLUX 更复杂,既有逐通道的、又有随时间步变化的模式。这意味着过去那些固定的修正规则,比如一律削弱高频,不可能在所有模型上通用。

方法

方法叫谱对齐(Spectral Alignment,SPA),分两步。

离线阶段:从训练集采干净图像,用前向过程加噪到各个时间步,再用 Tweedie 公式估计出干净样本 x̂0,对它的功率谱做径向平均(RAPS)得到每个时间步的目标频谱。然后用一个参数化的幂律模型 S(t,f)=pt·f^(-qt)+rt·f+st 去拟合,样条插值得到所有时间步的平滑先验。

推理阶段:每一步去噪后,把当前预测的频谱和目标频谱在 log 域比较,算一个引导损失,用它的梯度反向修正样本。损失里有一个不对称惩罚项,只对一个方向的偏差加倍惩罚,因为过冲比欠冲更难看。整个修正插在 CFG 之后、标准去噪更新之前,不需要管 CFG 是怎么算出来的,所以和各种 CFG 变体都兼容。

结果

ADM 在 ImageNet 256×256 上,FID 从 9.29 降到 7.81,优于 ε-rescaling(8.00)和小波正则(8.35);Time-shift 这种老修正反而更差。

文生图上主要看 HPSv3 和 ImageReward:

模型HPSv3(原)HPSv3(SPA)ImageReward(原)ImageReward(SPA)
SDXL8.4268.8290.7910.829
SD2.07.0437.2380.3930.421
SD3.59.7829.9750.9390.976
FLUX.112.5312.571.0441.054

CLIP 分数全程不掉,说明文本对齐没被破坏。FLUX 在 w=3.5 设定下,对质量最差的那 20% 样本胜率 54.1±3.3%(p=0.02),也就是它主要把烂图修好,好图基本不动。

开销方面,SDXL 单张推理从 2.47 秒多花 0.0952 秒,约 3.86%,模型越大相对开销越小。论文给出的总体数字是 3-4%。

为什么重要

对从业者来说,SPA 是个接近白捡的增益。不改模型结构、不重新训练、与 CFG 正交,推理时挂一个频谱引导就能在多个架构上一致涨点。对做生图服务的人,这意味着不改管线就能提升样本质量,尤其是兜底那些失败样本。

它还给了一个可复用的诊断视角:把训练-推理失配拆到频域里看。以后诊断别的扩散模型采样问题,同一套思路也用得上。

局限与存疑

方法假设全数据集共享一个目标频谱。但插图、医学影像这类不同分布的图,最优频谱本来就不一样,一个先验套所有数据会留下偏差。作者也承认,条件生成场景下按条件换不同频谱是更合理的做法,但他们没做。

此外他们只用了 DPS 式引导,没探索其它引导方式,也没给损失在不同频段和时间步上的加权设计。FLUX 上的绝对提升很小(HPSv3 +0.04),大部分价值集中在中低端模型和烂样本修正上,对已经很强的模型边际收益有限。

术语

原文与代码

相关论文

全部论文解读