ICLR2018论文投稿抢先看:Ian Goodfellow由衷赞赏的训练稳定方法SN-GANs
雷锋网 AI 科技评论按:大家都知道,ICLR 2018的论文投稿已经截止,现在正在评审当中。虽然OpenReview上这届ICLR论文的评审过程已经放弃了往届的双方身份公开,但仍然比其它会议“open”得多:论文内容、以及评审过程中的读者建议和作者答复都是可见的。
随着评审过程持续进行,近期也不断有好的评审中的论文被分享到社交平台上,研究者们得以先睹为快。NVIDIA甚至主动推广了自己投递的一篇论文,雷锋网 AI 科技评论也对论文主要内容做了报道 NVIDIA论文:用GAN生成高清图像 | ICLR 2018 。
这两天又有一篇精彩的论文被发现、分享出来,Ian Goodfellow也给了很真诚且正面的评价:
Ian Goodfellow: “虽然GANs从单独某个类别生成逼真的图像已经做得很棒了(比如用一个GAN生成人脸,另一个GAN生成建筑),但是用一个GAN解决 ImageNet 里的1000个类别就一直都做得不好。这篇ICLR投稿就做到了这件事。”
有个网友问为什么学到生成1000个类非常难,Ian Goodfellow也不是很明白。类别一多,AC-GAN的表现就惨不忍睹。而SN-GAN似乎就解决了其中的问题。
背景
这篇论文名为「Spectral Normalization for Generative Adversarial Networks」(对抗性生成式网络的光谱标准化),主要改进点在于GANs中鉴别器的表现控制。实际上,我们发现这篇论文的较为原始的版本在ICML2017的Workshop on Implicit Models上出现过,论文中的内容现在又有了明显的增加和完善。
简单来说,GANs这种网络框架的目标是让模型生成的数据分布模仿给定数据的分布,其中的生成器生成数据,鉴别器要分辨生成的数据分布是否是目标数据分布。训练过程中交替更新生成器和鉴别器,目标是减小生成的数据分布和给定数据分布之间的区别,而这个区别是在训练的每一回合中的最好的鉴别器测量得到的。近年来对GANs的研究也表明了鉴别器的训练就等同于训练一个生成和给定数据分布的密度比例估计器。
在GANs的训练中有一个永恒的问题,就是鉴别器的表现控制。在高维空间中,鉴别器做出的密度比例估计往往不准确,而且在训练中非常不稳定,生成器网络也难以学到目标分布的多模态结构。更糟糕的是,当生成的和目标数据分布区域不相交的时候,就存在着一个能完美区分生成的数据和目标数据的鉴别器。一旦遇到了这样的状况、训练出了这样的鉴别器,生成器的训练就基本停滞了,因为这样产生的鉴别器的关于输入的导数就成了0。这种情况让作者们思考如何引入一些新的限制,避免训练出这样的鉴别器。
SN-GAN
在这篇论文中,作者们提出了一种新的权重正则化方法,称作“spectral normalization”(光谱标准化),它可以稳定鉴别器网络的训练过程。这种正则化方法的性质很让人喜欢:
-
只需要调节Lipschitz常数一个超参数,而且想到达到令人满意的模型表现也不需要反复调试仅有的这一个参数
-
方法的实现非常简单,额外的计算开销也很小
今年火热过一阵子的Wasserstein GAN中提出了针对输入样本增加正则化项、从而限制鉴别器的Lipschitz常数,以提高训练稳定性的方法。基于输入的正则化方法有较为简单的计算方程,但它们同样有一些问题,就是如果不引入一些启发式的方法就无法在生成器的数据空间和给定数据空间之外的空间中进行正则化。
这篇论文所提的方法在WGAN的思路基础上,提出了一种新的方法解决其中涵待解决的问题,通过给网络中每一层的光谱标准值增加实实在在的限制的做法,控制鉴别器函数的Lipschitz常数、标准化权重矩;同时借助「 Spectral norm regularization for improving the generalizability of deeplearning 」提出的技巧,增加的计算开销也不多。算法的详细介绍篇幅较长,请点击文末链接阅读原论文。
Salimans & Kingma在「Weight normalization: A simple reparameterization to accelerate trainingof deep neural networks」中提出了权重标准化方法,它的代价是减少了鉴别器使用的特征的数量,这样模型产生的数据分布就比较任意,只需要符合不多的几个特征就可以骗过鉴别器;权重剪切的方法也会遇到类似的问题。而这篇论文的作者们希望鉴别器能够尽量多地使用图像中的特征,所以他们的光谱标准化方法可以让参数矩阵尽可能多地使用图像中的不同特征,同时还能满足局部的1-Lipschitz限制。(雷锋网 AI 科技评论注:SN-GANs尽可能多地使用了图像中的特征,这是否就是Ian Goodfellow也想知道的它在大数据集上有出色表现的重要原因呢?)
Gulrajani 等人在「 Improved trainingof wasserstein GANs 」中结合WGAN的方法使用了梯度惩罚gradient penalty。他们的做法不会造成刚才说的特征空间维度的问题,但是对当前的生成数据分布具有高度的依赖性也是一个明显的弱点。随着训练过程进行,生成的数据分布空间会逐渐变化,接着就会导致这种正则化方法的不稳定。实际上,作者们也实验发现选用较高的学习率就会导致WGAN-GP的表现不稳定。作者们提出的光谱标准法方法针对的是操作空间的函数,受到训练batch的影响更小,即便用很高的学习率也不会轻易不稳定。WGAN-GP的计算开销也要高一些。
实验
作者们基于小数据集 CIFAR-10、STL-10 和大数据集 ImageNet 分别进行了无监督和类别限定的图像生成实验,量化评分使用了inception score和Frechet inception distance(FID)。
与SN-GAN进行对比的方法除了上文提到的WGAN-GP(带有梯度惩罚的WGAN)、WN(权重标准化)外,还有BN(batch normalization)、LN(layer normalization)、以及单独使用梯度惩罚的GAN-GP。结果A-F是使用不同的超参数训练的,DEF的学习率较高。
小数据集结果
从图中可以看到,SN-GAN对不同的学习率有较好的健壮性,最佳成绩也比所有其它方法都要好。
如果分别以每种模型的最优参数训练,SN-GAN的表现也是最好的。(STL-10上训练了SN-GAN两次,因为收敛没有那么快)
从生成的图像可以看到,SN-GAN生成的图像更清晰、更丰富,而且没有像WGAN-GP那样在高学习率下出现问题。
SN-GANs的表现分析
下图显示的是每种方法训练得到的表现最好的网络中的鉴别器的权重矩阵中的平方单值。根据前文的预测,用权重标准化方法训练的网络,前1到5层都只会集中在不多的几种成分上,这几层的权重矩阵就会在排名能力上弱一些。另一方面,用光谱标准化训练的网络中这几层权重矩阵的单值就分布更广一些。
当目标是分辨一对嵌入在高维空间中的低维非线性数据复合体的概率分布时,较低层的排名能力不强会变得尤其致命。网络低层的输出只经过了很少的非线性变换,这也就意味着它们多数时候都更多依靠线性空间。在这样的空间中省略了输入分布中的大量特征,造成的结果就是得到一个过于简单的鉴别器。
训练时间方面,SN-GANs的训练时间只比权重标准化增加了10%~20%,仍然比WGAN-GP快多了。
基于 ImageNet 的限定类别图像生成
为了验证所提方法在大规模高维数据集中仍然有效,作者们用带有1000个类别的ImageNet训练了带有类别条件的GANs,每个类别大概有1300张图像,训练时都压缩到了128x128。
通过这张学习曲线就已经可以看到,几种方法里只有SN-GANs能成功地被训练。以实际生成来讲,SN-GANs也是目前唯一一个能够只用一对生成器和鉴别器就能从 ImageNet 数据集生成具有不错质量图像的方法。SN-GANs的模式崩溃状况也要比AC-GANs好得多(intra MS-SSIM分数分别为0.101和约0.25)。
生成的图像当然就很精彩啦,如下图是部分类别的图像
不仅画面清晰、颜色生动、内容多数时候比较合理,图像也有相当的差异性,乍一眼看过去就像是真实的图像放在了一起。这些生成的图片的inception score有21.9。也就是这些结果让Ian Goodfellow感觉到大为震惊。
结论
这篇论文中提出了用于增强GANs训练稳定性的光谱标准化方法,生成的图像比传统的权重标准化具有更高的丰富性,也取得了与以前的研究相当甚至更高的inception score。这种方法与WGAN-GP提出的局部正则化不同,它对鉴别器施加了全局的限制,而且也可以与其它一些方法共同使用。在未来的研究中,作者们打算继续从理论角度深挖这种方法的不同之处,并在更大、更复杂的数据集上实验算法。
论文地址: ICLR评审中@OpenReview ,其中有方法和相关佐证的详细描述
早先ICML版本的TF实现: https://github.com/minhnhat93/tf-SNDCGAN
雷锋网 (公众号:雷锋网) AI 科技评论编译。更多学术报道、精彩论文解读,请继续关注我们。
相关文章:
NVIDIA论文:用GAN生成高清图像 | ICLR 2018
学界 | ICLR 2018截稿:取消公开评审改为双盲引人关注
Ian Goodfellow与ICLR 17最佳论文得主新作:验证与测试,机器学习的两大挑战
雷锋网版权文章,未经授权禁止转载。详情见。