论文:classifier-free diffusion guidance
一、Background
分类器引导是一种最近引入的方法,用于在训练后的条件扩散模型中权衡样本丰富度和样本保真度,其思想与其他类型生成模型中的低温采样或截断相同。
分类器引导将扩散模型的分数估计与图像分类器的梯度相结合,因此需要训练与扩散模型分离的图像分类器。这也提出了一个问题,即是否可以在没有分类器的情况下进行指导。
我们证明,在没有这样的分类器的情况下,引导确实可以通过纯生成模型来执行:在我们所谓的无分类器引导中,我们联合训练一个条件和一个无条件的扩散模型,并将得到的条件和无条件的分数估计结合起来,以实现样本质量和多样性之间的权衡,类似于使用分类器引导获得的结果。
Diffusion models beat GANs on image synthesis提出了分类器引导,这是一种使用额外训练的分类器来提高扩散模型样本质量的技术。由于分类器引导在采样过程中将分数估计与分类器梯度混合在一起,因此分类器引导的扩散采样可以被解释为试图将图像分类器与基于梯度的对抗攻击混淆。这就提出了一个问题,即分类器指导是否能够成功地提高基于分类器的指标,如FID和Inception分数(is),仅仅是因为它对这些分类器是对抗性的。
为了解决这些问题,我们提出了无分类器引导,我们的引导方法完全避免了任何分类器。无分类器引导不是在图像分类器的梯度方向上采样,而是将条件扩散模型和联合训练的无条件扩散模型的分数估计混合在一起。通过sweep混合权重,我们获得了类似于分类器引导所获得的FID/IS trade-off。我们的无分类器引导结果表明,纯生成扩散模型能够合成其他类型生成模型可能具有的极高保真度样本。
在条件生成建模的情况下,数据x与条件信息c一起绘制,即用于类条件图像生成的类标签。对模型的唯一修改是,逆过程函数逼近器接收c作为输入,如εθ(zλ,c)。
二、Guidance
某些生成模型(如GAN和基于流的模型)的一个有趣特性是能够通过在采样时减小生成模型的噪声输入的方差或范围来执行截断或低温采样。预期的效果是降低样本的多样性,同时提高每个样本的质量。例如,BigGAN中的截断(Brock等人,2019)分别在低截断量和高截断量下产生FID得分和Inception得分之间的权衡曲线。Glow的低温采样(Kingma&Dhariwal,2018)也有类似的效果。
不幸的是,在扩散模型中实现截断或低温采样的直接尝试是无效的。例如,在反向过程中缩放模型分数或降低高斯噪声的方差会导致扩散模型生成模糊、低质量的样本(Dhariwal&Nichol,2021)。
三、Calssifier-free guidance
无分类器引导是一种修改εθ(zλ,c)的替代方法,其效果与分类器引导相同,但没有分类器。如上图所示。
我们没有训练单独的分类器模型,而是选择训练一个通过分数估计器εθ(zλ)参数化的无条件去噪扩散模型pθ(z)以及通过εθ(zλ,c)参数化了的条件模型pθ。我们使用单个神经网络对两个模型进行参数化,其中对于无条件模型,我们可以在预测分数时为类标识符c简单地输入一个空标记∅,即εθ(zλ)=εθ(zλ,c)。我们共同训练无条件和条件模型只需将c随机设置为无条件类标识符∅,并将其设置为超参数。zλ = αλx + σλε。然后,我们使用以下条件和无条件score estimates分数估计的线性组合进行采样
四、实验
在这两个极端之间,我们看到感知质量的这两个指标之间存在明显的权衡,FID随w单调递减,IS随w单调递增。
五、结论
我们的无分类器引导方法最实用的优点是它极其简单:在训练过程中只需更改一行代码即可随机丢弃条件反射,在采样过程中只需要混合条件和无条件的分数估计。相比之下,分类器引导使训练pipeline复杂化,因为它需要训练额外的分类器。该分类器必须在噪声zλ上进行训练,因此不可能插入标准的预训练分类器。
由于无分类器引导能够在不需要额外训练的分类器的情况下权衡IS和FID类分类器引导,我们已经证明引导可以用纯生成模型来执行。
无分类器制导的一个潜在缺点是采样速度。一般来说,分类器可以比生成模型更小更快,因此分类器引导的采样可能比无分类器引导更快,因为后者需要运行扩散模型的两个正向过程,一个用于条件得分,另一个用于无条件得分。通过改变架构以在网络后期注入条件,可以减轻运行多遍扩散模型的必要性,但我们将这一探索留给未来的工作。
最后,任何以牺牲多样性为代价提高样本保真度的指导方法都必须面对降低多样性是否可接受的问题。部署的模型可能会产生负面影响,因为在某些数据部分在其余数据的上下文中代表性不足的应用程序中,保持样本多样性非常重要。