StyleGAN2:分析和改进StyleGAN的图像生成质量.
StyleGAN生成图像中存在类似水滴的斑状伪影,在生成器网络的中间特征图中此类伪影更加明显:这一问题似乎出现在所有 64×64分辨率特征图中,且在分辨率更高的特征图中更为严重。
本文作者认为这种伪影是由AdaIN导致的。AdaIN通过对特征的每个通道进行均值和方差的归一化,潜在地破坏了特征的幅值携带的信息。伪影的出现可能是由于生成器想要传递信号强度信息,因此通过创造一个强局部尖峰来主导特征的统计数据。
通过一系列改进,作者设计了StyleGAN2,进一步提升了图像生成质量:
1. 权重解调制 Weight demodulation
为了降低AdaIN产生的影响,StyleGAN2通过权重解调制简化了模型设计。
首先重新绘制StyleGAN的生成器结构,把AdaIN拆分成归一化步骤Norm和反归一化步骤Mod,并把卷积层的权重参数$w$和偏置参数$b$均标注出来:
StyleGAN2简化了网络输入端常数的处理(移除了噪声输入和归一化步骤);在网络中间层的归一化步骤只进行方差变换,不改变特征的均值;将噪声模块从归一化前调整到归一化后:
此时反归一化步骤Mod仅包括缩放参数$s$,与卷积权重$w$组合后相当于缩放卷积权重$w’=s\cdot w$。然后把归一化步骤调整到卷积权重$w=w/\sqrt{\sum w^2 + \epsilon}$,实现了权重解调制过程:
2. 正则化 Regularization
StyleGAN2采用懒惰式正则化(Lazy regularization),即在损失函数计算过程中忽略大部分正则化损失对性能也不会产生太大影响。即使每 $16$个mini-batch仅执行一次正则化,模型性能也不会受到影响,同时计算成本有所降低。
此外StyleGAN2还引入了路径长度正则化(Path length regularization)。直观地,对于隐空间中连续的线性插值点,生成图像之间的距离应该平滑的变化。因此约束插值路径上不同片段之间的路径距离变动。
3. 替换渐进式增长 No growing
StyleGAN使用渐进式增长来逐步生成高分辨率图像。然而渐进式增长可能导致生成图像的细节变化缓慢,比如使用渐进式增长生成的人脸图像改变方向,其牙齿中缝的位置(蓝线)却几乎没有发生变化。
StyleGAN2把渐进式增长调整为一次前向传播过程,通过残差结构融合每一层级的特征,相当于学习最低分辨率的特征图,然后逐步学习更大分辨率的残差图像。
4. 大型网络 Large network
下图给出了在训练过程中,模型不同分辨率的层对生成图像的贡献情况。在训练初期,低分辨率层占主导地位;随着更多训练迭代的完成,高分辨率层的贡献没有被充分地利用;因此StyleGAN2把高分辨率层中的特征图数量翻倍,取得更好的表现。