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

丰色 发自 凹非寺
量子位 | 公众号 QbitAI

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

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

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

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

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

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

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

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

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

用通用框架表示扩散模型

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

精华就是下面这张表:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

预处理和训练

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

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

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

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

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

作者从基线训练配置开始,使用确定性采样器(称为配置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

你可能感兴趣的:(机器学习,深度学习,人工智能,java,计算机视觉)