STYLEGAN:生成对抗网络中一种基于样式的生成器结构
Tero Karras Samuli Laine Timo Aila
NVIDIA NVIDIA NVIDIA
tkarras@nvidia.com slaine@nvidia.com taila@nvidia.com
6 Feb 2019
校对: 丫丫是只小狐狸
> 译者语:stylegan
论文中英文对照合集 : https://aiqianji.com/blog/articles
摘要 Abstract
我们借鉴风格迁移(style transfer)的想法,提出了一种用于生成对抗网络的新生成器体系结构。 新的架构可自动学习,无监督地分离高级属性(例如,在人脸上训练时的姿势和身份)以及在生成的图像中(例如雀斑,头发)随机变化,并且能够直观地、按特定尺度地控制合成。 新的生成器在传统的生成质量指标方面提高了最新技术水平值,显示出更好的插值特性,并且可以更好地解决变异的潜在因素。 为了量化插值质量和分解,我们提出了两种适用于任何生成器架构的新的自动化方法。最后,我们介绍了一个新的,高度多样化和高质量的人脸数据集。
1 介绍 INTRODUCTION
由生成方法产生的图像的分辨率和质量 - 尤其是生成对抗性网络(GAN)[21] - 近来已经迅速改善[26,38,5]。然而,生成器继续作为黑匣子运行,尽管最近大家做出了这方面的努力[3],仍然缺乏对图像合成过程的各个方面(例如,随机特征的组织)的理解。潜在空间的性质也很难理解,并且通常展示的潜在空间插值[12,50,35]没有提供将不同生成器相互比较的定量方法。在风格迁移文献[26]的推动下,我们以一种揭示控制图像合成过程的新方法的方式重新设计了生成器结构。我们的生成器从学习常量输入开始,并基于潜在编码(latent code)调整每个卷积层图像的“样式”,因此直接控制不同尺度的图像特征的强度。结合直接注入网络的噪声,这种架构变化导致生成的图像中的随机属性与随机变化(例如雀斑,头发)之间自动,无监督地分离,并实现了直观的缩放特定混合和插值操作。
我们不以任何方式修改鉴别器或损失函数,因此我们的工作与正在进行的关于 GAN 损失函数,正则化和超参数的讨论是互为独立的[23,43,5,38,42,34] 。
我们的生成器将输入的潜在编码嵌入到中间的潜在空间中,这对于如何在网络中表示噪音因子具有深远的影响。输入潜在空间必须遵循训练数据的概率密度,并且我们认为这会导致某种程度的不可避免的纠缠。我们的中间潜在空间不受限制,因此可以被解开。由于以前估算潜在空间解缠的方法并不直接适用于我们的情况,我们提出了两个新的自动化指标:
- 感知路径长度和线性可分性
- 用于量化生成器的这些方面。
使用这些指标,我们表明,与传统的生成器架构相比,我们的生成器允许更多线性,更少纠缠的不同变化因素的表示。最后,我们提出了一个新的人脸数据集(Flickr-FacesHQ,FFHQ),它提供了更高的质量,涵盖了比现有高分辨率数据集更广泛的变化(附录 A)。我们已将此数据集与我们的源代码和预先训练的网络一起公开提供,见 http://stylegan.xyz/video,随附的视频可在同一链接下找到。
2. 基于样式的生成器 STYLE-BASED GENERATOR
(a) 传统生成器 (b) 基于 Style 的生成器
图 1.虽然传统的生成器[29]仅通过输入层提供潜在编码,但我们首先将输入映射到中间潜在空间 W,然后在每一个卷积层通过自适应实例规范化(AdaIN)控制生成器。 在评估非线性之前,在每次卷积之后添加高斯噪声。 这里“A”代表学习的仿射变换,“B”将学习的每通道缩放因子应用于噪声输入。 映射网络 f 由 8 个层组成,合成网络 g 由 18 层组成 - 每个分辨率两层(分辨率从$4^2$-$1024^2$ )。使用单独的 1×1 卷积将最后一层的输出转换为 RGB,类似于Karras 等人[29]。 我们的生成器共有 2620 万可训练的参数,而传统生成器的参数量为 2310 万。
传统上,潜在编码通过输入层,即前馈网络的第一层(图 1a)提供给生成器。 我们通过省略输入层并从学习的常量开始代替(图 1b,右)。 给定输入潜在空间$\mathcal{Z}$ 中的潜在代码 z,非线性映射网络$f:\mathcal{Z}\to\mathcal{W}$ 首先产生 w∈ $\mathcal{W}$(图 1b,左)。 为简单起见,我们设置了两者的维度为 512,并且将映射$\mathcal{F}$使用8层MLP实现,我们将在第4.1节中进行分析。 然后,学习的仿射变换将 w 专门化为样式${\bf y}=({\bf y}{s},{\bf y}{b})$,其控制在合成网络 g 的每个卷积层之后的自适应实例归一化(AdaIN)[26,16,20,15]运算$\mathcal{G}$。
AdaIN 操作定义为
$\textrm{AdaIN}({\bf x}{i},{\bf y})={\bf y}{s,i}\frac{{\bf x}{i}-\mu({\bf x}%{i})}{\sigma({\bf x}{i})}+{\bf y}{b,i}\textrm{,}$
其中每个特征映射 $x_i$ 分别标准化,然后使用样式 y 中相应的标量组件进行缩放和偏置。 因此,y 的维度是该层上的特征映射的数量的两倍。
和风格转换相比,我们的方法,是从向量 w计算出一个空间不变的样式 y ,而不是使用示例图像来计算。 我们选择为 y 使用“style”这个词,因为类似的网络架构已经用于前馈式传输[23],无监督的图像到图像转换[24]和域混合[19]。
最后,我们通过引入显式噪声输入,为生成器提供了一种生成随机细节的直接方法。这些是由不相关的高斯噪声组成的单通道图像,我们将专用噪声图像馈送到合成网络的每一层。使用学习的每个特征缩放因子将噪声图像广播到所有特征图,然后将其添加到相应卷积的输出中,如图 1b 所示。添加噪声输入的含义在第 3.2 和 3.3 节中讨论。
2.1. 生成图像的质量
在研究我们的生成器的特性之前,我们通过实验证明重新设计不会影响图像质量,实际上会大大改善图像质量。表 1给出了CelebA-HQ [26]和我们新的FFHQ数据集(附录 A)中各种生成器体系结构的Fréchet起始距离(FID)[21]。其他数据集的结果在附录E中给出 。我们的基准配置(a)是Karras等人的Progressive GAN设置。 [ 26 ] ,除非另有说明,否则我们将从中继承网络和所有超参数。我们首先通过使用双线性上/下采样操作,更长的训练和调整的超参数切换到改进的基线(b)。附录C中包含训练设置和超参数的详细说明 。然后,我们通过添加映射网络和AdaIN操作(c)进一步改善这个新基线,并得出令人惊讶的观察结果,即该网络不再受益于将潜在代码输入到第一卷积层中。因此,我们通过移除传统的输入层并从学习的 4 × 4 × 512恒定张量(D)开始图像合成来简化架构。我们发现非常值得注意的是,即使只通过控制 AdaIN 操作的样式接收输入,合成网络也能够产生有意义的结果。
最后,我们介绍了进一步改善结果的噪声输入(E),以及对相邻样式进行去相关的新型混合正则化(F),并对生成的图像进行更细粒度的控制(第 3.1 节)。
我们使用两种不同的损耗函数评估我们的方法:对于CelebA-HQ,我们依赖WGAN-GP [ 20 ],而FFHQ中,配置A使用WGAN-GP,配置B-F中使用 非饱和损耗non-saturating loss[ 18 ]和$R_1$正则化[ 37,44,13 ]。我们发现这些选择可以提供最佳结果。我们方法不会改变损失函数。
我们观察到, 基于样式的生成器(E)相比传统生成器(B)显著提高了 FID,几乎达到了 20%,后来在大型数据库ImageNet[6,5]通过并行计算的测量是一致的。图 2 显示了使用我们的生成器从 FFHQ 数据集生成的一组未经验证的新图像。正如 FID所证实的那样,平均质量很高,甚至眼镜和帽子等配件也能成功合成。对于这个图,我们使用所谓的截断技巧避免了从W 的极端区域采样[40,5,32] - 附录 B 详述了如何在 W 而不是 Z 中执行该技巧。注意我们的生成器允许在低分辨率上应用选择性地截断方法,以便不影响高分辨率细节。本文中的所有 FID 都是在没有截断技巧的情况下计算出来的,我们在图 2 和视频中仅将其用于说明目的。所有图像均以 $1024^2$分辨率生成。
图2:我们的基于样式的生成器(config f)与FFHQ数据集生成的未整理的图像集。
在这里,我们使用的截断特技的变化[ 5,29 ]与ψ =0.7 分辨率$4^2$-$32^2$。请查看随附的视频以获取更多结果。
2.2. 现有技术
关于 GAN 架构的大部分工作都集中在提高判别器部分,例如使用多个判别器[17,15],多分辨率判别[58,53]或自注意力机制[61]来改进判别器。 生成器侧的工作主要集中在输入潜在空间的精确分布[5]或通过高斯混合模型[4],聚类[46]或鼓励凸性[50]对输入潜在空间进行修整。
最近的条件生成器通过单独的嵌入网络给生成器[44]中很多层提供类标识符,而latent的仍然通过输入层提供。部分作者已经考虑将潜在编码的一部分馈送到多个生成器层[9,5]。 在平行工作中,陈等人[6]使用 AdaIN“自我调制”生成器,与我们的工作类似,但不考虑中间潜在空间或噪声输入。
图3:从A和B生成对应的潜码,其他的图像是这两种风格混合的结果。
从B获取对应于粗略空间分辨率的图层样式($4^2$ – $8^2$),复制姿势,一般发型,脸型和眼镜等高级属性,从目标图像A获取颜色(眼睛,头发,灯光)和更精细的面部特征。如果我们改为复制中间层的样式($16^2$ – $32^2$),从源图像B获取较小比例的面部特征,发型,打开/合上的眼睛,同时保留了目标图像A的姿势,总体脸形和眼镜。最后,复制对应于高分辨率的样式($64^2$ – $1024^2$)主要从源图像B上带来了配色方案和微观结构。
3 基于样式的生成器的属性 PROPERTIES OF THE STYLE-BASED GENERATOR
我们的生成器体系结构使得可以通过特定于比例的样式修改来控制图像合成。我们可以将映射网络和仿射变换视为一种从学习到的分布中为每种样式绘制样本的方法,而将合成网络视为一种基于样式集合生成新颖图像的方法。每种样式的效果都可以在网络中定位,即,修改样式的特定子集仅影响图像的某些方面。
为了了解这种定位的原因,让我们考虑AdaIN运算(等式 1)如何首先将每个通道归一化为零均值和单位方差,然后才基于样式应用比例和偏差。根据样式的要求,新的每通道统计数据修改了后续卷积操作的特征的相对重要性,但由于归一化,它们不依赖于原始统计信息。因此,每种样式在被下一个 AdaIN 操作覆盖之前仅控制一个卷积。
3.1. 风格混合
为了进一步鼓励风格进行本地化,我们采用混合正则化,其中使用两个随机潜码而不是训练期间的一个潜在编码生成给定百分比的图像。 当生成这样的图像时,我们只需 在合成网络中随机选择的位置从一个潜在代码切换到另一个潜在代码(我们称为样式混合的操作)即可。具体来说,我们运行两个潜在代码z1, z2 通过映射网络,并具有相应的 w1,w2 控制样式,以便 w1 在交叉点之前应用,w2 在交叉点之后应用。 这种正则化技术可以防止网络假设相邻的样式是相关的。
表 2.通过对不同百分比的训练样例进行混合正则化训练的网络的FFHQ 中的 FID。
在这里,我们通过随机化 1…4 潜码和它们之间的交叉点来对受过训练的网络进行压力测试。 混合正则化可显著提高对这些不良操作的耐受性。 标签 E 和 F 参见表 1 中的配置。
表 2显示了在训练期间启用混合正则化如何显著改善定位,通过在测试时混合多个潜码的情况下改进的 FID 来表示。图3 给出了通过混合不同尺度的两个潜码合成的图像的例子。我们可以看到每个样式子集控制图像的有意义的高级属性。
3.2. 随机变化
人类肖像中有许多方面可以被视为随机的,例如毛发,茬,雀斑或皮肤毛孔的确切位置。只要它们遵循正确的分布,任何这些都可以在不影响我们对图像的感知的情况下进行随机化。让我们考虑一下传统生成器如何实现随机变化。鉴于网络的唯一输入是通过输入层,网络需要发明一种方法来生成空间变化的伪随机数。这会消耗网络容量,并且很难隐藏生成的信号的周期性,而且并不总是成功的,正如生成的图像中常见的重复图案所证明的那样。我们的架构通过在每次卷积后添加像素级噪声(per-pixel noise)来完全避免了这些问题。
图 4显示了使用我们的生成器生成的相同基础图像,搭配不同的噪声的随机实现。我们可以看到,噪声仅影响随机方面,而整体构成和身份等高级属性完整无缺。图 5进一步说明了将随机变化应用于不同层子集的效果。由于这些效果最好在动画中看到,请查阅随附的视频,以演示如何改变一层的噪声输入以匹配的比例导致随机变化。
我们发现有趣的是,噪声的影响似乎和在网络中的定位紧密相关。我们假设在生成器的任何一点,都有压力尽快引入新的内容,而我们的网络创建随机变化的最简单方法是依靠提供的噪声。每一层都有一组新的噪声,因此没有动力从早期的激活中产生随机效应,从而产生局部效应。我们假设在发生器中的任何位置,都有尽快引入新内容的压力,而我们的网络产生随机变化的最简单方法是依靠所提供的噪声。每层都有一组新的噪声,因此网络没有动机从较早的激活中产生随机效应,从而不会导致局部效应。
图4:随机变化的例子。(a)两张生成的图像。(b)具有不同输入噪声实现方式的放大。尽管总体外观几乎相同,但各个头发的放置方式却大不相同。(c)超过100个不同实现的每个像素的标准偏差,突出显示图像的哪些部分受噪声影响。主要区域是头发,轮廓和背景部分,但眼睛反射也有有趣的随机变化。身份和姿势等全局方面不受随机变化的影响。
图5:噪声输入在生成器不同层的影响。(a)噪声应用于所有层。(b)无噪音。(c)仅在精细层中产生噪音($64^2$ – $1024^2$)。(d)仅在粗糙层中产生噪音($4^2$ – $8^2$)。
我们可以看到,人为地忽略噪声会导致无特色的“绘画”外观。粗糙的噪音会导致头发大规模卷曲,并出现较大的背景特征,而细微的噪音则会使头发卷曲,背景细节和皮肤毛孔更细。
3.3将全局效应与随机性分开
前面的部分以及随附的视频演示了,虽然更改样式具有全局效果(更改姿势,身份等),但是噪音仅影响无关紧要的随机变化(梳理不同的头发,胡须等)。此观察结果与风格转换文献一致,在那里它已经确定的是空间不变的统计(革兰氏矩阵,信道逐平均值,方差等)可靠地对图像的风格编码[ 17,33 ],而空间变化特征的编码是一个特定的实例。
在我们基于样式的生成器中,样式会影响整个图像,因为完整的要素图会按相同的值缩放和偏移。因此,可以连贯地控制诸如姿势,照明或背景样式之类的全局效果。同时,噪声被独立地添加到每个像素,因此理想地适合于控制随机变化。如果网络试图使用噪声来控制(例如,摆姿势),那将导致空间上不一致的决策,然后判别器将受到惩罚。因此,网络会在没有明确指导的情况下学会适当地使用全局和局部渠道。
4 纠缠研究 DISENTANGLEMENT STUDIES
解缠有各种定义[52,48,2,7,18],但共同的目标是由线性子空间构成的潜在空间,每个空间控制一个变异因子。 然而,Z 中每个因子组合的采样概率需要与训练数据中的对应密度相匹配。 如图 6 所示,这排除了与典型数据集和输入潜在分布完全无关的因素。少数人工数据集设计为解缠研究(例如,[ 36,16 ])的制表具有均匀的频率变化的预定因子的所有组合,从而隐藏的问题。
图 6.具有两个变异因素的示例性示例(图像特征,例如,男性气质和头发长度)。
(a)一个示例训练集,其中一些组合(例如,长发男性)几乎不存在。
(b)这会强制从 Z 到图像特征的映射变为弯曲,以便禁止组合在 Z 中消失,以防止对无效组合进行采样。
(c)然而,从 Z 到 W 的学习映射能够“消除”大部分变形。
我们的生成器架构的一个主要好处是中间潜在空间 W 不必根据任何固定分布支持采样;它的采样密度是由学习的分段连续映射 f(z)引起的。该映射可以适于“解除”W,以使变化因子变得更加线性。我们认为生成器有这样的压力,因为基于解缠的表示而不是基于纠缠的表示来生成逼真的图像应该更容易。因此,我们期望训练在无人监督的环境中,即当事先不知道变异因素时,能够减少纠缠 W [10,33,47,8,25,30,7]。不幸的是,最近提出的用于量化解缠的指标[25,30,7,18]需要编码器网络将输入图像映射到潜码。由于我们的基线GAN 缺少这样的编码器,因此这些方法不适合我们的目的。虽然可以为此目的添加一个额外的网络[8,11,14],但我们希望避免将工作投入到不属于实际解决方案的组件中。为此,我们描述了两种量化解缠的新方法,这两种方法都不需要编码器或已知的变化因子,因此可以计算任何图像数据集和生成器。
4.1感知路径长度
如Laine [ 32 ]所述,潜在空间向量的插值可能会在图像中产生令人惊讶的非线性变化。例如,两个端点中都不存在的要素可能会出现在线性插值路径的中间。这表明潜在空间纠缠并且变化因子未正确分离。为了量化这种效果,我们可以测量在潜在空间中执行插值时图像的急剧变化。直观地说,与高度弯曲的潜在空间相比,弯曲程度较小的潜在空间应在感知上更平滑地过渡。
作为我们度量标准的基础,我们使用基于感知的成对图像距离[ 56 ],该距离 是根据两个VGG16 [ 50 ]嵌入之间的加权差计算得出的,权重合适,从而使度量与人类感知相似性判断相符 。如果将潜在空间插值路径细分为线性段,则可以将该段路径的总感知长度定义为每个距离的感知差之和,如图像距离度量所报告。感知路径长度的自然定义是无限细细分下该总和的极限,但实际上,我们使用较小的细分ε对其进行近似$\epsilon=10^{-4}$。潜在空间 Z 中的平均感知路径长度,超过所有可能的终点,因此:
$\begin{array}[]{r@{}l}\hskip-8.535827ptl_{\mathcal{Z}}=\operatorname{\mathbb{E%}}\Big{[}{\displaystyle\frac{1}{\epsilon^{2}}}d\big{(}G(\mathrm{slerp}({\bf z%}{1},{\bf z}{2};,t)),\G(\mathrm{slerp}({\bf z}{1},{\bf z}{2};,t+\epsilon))\big{)}\Big{]}\textrm{%,}\end{array}$
其中${\bf z}{1},{\bf z}{2}\sim P({\bf z}),t\sim U(0,1)$,G 是生成器(即$g\circ f$ 用于基于样式的网络),以及 $d(\cdot,\cdot)$评估结果图像之间的感知距离。这里$\mathrm{slerp}$表示球面插值运算 [ 49 ],这是在归一化输入潜在空间[ 53 ]中进行插值的最合适方法 。为了专注于面部特征而不是背景,我们在评估成对图像指标之前将生成的图像裁剪为仅包含面部。作为指标d碰巧是二次方 [ 56 ],我们除以$\epsilon^{2}$ 代替 $\epsilon$,为了消除对细分粒度的不必要依赖。我们通过抽取100,000个样本来计算期望值。
计算 W 中的平均感知路径长度以类似的方式执行:
$\begin{array}[]{r@{}l}\hskip-8.535827ptl_{\mathcal{W}}=\operatorname{\mathbb{E%}}\Big{[}{\displaystyle\frac{1}{\epsilon^{2}}}d\big{(}g(\mathrm{lerp}(f({\bf z%}{1}),f({\bf z}{2});,t)),\g(\mathrm{lerp}(f({\bf z}{1}),f({\bf z}{2});,t+\epsilon))\big{)}\Big{]}%\textrm{,}\end{array}$
唯一的区别是插值发生在 $\mathcal{W}$空间。因为向量在$\mathcal{W}$没有以任何方式标准化,我们使用线性插值($\mathrm{lerp}$)。
表 3 显示,对于具有噪声输入的基于样式的生成器,该全路径长度明显更短,这表明 W 在感知上比 Z 更线性。然而,这种测量实际上略微偏向于输入潜在空间 Z。如果 W确实是 Z 的解缠和“平坦”映射,它可能包含不在输入流形上的区域,因此,即使在从输入流形映射的点之间,输入生成器也很难对其进行重构.而输入潜在空间 Z 根据定义,没有这样的区域。因此,如果我们将度量限制在路径端点,即$t\in{0,1}$ ,则结果应该是可期望的,我们应该获得更小的$l_{\mathcal{W}}$而 $l_{\mathcal{Z}}$不受影响。这确实是我们在表 3 中观察到的。
表 3. FFHQ 中各种生成器架构的感知路径长度和可分性得分(越低越好)。 我们在 Z 中为传统网络执行测量,在 W 中执行基于样式的测量。 使网络抵抗样式混合似乎有点扭曲中间潜在空间 W。我们假设混合使得 W 更难以有效地编码跨越多个尺度的变化因子。
表 4 显示了映射网络如何影响路径长度。我们看到传统和基于样式的生成器都受益于映射网络,并且附加深度通常会改善感知路径长度以及 FID。有趣的是,虽然 $l_{\mathcal{W}}$有所改善,$l_{\mathcal{Z}}$变得更加糟糕,这说明了我们的说法,即输入潜伏空间确实可以任意纠缠在GAN中。
表 4. FFHQ 中映射网络的影响。 方法名称中的数字表示映射网络的深度。 我们看到 FID,可分离性和路径长度都可以从映射网络中受益,这适用于基于样式和传统的生成器体系结构。 此外,更深的映射网络通常比浅层映射网络表现更好。
4.2. 线性可分性
如果潜在空间被充分解开,则应该有可能找到始终对应于各个变化因子的方向向量。我们提出了另一个度量标准,该度量标准是通过测量潜在空间点可以通过线性超平面分为两个不同的集合的程度来量化这种影响,以便每个集合都对应于图像的特定二进制属性。
为了标记生成的图像,我们针对许多二进制属性训练辅助分类网络,例如,以区分男性和女性面孔。在我们的测试中,分类器与我们使用的鉴别器具有相同的架构(即与[ 26 ]中相同),并使用CelebA-HQ数据集进行训练,该数据集保留了原始CelebA数据集中的40个属性。为了衡量一个属性的可分离性,我们用 z ~ P(z) 生成了200,000张图像,并使用辅助分类网络对其进行分类。然后,我们根据分类器的置信度对样本进行排序,并去除最低置信度的一半,从而产生100,000个标记的潜在空间向量。
图 7. FFHQ 数据集在年龄,种族,观点,光照和图像背景方面提供了很多种类。
对于每个属性,我们拟合线性 SVM 来预测基于潜在空间点的标签 - 传统的 z 和基于样式的 w - 并且通过该平面对点进行分类。为了测量超平面能够将点分成正确的组的程度,我们计算条件对数 H(Y | X),其中 X 是由 SVM 预测的类,Y 是由预训练的分类器确定的类。因此,假设我们知道它所在的超平面位于哪一侧,条件熵告诉我们确
定样本的真实类需要多少附加信息。直觉是,如果相关的变化因子或其组合的潜在空间方向不一致,则通过超平面分离样本点将更加困难,从而产生高条件熵。较低的值表示容易分离,因此属性对应的特定因子或一组因子的潜在空间方向更一致。
我们将最终的可分性得分计算为 $\exp(\sum_{i}{\mathrm{H}}(Y_{i}|X_{i}))$ ,其中我列举了 40 个属性。与初始得分[46]类似,取幂使得从对数域到线性域的值更容易比较。
表 3 和表 4 显示 W 一直比 Z 更好,这表明纠缠的表示更少。此外,增加映射网络的深度改善了 W 中的图像质量和可分离性,这符合合成网络当然有利于解缠的输入表示的假设。有趣的是,在传统生成器前面添加一个映射网络会导致Z 中可分离性的严重损失,但是会改善中间潜在空间 W 中的情况,并且 FID 也会改善。这表明,当我们引入一个不必跟随训练数据分布的中间潜在空间时,即使是传统的生成器架构也能表现得更好。
5.结论
基于我们的结果和 Chen 等人的并行工作[6],很明显,传统的 GAN 生成器架构在各方面都不如基于样式的设计。就已建立的质量指标方面而言,我们进一步认为,我们对高级属性和随机效应分离效应的分离以及中间潜在空间的线性的研究将在提高 GAN 理论的理解和可控性方面取得丰硕成果。我们注意到,我们的平均路径长度度量可以很容易地用作训练期间的正则化器,也许线性可分性度量的一些变体也可以作为一个正则化函数。总的来说,我们希望在训练期间直接塑造中间潜码空间的方法将为未来的工作提供有趣的研究途径。
6.致谢
我们感谢 Jaakko Lehtinen , David Luebke 和TuomasKynka¨anniemi 的深入讨论和有益的评论; Janne
Hellsten,Tero Kuosmanen 和 PekkaJanis,负责计算基础架构和代码发布方面的帮助。
A. FFHQ 数据集
我们收集了一个新的人脸数据集, Flickr-Faces-HQ(FFHQ),由 分辨率的 70,000 个高质量图像组成(图 7)。 该数据集在年龄,种族和图像背景方面包含了比CelebA-HQ [26]更多的变化,并且还有更多的配件覆盖范
围,如眼镜,太阳镜,帽子等。图像是从 Flickr 爬取的( 因此继承了该网站的所有偏见)并自动对齐和裁剪。 只收集了经过许可的图像。 通过各种自动过滤器进行数据筛选,最后使用 Mechanical Turk 删除雕像,绘画或拍摄照片的相关图片。 我们已经公布了数据集:https://github.com/NVlabs/ffhq-dataset
B. W 中的截断技巧
如果我们考虑训练数据的分布,很明显低密度区域的代表性很差,因此生成器很难学习。这是所有生成建模技术中一个重要的开放性问题。然而,众所周知,从截断的[ 5 ]或缩小的 [ 29 ]采样空间中提取潜在向量,往往会改善平均图像质量,尽管会损失一些变化。
我们可以遵循类似的策略。首先,我们计算 W 的质心为 ${\bf\bar{w}}=\operatorname{\mathbb{E}}_{{\bf z}\sim P({\bf z})}[f({\bf z})]$。在 FFHQ 的情况下,这一点代表一种平均面(图 8,ψ = 0)。然后我们可以将给定 w 与中心的偏差缩放为 ${\bf w}^{\prime}={\bf\bar{w}}+\psi({\bf w}-{\bf\bar{w}})$,其中ψ < 1。而 Brock 等人[5]观察到,即使使用正交正则化,也只有一部分网络能够适应这种截断,即使不改变损失函数,W 空间中的截断似乎也能可靠地工作。
图8:截断技巧的效果与样式比例的关系ψ。
当我们将ψ慢慢趋向于0 ψ→0,所有面孔都收敛到FFHQ的“平均”面孔。对于所有训练过的网络,此脸都是相似的,对其进行插值似乎永远不会造成伪像。通过对风格进行负缩放,可以得到相应的相反或“反面”。有趣的是,各种高级属性通常在相反的位置之间转换,包括视点,眼镜,年龄,肤色,头发长度以及性别。
C.超参数和训练细节
我们基于Karras等人的渐进式GAN官方TensorFlow [ 1 ]实现--PGGAN。 [26],我们从中继承了大多数训练细节。此原始设置对应于表 1中的配置a。特别是,我们使用相同的鉴别器结构,分辨率相关的小批量大小,Adam [ 28 ]超参数。我们为 CelebA-HQ 和 FFHQ启用了镜像扩充,但是为 LSUN 禁用了它。使用 8 个 Tesla V100 GPU 的 NVIDIA DGX-1 训练时间约为一周。
对于我们改进的基线(表 1 中的 B),我们一些修改以提高总体结果质量。我们用双线性采样替换两个网络中的最近邻/上/下采样,我们通过在每个上采样层之后和每个下采样层之前用可分离的二阶二次滤波器对激活进行低通滤波来实现[62]。我们以与 Karras 等人相同的方式实施渐进式增长[26],但我们从$8^2$ 的图像开始而不是$4^2$ 的图像开始。
对于 FFHQ 数据集,我们使用γ = 10 从 R1 正则化[37]切换到WGAN-GP 到非饱和损失[18]。我们发现了 R1 与 WGANGP 相比,FID 分数持续下降的时间要长得多,因此我们将训练时间从 1200万张图像增加到了2500万张图像。我们使用与 Karras 等人相同的学习率 [26]对于 FFHQ,但我们发现将学习率设置为0.002 而不是 0.003(对于$512^2$ 和 $1024^2$ )可以使 CelebAHQ 获得更好的稳定性。对于我们基于样式的生成器(表 1 中的 F),我们使用Leaky ReLU [35]和α = 0.2 以及所有层的均衡学习率[26]。我们在卷积层中使用与 Karras 等人相同的特征映射计数[26 ]。我们的映射网络由 8 个完全连接层组成,所有输入和输出激活的维度 - 包括 z 和 w - 是 512。我们发现在高学习率下增加映射网络的深度往往会使训练不稳定。因此,我们将映射网络的学习速率降低了两个数量级,即$\lambda^{\prime}=0.01\cdot\lambda$
我们使用$\mathcal{N}(0,1)$初始化卷积,完全连接和仿射变换层的所有权重。偏差和噪声缩放因子初始化为零,除了与我们初始化为 1 的 y 相关的偏差。
我们的可分离性度量标准(第4.2节)使用的分类器 与鉴别器具有相同的体系结构,只是禁用了最小批量标准差 [ 26 ]。我们使用的学习率是$10^{-3}$,最小批量大小为8,Adam优化器,训练长度为150,000张图像。分类器的训练独立于生成器,并且相同的40个分类器(每个CelebA属性一个)用于测量所有生成器的可分离性度量。我们将发布预训练的分类器网络,以便可以复制我们的测量结果。
在我们的网络中,我们不使用批处理归一化[ 25 ],频谱归一化[ 38 ],注意力机制[ 55 ],Dropout[ 51 ]或逐像素特征向量归一化[ 26 ]。
D. 训练融合
图 9 显示了在使用 FFHQ 数据集训练配置 B 和 F 期间FID 和感知路径长度度量如何演变。 R1 正则化在两种配置中都有效,随着训练的进行,FID 继续缓慢下降,激励我们选择将训练时间从 12M 图像增加到 25M 图像。 即使训练达到了 分辨率,缓慢上升的路径长度也表明 FID 的改进是以更纠缠的表示为代价的。 考虑到未来的工作,这是一个有趣的问题,这是否是不可避免的,或者是否有可能在不影响 FID 收敛的情况下鼓励更短的路径长度。
图 9.使用 FFHQ 数据集在我们的配置 B 和 F 中训练过程中的 FID 和感知路径长度指标。横轴表示鉴别器所看到的训练图像的数量。8.4M 张图像的虚线垂直线标志着训练进展到完全 分辨率时的点。 在右边,我们只显示传统生成器路径长度测量的一条曲线,因为 Z 中的全路径和端点采样之间没有明显的差异(4.1 节)。
图 10.由基于样式的生成器(config F)生成的未经计算的图像集 $256^2$
E. 其他数据集
图 10,11 和 12 分别显示了 LSUN [60] BEDROOM,CARS 和 CATS 的一组未经验证的结果。在这些图像中,我
们使用附录 B 中的截断技巧,对于分辨率$4^2$-$32^2$ ,使用ψ= 0.7。附带的视频提供了样式混合和随机变化测试的结果。从中可以看出,在 BEDROOM 的情况下,粗糙的样式基本上控制了相机的视点,中间样式选择特定的家具,而精细的样式处理颜色和材料的较小细节。在 CARS 中,效果大致相似。随机变化主要影响卧室中的织物,CARS 中的背景和前照灯,以及毛皮,背景,以及有趣的是,爪子在 CATS 中的定位。有点令人惊讶的是,汽车的车轮似乎永远不会根据随机输入进行旋转。这些数据集使用与 FFHQ 相同的设置进行训练,持续时间为卧室和 CATS 的 70M 图像,以及 CARS 的 46M 图像。我们怀疑 BEDROOM 的结果开始接近训练数据的极限,因为在许多图像中,,最令人反感的问题是从低质量的训练数据继承而来的严重压缩伪影。汽车具有更高质量的训练数据,还可以实现更高的空间分辨率(512 × 384 而不是$256^2$)并且由于姿势,缩放级别和背景的高内在变化,CATS 仍然是一个困难的数据集。
图 11.由基于样式的生成器(config F)使用LSUN CAR数据集生成的未经验证的图像集,大小为 512 × 384。
图 12.基于样式的生成器(config f)使用LSUN Cat数据集生成的未整理图像集$256^2$。