A Style-Based Generator Architecture for Generative Adversarial Networks(论文翻译)


A Style-Based Generator Architecture for Generative Adversarial Networks

通过借鉴图像风格迁移,本文提出一种GAN的可替换的生成器架构。这种新的生成器架构可以无监督地分割高级属性,生成的图片可以随机变化(比如人物的雀斑和头发),并且它允许对图片的合成进行直观地特定尺度的控制。这种新的生成器可以得到更好的插值属性,也可以更好地理解变量的潜在因素

1 Introduction

目前在GAN中,生成器仍以黑盒的形式运行,虽然也有人对GAN的运行做出解释,但对图片合成过程的各个方面(例如随即特征的初始状态)仍然缺乏了解。对潜在空间(latent space)的属性的理解也很少。并且潜在空间插值并没有提供定量的方法来比较不同的生成器。
本文重新设计了生成器架构,提出了控制图像合成过程的新方法。生成器开始于一个输入常量,根据 latent code 在每个卷积层调整图像的样式,从而在不同尺度下直接控制图像特征的强度。没有对判别器和损失函数进行修改。
生成器将输入的 latent code 嵌入到一个中间潜在空间(intermediate latent space)中。输入潜在空间(input latent space)必须服从训练数据的概率密度,这将会导致一定程度上不可避免的纠缠(entanglement)。而中间潜在空间不受这个限制,因此可以解纠缠(disentangled)。这里提出两种新的度量标准——感知路径长度(perceptual path length)和线性可分离性(linear separability)。


解纠缠(Disentanglement),也叫做解耦,就是将原始数据空间中纠缠着的数据变化,变换到一个好的表征空间中,在这个空间中,不同要素的变化是可以彼此分离的。比如,人脸数据集经过编码器,在潜变量空间Z中,我们就会获得人脸是否微笑、头发颜色、方位角等信息的分离表示,我们把这些分离表示称为Factors。


2 Style-based generator

在这里插入图片描述
图(a)是传统的生成器结构,图(b)是本文提出的新的生成器结构。在(a)中 latent code 通过输入层即前馈网络的第一层提供给生成器。
图(b)的解释如下:
1.完全省略了输入层,而是从一个学习到的常量开始。
2.给定一个输入潜在空间Z中的latent code z,由一个非线性网络映射f:Z——>W,产生w∈W。W是中间潜在空间,这一步即先将输入映射到中间潜在空间。映射网络由8层MLP组成。如图(b)的左边。
3.在图(b)的右边,A代表学习的仿射变换,A操作将w专门化为样式y =(ys,yb),这些样式随后被输入到合成网络g中,在合成网络g的每个卷积层之后控制自适应实例规范化(AdaIN)操作。中间潜在空间W通过每个卷积层的自适应实例规范化(AdaIN)控制生成器。
4.AdaIN操作定义为:
在这里插入图片描述
其中每个特征图(feature map)xi分别进行归一化,然后使用样式y中对应的标量分量进行缩放和偏移。因此,y的维数是该图层上特征图数量的两倍。
5.还是在图(b)的右边,B操作将学习的单通道缩放因子应用于噪声输入,将噪声图像广播到所有特征图,然后将高斯噪声添加到相应卷积的输出中。
6.合成网络g有18层,最后使用单独的1×1卷积将最后一层的输出转换为RGB。

2.1 Quality of generated images

在这里插入图片描述
上表说明,在CelebA-HQ和FFHQ数据集中不同生成器架构的FDI值,FDI值越小越好。基础模型是(A)Progressive GAN这一生成器架构。除非另有说明,否则将从其中继承网络和所有超参数。
1.首先通过使用双线性上/下采样操作、更长的训练和已调整的超参数将基础模型改进到(B)。
2.然后通过添加映射网络和AdaIN操作改进到(C),并观察到网络不再受益于将latent code馈入到第一个卷积层。
3.然后通过删除传统的输入层并从学习到的4×4×512恒定张量(D)开始图像合成来简化体系结构。
4.接下来发现添加噪声也能够改善结果(E)。
5.最后对相邻样式进行去相关并实现对生成图像的更细粒度控制的混合正则化。
发v
上图显示了本文的生成器从FFHQ数据集生成的一组未整理的新颖图像。正如FID所证实的那样,平均质量很高,甚至眼镜和帽子之类的配件也能成功合成。对于此图避免使用所谓的截断技巧(truncation trick)来从W的极端区域进行采样。本文的生成器允许只在低分辨率中选择性地应用截断,因此高分辨率细节不会受到影响。

2.2 Prior art

其他关于GAN的改进工作:
判别器改进方面:
1.使用多个判别器
2.多分辨率判别
3.self-attention
生成器改进方面:
1.输入潜在空间的精确分布
2.通过高斯混合模型、聚类或鼓励凸度来塑造输入潜在空间。
最近的条件生成器通过单独的嵌入网络,为生成器的每一层提供类标签,但是输入仍然是通过输入层。一些人考虑将latent code的一部分馈送到多个生成器层中。Chen et al.等也是使用AdaINs来对生成器进行self modulate,但他们并没有考虑中间潜在空间和噪声输入。


3 Properties of the style-based generator

本文中的生成器可以通过对样式进行特定比例(scale-specific)的修改,来控制图像合成。2中提到的映射函数和仿射变换可以看成是从学习到的分布中,为每种样式绘制样本;而合成网络可以看成是基于样式的集合生成新的图像。每种样式的效果在网络中都是已经被定位(localize)的,即修改样式的特定子集只能影响图像的某些方面。为什么会产生这种效果呢?AdaIN操作先将每个通道归一化为zero mean和unit variance,然后才根据样式应用比例和偏差;接下来,基于样式的新的每通道统计信息会对features在后续卷积操作中的相对重要性进行修改,但是因为已经进行了归一化操作,新的每通道统计信息并不会依赖原始统计信息。因此每个样式仅控制一个卷积层,然后被下一个AdaIN操作覆盖。

3.1 Style mixing

为了让样式更好地locallize在网络中,这里提出混合正则化(mixing regularization)的概念:在训练过程中,当要生成给定百分比的图像时,需使用两个随机的latent codes。当生成这种图像时,只需在合成网络中随机选择的一点上进行style mixing操作(从一个latent code转换到另一个latent code)。详细来说就是,向映射网络输入两个latent codes z1和z2,并让相对应的w1和w2控制样式,从而可以使w1应用于交叉点(crossover point)之前,w2应用于交叉点之后。
在这里插入图片描述
上图:从各自的latent codes(源A和源B)生成了两组图像。其余图像是通过从源B复制指定的样式子集,然后从源A获取其余的样式而生成的。可以看出以不同比例混合两个latent codes可以得到不同的图像,并且样式的每个子集都控制着图像中有意义的高级属性。
Coarse styles from B这三排图像:复制源B中与粗略空间分辨率相对应的样式(如姿势、发型、脸型和源B中的眼镜),从源A中获取颜色(眼睛、头发、灯光)和更精细的面部特征。
Middle styles from sorce B这两排图像:从源B复制中间分辨率的样式,(如一些较小比例的面部特征、发型、眼睛睁开/闭上),从源A获得姿势、脸型、眼镜等特征。
Fine from B这最后一排图像:从B中复制精细的样式,主要变化是配色和一些微观结构上的不同。

3.2 Stochastic variation

在传统的生成器中,如果要实现生成图像的随机变化,假设网络的唯一输入是通过输入层,网络需要从较早的激活中生成空间变化的伪随机数,这会消耗网络容量,并且难以隐藏生成信号的周期性。这种方法也并不总是成功的,比如有些生成图像中存在一些重复图案。
本文的生成器通过在每次卷积后添加每像素噪声来实现生成图像的随机变化。下面通过两张图来看一下噪声对生成图像的影响。
在这里插入图片描述
(a)两张生成的图片。(b)输入不同噪声时对生成图片的影响。虽然总体外观几乎相同,但头发的放置方式有所不同。(c)每个像素的standard deviation,突出显示图像的哪些部分受噪声影响。可以看出主要受影响区域是头发、轮廓和背景部分,眼睛反射也受到了一些影响。从这张图可以看出,噪声仅影响随机方面,而整体构成和高级属性不受影响(如身份和姿势)。
在这里插入图片描述
上图说明在生成器不同层噪声输入的影响。(a)噪声应用于所有层。(b)无噪声。可以看到人为的忽略噪声会生成毫无特色的“绘画”外观。(c)仅在精细层中有噪声。可以看到头发的卷更小,背景细节和皮肤毛孔更精细。(d)仅在粗略层中有噪声。可以看到头发的卷更大,背景特征也很粗略。
为什么噪声会对一些局部特征产生影响呢?生成器要生成新的图片,这是毋庸置疑的。生成随机变化的图片也属于新图片。而在网络中,产生随机变化最简单的方法就是依赖所提供的噪声。合成网络的每层都会输入新的噪声,因此没必要从较早的激活中产生随机变化,从而导致局部效应。

3.3 Separation of global effects from stochasticity

在本文基于样式的生成器中,样式的改变将会影响整个图像。feature maps会按照相同的值进行缩放和偏移,因此可以连贯地控制诸如姿势,照明或背景样式之类的全局效果。噪声被独立地添加到每个像素,因此适合控制随机变化。如果网络试图通过噪声对姿势等全局效果进行控制,将会导致空间上的不一致,判别器将不会认可这种生成效果。因此网络会在没有明确说明的情况下适当地使用全局和局部通道。也就是说网络分得清什么时候改变全局效果,什么时候对局部特征做出随机变化。


4 Disentanglement studies

解纠缠要实现的目标是得到一个由线性子空间构成的潜在空间,每个子空间控制一个变化因子(factor of variation)。本文提出的生成器架构有一个好处是,中间潜在空间W不必支持根据固定分布进行采样,W的采样密度由映射f(z)引导。映射f(z)同样可适用于“非扭曲”(unwarp)W,从而变化因子会更加线性。然而最近提出的用于量化解纠缠的度量需要一个编码网络,该网络能够将输入图片映射到latent codes,本文的baseline GAN缺少这种编码器。接下来介绍两种量化解纠缠的新方法,这两种方法均不需要编码器或已知的变化因子,可用于任何图像数据集和生成器。

4.1 Perceptual path length

潜在空间向量的插值可能会使图片中产生非线性变化。例如,任一端点中不存在的features可能会出现在线性插值路径的中间。这说明潜在空间是纠缠的并且变化因子并未被正确地分离。为了量化这种影响,可以观测在潜在空间中执行插值操作时图片发生了怎样剧烈的变化。直观来说,卷曲程度较小的潜在空间与卷曲程度较大的潜在空间相比,会使感知更加的平滑。
本文中提出的度量标准的基础是基于感知的成对图像距离,该距离是通过两个VGG16嵌入之间的权重差计算得出的。如果把潜在空间插值路径细分为线性段,那么这段路径的总感知长度就是每个线性段感知差的总和。感知路径长度的自然定义就是在无限细分下该总和的极限,但实际上用一个较小的细分epsilon对其进行近似。因此,在所有可能的端点上,潜在空间Z中的平均感知路径长度为:
在这里插入图片描述
其中z1, z2 ∼ P(z), t ∼ U(0, 1),G是生成器,d评估生成图片之间的感知距离,slerp表示球面插值,这是在标准化输入潜在空间中进行插值的最合适的方法。为了专注面部特征而不是背景,在评估成对图像度量之前将生成的图像裁剪为仅包含面部。
计算W中平均感知路径长度的方法为:
在这里插入图片描述
唯一不同的是插值发生在W空间中。由于W中的向量并没有以任何方式标准化,因此使用线性插值lerp。
在这里插入图片描述
上表展示了FFHQ中各种生成器架构的感知路径长度和可分离性分数(越低越好),对于传统网络在Z中进行测量,对于基于样式的网络在W中进行测量。从上表中可以看出,对于带有噪声输入的基于样式的生成器,全路径长度明显比传统生成器的短,说明W在感知上比Z更加的线性。但实际上该测量稍微偏向于输入潜在空间Z。如果W确实是Z的一个解纠缠且“展平”(flattened)的映射,它可能不包含在输入歧管(input mainfold)上的域,因此即使在从输入歧管映射的点之间(between points that are mapped from the input mainfold),生成器也很难对其进行重构。而输入潜在空间根据定义,Z并没有这样的域。因此如果将测量局限在路径端点处,在不影响lz的情况下,应得到较小的lw。
在这里插入图片描述
上表显示了映射网络如何影响路径长度。方法名称中的数字表示映射网络的深度。可以看到,映射网络可以使传统的生成器和基于样式的生成器都得到改善,附加的深度也可以改善感知路径长度和FID,并且较深的映射网络通常比较浅的映射网络的性能更好。虽然传统生成器中的lw有所改善,但lz却变得更糟,这说明输入潜在网络确实会在GAN中发生纠缠。

4.2 Linear separability

如果一个潜在空间被完全解纠缠,那么每个变化因子应该有始终与其相对应的方向向量。本节介绍了另外一种度量标准,具体来说是通过一个线性超平面来测量潜在空间点能够被分成两个不同集合的程度,每个集合都对应于图像的一个特定的二进制属性。
为了标记生成图片,针对一些二进制属性训练了辅助分类网络,比如分辨是男性还是女性的脸。在测试中,分类器与所使用的判别器具有相同的结构,使用的数据集是CELEBA-HQ,该数据集保留了原始CelebA数据集中的40个属性。为了测量一个属性的可分离性,首先用z ∼ P(z)生成200000张图象,然后使用辅助分类网络对它们进行分类,再根据分类器的置信度对它们进行排序,其中将最低置信度的一半去掉,得到100000个被标记的潜在空间向量(latent-space vectors)。
与4.1中一样,对于传统网络在Z中进行操作,对于基于样式的网络在W中进行操作,基于潜在空间点为每个属性拟合了一个SVM来对标签进行预测,并通过该平面来对这些点进行分类。然后计算条件熵H(Y|X),其中X是是由SVM预测的类别,Y是由预训练分类器决定的类别。在已知类别位于超平面哪一侧的情况下,这个熵的值说明为了决定一个样本真正的类别还需要多少其他信息。较低的值表示对应的变化因子具有一致的潜在空间方向。
在这里插入图片描述
在这里插入图片描述
上面两张表显示W始终比Z具有更好的可分离理性,这表明纠缠程度较小。当增加映射网络的深度时,可以改善W中图像的质量和可分离性,这与合成网络偏向于解纠缠的输入表现形式的假设相一致。在传统的生成器之前添加一个映射网络虽然会导致Z的可分离性的严重损失,但是会改善中间潜在空间W中的情况,并且FID也会得到改善。这表明当引入不必遵循训练数据分布的中间潜在空间时,即使是传统的生成器体系结构也能更好地发挥作用。

发布了39 篇原创文章 · 获赞 1 · 访问量 1232

猜你喜欢

转载自blog.csdn.net/qq_30146937/article/details/103970974