Tero Karras等作者Panda编译

零成本体验StyleGAN2:Colab代码直接使用,细节逼真难以分辨

近日,英伟达公开了 StyleGAN 的 2.0 改进版,提出了对这种生成对抗网络的多项新改进,在解决了生成图像伪影的同时还能得到细节更好的高质量图像。新的改进方案也不会带来更高的计算成本。整体来看,不管是在现有的分布质量指标上,还是在人所感知的图像质量上,新提出的模型都实现了无条件图像建模任务上新的 SOTA。

最近英伟达在 GAN 领域最大的研究突破莫过于 StyleGAN2 了。这一新的研究提升了生成图像的质量,实现了最新的 SOTA。论文公开的同时,英伟达也公开了相关的代码和 Colab 笔记,你可以直接在线使用。

  • 论文:https://arxiv.org/abs/1912.04958

  • 实现和模型:https://github.com/NVlabs/stylegan2

  • Colab 地址:https://colab.research.google.com/drive/1ShgW6wohEFQtqs_znMna3dzrcVoABKIH

根据笔记本提供的示例代码,我们可以生成诸如汽车、人脸等相关的图像。这些图像和真实图像相比似乎差别不大。

生成的汽车图像。

生成的人脸。

这样的成果是如何实现的呢?以下英伟达论文的详细介绍。

引言

使用生成方法(尤其是生成对抗网络)得到的图像的分辨率和质量都在快速提升。在高分辨率合成任务上的当前最佳方法是 StyleGAN,研究表明其能在多种数据集上可靠地发挥作用。这项研究关注的问题是修复 StyleGAN 的特有伪影以及进一步提升其结果的质量。

StyleGAN 的显著特征是其具有非常规的生成器架构。这种架构不会仅在网络的开始处向其馈送输入隐代码 z ∈ Z,而是其映射网络 f 首先会将其变换成一个中间隐代码 w ∈ W。然后,仿射变换通过自适应实例归一化(AdaIN)得到能控制合成网络 g 的层的风格。另外,其还通过向合成网络提供额外的随机噪声图而提升了随机变化的性能。研究表明,这种设计能让中间的隐空间 W 比输入的隐空间 Z 的纠缠少得多。这篇论文的所有分析都集中在 W 上,因为从合成网络的视角看,它是相关的隐空间。

很多观察者注意到 StyleGAN 生成的图像会有很有特点的伪影。这篇论文给出了产生这些伪影的两个原因,并描述了可以如何通过修改架构和训练方法来消除这些伪影。

第一,研究者研究了常见的斑点状伪影的起源,发现生成器创建它们的原因是为了规避其架构中的设计缺陷。研究者于是重新设计了生成器中所使用的归一化方案,这能够移除伪影。

第二,作者分析了与渐进式增长(progressive growing)相关的伪影,这已经在稳定化高分辨率 GAN 训练中取得了高度成功。研究者提出了另一种无需在训练中修改网络拓扑结构就能实现同样目标的设计——首先以低分辨率图像为重心开始训练,然后将重心逐渐转移到越来越高的分辨率。这种新设计还能推理所生成图像的有效分辨率,事实证明这个有效分辨率低于预期,说明相关研究还有进一步的提升空间。

对于生成方法产生的图像的质量如何进行定量分析?这还依然是一个颇具挑战性的难题。Frechet inception 距离(FID)衡量的是一个 InceptionV3 分类器的高维特征空间中两个分布的密度差异。精确度和召回率(P&R)则提供了额外的可见性,它们的具体方法分别是显式地量化所生成图像与训练数据类似的百分比以及可以被生成的训练数据的百分比。作者使用这些指标对改进情况进行了量化。

FID 和 P&R 都基于近期出现的关注纹理而非形状的分类器网络,由此造成的后果是这些指标无法准确体现图像质量的所有方面。研究者观察到感知路径长度(PPL)指标与形状的一致性和稳定性相关,而该指标最早是为评估隐空间插值的质量而引入的一种方法。基于此,研究者对合成网络进行了正则化处理,以支持平滑的映射和实现明显的质量提升。为了抵消这种方法的计算成本,研究者还提出降低所有正则化的执行频率。实验表明,这种做法其实对效果没什么影响。

最后,作者发现相比于使用原始的 StyleGAN,使用新的路径长度正则化的生成器时,图像到隐含空间 W 的投射的效果要好得多。这在实际应用中是很重要的,因为这让我们可以可靠地辨别给定图像是否是用特定的生成器生成的。

移除归一化伪影

首先来看看 StyleGAN 生成的大多数图像都有类似水滴的斑状伪影。如图 1 所示,即使当水滴在最终图像中并不明显时,它也会出现在生成器的中间特征图中。这种异常在大约 64×64 分辨率时开始出现,并会出现在所有特征图中,还会在分辨率增高时逐渐变强。这种总是存在的伪影很令人困惑,因为判别器本应该有检测它的能力的。

 图 1:实例归一化会导致 StyleGAN 图像中出现水滴状的伪影。这在生成的图像中不总是很明显,但如果看看生成器网络内部的激活,这个问题在从 64×64 分辨率开始的所有特征图中总是存在。这是一个有损所有 StyleGAN 图像的系统性问题。

研究者认为问题出在 AdaIN 运算,它可以分别对每个特征图的均值和方差进行归一化,由此可能摧毁特征的幅度中找到的任何彼此相关的信息。研究者假设这种水滴状伪影出现的原因是生成器有意将信号强度信息传递通过实例归一化:通过创建一个主导统计情况的强的局部化尖峰,生成器可以有效地像在其它地方一样扩展该信号。研究者发现,当从生成器移除这个归一化步骤时,这种水滴状伪影会完全消失。

图 2:研究者重新设计了 StyleGAN 合成网络的架构。(a)原始的 StyleGAN,其中 A 是从 W 学习到的一个仿射变换,其会得到一种风格,B 则是一种噪声广播运算。(b)有完整细节的同一方案。这里,AdaIN 已被分解成了之后跟着调制的显式归一化,这两者操作的都是每个特征图的均值和标准差。其中 w 是学习到的权重,b 是偏差,c 是常量输入。激活函数(Leaky ReLU)总是在添加偏差之后马上就应用。(c)研究者对原始的架构进行了一些修改:移除了开始处的一些冗余的操作,将 b 和 B 的求和移到了风格的活动区域之外,并且仅调整每个特征图的标准差。(d)架构经过修改后,可以用一个「解调(demodulation)」操作替换实例归一化,研究者将其应用于与每个卷积层相关的权重

这种新设计能在维持完全控制能力的同时移除这种特有伪影。FID 基本上不受影响(表 1,A 和 B 行),但有明显的从精度到召回率的转移。研究者表示这符合预期,因为召回率可以通过截断(truncation)而转换为精度,而反过来却不行。在实践中,这种设计可以通过分组式卷积来有效地实现。

图 3:使用解调替代归一化能够移除图像和激活中特有伪影

表 1:主要结果。对于每次训练过程,这里选出的都是 FID 最低的训练快照。研究者使用不同的随机种子计算了每个指标 10 次,并报告了平均结果。「path length」一列对应于 PPL 指标,这是基于 W 中的路径端点(path endpoints)而计算得到的。对于 LSUN 数据集,报告的路径长度是原本为 FFHQ 提出的无中心裁剪的结果。FFHQ 数据集包含 7 万张图像,研究者在训练阶段向判别器展示了 2500 万张图像。对于 LSUN CAR 数据集,对应的数字是 89.3 万和 5700 万。

图像质量和生成器平滑度

尽管 FID 或 P&R 等 GAN 指标能够成功体现生成器的很多方面,但它们在图像质量方面还存在一些盲区。

作者观察到在被感知的图像质量和感知路径长度(PPL)之间存在有趣的关联。PPL 原本是为量化从隐空间到输出图像的映射的平滑度而提出的,其做法是在对隐空间施加小型扰动时测量所生成的图像之间的平均 LPIPS 距离。

为什么低 PPL 会与图像质量存在关联?这一点并不直观和明显。研究者猜想,在训练期间,由于判别器会惩罚有损的图像,因此改进生成器的最直接方式是有效地伸展能得到优良图像的隐空间的区域。这会导致低质量图像被压缩进快速变化的小型隐藏空间。尽管这能在短期内提升平均输出质量,但累积起来的失真会有损训练动态,并由此影响最终的图像质量。

这种经验上的相关性说明,通过在训练期间鼓励 PPL 更低,有助于实现平滑的生成器映射,从而可能提升图像质量。实验表明,事实确实如此。由于所得到的正则化项在一定程度上计算成本较高,所以研究者首先描述了一种可应用于所有正则化技术的通用优化方法。

懒惰式正则化(Lazy regularization)

表 1 第 C 行说明,即使每 16 minibatch 仅执行一次 R1 正则化,对结果也没什么影响。研究者在新的正则化器中就采用了这一策略。

路径长度正则化

图 5:(a)使用一种基准 StyleGAN(表 1 中的 A 配置,FID = 8.53,PPL = 924)生成的各个图像的 PPL 分数的分布情况。(b)新提出的方法(配置 F)能够显著改善 PPL 分布(展示了有同样的 FID = 8.53 的快照,PPL = 387)。

渐进式增长

 图 6:渐进式增长会导致「相位」伪影。在这个例子中,牙齿没有跟随姿势而变化,而是与相机对齐了,如蓝线所示。

可替代使用的网络架构

 图 7:三种生成器(虚线上面)和判别器架构。Up 和 Down 分别表示双线性的上采样和下采样。在残差网络中,这些也包含用于调整特征图数量的 1×1 卷积。tRGB 和 fRGB 可将每个像素的数据在 RGB 和高维数据之间转换。配置 E 和 F 所用的架构用绿色标注。

 表 2:没有使用渐进式增长的生成器和判别器架构比较。使用了输出跳过和残差判别器的生成器的组合对应于主结果表格中的配置 E。

分辨率使用情况

 图 8:每种分辨率对生成器的输出的贡献,用训练时间的函数表示。其中纵轴展示了不同分辨率的相对标准差的分解情况,横轴则对应于训练进度,度量单位是展示给判别器的百万张训练图像。可以看到,网络在一开始关注的重点是低分辨率的图像,然后随着训练推进,逐渐将重心转移至更高的分辨率。在(a)中,生成器基本上就是输出一张 512×512 的图像,经过一些细微的锐化之后,得到 1024×1024 的图像;而在(b)中,更大的网络更重视高分辨率的细节。

 表 3:使用 FID 和 PPL 衡量的在 LSUN 数据集上的改进情况。研究者为 CAR 训练了 5700 万张图像,为 CAT 训练了 8800 万张图像,为 CHURCH 训练了 4800 万张图像,为 HORSE 训练了 1 亿张图像。

图像到隐空间的投射

新提出的投射方法在两方面不同于之前的方法。第一,在优化期间为隐代码添加了经过削减的噪声,以便更全面地探索隐空间。第二,研究者也优化了 StyleGAN 生成器的随机噪声输入,并对它们进行了正则化,以确保它们不会最终携带上相干的信号。这种正则化基于强制噪声映射图的自相关系数与单位高斯噪声的自相关系数在多个尺度上相匹配。

图 9:原始图像和被投射图像之间的 LPIPS 距离。蓝色展示了生成图像的距离直方图,橙色表示真实图像。尽管新改进的生成器生成的图像质量更高,但将生成图像投射至其隐空间 W 会容易得多。所有的案例都使用了这一种投射方法。

 图 10:示例图像以及它们的经过投射和重新合成的对应图像。对于每种配置,上行展示了目标图像,下行展示了对应的被投射隐向量和噪声输入的合成结果。上:使用基准 StyleGAN,投射往往能为生成的图像找到一个接近程度合理的匹配结果,但背景不同于原始图像。中:使用新提出的最佳的架构生成的图像可以近乎完美地投射回生成器输入,这毫无疑问可归功于生成模型。下:和预期的一样,(从训练集)投射的真实图像与原始图像有明显的差异。所有的测试都使用了同样的投射方法和超参数

入门英伟达计算机视觉GAN生成对抗网络StyleGAN
2
相关数据
激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

插值技术

数学的数值分析领域中,内插或称插值(英语:interpolation)是一种通过已知的、离散的数据点,在范围内推求新数据点的过程或方法。求解科学和工程的问题时,通常有许多数据点借由采样、实验等方法获得,这些数据可能代表了有限个数值函数,其中自变量的值。而根据这些数据,我们往往希望得到一个连续的函数(也就是曲线);或者更密集的离散方程与已知数据互相吻合,这个过程叫做拟合。

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

上采样技术

在数字信号处理中,上采样、扩展和内插是与多速率数字信号处理系统中的重采样过程相关的术语。 上采样可以与扩展同义,也可以描述整个扩展和过滤(插值)过程。

生成模型技术

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

生成对抗网络技术

生成对抗网络是一种无监督学习方法,是一种通过用对抗网络来训练生成模型的架构。它由两个网络组成:用来拟合数据分布的生成网络G,和用来判断输入是否“真实”的判别网络D。在训练过程中,生成网络-G通过接受一个随机的噪声来尽量模仿训练集中的真实图片去“欺骗”D,而D则尽可能的分辨真实数据和生成网络的输出,从而形成两个网络的博弈过程。理想的情况下,博弈的结果会得到一个可以“以假乱真”的生成模型。

仿射变换技术

仿射变换,又称仿射映射,是指在几何中,一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间。 一个对向量平移,与旋转放大缩小的仿射映射为 上式在齐次坐标上,等价于下面的式子 在分形的研究里,收缩平移仿射映射可以制造制具有自相似性的分形

生成对抗技术

生成对抗是训练生成对抗网络时,两个神经网络相互博弈的过程。两个网络相互对抗、不断调整参数,最终目的是使判别网络无法判断生成网络的输出结果是否真实。

暂无评论
暂无评论~