【paddlepaddle论文复现】Large scale GAN training for high fidelity natural image synthesis论文学习

摘要

这篇论文训练了大规模的GAN(生成对抗网络),并且研究了训练过程中的不稳定性。通过实验发现,采用正交规范化(orthogonal regularization)是一个很好的truncation trick,可以实现样本质量和样本多样性之间的平衡。在ImageNet上进行训练,论文中的big GAN模型可以达到166.5的IS指标,同时达到7.4的FID指标,而在这之前这两个指标最好的时候也只能分别达到52.52和18.65.

相关介绍

GAN模型的训练是动态的,并且对于训练的每一个因素的改变都很敏感,优化参数的改变以及网络模型架构的改变都会影响到整个训练过程。现在在ImageNet上的最佳IS指标也只有52.5,而真实数据中这个值可以达到233.

contribution

(1)论文发现通过增大GAN网络模型的规模,使用以往参数的2-4倍,以及使用以往采用的batch size的8倍可以有效的提高GAN模型的性能。论文采用一种正则化策略可以有效的提高网络性能。
(2)论文的模型可以很好的采用截断技巧(truncation
trick),从而实现样本多样性和样本质量之间的平衡。
(3)论文发现大规模的GAN训练会有不稳定性。而论文通过采用一些技巧可以很好的降低这些不稳定性,但是训练的稳定性只能通过极大的代价来实现。

实验过程

采用SA-GAN作为baseline,采用hinge loss作为损失函数。论文的修正是这样的:将学习率减半,每一个G(生成器)对应两个D(判别器),对G的权重采用滑动平均,兵器设置decay衰减率为0.9999.不同于其他论文使用N(0,0.02I)N(0,0.02I)或Xavier进行初始化,本文使用正交初始化(Orthogonal Initialization)。progressive growing是不必要的。
实验的结果如下:
在这里插入图片描述通过表格可以发现单纯8倍8倍的增加batch size就可以使得IS指标提高46%。作者分析是因为这样不仅可以学习到更多的表现,而且可以得到更高的gradient(梯度)。但是这样也会使得模型变得不稳定,并且容易坍塌(collapse)。
作者之后让每一层的通道数增加50%,使得参数量翻倍,发现IS又提高了21%。从表格中也可以看到这个过程。表格中的第二列和第三列分别表示每层的通道数目以及参数量。提高网络的深度不会很明显的提高IS指标。
作者还发现,BN中嵌入类别c占用了很多的权重,文章于是采用共享的嵌入来取代独立的层嵌入。这降低了内存与计算成本,模型训练速度提高37%。
作者之后采用截断技巧(Truncation Trick),截断到一定阈值,可以有效提高IS和FID。

总结

论文发现,通过增大模型规模,增大batch size可以有效的提高GAN模型的效果。但是在这个过程中,也出现过训练坍塌(collapse),以及提前终止训练(early stop)的情况。GAN模型的稳定性不仅是依赖于G和D,还依赖于训练过程中G和D之间的关联。可以通过约束D来增强模型的稳定性,但是这样做的代价也很大。最好的办法是通过放宽约束条件来让模型坍塌(collapse)发生,因为在collapse发生的时刻也就得到了很好的结果。
论文对比了SN-GAN,bigGAN以及更深的模型bigGAN-deep,得到了下面这个表格。发现bigGAN-deep的表现要优于bigGAN。这也说明了更深的深度可以提高模型的质量。
在这里插入图片描述

进一步实验

为了说明论文中的设计方法可以适用于更大,更复杂,多样性的数据集,论文也将模型应用于JFT-300M数据集中。对于JFT-300M数据集中的多标签的图片,论文随机的选取其中一个标签进行实验。同时使用Inception v2分类器在这个数据集上进行实验。batch size是采用2048,同时采用128个通道。
在JFT-300M数据集上的实验结果如下:
在这里插入图片描述在实验过程中发现,在JFT-300数据集上,模型训练比ImageNet上要稳定很多,这也说明了在更大的数据集上可以获得更好的模型稳定性。

猜你喜欢

转载自blog.csdn.net/qq_38391210/article/details/107824074
今日推荐