不同的GAN的改进算法的效果提升真的那么大吗?
生成对抗网络自从Ian Goodfellow在2014提出后,它作为一种新的以无监督方式学习目标分布的深度生成模型,已经应用到了深度学习的很多方面,比如生成图像、图像修复、风格迁移……,但是GAN的训练过程存在着很多的问题,其中最显著的一个就是训练的难度很高,因为训练过程中涉及到大量的超参数调整、网络模型的架构,以及各种正则化、归一化的训练技巧。因此,对于这个问题,后面的研究者纷纷提出了不同的改进版本的GANs,如WGAN、WGAN-GP、LSGAN、EBGAN……,他们纷纷声称比原始的GAN更强大,生成的效果更好,下面先来直观的看一下不同模型的效果:
EBGAN的生成图像效果:
但是它们真的就比原版的GAN好吗??在去年谷歌发表的两篇论文对于这个问题提出了自己的看法:虽然上面提到的那些模型在特定领域上的结果看起来很好,但我们对于哪种GAN算法在客观上更好并没有达成明确的共识。一个很重要的原因在于缺乏稳健而有一致性的评判指标,以及我们很少会以同样的尺度——包括使用同样的计算成本搜索所有超参数——来对不同的GAN进行比较。
因此,谷歌现在第一篇论文《Are GANs Created Equal? A Large-Scale Study》中采用了两种更加客观的评估GAN效果的方法IS(Inception score)和FID(Fréchet Inception Distance)
IS认为一个好的模型生成的样本应该是当分类器进行评估时,样本的类别分布的熵较低。同时,它也应该生产覆盖所有类别的样本。与之相反,FID是通过衡量真数据与假数据的嵌入差异进行计算。假设编码层遵循多变量高斯分布,则分布之间的距离会减小到相应高斯之间的Frechet距离。
IS: The score was motivated by the following considerations: (i) The conditional label distribution of samples containing meaningful objects should have low entropy, and (ii) The variability of the samples should be high, or equivalently, the marginal should have high entropy.
To quantify the quality of generated samples, they are first embedded into a feature space
given by (a specific layer) of Inception Net. Then, viewing the embedding layer as a continuous
multivariate Gaussian, the mean and covariance is estimated for both the generated data and the
real data. The Fréchet distance between these two Gaussians is then used to quantify the quality
of the samples.
关于详细的阐述性的内容可见原论文,下面是文中给出的几个结果图,我们来一下作者在不同方面的评估:
经过实验作者认为:
- 比较模型时,最小FID是没有意义的。应该在固定的计算预算下比较最小可实现FID的分布
- 随着计算预算的增加,最先进的GANs中的算法差异变得不那么相关。此外,考虑到有限的预算(比如一个月的计算时间),“好的”算法可能会被“坏的”算法超越
- 没有直接的证据证明任何一个测试算法一致优于原版算法
在第二篇文章《The GAN Landscape: Losses, Architectures, Regularization, and Normalization》中,作者主要从损失函数、判别器的正则化与归一化、生成器与判别器的架构、评估度量与数据集等 5 个方面讨论了各种不同的技术。具体的介绍部分可见原论文,这里同样直观的来看一下作者的实验结果图:
最后,作者给出了几点建议:
-
在将GANs应用于新的数据集时,应该考虑不饱和GAN损失和谱归一化作为默认选择。考虑到额外的计算预算,建议添加梯度惩罚,并训练模型直到收敛
-
此通过归一化和正则化相结合的方法,可以获得额外的边际收益。而且文中提到的两种网络架构都表现得相当好。但在ResNet风格的架构中应用的大多数技巧都导致了质量上的微小变化,而且计算成本很高,所以应该避免。
感想
从两片文章中可以看出,当我们拥有足够多的计算资源和数据量时,不同的改进模型在相同的基础设置下,效果并没有太大的差别。因此,当我们在对一个东西提出自己的改进想法,并通过实验证实了在某些方面优于之前的模型,但是这种优势具有多大的意义,就成为了一个很值得思考的问题。
参考
Wasserstein GAN (WGAN) https://arxiv.org/pdf/1701.07875.pdf
Improved Training of Wasserstein GANs (WGAN-GP) https://arxiv.org/pdf/1701.07875.pdf
Energy-based Generative Adversarial Network (EBGAN) https://arxiv.org/pdf/1609.03126.pdf
Generative Adversarial Nets(GAN) https://arxiv.org/pdf/1406.2661.pdf
The GAN Landscape: Losses, Architectures, Regularization, and Normalization https://arxiv.org/abs/1807.04720
Github:http://www.github.com/google/compare_gan
TensorFlow Hub:http://www.tensorflow.org/hub
Are GANs Created Equal? A Large-Scale Study https://arxiv.org/abs/1711.10337?context=stat