扩散模型在图像生成领域大火,风头超过GAN?

2022 年 6 月 7 日 夕小瑶的卖萌屋


文 | Zhifeng
源 | 知乎

首先说说我的背景。我从20年diffusion model刚出来就开始(花部分精力)做这个问题,到目前已经有了3篇相关paper (DiffWave, FastDPM, PDR), 之后也会将其作为我的主要方向之一。我算是这一领域比较早期的研究者,不过不太做methodology, 主要做应用,DiffWave 是语音领域 TTS 的应用, PDR是3d 领域点云补全的应用,FastDPM则是关于快速采样的算法。

我首先简短给出我所理解的diffusion model 和 GAN 的比较:GAN 能更灵活处理不同任务,应用层面部署比较容易,需要的资源小,不过学术上竞争激烈,有时生成的样本质量比较一般。Diffusion model 相对不太灵活,缺少良好的 latent space 性质,资源消耗极大,但生成效率略高于auto-regressive model, 主要优点质量好,学术上容易出论文。

接下来我们从几个方面比较这两个模型。

1 任务的灵活性

GAN有一个良好的latent space, 可以寻找meaningful vector (如DCGAN) 从而实现 attribute generation, 比如给人带上墨镜,甚至能像cycleGAN那样做两个domain之间的转化,而diffusion没有meaningful latent space, 因为reverse process每一步都加很多噪音,以至于同样的latent 会生成完全不同的东西,目前我认为有可能突破的是研究DDIM的fixed latent space, 但好像没有什么相关文章。

GAN能很容易处理离散数据,比如seqGAN. 但是目前diffusion model很难处理离散数据,这是因为连续模型用的Gaussian noise而离散模型只能用binomial noise, 效果差了很多。Max Welling 组写了离散的diffusion model但是效果仅限于character level generation. 当然,Flow based model 也都只有这个水平。因此,diffusion 目前好用的都是continuous domain, 如 image, audio, point cloud 目前也有人在做video. 至于离散的 language 甚至其它的数据结构比如graph, 3d mesh 都比较难做。

很多实际的 GAN 模型,在超分辨率这种广义上的 regression 任务中,都不是原始的 GAN 而是 regression model + GAN loss. 可以将generator理解为regressor, 只不过 loss 在 distance loss的基础上加了 adversarial loss. 这就使得几乎所有的regression (比如auto encoder ) 能做的任务 GAN (以及VAE) 都能做。但是 diffusion model做这一类任务的形式完全不同。因为input space = Gaussian 不能改,想做超分辨率这种 regression 问题,只能用conditional generation 的方式,额外在网络中加 conditional info. 但是我们知道,conditional info 加进去的效率很低,我们连step embedding 都要在每一层加,那更复杂的conditional info 也需要在每一层加,比如我在DiffWave 中 Mel spectrogram要加30遍,在PDR中incomplete 3d point cloud不仅每一层要加,还要extract global feature加到每一层。因此 diffusion model 做这一类任务效果会差一些。当然,现在有文章通过在input时double一下channel来做,一半输入latent另一半输入input data.

2 生成效果

Diffusion model 在它能做的任务上效果好于 GAN. 当然,效果不好于 GAN 的也发不出paper, 所以这句话堪比废话。我们可以说,目前 diffusion model 在 image, audio 等主流领域中的更接近于纯生成模型 (unconditional generation, text to image, text to speech) 而非regression模型的问题上,上限高于 GAN. 这有多方面的原因。

Diffusion model 模型更大,一方面其使用大模型如 UNet, wavenet, PointNet 的时候训练稳定,所以可以上大模型。至于为什么比 GAN和VAE稳定,这可以写很多,简单来说 GAN 和 VAE 都要训练两个网络,比较难平衡,因此有mode collapse 和 posterior collapse. 至于flow based model 因为是likelihood模型,容易被noisy training data 影响,且其invertible architecture 比较受限制。相比之下,diffusion model只有一个网络,且用ELBO 训练,因此比较容易捕捉到数据的major variation. 另一方面,我们在模型加了大量的step/conditional embedding 进一步增大了模型,并且使得对于不同step 的模型不完全一样,类似于share weight 的多个模型,而每一个模型只需要去除一点点噪音,因此更容易生成。

最近的text to image等模型都使用了 classifier guidance或者non-classifier guidance,意思是在p(x|c) 的基础上增加 p(c|x) 的信息,进一步通过label info 强化生成的效果。GAN和 VAE都不能这么操作,因为其 generator 是固定的,所以人们都通过减少 latent variance 的方式来增加质量。至于为什么 diffusion model 能加入这个信息,这是因为 score based EBM 中我们拟合likelihood gradient的时候可以加入classifier guidance, 而diffusion model又与 denoising score based model 具有类似的形式,因此能直接使用这一套方法。

3 计算资源

GAN 的话,学术界还能调一调,有4个卡的话搞个bigGAN实验还是没问题的,diffusion model就别想了,只有大公司玩得起。哪怕最小的cifar 得弄8个卡,训练两个星期。所以最近diffusion model的大模型文章都是 google/openai/nvidia搞出来的。至于学术界,热衷于without retraining的文章,比如 DDIM和我写的FastDPM 都是直接用pretrained model 研究如何快速sampling 的。

GAN 的生成只需要一个forward pass. Diffusion model 需要很多个(原始模型可能要上千个)forward pass, 因此特别慢。最近至少有10篇文章关于 fast sampling 的算法,目前最少可以加速到4~6个 forward pass. 这样效率就比较高,但还是明显慢于 GAN.

4 潜力

不同模型潜力都很大。其实不同的模型本身就擅长不同领域不同任务,没有必要一定说一个好于另一个。比如说,speech synthesis 天生更适合用auto regressive, data compression 天生适合用 (variational) auto encoder, 图像编辑就很适合用 GAN. 我们或许也能说 大数据集,高分辨率图像生成可能更适合用 Diffusion model. 至于学术潜力,diffusion model 完胜,毕竟GAN的坑都差不多了。

后台回复关键词【入群

加入卖萌屋NLP、CV、搜推广与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

登录查看更多
0

相关内容

深度对抗视觉生成综述
专知会员服务
31+阅读 · 2021年12月29日
专知会员服务
21+阅读 · 2021年8月10日
专知会员服务
42+阅读 · 2021年4月23日
【CVPR2021】GAN人脸预训练模型
专知会员服务
23+阅读 · 2021年4月10日
专知会员服务
93+阅读 · 2021年2月6日
最新《生成式对抗网络GAN逆转》综述论文,22页pdf
专知会员服务
38+阅读 · 2021年1月19日
生成对抗网络GAN在各领域应用研究进展(中文版),37页pdf
专知会员服务
147+阅读 · 2020年12月30日
最新《生成式对抗网络GAN时空数据应用》综述论文,28pdf
扩散模型又杀疯了!这一次被攻占的领域是...
夕小瑶的卖萌屋
2+阅读 · 2022年6月22日
用扩散模型生成高保真度图像
TensorFlow
1+阅读 · 2021年8月17日
【GAN】生成对抗网络(GAN)的发展史
产业智能官
16+阅读 · 2020年3月20日
万字综述之生成对抗网络(GAN)
PaperWeekly
43+阅读 · 2019年3月19日
在TensorFlow中对比两大生成模型:VAE与GAN
机器之心
12+阅读 · 2017年10月23日
GAN的数学原理
算法与数学之美
14+阅读 · 2017年9月2日
GAN | GAN介绍(2)
KingsGarden
27+阅读 · 2017年3月14日
国家自然科学基金
5+阅读 · 2017年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Arxiv
0+阅读 · 2022年7月27日
Arxiv
0+阅读 · 2022年7月27日
Arxiv
12+阅读 · 2018年1月12日
VIP会员
相关VIP内容
深度对抗视觉生成综述
专知会员服务
31+阅读 · 2021年12月29日
专知会员服务
21+阅读 · 2021年8月10日
专知会员服务
42+阅读 · 2021年4月23日
【CVPR2021】GAN人脸预训练模型
专知会员服务
23+阅读 · 2021年4月10日
专知会员服务
93+阅读 · 2021年2月6日
最新《生成式对抗网络GAN逆转》综述论文,22页pdf
专知会员服务
38+阅读 · 2021年1月19日
生成对抗网络GAN在各领域应用研究进展(中文版),37页pdf
专知会员服务
147+阅读 · 2020年12月30日
最新《生成式对抗网络GAN时空数据应用》综述论文,28pdf
相关资讯
扩散模型又杀疯了!这一次被攻占的领域是...
夕小瑶的卖萌屋
2+阅读 · 2022年6月22日
用扩散模型生成高保真度图像
TensorFlow
1+阅读 · 2021年8月17日
【GAN】生成对抗网络(GAN)的发展史
产业智能官
16+阅读 · 2020年3月20日
万字综述之生成对抗网络(GAN)
PaperWeekly
43+阅读 · 2019年3月19日
在TensorFlow中对比两大生成模型:VAE与GAN
机器之心
12+阅读 · 2017年10月23日
GAN的数学原理
算法与数学之美
14+阅读 · 2017年9月2日
GAN | GAN介绍(2)
KingsGarden
27+阅读 · 2017年3月14日
相关基金
国家自然科学基金
5+阅读 · 2017年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Top
微信扫码咨询专知VIP会员