StyleGAN内容回顾

styleGAN模型

分成两部分:

  • Mapping network

  • Synthesis network

StyleGAN出现的问题:

  • 在训练的途中会出现的水滴残影,最后反映在图像中会使得图片部分出现不符合常理的阴影
  • 在训练添加不同的噪声时,某些地方的无法受到噪声的影响

解决水滴阴影

styleGAN2修改了styleGAN生成器的结构,来去除水滴阴影。

导致水滴阴影的原因是 Adain 操作,Adain对每个feature map进行归一化,因此有可能会破坏掉feature之间的信息。

文中去掉AdaIN修改生成器结构为

StyleGAN2的结构

除了网络结构上的改进,还有就是Weight demodulation,公式如下:

训练优化以及图像质量优化

Lazy regularization

损失 是由损失函数和正则项组成,优化的时候也是同时优化这两项的,lazy regularization就是正则项可以减少优化的次数,比如每16个minibatch才优化一次正则项,这样可以减少计算量,同时对效果也没什么影响。

Path length regularization

在生成人脸的同时,我们希望能够控制人脸的属性,不同的latent code能得到不同的人脸,当确定latent code变化的具体方向时,该方向上不同的大小应该对应了图像上某一个具体变化的不同幅度。为了达到这个目的,设计了 Path length regularization ,它的原理也很简单,在图像上的梯度用图像乘上变换的梯度 来表示。

Progressive优化

StyleGAN使用的Progressive growth会有一些缺点,如下图,当人脸向左右偏转的时候,牙齿却没有偏转,即人脸的一些细节如牙齿、眼珠等位置比较固定,没有根据人脸偏转而变化,造成这种现象是因为采用了Progressive growth训练,Progressive growth是先训练低分辨率,等训练稳定后,再加入高一层的分辨率进行训练,训练稳定后再增加分辨率,即每一种分辨率都会去输出结果,这会导致输出频率较高的细节忽视了的变化。

对于progressive的优化思路:使用Progressive growth的原因是高分辨率图像生成需要的网络比较大比较深,当网络过深的时候不容易训练,但是skip connection可以解决深度网络的训练,因此有了上图中的三种网络结构,都采用了skip connection。