https://github.com/NVlabs/stylegan2
A Style-Based Generator Architecture for Generative Adversarial Networks
Abstract
我们从风格转换文献中提出了一种生成对抗网络的可替代生成器框架。新的框架导致了高级属性(如人脸训练时的姿势和身份)的自动学习和无监督分离,以及生成图像中的随机变化(如雀斑、头发),并实现了对合成的直观、特定规模的控制。新的生成器在传统分布质量指标方面改进了目前最先进的技术的效果,有明显更好的插值特性,也更好地解耦变量的潜在因素。为了量化插值质量和解耦效果,我们提出了两种新的、自动化的方法,适用于任何生成器架构。最后,我们介绍了一个新的、高度多样化和高质量的人脸数据集。
1. Introduction
生成方法产生的图像的分辨率和质量——特别是生成对抗网络(GAN)[22]——最近得到了快速的改善[30,45,5]。然而,这些生成器仍然像黑盒子一样运行,尽管最近的努力[3],对图像合成过程的各个方面的理解,例如,随机特征的起源,仍然缺乏。潜在空间的性质也没有得到很好的理解,常用的潜在空间插值[13,52,37]没有提供定量的方法来比较不同的生成器。
受风格转换文献[27]的启发,我们重新设计了生成器的架构,以暴露了新的方法来控制图像合成过程。我们的生成器从一个学习过的常量输入开始,根据潜码在每个卷积层调整图像的“风格”,从而直接控制不同尺度下图像特征的强度。与直接注入网络的噪声相结合,这种架构上的变化导致生成图像中的高级属性(例如姿态、身份)与随机变化(例如雀斑、头发)自动、无监督地分离,并实现了直观的特定尺度的混合和插值操作。我们不以任何方式修改判别器或损失函数,因此我们的工作与正在进行的关于GAN损失函数、正则化和超参数的讨论是正交的[24,45,5,40,44,36]。
我们的生成器将输入的潜在编码嵌入到一个中间的潜在空间中,这对变量因子在网络中的表现方式有着深远的影响。输入潜在空间必须遵循训练数据的概率密度,我们认为这导致了某种程度的不可避免的纠缠。我们的中间潜在空间中就不受这个限制,因此可以解耦合。由于之前估计潜在空间解耦程度的方法不能直接应用于我们的案例,我们提出了两个新的自动化度量方法——感知路径长度和线性可分性——来量化生成器的这些方面。使用这些指标,我们表明,与传统的生成器架构相比,我们的生成器实现了一个在不同变量因素中能得到更线性,更少耦合表现的效果。
最后,我们提供了一个新的人脸数据集(Flickr-Faces-HQ, FFHQ),它比现有的高分辨率数据集提供了更高的质量,涵盖了更广泛的变化(附录A)。我们将这个数据集,连同我们的源代码和预先训练好的网络一起公开。在同一个链接下可以找到相应的视频。
2. Style-based generator
通常潜在编码通过输入层提供给生成器,即前向网络(图1a)的第一层。我们通过省略该输入层和从一个可学习常量(图1b,右)开始来分离该设计。给定一个在输入潜在空间Z的潜在编码z、一个非线性的映射网络来生成(图 1b,左)。简单来说,我们设置两个空间的维度为512(即Z和W都是512x1),映射函数f使用8层MLP来实现,决策函数将在Section 4.1分析。可学习的仿射转换(A)将w转换成styles ,用来控制生成网络g每一个卷积层后面的adaptive instance normalization(AdaIN)[27, 17, 21, 16]操作。该AdaIN操作被定义为:
每个特征映射xi将会被分别归一化,然后使用来自style y的对应尺寸成分ys,i和yb,i来按比例变化和实现偏差。因此,y的维数是该层上特征图数量的两倍。
将我们的方法与风格转移相比较,我们从向量w中计算空间不变风格y,而不是从一个例子图像中计算。我们选择对y重复使用“style”这个词是因为类似的网络架构已经被用于前向风格传输[27]、无监督图像到图像的转换[28]和域混合[23]中。与更一般的特征变换相比[38,57],因为AdaIN的效率和紧凑的表示,其特别适合我们的目的。
简单说明下这个网络:
在潜在编码Z中间添加一个mapping 网络,用来将输入的向量编码为中间向量W,然后该中间向量将会分别传送18个控制向量A到生成网络g中的18层上,用来控制不同的style。
为何要加Mapping Network呢?因为如果不加这个Mapping Network的话,后续得到的18个控制向量之间会存在特征纠缠的现象——比如说我们想调节8*8分辨率上的控制向量(假设它能控制人脸生成的角度),但是我们会发现32 * 32分辨率上的控制内容(譬如肤色)也被改变了,这个就叫做特征纠缠。所以Mapping Network的作用就是为输入向量的特征解缠提供一条学习的通路。
最后就能够使用上面(图 1b)输出的1024*1024的图像和真正图像作为Discriminator的输入,最小化损失来训练模型参数
最后,我们提供了一个直接的方法,通过引入显式噪声noise输入以产生随机细节。这些是由不相关的高斯噪声组成的单通道图像,我们为合成网络的每一层提供一个专用的噪声图像。利用学习到的每个特征的缩放因子将噪声图像广播到所有的特征映射上,然后加入到相应卷积的输出中,如图1b所示。在第3.2和3.3节中讨论了添加噪声输入的影响。
2.1. Quality of generated images
在研究我们的生成器的特性之前,我们通过实验证明,重新设计不会影响图像质量,但实际上,它大大改善了图像质量。表1给出了各种生成器架构在数据CELEBA-HQ[30]和在我们的新FFHQ数据集(附录A)上的Fre ?chet inception distances(FID)[25]效果。其他数据库的结果在附录E中。我们的baseline配置(A)是Karras et al. [30]的Progressive GAN设置, 除非另有说明,否则我们继承了网络和所有超参数。我们首先通过使用双线性上/下采样操作[64]、更长时间的训练和调优超参数来切换到改进的baseline(B)。训练设置的详细描述和超参数包含在附录C中。然后我们通过添加映射网络和AdaIN操作进一步改善这一新的baseline(C),并得到一个令人惊讶的发现,即网络不再受益于将潜在编码输入到卷积第一层的这个操作。我们因此通过消除传统的输入层和开始从一个可学习的4×4×512常量张量开始图像合成来简化架构(D,因为StyleGAN生成图像的特征是由W和AdaIN控制的)。我们发现一个很了不起的效果,即合成网络能够产生有意义的结果,尽管它接收输入只有用来控制AdaIN操作的style。
最后,我们引入了进一步改善结果的噪声输入(E,noise inputs),以及新的混合正则化(F,mixing regularization),它去除了邻近的style,并对生成的图像进行更细粒度的控制(第3.1节)。
我们使用两种不同的损失函数来评估我们的方法:对于CELEBA-HQ,我们依赖于WGAN-GP[24],而FFHQ使用WGAN-GP来处理配置A,对于配置B-F,使用R1正则化[44,51,14]的非饱和损失[22]。我们发现这些选择可以得到最好的结果。我们的贡献不改变损失函数。
我们观察到,对比传统的生成器(B),基于风格的生成器(E)很明显地改进了FIDs,几乎提高了20%,这证实了在并行工作中进行的大规模ImageNet测量[6,5]。图2显示了使用生成器从FFHQ数据集生成的一组未策划的新图像。经FIDs确认,平均质量高,甚至连眼镜、帽子等配件都成功合成。对于这个数字,我们使用所谓的截断技巧[42 5 34]来避免极端地区的抽样W——附录B详细描述了这些技巧如何使用在W而不是z上。注意我们的生成器仅允许选择性地应用截断到低分辨率上,所以高分辨率细节不受影响。
本文中所有的FIDs都是在没有使用截断技巧的情况下计算的,我们仅在图2和视频中用于说明目的。所有图像生成的分辨率为10242。
2.2. Prior art
GAN体系结构的大部分工作都集中在通过使用多重鉴别器[18,47,11]、多分辨率鉴别器[60,55]或自注意[63]等方法改进鉴别器。在生成器方面的工作主要集中在输入潜空间[5]的精确分布,或通过[4]高斯混合模型塑造输入潜空间,聚类[48],或鼓励凸性[52]。
最近的条件生成器通过单独的嵌入网络将类标识符提供给生成器[46]中的大量层,而潜在编码仍然通过输入层提供。一些作者考虑将部分潜在代码提供给多个生成器层[9,5]。在并行工作中,Chen等人[6]使用AdaINs“自调制”生成器,类似于我们的工作,但不考虑中间潜在空间或噪声输入。
3. Properties of the style-based generator
我们的生成器架构,使它能够通过特定比例的style修改来控制图像合成。我们可以把映射网络和仿射变换看作是一种从学习分布中为每种风格抽取样本的方法,而合成网络则是一种基于styles集合来生成新图像的方法。每种style的效果在网络中都是局部的,即修改style的特定子集只能影响图像的某些方面。
为了了解这种定位的原因,让我们考虑一下AdaIN操作(Eq. 1)如何首先将每个通道归一化为零均值和单位方差,然后根据style应用尺度和偏差。根据style,新的每个通道统计信息修改了后续卷积操作中特征的相对重要性,但由于归一化,它们不依赖于原始统计信息。因此,每种style在被下一个AdaIN操作覆盖之前只能控制一个卷积。
3.1. Style mixing
为了进一步鼓励style的定位,我们采用mixing regularization,即在训练过程中使用两个随机的潜码生成给定百分比的图像。当生成这样的图像时,我们只需要在合成网络中随机选择的一个点从一个潜在代码切换到另一个——我们称之为style mixing的操作。具体来说,我们通过映射网络运行z1、z2这两个潜码,然后就有对应的w1、w2控制style,将w1应用在交点之前,w2应用在交点之后。这种正则化技术防止网络假设相邻样式是相关的。
表2显示了在训练期间启用混合正则化如何显著改善了局部性,这可以从测试时多个潜在编码混合的情况下改进的FIDs中看出。图3展示了在不同尺度混合两种潜在码合成的图像的例子。我们可以看到,每个styles子集控制图像中有意义的高级属性。
补充:
首先需要知道
层和分辨率越低,它所影响的特征就越粗糙。简要将这些特征分为三种类型:
1、粗糙的(coarse)——分辨率不超过8^2,影响姿势、一般发型、面部形状等;
2、中等的(middle)——分辨率为16^2至32^2,影响更精细的面部特征、发型、眼睛的睁开或是闭合等;
3、高质的(fine)——分辨率为64^2到1024^2,影响颜色(眼睛、头发和皮肤)和微观特征;
3.2. Stochastic variation
在人类肖像中,有许多方面可以被认为是随机的,比如头发、胡茬、雀斑或皮肤毛孔的确切位置。只要它们遵循正确的分布,它们中的任何一个都可以被随机化,而不影响我们对图像的感知。
让我们考虑一个传统的生成器如何实现随机变化。考虑到网络的唯一输入是通过输入层,网络需要发明一种方法,在需要的时候从早期激活生成空间变化的伪随机数。这消耗了网络容量,而隐藏生成信号的周期性是困难的——而且并不总是成功的,从生成图像中常见的重复模式就可以看出。我们的架构通过在每次卷积后添加逐像素噪声,完全避开了这些问题。
图4显示了相同的底层图像的随机实现,使用了我们的生成器与不同的噪声实现。我们可以看到,噪音只影响随机方面,留下整体组成和高层次的方面,如身份不变。
图5进一步说明了应用随机变化对不同层次子集的影响。由于这些效果最好在动画中看到,请参考伴随的视频演示如何改变一个层的噪声输入导致在匹配的规模上的随机变化。
有趣的是,我们发现噪声的影响在网络中显得很紧密。我们假设,在生成器的任何点上,都存在尽快引入新内容的压力,而我们的网络创建随机变化的最简单方法是依赖所提供的噪音。每一层都有一组新的噪声,因此没有动机从早期激活产生随机效应,导致局部效应。
3.3. Separation of global effects from stochasticity
前面的章节以及伴随的视频都表明,虽然style的改变会产生全局效应(改变姿势、身份等),但噪声只会影响无关紧要的随机变化(不同梳理的头发、胡须等)。这一观察结果与风格迁移文献一致,其中已经建立了空间不变统计(Gram matrix、channel-wise mean、variance等)来可靠地编码图像的style[20,39],而空间变化特征用来编码特定实例。
在我们的基于style的生成器中,style会影响整个图像,因为完整的特征映射会以相同的值缩放和偏移。因此,全局效果,如姿态,灯光,或背景风格,可以控制一致。同时,该方法将噪声独立地加入到每个像素中,非常适合于控制随机变化。如果网络试图控制,例如,利用噪音的姿势,那会导致空间上不一致的决定,然后会被鉴别器惩罚。因此,在没有明确指导的情况下,网络学会了适当地使用全局和局部通道。
总结来说,其实就是其style A
和高斯噪声 B
能够分别控制生成图像的不同level: A
控制全局属性,如姿态、身份等,而 B
控制一些相对次要的 随机变量,如不同的发型、胡须分布等等。因为A
的作用是对所有的特征映射进行scale和shift,自然影响结果也是全局性的; 而B
只是加到了每层的像素上,紧接着就被AdaIN
给归一化了,自然只能影响很小一部分,而在人脸生成这个任务上,这个很小一部分恰巧表现为头发、胡须、雀斑等的分布而已。
4. Disentanglement studies
解耦有不同的定义[54,50,2,7,19],但共同的目标是由线性子空间组成的潜在空间,每个子空间控制一个变量因子。但是Z中各因子组合的采样概率需要与训练数据中对应的密度匹配。如图6所示,这阻止了这些因素与典型数据集和输入潜在分布完全分离。
我们的生成器架构的一个主要好处是,中间潜在空间W不必支持根据任何固定分布的采样;它的采样密度是由学习的分段连续映射f (z)诱导的,这种映射可以适应“unwarp”W,使变化因素变得更加线性。我们假设,有压力让生成器这样做,因为它应该在基于一个解耦表征时比基于纠缠表征更容易产生现实的图像。因此,我们期望训练在无监督的设置中产生一个较少纠缠的W,即变量因子不是提前知道的[10,35,49,8,26,32,7]。
不幸的是,最近提出的量化解耦的度量标准[26,32,7,19]需要一个将输入图像映射到潜码的编码器网络Encoder。这些度量标准不适合我们的目的,因为我们的baseline GAN缺少这样的编码器。虽然可以为此目的增加一个额外的网络[8,12,15],但我们希望避免将精力投入到一个不属于实际解决方案的组件上。为此,我们描述了两种量化解耦的新方法,这两种方法都不需要编码器或已知的变量因素,因此对于任何图像数据集和生成器都是可计算的。
4.1. Perceptual path length
正如Laine[37]所指出的,对潜在空间向量进行插值可以使图像产生令人惊讶的非线性变化。例如,在任意端点中没有的特性可能会出现在线性插值路径的中间。这是潜在空间被纠缠和变量因素没有被适当分离的标志。为了量化这种效果,我们可以测量当我们在潜在空间内进行插值时图像经历的剧烈变化。直观地说,一个不那么弯曲的潜在空间应该比一个高度弯曲的潜在空间在感知上更平滑地过渡。
作为我们的度量的基础,我们使用了基于感知的成对图像距离[65],它是两个VGG16[58]embeddings之间的加权差,其中的权值是合适的,使得度量符合人类感知相似度判断。如果我们将一个潜在的空间插值路径细分为线性段,我们可以定义该分段路径的总感知长度为每段感知差异的总和,如图像距离度量报告那样。感知路径长度的自然定义是这个总和在无限精细细分下的极限,但在实践中我们使用一个小的细分epsilon 来近似它。潜在空间Z中所有可能端点的平均感知路径长度为:
其中,G是生成器(表示基于style的网络),d(.,.)评估结果图像之间的感知距离。此处slerp表示球面插值[56],这是在我们的归一化输入潜在空间中最合适的插值方法[61]。为了将注意力集中在面部特征而不是背景上,我们对生成的图像进行裁剪,使其只包含人脸,然后再对图像进行两两对比。由于度量d是二次的[65],我们除以ε2。我们通过10万个样本值来计算期望。
在W中计算平均感知路径长度也采用类似的方式:
唯一的区别是插值发生在W空间。因为向量在W中没有以任何方式标准化,所以我们使用线性插值(lerp)。
表3显示,对于我们带有噪声输入的基于style的生成器来说,完整路径长度大大缩短了,表明W对比Z来说是更线性感知的。然而该测量实际上是稍微偏向支持输入潜在空间Z的。如果W的确是一个解耦的且“flatten”的Z的映射,它可能包含不在输入manifold的区域-因此被生成器严重重建-即使是在从输入manifold映射的点之间,而输入潜空间Z根据定义没有这样的区域。因此,如果我们限制我们的测量路径的端点,即, t∈{0,1},则应该获得更小的lW,而lZ不受影响。这确实是我们在表3中看到的。
表4显示了映射网络对路径长度的影响。我们看到,传统的和基于style的生成器都能从映射网络中受益,而附加的深度通常会改善感知路径长度和FIDs。有趣的是,当传统生成器的lW得到了改进,lZ却变得相当糟糕,这说明了我们的主张,即输入潜在空间确实可以在GANs中任意纠缠。
4.2. Linear separability
如果一个潜在的空间被充分地解开,它应该是可能的找到方向矢量一致地对应个别的变化因素。我们提出了另一种度量方法来量化这种效果,方法是通过线性超平面将潜在空间点划分为两个不同的集合,这样每个集合都对应于图像的一个特定的二值属性。
为了对生成的图像进行标记,我们训练了一些二值属性的辅助分类网络,例如区分男性和女性的人脸。在我们的测试中,分类器具有与我们使用的鉴别器相同的体系结构(和[30]中相同),并使用CelebA-HQ数据集进行训练,该数据集保留了原始CelebA数据集中可用的40个属性。为了测量一个属性的可分离性,我们生成了20万张z ~ P (z)的图像,并使用辅助分类网络对它们进行分类。然后,我们根据分类器置信度对样本进行排序,并去除最不置信度的一半,得到100,000个标记的潜在空间向量。
对于每个属性,我们拟合一个线性支持向量机来预测基于潜在空间点的标签——对应传统网络使用z,对于基于风格的网络使用w——并根据该平面进行分类。然后计算条件熵H(Y |X),其中X为SVM预测的类,Y为预训练分类器确定的类。这告诉我们需要多少额外的信息来确定一个样本的真实类,假设我们知道它位于超平面的哪一边。H(Y |X)值越低,对应变量因子的潜在空间方向越一致。
计算最终的separability score为,其中i列举了40种属性。与inception score[53]相似,求幂可以将对数域的值转换为线性域,以便于比较。
表3和表4表明,W始终比Z具有更好的可分离性,这表明一种较少纠缠的表示。此外,增加映射网络的深度可以提高W中的图像质量和可分性,这与合成网络天生倾向于一个解纠缠的输入表示的假设是一致的。另外,在传统的生成器前增加一个映射网络,虽然导致了Z的可分性严重丧失,但改善了中间潜在空间W的情况,FID也得到了改善。这表明,当我们引入一个不需要遵循训练数据分布的中间潜在空间时,即使是传统的生成器架构也会表现得更好。
5. Conclusion
基于我们的结果和Chen等人[6]的并行工作,传统的GAN生成器架构在各个方面都不如基于风格的设计,这一点越来越明显。从已建立的质量指标来看,这是正确的,我们进一步相信,我们对高级属性和随机效应的分离以及中间潜在空间的线性的研究将证明是卓有成效的,有助于提高对GAN合成的理解和可控性。
我们注意到,我们的平均路径长度度量可以很容易地用作训练中的正则化器,也许线性可分性度量的一些变体也可以作为一个正则化器。总的来说,我们期望在训练中直接塑造中间潜在空间的方法将为未来的工作提供有趣的途径。
变老 - 6 - A Style-Based Generator Architecture for Generative Adversarial Networks(StyleGAN)- 论文学习