ICLR 2019论文《LARGE SCALE GAN TRAINING FOR HIGH FIDELITY NATURAL IMAGE SYNTHESIS》
论文下载地址:
https://openreview.net/pdf?id=B1xsqj09Fm
总览
- 研究背景
??到 BigGAN 提出为止,虽然 GANs 在图像生成领域取得了很多显著的成果,但是在学习像 ImageNet 这类复杂的数据集的能力还不够,并且生成高分辨率、多样性的图像样本的效果也不太理想。 - 研究目的
??合成具有更高分辨率、更加多样性的图像样本 - 要做的事情
??(1)首先,BigGAN 在基线模型 SA-GANs 的基础上增加每个批次的数据量为原来的2、4、8倍,发现增大每个批次训练数据的数量能够带来更好的效果;
??(2)其次,增加每一层网络的通道数为先前工作的1.5倍,使网络参数的数量增加为原来的2~4倍,同样发现能够得到更好的效果;
??(3)然后,为有效利用类别条件嵌入同时不增加参数数量,BigGANs 采用共享嵌入方法将类别条件线性投影到每个 BatchNorm 层的增益(gain)和偏置(bias),从而降低了计算和内存成本,提高了训练速度;
??(4)紧接,为了从潜空间采用的随机噪声向量 z 能够直接影响不同分辨率及层次结构级别下的特征,BigGANs 通过层次化潜在空间将随机噪声向量 z 输入到生成器的每一层,从而降低了内存和计算成本,主要是降低了第一个线性层的参数数量;
??(5)再次,BigGAN 研究工作探索了多种不同的随机噪声分布,并发现 {0,1} 伯努利分布和设限的正态分布(Censored Normal) 比从正态分布和均匀分布的效果更好,但由于截断技巧比这两种分布的效果更好,而这两种分布并不适用截断技巧,因此 BigGAN 舍弃使用这两种分布而选择使用传统的正态分布,并通过截断技巧来权衡合成样本的保真度和多样性;
??(6)其后,通过正交正则化来解决一些较大模型使用截断技巧造成的饱和伪影问题,将生成器调节平滑,强制使其适应截断技巧,从而更有效利用整个随机噪声向量空间合成更高质量的样本;
??(7)最后,使用以上方法和技巧的虽然提高了模型的效果,但是模型在训练时也容易崩溃,所以在实际使用中需要采取提前停止训练的措施。针对这个问题,BigGANs 探索能够指示训练崩溃的度量指标,进一步分别研究和分析了生成器和判别器在大尺度下出现的不稳定性的原因,并提出了针对性的措施和解决方法。 - 效果展示
(1)512 x 512分辨率合成图像的效果
(2)初始分数(Inception Score)与弗雷歇初始距离(FID)的效果
初始分数(IS) | 弗雷歇初始距离(FID) | 分辨率 | |
---|---|---|---|
真实图像 | 233 | 128*128 | |
SAGAN | 52.52 | 18.65 | 128*128 |
BigGAN | 166.3 | 9.6 | 128*128 |
BigGAN | 232.5 | 8.1 | 256*256 |
BigGAN | 241.5 | 11.5 | 512*512 |
其中,初始分数(Inception Score,IS) 和弗雷歇初始距离(Fréchet Incepton Distance,FID)是目前评价 GANs 合成样本最常用的两个评价标准
- 初始分数(Inception Score,IS) 数值越大,GANs 合成的样本质量越高
- 弗雷歇初始距离(Fréchet Incepton Distance,FID)数值越小,GANs 合成的样本质量越高
方法
- 大批量
??每个批次训练数据的数量增加到 2048 - 大通道
??增加每一层网络的通道数为先前工作的1.5倍,使网络参数的数量增加为原来的2~4倍 - 共享嵌入
??类别条件线性投影到每个 BatchNorm 层的增益(gain)和偏置(bias),从而降低了计算和内存成本,提高了训练速度,而不是为每个嵌入分别设置单独一层,需要注意的是标签控制条件 c 并输入到第一层网络,如下图: - 层次化潜在空间
??将随机噪声向量 z 对应不同的分辨率划分为多个块,然后将每一块随机噪声向量 z’ 与条件向量 c 连接在一起,再映射到 BatchNorm 层的增益(gain)和偏置(bias),如上图 - 截断技巧
??通过重新采样数值高于选定阈值的值来截断 zz 矢量,减小 zz 的采样范围可以改善单个样品质量,但整体样品多样性,而增大 zz 的采样范围可以降低单个样品质量,而提高整体样品多样性。因此,可以通过阶段技巧来对样本的保真度和多样性进行细粒度地调节。 - 正交正则化
??一些较大的模型输入截断噪声向量 zz 是会产生饱和伪影,如下图所示:
因此许多模型并不适合使用截断技巧。针对这种情况 BigGAN 通过正交正则化(Orthogonal Regularization)将 G 调节为平滑,强制使其适合使用截断技巧 - 生成器的不稳定性及对策
- 判别器的不稳定性及对策
试验
- 数据集
ImageNet ILSVRC 2012(128x128、256x256、512x512)、JFT-300M(更大、更复杂、更多样)、CIFAR-10(32323)图像超分辨率 - 结果
总结
- BigGAN 最大的特色就是通过较大的批量数据以及较大的参数数量(增加通道数)来提高建模具有多种类别的复杂数据集(如 ImageNet),从而提高合成样本的质量(保真度和多样性)。
- BigGAN 使用了很多技术和策略来提高合成样本的质量、平衡保真度与多样性、提高训练速度及稳定性等,整体来说是集现有 GANs 技术的一大作。
- 分析了在大规模配置下, GANs 的不稳定性的来源,是 G 和 D 在对抗训练过程中的相互作用,而不是单独地来源于 G 或 D。并发现通过对 D 施加很强的约束可以稳定训练。通过现有的技术,通过放松约束调节并允许训练后期阶段发生崩溃,可以实现更好的效果。
- 但 BigGANs 也存在一些不足:如:虽然大尺度提高合成样本的质量,但是也使模型容易不稳定,陷于完全崩溃的状态;虽然使用一些现有的策略和方法能够提高训练稳定,但不能彻底地避免崩溃;虽然对 D 施加较强的约束可以提高训练稳定性,但在性能上会造成很大的牺牲。
- BigGAN 所采用的 batch_size = 2048 而取得的效果是是需要一定的硬件实力支撑的(BigGAN 的计算硬件:128 ~ 512 个核的 Google TPUv3 Pod)