百度论文复现营,预备通读论文
文章标题:《Large scale GAN training for high fidelity natural image synthesis》又称
BIGGAN
原论文地址:论文地址
论文复现营地址 地址
摘要
这些年来由于对抗生成网络的兴起,掀起了图片生成的浪潮,但问题也接踵而至,如果想要大规模生成高分辨率的并且具有多样性的图片,依靠原来的模型我们很难做到,即是我们做了很多优化,从原始GAN到WGAN到DCGAN等等,在感受到生成网络神奇的同时,有一群人又一次掀起了生成网络的浪潮,那就是BIGGAN不仅让训练更加的稳定,也让GAN榜上的分数再一次刷新,在ImageNet上以128×128分辨率进行训练,从
Inception Score
(IS) 52.52 and
Frechet Inception Distance
(FID) 18.65 直接刷到166.5 and 7.4
一睹为快
这就是BIGGAN的威力,如果你不清楚(IS)166.5意味着什么,科普一下我们真实世界的图片分数为233分
BIGGAN为追求高真实度的图片到底做了哪些优化呢?
- 从参数量使用原来的2-4倍,将每个batch size增大到原来的8倍,并且更改正则化方案
- 使用截断的技巧,为了达到保真度和多样性的平衡,后面对详细说到
- 为了使得模型能在大规模的训练是不崩溃,根据经验和现有的一些技术,确实让模型得到了稳定,但是我们将要付出巨大的性能代价
下面我们将这些技巧或者说是优化一一说一下
BIGGAN大规模训练
在我们的科学研究中科学家们必须通过不断的尝试来将模型进行调优,同样BIGGAN也不例外
-
BATCH SIZE 批次大小
通过表的观察可以发现再其他量不变的情况下,适当的增大BatchSize可以使我们的IS越来越高,而FID越来越低,当然如果再增大BatchSize分数依然会下降,在表中并未体现
CH 通道数
- 实验中通道数也相应增加一些,可以看到分数依然得到了提高,IS进一步的提高了21%,但一味的增加网络的深度并不会得到更好的结果,由于网络的复杂性增加导致网络的生成性能降低
Shared (共享嵌入)
- 左图中将z进行split为多个块,和c一起送入到残差网络中,从右图进一步将c于z进行链接再送人到残差结构的BatchNorm中,观察表格使用了Shared后降低了运算成本,效率提高了37%
Hier (分层潜在空间)
- 什么是
潜在空间
,简单的说就是将生成的z进行截断,但截断后我们会发现,我们的阈值设的越小那么IS会显著的提升,但是FID会增大,也就是说随着阈值的减小,采样范围的变窄,导致了生成图像质量的提升,而生成图像的多样性降低,BIGGAN不仅多潜在空间做了处理并且对
分层潜在空间
也做了处理,将z送入到G的多个层,BigGAN 认为潜在空间 z 可以直接影响不同分辨率和层次结构级别的特征,事实证明这么做提供约 4% 的适度性能提升,并将训练速度提高 18%
Ortho (正交正则化)
- 使用截断可以使得生成的图像质量提高,但是一些较大的模型不适合截断,因为在嵌入截断噪声时会产生饱和伪影,BIGGAN此时采用了正交正则化的方法,使得权重系数之间的干扰减小,受到截断后消失的权重就不会对结果产生较大的影响
W 是权重矩阵,β 是超参数,I 是单位矩阵,没有正交正则化,只有16%的模型适合截断,而有正交正则化则提高到了60%
BIGGAN的稳定性训练
我们使用以前的方法运用在较大模型上时为啥模型会变得极其不稳定,接下来我们来讲讲这一系列原因
- 分析崩溃的原因
光谱归一化之前 G(a)和 D(b)层中第一个奇异值 的典型图。 G 中的大多数层都具有良好的光谱,但是没有约束,一个小的子集在整个训练过程中会增长并在崩溃时爆炸。 D 的光谱噪声较大,但表现更好。 从红色到紫色的颜色表示增加深度。 - 生成器大多数 G 层具有良好的光谱范式,但有些层(通常是 G 中的第一层,过于完整且非卷积)表现不佳,光谱范式在整个训练过程中增长,在崩溃时爆炸。原文中为了确定这种现象是与崩塌有关系,因此对每个w的σ0做了处理
但事实证明了这么做可以提高网络性能,但并不能防止崩溃,因此将观察点转移到了D
- 为了证明D的光谱噪声是否与崩溃有直接关系,那么通过梯度惩罚就可以进行验证
发现只要对D的惩罚够高,那么就可以稳定网络,但是性能代价也会非常高
总结
- 在大规模的训练中,使用更大的网络能帮助我们训练出更好的模型,但依然会发生崩溃的问题,因此通过对G和D的分析,并根据其权重的奇异值表征了它们的稳定性,并讨论了稳定性和性能之间的相互作用。.