美文网首页
Large Scale GAN training for Hig

Large Scale GAN training for Hig

作者: 马小李23 | 来源:发表于2018-11-15 16:17 被阅读52次

对于高保真度自然图片合成的大规模GAN训练

摘要
尽管近期在生成图片建模方面取得了进展,但是从诸如ImageNet这种复杂的数据库中成功地生成高分辨率以及多样性的样本,依旧是个难以捉摸的目标。为此,我们在尚未尝试的最大规模下训练生成对抗网络,并研究在这种规模下模型的不稳定性。我们发现将正交正则化应用于生成器,时期服从简单的“截断技巧”,从而可以通过截断隐藏空间,对样本的保真度与多样性之间的权衡进行精细的控制。我们的修改得到了在类条件图像合成中设置新的艺术状态的模型。在ImageNet的128*128分辨率下训练,我们的模型(BigGANs)得到了166.3的Inception Score(IS)和9.6的Frechet Inception Distance(FID),改善了之前最好的52.52的IS和18.65的FID。

这篇论文没有提出新的模型,只是将原有的GAN的模型,用8倍原有的batch size大小,并且将隐藏层的变量数量扩充到原有模型的4倍以后,进行训练获得了很好的图片生成的效果。与此同时,在扩充了变量数量和batch size大小后,模型出现了不稳定的现象,文章中对出现的不稳定现象,采用现有的比较有效的稳定训练GAN的方法,但是文中发现这样确实会稳定GAN的训练,但是同时会牺牲生成图片的质量。

关于实现细节的问题
GAN架构:
SA-GAN
损失函数:
hinge loss
类信息处理:
Batch Norm for G
projection for D
训练
Spectral Norm in G
学习率减半
每训练G一次,训练D两次
G的权重使用moving average,decay为0.9999
初始化
Orthogonal Initialization

文章首先发现,只是增加batch size的大小到原来大小的8倍,模型提升了生成图片的质量(用Inception Score度量),但是也加快了模型发生不稳定和模式崩塌速度。
接着,增加每层的神经元的个数,将其个数翻倍,这样同样提升了生成图片的质量(用Inception Score度量)。但是实验发现,增加GAN网络的深度,并没有改善图片生成的质量。
文中对于类信息c使用batch norm处理,并采用了共享的策略,将c的信息传递给每一层中,这样可以提高性能,减少计算量。除了将类信息c传递到每层,文中同样将z,也就是生成图片所用的噪声数据传递到了每层,这样可以提升性能和加快训练速度。

文章讨论较多的是被其称作截断技巧的部分,简单说,截断技巧就是,用正态分布数据进行训练,然后测试的时候,采用截断的正态分布数据来生成更好的图片(这个思路类似于,训练了一大批军队,但是到时候真正上战场的是这批军队中的精兵)。这个技巧能很好的提高生成图片的质量,但是会降低生成图片的多样性。但是,有些模型不会服从截断(也就是说,使用了截断技巧,但是没有提升产生图片的质量),文章尝试用正交化初始化的方式,解决这个问题,最终找到较好的正则化权重如下:

文章中同时也对于GAN训练的稳定性做了研究,首先他们发现了生成器G的第一层的最大奇异值,会在发生模式崩塌的情况下,剧烈变化并且爆炸增长。但是限制这一层权重的增长,以限定其最大奇异值的变化,并没有保证获得模型的稳定,因而他们认为第一层最大奇异值的变化,是模式崩塌发生的征兆,而不是原因。
文章近一步研究了分辨器的模式崩塌的情况,发现在模式崩塌发生的时候,其权重的奇异值会发现跳跃,同时文章尝试了很多正则化的方法来防止模式崩塌的现象,发现采用了这些正则化的方法,可能会防止模式崩塌,但是这是以生成样本的质量为代价的。因而文章给出的建议是,在现有的技术情况下,可以考虑松弛防止模式崩塌的约束,或者就让模式崩塌发生,从而换取更好的模型生成的图片的质量。
文章的附录部分的讨论也值得一读,比如使用的GAN使用了resNet的架构;训练的trick,还有就是对于隐藏变量——生成器的输入z的取值研究,文中的实验表明,使用伯努利分布,Censored Normal,正态分布和伯努利分布的混合都可以提高输出图片的质量。

相关文章

网友评论

      本文标题:Large Scale GAN training for Hig

      本文链接:https://www.haomeiwen.com/subject/tuiyfqtx.html