Classifier-Free Diffusion Guidance论文阅读
Classifier-Free Diffusion Guidance介绍
论文:Classifier-Free Diffusion Guidance Jonathan Ho & Tim Salimans
在上一篇论文阅读中我们提到,条件控制生成的方式分两种:事后修改(Classifier-Guidance)和事前训练(Classifier-Free)。在算力充足的条件下,我们可以采用往扩散模型的训练过程中就加入条件信号的方法,来达到更好的生成效果,这就是事前训练的Classifier-Free方案。
对于Classifier-Guidance的方案,这篇论文中提出了一个质疑:引入分类器来提高IS等指标,这样的思路非常类似于生成对抗网络GAN,沿着分类器梯度的方向前进也与GAN训练有一些相似之处,因此我们有理由思考,分类器引导的扩散模型是否在基于分类器的指标上表现良好,是因为它们开始类似GAN,而GAN在这些指标上表现良好呢?如果不引入分类器,纯生成扩散模型能否可以与其他类型的生成模型合成极高保真的样本呢?
背景回顾
这篇论文首先对DDPM及其相关工作进行了一个回顾和整理。但是它采用了另一套和以往论文不太一样的符号进行推导和表述,在这里我们用这篇论文所采用的符号进行重新推导,以加深理解。
假设我们要训练一个连续时间的扩散模型(这是在Score-Based Generative Modeling through Stochastic Differential Equations那篇文章中提出的概念)。现在假设初始值
接下来我们再研究反向过程。在已知初始数据
反向过程的方差就是IDDPM那篇论文中提出的
反向过程的均值是怎么得到的呢?这个有点类似于DDIM那篇论文的推导的思路,把
此外,文章还回顾了Classifier-Guided那篇论文里的相关概念,详见上一篇文档,在此不做展开回顾。
无分类器的条件指导生成
在本篇论文中,作者并不去训练一个分类器,而是联合训练一个无条件扩散模型和有条件扩散模型,无条件模型记作
我们使用以下条件和无条件分数估计的线性组合进行抽样:
训练和采样算法
训练算法
采样算法
结论
使用无分类器指导方法最实际的优点是它非常简单:在训练过程中只需要让条件随机失活,在抽样期间混合条件和无条件的分数估计。相比之下,分类器指导使训练流程复杂化,因为它需要训练一个额外的分类器。这个分类器必须在有噪声的数据上进行训练,因此不可能插入一个标准的预训练分类器。
无分类器引导采样器遵循步骤方向并不像分类器梯度,因此不能解释为基于梯度的对抗性分类器,因此实验结果可以表明,提高基于分类器和FID指标可以完成纯生成模型采样过程不是对抗图像分类器使用分类器梯度。
但是,无分类器引导的一个潜在缺点是采样速度。一般来说,分类器可以比生成模型更小、更快,因此分类器引导的采样可能比无分类器引导更快,因为后者需要运行扩散模型的两次向前传递,一个是条件分数,另一个是无条件分数。