Contents
原文链接
https://arxiv.org/abs/1812.04948
引言
尽管GAN的发展十分迅速,但是对图像合成过程中的各个方面(如原始的随机特征)的理解仍然十分缺乏。潜空间中的属性也无法理解。
受到风格变换相关文章的启发,文中重新设计了生成网络的结构(保留判别网络和损失函数不变)。
文中的生成器将输入的潜向量嵌入到一个中间的(intermediate)潜空间中。由于输入的潜空间必须服从训练数据的概率密度,我们断定这会造成一些不可避免的瓜葛。但是我们使用的中间潜空间不受这种限制。由于之前的评估潜空间是否纠缠(entanglement)的方法无法直接在本文中使用,因此文中提出了两种自动矩阵:感知路径长度和线性可分离性,来量化生成器的这些方面。使用着两种量化方法,我们和其他的生成结构相比较,结果显示我们的方法线性程度更高、变化因素(factors of variation)的纠缠程度更低。(比如肤色和脸型就是两种不同的factors of variation)
最后,文中给出了一个清晰度更高(HQ)、变化更为丰富新的人脸数据集(Flickr-Faces-HQ, FFHQ)。
基于风格的生成网络
传统的生成网络和和文中提出的生成网络的示意图如下图所示。左图为传统的生成网络,右图为文中提出的生成网络。
网络的详细结构为,先使用8层的全FC网络,将输入的潜向量z映射为潜空间W中的潜向量w,w通过自适应实例正则化(adaptive instance normalization, AdaIN )来控制生成器,A表示放射变换(平移、缩放),B表示每层对于噪声的缩放系数,生成网络的层数为18层(从4×4到1024×1024每种分辨率2层),输出层使用1×1的卷积来分别转成RGB。
AdaIN操作定义为:
\displaystyle\operatorname{AdaIN}(x_i, y)=y_{s, i} \displaystyle\frac{x_i-\mu(x_i)}{\sigma(x_i)}+y_{b, i}
意思是将每一层的xi分别正则化以后,乘以风格ys,再加上噪声yb。
与风格变换(style transfer)相比,文中计算空间不变风格y的方式是从潜向量w计算,而不是从一张示例图(example image)计算。文中仍然用”风格”来表示y是因为类似的网络结构已经在前馈风格变换网络、UNIT、domain混合中使用。
最后,为了生成随机细节,文中引入了明确的噪声输入,这是一些单通道的不相关的高斯噪声图,将这些专门的噪声图像加入到合成网络的每一层中,乘以通过学习得到的每层feature map的缩放系数,然后加入到对应卷积层的输出。
生成图像的质量
文中方法显著地提升了生成图像的质量,调优的过程如下表所示。
首先通过对baseline引入双线性上、下采样、调整超参数、训练更长的时间得到(B),然后加入映射网络和AdaIN得到(C),然后意外地发现网络不再需要传统第一层卷积层的输入,因此将传统的输入层替换成4×4×512的常数张量,得到(D)。最后,引入了噪声输入得到了(E),并加入混合正则化得到F。
对两种数据集,文中使用了不同的损失函数,CelebA-HQ使用的是WGAN-GP,FFHQ对于(A)使用的是WGAN-GP,对于(B-F)使用的是带有R1正则的非饱和度损失(non-saturating loss)。生成的图像效果如下图所示(分辨率由小到大):
对于这张效果图,文中使用了所谓的裁剪技巧(truncation trick)避免了从W的极限区域采样。附录B是这种技巧如何在W中应用(原文是在z中应用)。