The Six Fronts of the Generative Adversarial Networks(上)

摘要

生成对抗网络引起了人们对生成模型的新兴趣,从而产生了新的潮水般涌现的新作品,这些新作品可能会使冲浪者感到难以抗拒。 在本文中,我们打算通过将浪潮分成六个“前沿”来帮助这些研究人员:体系结构贡献,条件技术,归一化和约束贡献,损失函数,图像到图像转换以及验证指标。 将前沿组织的文献分为易接近的模块,最终向读者传达该领域的发展趋势。 这项工作也以表格形式列出了该地区的先前调查,重点放在其中的一些方面,我们建议通过更综合,更全面的概述来填补空白。 在这里,我们没有进行详尽的调查,而是选择了简单明了的评论:我们的目标是成为大量文献的切入点,并能够向经验丰富的研究人员介绍最新技术。

1、介绍

生成对抗网络(GANs)是机器学习中的热门话题。 它的灵活性使GAN可以用于解决各种问题,从生成任务开始,例如图像合成[1] – [3],样式转移[4],超分辨率[5],[6]和图像完成[7] ]来执行决策任务,例如分类[8]和细分[9]。 同样,重建对象和场景的能力也挑战了计算机视觉解决方案以视觉方式表示他们试图学习的内容的能力。
Goodfellow等人提出的方法的成功。 [10]引起了学术界的关注,学术界比其他生成模型更喜欢GAN。 除GAN外,最流行的生成模型是变分自编码器[11]和自回归模型[12],[13]。 这三个都是基于最大似然原理。 自回归模型和变分自编码器都可以找到显式密度模型。 这使得在保持模型可行的训练和评估的同时,捕获整个域的复杂性具有挑战性。 为了克服可行性问题,自回归模型将n维概率分布分解为一维概率分布的乘积,而变分自动编码器使用密度函数的近似值。 与这些方法不同,GAN使用隐式密度函数,该函数在构成其框架的网络中建模。
由于自回归模型分解了概率分布,因此每个新样本需要一次生成一个条目。 因此,对于图像,每个新像素都将先前生成的像素考虑在内。 此过程使生成过程变慢,并且无法并行化。 变体自动编码器和GAN不会遇到相同的问题,但是变体自动编码器生成的样本被认为产生的样本质量较低(即使测量合成样本的质量通常是主观的)。 尽管每种方法都有其优势和缺点,但是GAN方法的快速发展使GAN在其大多数优势上都超过了其他方法,而今天,它已成为研究最多的生成模型,并且每年论文的数量迅速增长。
据Google Scholar称,迄今为止,Goodfellow等人的开创性论文。 (“对抗性网络”)被引用超过12,000次,自2017年以来,这一步伐明显加快。因此,需要进行必要的调查以使相关工作的发展变得必要。2016年,Goodfellow [14]在其NeurIPS教程中对不同的生成模型进行了描述,解释了当今仍然存在的挑战,并展示了使用GAN可以受益的不同应用。在2017年,Cresswell等人。 [15]总结了不同的技术,特别是对于信号处理社区,高亮技术的要求仍在不断涌现,并且这些技术今天已经更加成熟。 Wang等。 [16]最近回顾了体系结构,尤其是损失方面的进展。但是,缺乏对指导作者的不同思想趋势的多方面评论。我们试图通过这项工作来弥补这一差距。我们不打算提供详尽且详尽的文献综述,而是将对文学有影响的相关作品归类,以突出它们对整个场景的贡献。
我们将进步分为六个方面-建筑(IV-A节),条件技术(IV-B节),归一化和约束(IV-C节),损失函数(IV-D节),图像到图像转换 (第IV-E节)和验证(第IV-F节)—提供了方案如何演变的全面概念,显示了导致GAN能够生成与真实照片无法区分的图像的趋势。
由于我们选择文学的进化论观点,因此我们失去了大部分的年代论。 为了恢复时间维度,我们按时间顺序组织了图1中的GAN,同时也突出了它们的主要贡献,将它们与GAN的六个前沿之一联系起来。
本文涵盖的GAN的时间表。 就像我们的文本一样,我们将其分为六个方面(体系结构,条件技术,归一化和约束,损失函数,图像到图像的转换和验证指标),每个方面由不同的颜色和不同的线条/边框样式表示。The Six Fronts of the Generative Adversarial Networks(上)

2、基本概念

在介绍GAN的正式概念之前,我们从Dietz [17]提出的直观类比开始。 该场景是一场拳击比赛,其中有一名教练和两名拳击手。 让我们称呼加特列尔和丹尼尔。 两位拳击手在比赛中互相学习,但只有丹尼尔有教练。 加布里埃尔只向丹尼尔学习。 因此,在拳击开始时,加百列一直保持专注,观察对手和举动,试图适应每一轮比赛,猜测教练向丹尼尔的教学。经过多回合,加百列能够在与丹尼尔和丹尼尔的比赛中了解拳击的基本原理。 理想情况下,拳击比赛的赔率是50/50。
在拳击类比中,加百利(Gabriel)是生成器(G),丹尼斯(Danilis)是鉴别器(D),教练是真实的数据—数据越大,教练的经验就越大。 Goodfellow等。 [10]引入了GANsastwodeepneural神经网络(生成器G和鉴别器D),它们玩一个具有值函数V(D,G)的极大极小两人游戏,如下所示:
The Six Fronts of the Generative Adversarial Networks(上)
生成器的目标是根据实际数据分布pdata创建样本。 为此,它学习了真实数据的分布,并将学到的数学函数从分布pz应用于给定的噪声z。 鉴别器的目标是能够以高精确度区分真实(来自真实数据分布)和生成的样本(来自生成器)。
在训练过程中,生成器会从判别器的决策(将生成的样本分类为真实还是假)中接收反馈,从而学习如何在下一次更好地欺骗辨别器。 在图2中,我们显示了一个简化的GAN管道。

3、GAN的挑战

2017年,GAN的不稳定程度很高,被认为很难训练[18]。 从那时起,引入了不同的体系结构,损失函数,条件技术和约束方法,从而简化了GAN模型的收敛。 但是,仍然存在可能会严重影响训练的超参数选择。 在BigGAN [2]展示了通过大幅增加这些因素以及其他因素后,ImageNet图像合成的最新结果之后,批次大小和层宽度成为了最近的焦点。 除了令人印象深刻的结果外,它还展示了进一步改进GAN框架的方向。
使用小型微型批次时引入的梯度噪声是否比鉴别器和发生器之间的竞争所引起的问题更具影响力? 从扩展到非常深的架构和并行性以及海量数据,GAN可以带来多少收益(如果可以的话)? 看来,计算预算对于GAN的未来可能至关重要。 Lucic等。 [19]表明,给定足够的时间进行超参数调整和随机重启,尽管提出了多种损失和技术,但不同的GAN仍可以达到相同的性能。
The Six Fronts of the Generative Adversarial Networks(上)
但是,即使在正常条件下,GAN在完成特定任务(例如人脸生成)时也能实现令人难以置信的性能,但是在处理更通用的数据集(例如ImageNet)时,并不会感觉到相同的质量。 支持GAN性能的数据集的特性仍然不确定。 可能的是,规则性(使用相同的对象姿势,在图像上放置或使用具有相同特征的不同对象)比其他变化较大的对象(如ImageNet)更容易。
与数据规则性和可变性相关的一个因素是类的数量。 如果目标数据集不平衡(例如医疗数据集)或分类计数太高(例如ImageNet),则GAN会覆盖目标数据集的所有分类可能性。 这种现象称为“模式崩溃” [18],尽管文献为缓解问题做出了努力[8],[20],但现代GAN解决方案仍然显示出这种不良行为。 如果我们考虑在用合成图像扩充训练数据集的用例中,一旦我们要生成的对象类通常是最不平衡的对象类,则影响更大。
验证合成图像也具有挑战性。 定性评估是低分辨率图像的网格并排比较的方法,它是(现在仍然是)用于不同作品之间性能比较的最常用方法之一。 作者还诉诸于Amazon Mechanical Turk(AMT)之类的服务,该服务能够对多个人工注释者对合成样本的选择进行统计分析。 但是,除了差异很大的情况外,这种方法的主观性质可能会导致错误的决策。
理想情况下,我们需要定量指标来考虑合成图像的不同方面,例如对象的整体结构,细部细节的存在以及样本之间的变异性。 接受度最高的指标是Inception Score(IS)[8]和FrechètInception Distance(FID)[21],它们都依赖于ImageNet预训练的Inceptionv3网络的**来输出其分数。 这种设计会导致分数不可靠,尤其是对于与ImageNet相似的环境。
诸如GANtrain和GANtest之类的其他指标可以分析上述方面,但是我们必须考虑所用分类网络的可能缺陷,尤其是偏差,这可能会增强其在合成图像中的存在。 因此,只有采用多样化的指标,评估方法和针对具体内容的措施,我们才能真正评估合成样品的质量。

4、GAN文献回顾

A、Architectural Methods

在Goodfellow等人的开创性论文之后,许多作品提出了体系结构增强功能,从而可以在不同的环境下探索GAN。 那时,GAN仅能从诸如MNIST [22]和Faces [23]之类的简单数据集中生成低分辨率样本(32×32)。 但是,在2016年,提出了重要的架构更改,从而促进了GAN的研究,并增加了合成样本的复杂性和质量。
深度卷积GAN(DCGAN)[24]提出了详细的体系结构准则,以稳定GAN的培训,使他们能够使用更深入的模型并获得更高的分辨率(见图3)。 删除池和完全连接的层的建议指导了未来模型的设计; 使用批处理规范化的建议启发了其他规范化技术[25],[26],并且仍在现代GAN框架中使用[27]。 DCGAN在社区中产生了如此巨大的影响,以至于如今在处理简单的低分辨率数据集时,DCGAN仍在使用它,并且在新环境中应用GAN时,DCGAN还是一个切入点。
在同一时期,登顿等。 [28]提出了拉普拉斯金字塔GAN(LAPGAN):一种增量体系结构,其中合成样品的分辨率在整个生产流程中逐渐提高。这种修改可以生成分辨率高达96×96像素的合成图像。The Six Fronts of the Generative Adversarial Networks(上)
The Six Fronts of the Generative Adversarial Networks(上)
在2018年,这种类型的架构获得了普及,并且仍被用于改善稳定性和高分辨率生成。 渐进式GAN(PGAN)[26]改进了增量式体系结构,以生成1024×1024像素的人脸。 当生成的样本的空间分辨率提高时,会逐渐将层添加到“生成器”和“鉴别器”中(请参见图4)。 由于较旧的图层仍可训练,因此对于同一张图像,将以不同的分辨率生成图像。 它可以在较低分辨率的图层中调整粗略/结构图像的细节,而在较高分辨率的图层中可以调整精细的图像。
最近,StyleGAN [1]在生成人脸时表现出非凡的性能,在这项任务中击败了PGAN。 尽管保留了渐进式培训程序,但还是提出了一些更改(请参见图5)。 作者改变了通常将信息输入发电机的方式:在其他工作中,噪声的主要输入通过整个网络,一层又一层地变换,直到成为最终的合成样本。 在StyleGAN中,生成器直接在其所有层中接收信息。 在输入生成器之前,输入的标签数据会经过一个映射网络(由几个顺序的全连接层组成),该网络提取类别信息。 作者将此信息称为“样式”,然后将其与输入的潜在向量(噪声)组合。 然后,通过提供自适应实例规范化(AdaIN)[29]层的缩放和偏差参数,将其合并到所有生成器层中。
此外,作者还添加了独立的噪声源,这些噪声会馈入发生器的不同层。 通过这样做,作者期望每个噪声源都可以控制世代的不同随机方面(例如头发,皮肤毛孔和背景的放置),从而实现更多的变化和更高的细节水平。The Six Fronts of the Generative Adversarial Networks(上)
这些修改(尤其是映射网络)的影响是杂讯与样式之间关系的解开。 这样可以对噪声进行细微修改,从而对生成的样本进行细微的更改,同时保持其合理性,提高生成的图像的质量并稳定训练。
解开类和潜在向量的相同想法是由InfoGAN [30]首次探索的,网络负责寻找可以控制信息生成和从潜在向量解开特征的特征。 这种解开允许(通过网络本身)发现的功能(嵌入在潜在矢量中)来控制图像的视觉方面,从而使生成过程更加连贯和易于处理。
另一类架构修改由GAN组成,这些GAN已扩展为在框架中包含不同的网络。 除了原始的生成器和鉴别器之外,编码器是最常见的组件。 他们对框架的添加创造了一条全新的可能性,可以进行图像到图像的翻译[31](稍后在IV-E节中详细介绍)。 同样,超分辨率和图像分割解决方案在其体系结构中使用编码器。 由于编码器存在于其他生成方法中,例如变分自动编码器(VAE)[11],因此也尝试通过组合来提取两种生成方法中的最佳方法。 最后,研究人员还包括分类器,这些分类器将与生成器和鉴别器一起接受培训,从而改进生成[33]和半监督功能[34]。

B、条件技术

2014年,Mirza等人。 [35]引入了一种控制生成样本类别的方法:将标签信息与生成器的输入噪声连接起来。 无论这种方法多么简单,它都促使研究人员在GAN输入方面发挥创造力,并使GAN能够解决不同且更复杂的任务。
下一步是将标签包括在损失函数中。 Salimans等。 [8]提议增加鉴别器的输出大小,包括用于半监督分类目的的类。 尽管目标不同,但它启发了未来的作品。 Odena等。 [36]专注于使用辅助分类器GAN(ACGAN)进行生成,将区分器的两个任务(标签分类和真实/伪分类)拆分,同时仍向生成器提供分类信息。 它极大地提高了生成效率,为所有1000类ImageNet创建了128×128合成样本(超过LAPGAN的96×96分辨率)。 此外,作者表明GAN受益于更高分辨率的生成,这增加了分类网络的可分辨性。
接下来的更改再次修改了如何将类信息馈送到网络。 在TripleGAN [34]上,类别信息在鉴别器和生成器上都连接到所有层的特征向量中,最后一个除外。 请注意,有时可以结合使用所提出的方法:串联成为使用ACGAN损失函数组件将条件信息馈送到网络的标准方法。
接下来,Miyato等。 [27]介绍了一种将信息提供给鉴别器的新方法。 首先将类信息嵌入,然后通过鉴别符末尾的内部乘积运算将其集成到模型中。 在他们的解决方案中,生成器继续将标签信息连接到图层的特征向量。 尽管作者展示了实验中使用的确切网络,但该技术不受限制,可以应用于任何GAN架构以完成不同任务。
最近,用于样式转换的想法被合并到GAN框架中。在样式转换中,目标是以类似于给定目标图像的样式(尤其是纹理)的方式转换源图像,而不会丢失其内容成分。内容包含可以在不同域的样本之间共享的信息,而样式对于每个域都是唯一的。例如,当考虑绘画时,“内容”代表场景中的对象及其边缘和尺寸。而“样式”可以是艺术家的绘画(刷)技术和所使用的颜色。自适应实例规范化(AdaIN)[29]用于将样式(类)注入到内容信息中。想法是首先根据特征图的维数平均值和对每个样本和每个通道评估的方差对特征图进行归一化。凭直觉,Huang等。解释说,在这一点上(简称为实例规范化),样式本身已被规范化,适合于接收新样式。最后,AdaIN使用从样式编码器获取的统计信息来缩放和移动规范化内容,将目标样式注入实例规范化特征中。
对于当前的最先进的方法,即普通生成[1],[37],图像到图像转换[4]和少量镜头图像转换[38],此想法得到了改进和增强。作者通常使用编码器来提取样式,该样式将馈入多层感知器(MLP),该感知器输出用于控制AdaIN层上的缩放和移位的统计信息。
在空间自适应归一化(SPADE)[4]中,以前的归一化(例如批归一化,实例归一化,自适应实例归一化)的一般化用于将类信息合并到生成过程中,但它专注于使用输入语义用于图像到图像翻译的地图。用于平移和缩放特征图的参数是张量,可保留来自输入语义图的空间信息。这些参数是通过卷积获得的,然后逐个元素相乘并求和到特征图。由于此信息包含在大多数生成器图层中,因此可以防止地图信息在生成过程中消失。

C、 归一化与约束技术

在DCGAN [24]上,作者提倡使用批量归一化器[39]在生成器和判别器中使用分层来减少内部协变量偏移。 这是使用标准化技术的开始,该技术也随着时间的发展而发展,以提高稳定性。 在批次归一化中,使用当前批次统计信息(均值和标准差)对先前**层的输出进行归一化。 然后,它添加了两个可训练的参数以缩放和移动归一化结果。
对于PGAN [26]的作者来说,问题不在于内部协变量偏移,而是由于发生器与鉴别器之间的竞争而爆炸的信号幅度。 为了解决这个问题,他们放弃了批量标准化,并引入了两种限制权重的技术。 在逐像素归一化(请参见公式2)上,它们对每个像素中的特征向量进行归一化。 该方法在生成器中使用,并且不会向网络添加任何可训练的参数。
The Six Fronts of the Generative Adversarial Networks(上)
Karras等人介绍的另一种技术。 [26]被称为均衡学习率(见公式3)。
The Six Fronts of the Generative Adversarial Networks(上)
其中wi是权重,c是He初始化程序[40]的每层归一化常数。 在初始化期间,权重全部在运行时从同一分布N(0,1)采样,然后按c进行缩放。 它用于避免权重在不同图层上具有不同的动态范围。 这样,学习率会以相同的因素影响所有层,从而避免对某些层而言太大而对于其他层而言太小。
频谱归一化[25]也起到约束权重的作用,但仅在鉴别器上起作用。该思想通过限制每一层的频谱范数来约束鉴别器的Lipschitz常数。 通过限制其Lipschitz常数,可以限制鉴别器的权重变化速度,从而稳定训练。 为此,每个权重W均按W的最大奇异值进行缩放。该技术目前存在于现有网络[4],[41]中,该网络同时应用于生成器和鉴别器。
到目前为止,提出的约束方法都涉及归一化权重。 不同的是,梯度罚分[42]实施1-Lipschitz约束,使所有具有范数的梯度在所有地方最多为1。 如果梯度范数超出目标值1,则会在损失函数中增加一个额外项以惩罚模型。
一些方法没有更改损失函数,也没有向模型添加归一化层。 取而代之的是,这些方法在训练过程中引入了细微的变化,以解决GAN的一般问题,例如训练中生成的样本的不稳定性和低变异性。 小批量鉴别[8]给出了正在分析的小批量周围的鉴别信息。 粗略地说,这是通过将组件1连接到鉴别器的内层来实现的。 有了这些信息,鉴别器就可以比较小批量的图像,从而迫使生成器创建彼此不同的图像。
类似地,向鉴别器提供更多信息,PacGAN [20]在送入鉴别器之前,打包(连接在宽度轴上)来自同一来源(真实或合成)的不同图像。 这组作者说,此过程可帮助生成器覆盖训练数据中的所有目标标签,而不是限制自身生成能够欺骗鉴别器的单个类的样本(称为模式崩溃[18]的问题)。