3

DeepMind谷歌研究员力荐:扩散模型效率&生成质量提升窍门,来自StyleGAN原作者

 1 year ago
source link: https://www.qbitai.com/2022/06/35068.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

DeepMind谷歌研究员力荐:扩散模型效率&生成质量提升窍门,来自StyleGAN原作者

head.jpg丰色 2022-06-04 13:04:28 来源:量子位

“玩扩散模型必看”

丰色 发自 凹非寺

量子位 | 公众号 QbitAI

新晋图像生成王者扩散模型,刚刚诞生没多久。

有关它的理论和实践都还在“野蛮生长”。

来自英伟达StyleGAN的原班作者们站了出来,尝试给出了一些设计扩散模型的窍门和准则,结果模型的质量和效率都有所改进,比如将现有ImageNet-64模型的FID分数从2.07提高到接近SOTA的1.55分。

2b8c7e8567c9462984f76df58051da67~tplv-tt-shrink:640:0.image

他们这一工作成果迅速得到了业界大佬的认同。

DeepMind研究员就称赞道:这篇论文简直就是训练扩散模型的人必看,妥妥的一座金矿。

2b4715641e4d4930997a86026a3d2aa7~tplv-tt-shrink:640:0.image

三大贡献显著提高模型质量和效率

我们从以下几个方面来看StyleGAN作者们对扩散模型所做的三大贡献:

用通用框架表示扩散模型

在这部分,作者的贡献主要为从实践的角度观察模型背后的理论,重点关注出现在训练和采样阶段的“有形”对象和算法,更好地了解了组件是如何连接在一起的,以及它们在整个系统的设计中可以使用的自由度(degrees of freedom)。

精华就是下面这张表:

b386cdc531634394aa45f7001ce93e4a~tplv-tt-shrink:640:0.image

该表给出了在他们的框架中复现三种模型的确定变体的公式。

(这三种方法(VP、VE、iDDPM+ DDIM)不仅被广泛使用且实现了SOTA性能,还来自不同的理论基础。)

这些公式让组件之间原则上没有隐含的依赖关系,在合理范围内选择任意单个公示都可以得出一个功能模型。

随机采样和确定性采样的改进

作者的第二组贡献涉及扩散模型合成图像的采样过程。

他们确定了最佳的时间离散化(time discretization),对采样过程应用了更高阶的Runge–Kutta方法,并在三个预训练模型上评估不同的方法,分析了随机性在采样过程中的有用性。

结果在合成过程中所需的采样步骤数量显着减少,改进的采样器可以用作几个广泛使用的扩散模型的直接替代品。

先看确定性采样。用到的三个测试模型还是上面的那三个,来自不同的理论框架和模型族。

作者首先使用原始的采样器(sampler)实现测量这些模型的基线结果,然后使用表1中的公式将这些采样方法引入他们的统一框架,再进行改进。

接着根据在50000张生成图像和所有可用真实图像之间计算的FID分数来评估质量。

97cdadf4638f44f68c4d65ac5e19de22~tplv-tt-shrink:640:0.image

可以看到,原始的的确定性采样器以蓝色显示,在他们的统一框架(橙色)中重新实现这些方法会产生类似或更好的结果。

作者解释,这些差异是由于原始实现中的某些疏忽,加上作者对离散噪声级的处理更仔细造成的。

确定性采样好处虽然多,但与每一步都向图像中注入新噪声的随机采样相比,它输出的图像质量确实更差。

不过作者很好奇,假设ODE(常微分方程)和SDE(随机微分方程)在理论上恢复相同的分布,随机性的作用到底是什么?

在此他们提出了一种新的随机采样器,它将现有的高阶ODE积分器与添加和去除噪声的显式“Langevin-like ‘churn’”相结合。

最终模型性能提升显著,而且仅通过对采样器的改进,就能够让ImageNet-64模型原来的FID分数从2.07提高到1.55,接近SOTA水平。

d0b2c957860b43c6a4eccc2a91e6121c~tplv-tt-shrink:640:0.image

预处理和训练

作者的第三组贡献主要为分数建模(score-modeling)神经网络的训练。

这部分继续依赖常用的网络体系结构(DDPM、NCSN),作者通过对扩散模型设置中网络的输入、输出和损失函数的预处理进行了原则性分析,得出了改进训练动态的最佳实践。

比如使用依赖于σ(noise level)的跳跃连接对神经网络进行预处理,使其能够估计y(signal)或n(noise),或介于两者之间的东西。

下表具体展示了模型彩英不同训练配置得到的FID分数。

6ef01ab48d59431aabb912378f2f50b6~tplv-tt-shrink:640:0.image

作者从基线训练配置开始,使用确定性采样器(称为配置A),重新调整了基本超参数(配置B),并通过移除最低分辨率层,并将最高分辨率层的容量加倍来提高模型的表达能力(配置C)。

然后用预处理(配置D)替换原来的{cin,cout,cnoise,cskip}选项。这使结果基本保持不变,但VE在64×64分辨率下有很大改善。该预处理方法的主要好处不是改善FID本身,而是使训练更加稳健,从而将重点转向重新设计损失函数又不会产生不利影响。

VP和VE只在Fθ的架构上有所不同(配置E和F)。

除此之外,作者还建议改进训练期间的噪声级分布,并发现通常与GANs一起使用的无泄漏风险增强(non-leaking augmentation)操作也有利于扩散模型。

比如从上表中,我们可以看到:有条件和无条件CIFAR-10的最新FID分别达到了1.79和1.97,打破了之前的记录(1.85和2.1046)。

更多细节欢迎查看论文原文:
https://arxiv.org/abs/2206.00364

参考链接:
https://twitter.com/sedielem/status/1532466208435494930?s=12&t=Uzg6OWwe5AgXHSBrzlnFrg

版权所有,未经授权不得以任何形式转载及使用,违者必究。

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK