StyleGAN:一个基于风格的生成对抗网络的生成器架构

1,129 阅读8分钟

StyleGAN - 生成式对抗网络的基于风格的生成器架构

生成对抗网络(GANs)是机器学习的一大进步,有许多应用。也许GANs最常用的应用之一是在人脸生成方面。

什么是生成对抗网络(GAN)?

GANs由一对神经网络组成,包括一个生成器和一个鉴别器。让我们用一个例子来解释这两个网络。

这两个网络的行为更像是一个造假者和警察。造假者是生成器,而警察是判别器。造假者不断尝试印制假币,而警察则试图检测造假者的假币。

当造假者的假币被警察发现时,造假者就试图通过生产更好的钞票来提高自己的手艺,使之不能被发现。这个过程一直持续到造假者(生成者)的手艺变得非常好,以至于他生产的纸币无法被检测出是假币,从而完全骗过了警察(鉴别者)。

在GANs的背景下,生成器使用高斯噪声作为输入来生成假图像。这些生成的图像被传递给鉴别器,鉴别器决定生成的图像是假的还是真的。

如果被检测到是假的,生成器会学习生成更好的图像,直到最后生成高质量的图像。因此,鉴别器无法检测到它是假的,最终骗过鉴别器将假图像归类为真实图像。

那么,GANs的主要问题是什么?

生成式对抗网络的挑战

尽管在图像质量合成方面有所改进,生成式对抗网络(GANs)中的生成器仍然作为黑箱运行。例如,潜伏空间的属性和对图像合成过程中各方面的理解仍然缺乏,例如,随机特征的起源。

简单地说,我们对正在生成的图像的风格没有控制。我们只输入噪声(潜伏噪声矢量)作为生成器的输入,并等待它搅动出图像作为其输出。

StyleGAN

StyleGAN论文为生成器提出了一个模型,其灵感来自于风格转移网络

它重新设计了GANs生成器的架构,提出了控制图像合成过程的新方法。它很容易分离出图像的高级属性,如姿势和身份。

该架构还可以分离生成图像中的随机变化,如脸部颜色、皱纹、头发和胡须。这使得该网络能够进行特定规模的混合和插值操作。

值得注意的是,所有这些变化都发生在生成器网络上。鉴别器模块没有以任何方式被修改。

StyleGAN架构的概述

Traditional architecture vs Style-based generator

StyleGAN架构的主要贡献是。

  1. 引入了一个映射网络。
  2. 引入Affine Transformation(A)和Adaptive Instance Normalization(AdaIN)。
  3. 增加了一个噪声向量(B)。

映射网络

映射网络由一个有八层的多层感知器(MLP)组成。它的作用是将输入的潜在向量z编码到一个中间的潜在空间W中。这个输入的潜在向量z必须具有训练数据的概率密度,因此对各种因素如何表示网络有很大影响。

与传统架构不同的是,潜向量是通过输入层提供给生成器的,而在StyleGAN中,我们从一个学习的常数开始。在这个架构中,输入层被省略了。

然后,W向量被送入Affine Transformation模块(A)。字母y代表模块(A)的输出样式。这些输出,y与之前的卷积x的特征一起,被作为输入传递给自适应实例规范化层。

此外,我们有一个大小为4×4×512的恒定张量,向由18层组成的合成网络g输入。

仿生变换(A)和自适应实例规范化(AdaIN)

自适应实例归一化(AdaIN)是一种源自批量归一化技术的归一化技术。批量归一化最早被引入到GANs中,以改善判别器的训练。

最近,它们也被用于生成性图像建模中。

批量归一化算法如下所示。

The Batch Normalization algorithm

批量归一化计算x的平均值和标准差,它还有两个参数,gamma和beta,作为比例和平移因子。

实例归一化对每个实例都使用批量归一化算法。该算法单独处理一个批次中的每个实例,而不是批量归一化,即使用整个批次来计算平均值和标准差。这提高了网络对风格的学习能力。

当使用实例规范化时,风格转移似乎比批量规范化更精细。

结果显示如下。

Batch Normalization vs Instance Normalization

尽管批处理规范化和实例规范化之间的数学表示是相同的,但实例规范化的计算是针对批处理中的每个实例进行的。

自适应实例归一化(AdaIN)源于批量归一化算法,是实例归一化的扩展。

这个算法如下图所示。

The Adaptive Instance Normalization algorithm

该算法接收两个输入:输入x和风格输入y。输入x代表前一层卷积的特征,而y代表Affine Transformation模块(A)。正是风格输入y控制了正在生成的图像的风格。

值得注意的是,AdaIN没有可学习的参数。这与批量规范化和实例规范化不同,它们都有可学习的参数。相反,它从风格输入中自适应地计算出仿生参数。

噪声向量(B)

噪声向量是通过仿生变换层(B)引入合成网络的。它们被添加到整个网络中,而不是像GANs那样只在开始时添加。它由不相关的高斯噪声的单通道图像组成。它被添加到每个相应的3 x 3卷积层的输出中。

噪声向量的引入是为了在网络中的图像中诱发随机细节。因此,添加噪声是控制随机变化的理想选择,如不同的梳理的头发、皮肤毛孔、雀斑和胡须。

所有这些随机变化都可以被调整,而不影响图像的整体感知。它使图像的整体构成和身份等高层次方面保持不变。

FFHQ数据集

CELEBA-HQ数据集已被广泛用于风格转移的文献中。但是,在论文中,他们提出了一个名为Flickr-Faces-HQ数据集(FFHQ)的人脸数据集。

该数据集由70,000张分辨率非常高(1024×1024)的图像组成。这些图像的质量也非常高,在年龄、图像背景、种族、照明和不同视角方面提供了很多变化,如下图所示。

The FFHQ dataset with different variations

这个数据集中的图片是从Flickr抓取的,因此继承了该网站的所有偏见,例如带眼镜、太阳镜和帽子的脸部图像。这些图片也是自动对齐和裁剪的。

它是一个公开的数据集;因此,你可以在你的项目中使用它。不要担心使用脸部图像,因为只收集了允许的许可证下的图像。在使用案例中,6万张图片可以用于训练,而1万张图片可以作为测试集。

结果

1.混合正则化

混合正则化的想法是本文引入的一个新概念。在混合正则化中,他们不是只将一个潜伏向量z作为输入通过映射网络产生一个向量w作为输出,而是将两个潜伏向量z1和z2通过映射向量产生两个向量,w1和w2作为输出。

他们在不同的迭代中对w1和w2的使用完全随机化。

事实证明,这种技术可以防止网络认为彼此相邻的样式是相关的。

这些是他们在对网络应用混合正则化后得到的结果。

Mixing Regularization with different percentages of training examples

2.改变噪声矢量的效果

他们实验了改变噪声图像对图像的影响。随着噪声矢量的改变,研究人员也注意到了变化,即发型的变化,而整体外观和生成图像的姿势没有变化。

这表明,与使用GANs相比,改变噪声矢量对图像生成有巨大影响。整体外观几乎保持不变,但个别特征如头发会有小的变化。在GANs中,改变噪声向量会完全改变整个图像。

下面是改变噪声矢量后得到的结果。

Effect of varying the noise vector

3.弗雷切入射距离(FID)得分

The FID score for various designs

这些结果清楚地解释了这个架构是如何从基线架构演变到使用混合正则化时的。FID得分是一个用来衡量生成对抗网络的分数。FID分数越低,模型就越好。这个实验比较了CELEBA-HQ数据集和Flickr-Faces-HQ数据集(FFHQ)的FID得分。

他们发现,他们在基线GAN架构中加入的新颖设计越多,FID得分就越高。这个实验还表明,Flickr-Faces-HQ数据集比CELEBA-HQ数据集取得了更好的FID得分。这个实验表明,FFHQ数据集比CELEBA-HQ数据集要好。

总结

StyleGAN是最有趣的生成模型之一,它可以在没有任何人类监督的情况下生成高质量的图像。StyleGAN的生成器自动学习分离图像的不同方面,如随机变化和高级属性,同时仍然保持图像的整体特征。

这已经是一个突破,因为过去的模型无法在不完全改变整体图像特征的情况下实现这一点。这项研究大大有助于提高生成式对抗网络合成的一般理解和可控性。