分享

NeurIPS 21 | 扩散模型如何做图像合成?

 520jefferson 2022-10-11 发布于北京

PaperReview

一个分享Review的平台

论文:

Diffusion Models Beat GANs on Image Synthesis

作者:

Prafulla Dhariwal*, Alex Nichol*

单位:

OpenAI

投稿状态:

NeurIPS 2021 (Spotlight)

文章链接:

https:///pdf?id=OU98jZWS3x_

Review链接:

https:///forum?id=OU98jZWS3x_

其他资源:

https://github.com/openai/guided-diffusion

Who

Recommendation (Total/10)

review#1

9: Top 15% of acc, strong accept

review#2

8: Top 50% of acc, clear accept

review#3

7: Good paper, accept

review#3

6: Marginally above the acceptance threshold

怼怼批注

为了方便大家学习论文应该如何写(如何讲好故事),我们尽可能保持原文语义的翻译了原论文的摘要(Abstract)和引言(Introduction)和审稿过程(review和rebuttal)。所以这几个部分可能看起来有点啰嗦,但是这样写论文中的概率就大!而针对论文的其他部分,我们也使用尽可能精简的话语进行了罗列和总结。在每篇推文的最后,我们都会附上了review提出的多个问题(review)和作者回复的答案(rebuttal),期望大家在这个过程中学会辩证的思考自己的论文,从而增加投稿的录取率。

01

摘要

我们展示了扩散模型能够(较好地)完成图片采样质量,它超越了现有的SOTA生成模型。我们通过一系列消融实验发现了一个更好的架构去在无条件的图像生成上完成。对于条件图像合成,我们利用一个分类指导器(classifier guidance)进一步提升了采样质量:一个能够从分类器中使用梯度信息用保真度(fidelity)来换取多样性(diversity)的简单、计算效率高的方法。我们在ImageNet 128x128上达到了2.97FID,在ImageNet 512x512上达到了7.72FID,并且在能够保持更好的分布覆盖(coverage of the distribution)的同时,即使每次采样少于25次向前传递(forward passes),我们也能够匹配BigGAN-deep。最后,我们发现分类指导器和上采样的扩散模型结合的非常好,在ImageNet 256x256上进一步提升了FID到3.94,ImageNet 512x512到3.85。

02

引言

在过去的一些年里,在生成human-like的自然语言、高质量的合成图片、富含多样性的人类语音和音乐上,生成模型已经获得了一些成果。这些模型能够被以各种各样的方法去使用,例如从text prompts中生成图片,或者学习有用的特征表示。当这些模型已经有能力创造真实的图片和声音的时候,除了现在的SOTA外,这儿仍然还有非常大的空间去提升,并且更好的生成模型能够在图形设计、游戏、音乐创作和不计其数的领域起到广泛的影响。

在大部分被采样质量指标(例如:FID,Inception Score,Precision)衡量的图像生成任务上,GANs现在能够取得SOTA。然而,这些指标不能够完全捕获多样性,其中相比于SOTA的likelihood-based models,其实GANs捕获了更少的多样性。更进一步,GANs通常非常难去训练,它在没有仔细地选择超参数(hyperparameters)和regularizers的情况,是容易坍缩的(collapsing)。当GANs是SOTA的时候,它们的缺点使得它们非常难去拓展和应用到新的领域。因此,一些工作已经使用likelihood-based模型去达到GAN-like sample quality。这些模型虽然获得了更多的多样性,容易拓展和训练GANs,但是它们仍然在视觉保真度(fidelity)上存在不足。更进一步地,除了VAEs,从这些模型中采样,in terms of wall-clock time,是慢于GANs的。

Image

图1:从我们最好的ImageNet 512x512模型中选择的多个样本。

扩散模型是likelihood-like模型的一类,它最近被提出已经展示了能够创造高质量的图像,并且也能够提供可观的好处(例如分布覆盖率、平稳的训练目标、易于拓展)。这些模型通过逐渐地从信号中移除噪声去生成样本,它们的训练目标可以被表达为a reweighted variational lower-bound。这一类模型已经在CIFAR-10上达到了SOTA水平,但是在较难的生成数据集上(例如LSUN和ImageNet)仍然落后于GANs。我们假设至少两个原因导致了这个差距:首先,最近提出的GAN的模型架构已经被heavily的explored和refined;其次,GANs能够trade off diversity for fidelity,从而创造高的quality samples,但是并没有完全覆盖全部的分布(多样性不行)。我们的目的就是为扩散模型配备上这些好处,首先提升模型的架构,然后设计了一个(新)范式去trade off diversity for fidelity。

剩下的章节按照下面的去组织。在章节2中,我们针对基于Ho et al.的扩散模型给了一个简单的背景,然后介绍了从Nichol and dhariwal和Song et al.带来的提升,并且我们描述了我们的评价设置。在章节3中,我们介绍了简单的架构提升,它能够大量地提升FID。在章节4中,我们描述了一个在采样阶段使用分类器的梯度去指导扩散模型的方法。最后,在章节5中,我们展示了我们的提升框架在无条件的图像和成任务上达到了SOTA效果;添加上分类指导器,在条件图像生成上也能够达到SOTA效果。

03

方法

方法部分介绍了架构改进(Architecture Improvements)和分类指导器(Classifier Guidance)。

Image

表1:注意力头的消融。更多的头或者每个头更低的通道都可以提升FID。

在架构改进中,主要是对各种属性(通道、深度、注意力、采样方式、是否使用resblock)进行了深度的消融尝试,具体实验配置和结果可参考上面的表1。

Image

图2:分类器指导扩散模型的伪代码。

在分类指导器中,详细描述了如何将分类指导器的梯度融入到扩散模型中去辅助生成更好的图片,具体可参考图2。

04

实验

Image

表2:在sample quality上分类指导器的效果。不管是在conditional还是unconditional下,都是在ImageNet 256x256和batch size为256,针对2M的iterations进行训练的。

Image

图3:当我们改变一个class-conditional的ImageNet128x128模型的分类器梯度的尺度时,sample quality的变化。

Image

表3:针对每个任务与SOTA的生成模型的sample quality比较结果。

Image

图4:BigGAN-deep with truncation 1.0的采样(FID 6.95, 左边) vs 扩散模型with guidance的采样(FID 4.59, 中间)和从训练集中的采样(右边)。

05

约束和未来工作

我们相信扩散模型在生成模型上是一个非常promising的方向。因为扩散模型在采样期间用到了多个denoising steps,所以它们是比GANs要慢的。因为我们的扩散模型也要比具有竞争力的GAN生成器要大,每一个向前传递(forward pass)要5~20倍或者更长的时间。一个promising的方向是减少Luhman提出的这种latency gap,它们已经探索一个方式将DDIM采样的过程提取为a single step model。虽然a single step model竞争不过GANs,但是比其他single-step likelihood-based models都要好。在这个方向的未来工作可能是:在不牺牲图像质量的情况下缩小扩散模型和GANs的推理速度差距。

不像GANs,Flows和VAEs,扩散模型没有显式地学习潜在表示。虽然DDIM提供了一个方式去编码一个图片到一个隐式的隐空间的时候,但是与其他模型相比,这种语义上的意义是不清晰的。这可能使得扩散模型在表示学习(representation learning)和图像编辑应用(editing applications)的时候更加困难。

分类指导器的有效性也说明了我们能够使用分类函数的梯度辅助并得到更强大的生成模型。像最近提出的方法它们通过text prompts指导GANs一样,这能够使用有噪声的CLIP版本的文本标题(text caption)被用作去控制图像的生成。我们提出的分类指导技术仅限于利用在带有标签的数据集上。在未来的工作中,我们的方法可以通过聚类采样去生成合成的标签来指导扩散模型,或者训练一个判别模型来指导。这也建议:大的无标签数据集可能在未来被利用去预训练更强大的扩散模型,这个扩散模型,同时这也可以通过利用带有desirable properties的分类器去进一步提升。

06

总结

我们展示了扩散模型,likelihood-based model的一类,它具有平稳的训练目标,能够获得比SOTA GANs更好的sample quality。我们improved architecture足以在unconditional的图像生成任务中表现良好,并且我们的分类指导技术也允许我们在class-conditional的图像生成任务上这样做。在后面的一个例子中,我们发现可以通过调节分类器的梯度大小来控制diversity和fidelity。这些guided扩散模型能够减少GANs和扩散模型的采样时间的差距,尽管扩散模型在采样期间仍然需要多次forward passes。最后,通过结合上采样的指导,我们能够在高分辨率的conditional图像合成上进一步提升sample quality。

体评价

accept - spotlight

审稿人一致认为该论文应该被接受。该论文在ImageNet上的类别条件图像合成任务上提出了最先进的FID分数,超过了BigGAN的表现。论文提出了对基于分数和扩散模型有用的分类器指导思想,并消减了扩散模型的各个方面。我同意两位审稿人的意见,即论文的标题选得不好。遗憾的是,作者没有对他们选择的标题进行评论,但我鼓励去改变标题。对FID和分类器指导之间可能的互动进行一些讨论会有帮助。我建议将这篇论文作为一个spotlight来接受。

Review#1

分数@9/10

采样速度。

Rebuttal

Guidance通过减少获得好的样本所需的采样步骤来提供速度的提高(因为采样时间与步骤数呈线性关系)。在Guidance下,我们的模型用25个DDIM步骤得到的样本比没有指导的情况下用数百个步骤得到的要好(见表4)。

Review#1

分数@9/10

逆向问题(inverse problem),如画像、去噪等,很有意思,可以在未来去深入研究。

Rebuttal

我们在本文中没有探讨这些问题,但希望将来可以用guidance来帮助解决这些问题。

Review#2

分数@8/10

对整篇文章夸了一顿,然后指出了几个typos。

Rebuttal

我们感谢您的全面和深思熟虑的评论!您的反馈很有见地,有助于我们改进我们的论文。你的反馈很有见地,可以很好地帮助我们进一步改进论文。同时,我们已经添加了对UNet原始论文的参考;我们也同意自适应群规范(adaptive groupnorm)是这里的一个重要部分,但我们只是在扩散的背景下消减了它,把它和其他架构的改进放在一个主题下似乎很合理;我们也修正了'sqaured '这个错字和其他一些错字。

Review#3

分数@7/10

更高的分辨率会怎么样?

Rebuttal

我同意,更高分辨率的数据集是值得探索的。在这篇论文中,512x512是我们测试的最高分辨率,即使这样,上升取样堆栈也比直接扩散的结果更好。鉴于此,最好的1024x1024的结果可能也会使用上升采样。我们希望未来的工作能够更多地触及高分辨率的合成,以了解为什么直接扩散在高分辨率下不如上升采样好。

Review#3

分数@7/10

你说的可扩展性是指什么?为什么GAN扩展性不好?

Rebuttal

当我们提到可扩展性时,我们指的是扩展模型的大小。如[46]所示,对于扩散模型来说,FID与模型大小的关系遵循一个平滑和可预测的趋势。当训练GAN时,由于对抗性的训练目标,有时很难在不损害稳定性或样本质量的情况下增加模型大小。一个例子可以在BigGAN的附录H中找到,作者将其模型的深度增加了一倍(没有其他变化),发现这损害了性能。

Review#4

分数@6/10

这篇文章没有novelty。(原来大佬的文章也有人喷缺乏novelty)

Rebuttal

关于新颖性,大部分架构的改进在本文撰写之前就已经存在,我们只是表明扩散模型可以从这些方面受益。然而,我们实际上在分类指导器方面做了一些相当novelty的事情,这也是分类条件任务的一个主要改进来源。我们不知道以前是否有任何关于扩散或分数匹配的论文将分类器指导应用于已经是类条件的模型,也没有任何论文探讨过重新调整分类器梯度。这些想法对我们的结果至关重要,而且在我们写这篇论文之前,以这种方式(使用分类器指导)并没有明显的理由来提高生成质量,或者说没有明确的理由允许我们在多样性和保真度之间进行权衡,而我们做到了这一点。

Review#4

分数@6/10

参数量比GANs大,推理速度慢。

Rebuttal

我们的模型比竞争对手的GANs大一个数量级,因此每次前进的速度要慢8-20倍。此外,我们的模型要求每个样本至少有25次前向传递才能获得好的结果。与GANs相比,这相当于每个样本慢了300倍。我们已经在limitation章节更新了这一点。

Review#1

分数@6/10

是否使用了数据增强?

Rebuttal

与其他关于扩散的文献相似,除了LSUN上的随机翻转,我们没有使用任何数据增强来进行扩散训练。自适应增强(adaptive augmentation)很可能会有帮助,尽管在收敛时可能不那么有用--特别是对于较大的数据集,我们没有看到任何过拟合。

PaperReview会分享顶会paper的review和rebuttal,希望大家能够从中学会如何做科研,从而为国家的科研工作贡献出自己的一份力量。历史分享的paper已经收录在GitHub项目中,欢迎starfork

https://github.com/PaperReviewer/PaperReviewer.github.io

我们还开通了网页版的PaperReview,欢迎访问和收藏。

https://paperreviewer.github.io

同时,我们还开放了PaperReview的交流群,可以添加怼怼入群。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多