The Six Fronts of the Generative Adversarial Networks(下)

D、损失函數

在理解GAN训练及其不稳定性来源方面的理论进展[18]指出,詹森-香农散度(JSD)(用于GAN的公式中,用于测量实际数据分布与生成器之间的相似性)是导致梯度消失的原因 鉴别器已经受过良好训练。 这种理论上的理解有助于激发下一波工作,从而探索了JSD的替代方法。
代替JSD,作者建议使用Pearsonχ2(最小二乘GAN)[43],地球移动距离(Wasserstein GAN)[44]和Cramér距离(CramérGAN)[45]。 探索的一项核心原则是即使样本位于决策边界的正确一侧,也要对其进行惩罚,避免训练过程中梯度消失的问题。
其他引入的方法选择保持散度函数不变,并向损失函数引入分量,以提高图像质量,训练稳定性或处理模式崩溃和消失梯度。 这些方法通常可以一起使用(并具有不同的发散函数),从而证明了在不同环境下工作时调整GAN的多种可能性。
边界寻找GAN(BSGAN)[46]是展示加入不同技术可能性的一个示例,其中一个简单组件(必须针对不同的f散度函数进行调整)试图引导生成器生成样本,从而使 每个样本的鉴别器输出为0.5。
特征匹配[8]包括生成器的新损失函数组件,该函数使生成器匹配更好地描述真实数据的特征。 自然地,通过训练鉴别器,我们要求它找到这些特征,这些特征存在于中间层。 与特征匹配类似,感知损失[47]也使用来自神经网络的统计数据来比较真实样本和合成样本,并鼓励它们进行匹配。 但是不同的是,它使用ImageNet预训练网络(经常使用VGG [48]),并为损失函数增加了一个额外项。 这种技术通常用于超分辨率方法,以及图像到图像的转换[49]。
尽管有足够的计算预算,尽管独特的损失函数与用于训练网络的方法之间存在所有差异,但都可以达到可比的性能[19]。 但是,由于解决方案比以往任何时候都更加紧迫,并且GAN可能会影响多个领域,包括数据增强,图像到图像转换,超分辨率等许多方面,因此收集正确的方法以实现快速的问题解决方案至关重要。

E、图像到图像生成转换

从Yoo等人开始,在架构中添加编码器使GAN可以进行图像到图像的翻译。 [50],2016年。将编码器添加到生成器网络将其转换为编码器-解码器网络(自动编码器)。 现在,源图像首先被编码为一个潜在表示,然后由生成器映射到目标域。 鉴别器中的更改不是结构性的,但任务已更改。 除了传统的对抗性鉴别器外,作者还引入了一种域鉴别器,该域鉴别器可分析成对的源样本和目标样本(真实样本和假样本)并判断它们是否相关。
到目前为止,合成样品的质量与普通世代相同:低质量和低分辨率。 这种情况随着pix2pix [31]而改变。 Pix2pix为生成器和鉴别器采用了新的架构,以及新的损耗函数。 这是一次彻底的革命! 我们在图6中重现了参考架构的简化形式。生成器是一个类似U-Net的网络[51],其中的跳过连接允许绕过源-目标对共享的信息。 此外,作者引入了基于补丁的鉴别器(他们称为PatchGAN),以较小尺寸(通常为70×70)的补丁规模惩罚结构,同时加快了评估速度。 为了组成新的损失函数,作者建议增加一个术语,以评估合成目标和地面真实目标之间的L1距离,从而在不破坏变异性的情况下约束合成样本。
The Six Fronts of the Generative Adversarial Networks(下)_第1张图片
尽管有条件平原生成技术(例如ACGAN [36])取得了进步,该技术允许生成分辨率高达128×128的样本,但其合成pix2pix的质量达到了新的水平。 该模型能够生成512×512分辨率的合成图像,包括该时间的最新水平的细节。 总体而言,向生成器提供源样本的额外信息可简化并指导生成,对过程产生积极影响。
负责pix2pix的同一研究小组后来发布了CycleGAN [52],从而进一步提高了合成样本的整体质量。 新的训练过程(参见图7)迫使生成器理解两个翻译过程:从源到目标域,以及从目标到源。 循环训练还使用单独的标识符来处理每个翻译过程。 鉴别器上的架构与pix2pix相同,使用70×70补丁,而生成器则采用Johnson等人提出的最新架构。 [47]用于样式转换。
CycleGAN将单个GAN管理(生成)的域数增加到两个,利用两个鉴别符(每个域一个)在两个学习的域之间进行转换。除了所需的体系结构增长之外,另一个限制是要求具有连接两个域的数据对。理想情况下,我们希望在不按比例缩放生成器或区分符的数量的情况下增加域数,并具有部分标记的数据集(即,每个源-目标域都没有成对的数据集)。那些小飞蛾激励了StarGAN [53]。除了源域图像以外,StarGAN的生成器还会收到一个包含标签编码的额外数组,该数组会通知目标域。在馈入发生器之前,此信息在深度上与源样本相关联,发生器利用重建损失继续执行来自CycleGAN的相同循环过程。为了处理多个类别,而又不增加判别器数量,它会累加一个分类任务,以评估所分析样本的范围。
高分辨率图像到图像转换的下一步是pix2pixHD(高清晰度)[54],它显然是基于pix2pix的工作,但是在采用CycleGAN对生成器的体系结构进行更改时进行了一些修改。
作者建议使用两个嵌套的生成器来生成2048×1024分辨率的图像(参见图8),其中外部“本地”生成器会增强内部“全局”生成器。 就像CycleGAN一样,它使用Johnson等人的方法。 [47]将样式传输网络作为全局生成器,并作为本地生成器的基础。 全局生成器的输出在编码过程(全局特征和本地编码的元素之和)中馈入本地生成器,以承载较低分辨率生成的信息。 他们也分别接受培训:首先培训全局生成器,然后对本地生成器进行培训,最后对整个框架进行微调。
在pix2pixHD中,鉴别器也会得到升级。 pix2pixHD使用三个鉴别器,它们以相同分辨率的不同分辨率同时工作,而不是使用较低分辨率的补丁。 这样,低分辨率的鉴别器将更多地关注总体结构和粗糙的细节,而高分辨率的鉴别器将关注精细的细节。 损失函数也变得更加健壮:除了用于每个鉴别器和生成器的传统对抗组件之外,它还包括特征匹配和感知损失组件。
Wang等人探索了发电的其他结构性较小但可能更为重要的方面。 [54]。 通常,图像到图像翻译网络的输入是语义图[55]。 这是一张图像,其中每个像素都具有其对象类的值,并且它们通常是按像素分割任务的结果。 在评估过程中,用户可以通过制作输入语义图来决定和选择结果合成图像的所需属性。 但是,pix2pixHD作者注意到,有时此信息不足以指导生成。 例如,让我们考虑一下语义地图,其中包含街道上的汽车队列。 对应于每个汽车的Blob将被连接起来,形成一种奇怪的格式(对于汽车而言)Blob,这使得网络很难理解它。
作者提出的解决方案是将实例映射添加到网络的输入中。 实例图[55]是一幅图像,其中像素结合了来自其对象类及其实例的信息。 相同类别的每个实例接收不同的像素值。 实例图的添加是影响我们皮肤病变最多的因素之一,以及论文中显示的其他情况。
The Six Fronts of the Generative Adversarial Networks(下)_第2张图片
The Six Fronts of the Generative Adversarial Networks(下)_第3张图片
黄等。引入多模式无监督图像到图像转换(MUNIT)[37]来生成具有相同源样本的各种样本。对于每个领域,作者都使用编码器和解码器来构成生成器。主要假设是可以从样本中提取两种类型的信息:内容,在不同域的实例之间共享,控制图像的一般特征;和样式,用于控制每个域特定且唯一的精细细节。编码器学习提取内容和样式信息,而解码器则利用此信息。
在训练过程中,评估了两个重建损失:图像重建损失,它测量使用提取的内容和样式潜矢量重建源图像的能力;以及潜在向量重构损失,它们通过从随机分布中采样的一对源潜在向量与使用它们创建的合成图像的编码进行比较,来衡量重构潜在向量自身的能力。
The Six Fronts of the Generative Adversarial Networks(下)_第4张图片
MUNIT的解码器(参见图10)使用AdaIN [29]合并了样式信息(我们在IVB节中详细介绍了AdaIN以及使用此规范化的直观见解),并直接影响了当前最新的GAN架构[1], [4],[38]。
有影响力的作品之一处理的任务略有不同:少量图像到图像的翻译。在测试期间仅查看了几个(约2个)示例(例如,训练多个犬种并测试狮子,老虎)后,很少有机会尝试将源图像转换为新的看不见(但相关)的目标域,猫,狼)。为了解决这个问题,Liu等人。文献[38]介绍了少量镜头无监督图像到图像转换(FUNIT)。它结合并增强了我们已经描述的来自不同GAN的方法。作者建议将CycleGAN的周期性训练程序扩展到多个源类别(作者主张,数量越大,模型的泛化越好);采用MUNIT的内容和样式编码器,这些编码器通过AdaIN图层融合在一起;增强了StarGAN的过程,除了将内容图像提供给生成器之外,还向生成器提供了类信息,生成器接收的是一些简单的目标域图像,而不是简单的类信息。鉴别器还遵循StarGAN,以对每个源类执行输出的方式进行说明,这是一个示例,说明工作原理如何相互影响,以及如何使用增强的最新技术更新较旧的概念可以导致状态变化。最先进的解决方案。
The Six Fronts of the Generative Adversarial Networks(下)_第5张图片
到目前为止,每个图像到图像的GAN生成器都采用自动编码器的形式,其中源图像被编码为缩小的潜在表示,并最终扩展到其完整分辨率。编码器在提取将保留在输出中的源图像信息方面起着重要作用。通常,甚至使用多个编码器来提取不同的信息,例如内容和样式。
关于空间自适应标准化(SPADE)[4],作者介绍了一种语义图像合成方法(例如,使用语义图作为生成器的输入进行图像到图像的翻译)。可以认为它是pix2pixHD [54]的后继者,它可以处理许多以前的工作规律。尽管作者在论文中称其GAN为SPADE(现在将其称为GauGAN),但该名称指的是引入的标准化过程,该过程对其他标准化技术(例如批标准化,实例标准化,AdaIN)进行了概括。像AdaIN一样,SPADE用于将输入信息合并到生成过程中,但是这两种方法之间存在关键差异。在SPADE上,用于平移和缩放特征图的参数是张量,这些张量包含从输入语义图中保留的空间信息。这些参数是通过卷积获得的,然后逐元素相乘并求和到特征图(请参见图11)。此过程在生成器的所有层中进行,最后一层除外,后者输出合成图像。由于生成器的解码器的输入不是语义图的编码,因此作者使用噪声来填充第一个生成器层(请参见图12)。此更改使SPADE能够进行多模式生成,也就是说,给定目标语义图,SPADE可以使用同一图生成多个不同的样本。

生成方法的验证指标

初始分数(IS)[8]:它使用ImageNet上经过预训练的Inceptionv3网络来计算合成样本的对数。 该对数用于评估方程式4。作者说,它与人工对合成图像的判断具有很好的相关性。 由于该网络是在ImageNet上进行预训练的,因此我们依赖于ImageNet类对合成图像的判断。 这是一个大问题,因为皮肤病变图像与ImageNet上的任何类别都不相关。 因此,此方法不适用于评估不是ImageNet的任何数据集中的合成样本。
The Six Fronts of the Generative Adversarial Networks(下)_第6张图片
The Six Fronts of the Generative Adversarial Networks(下)_第7张图片
The Six Fronts of the Generative Adversarial Networks(下)_第8张图片
Frechèt起始距离(FID)[21]:与起始分数一样,FID依靠起始的评估来测量合成样品的质量,并且遇到相同的问题。不过,它采用了
真实样本和合成样本中Inception的倒数第二层,将它们进行比较。 FID对这些分布使用高斯近似,这使得它对小细节(在高分辨率样本中非常多)不敏感。
切片Wasserstein距离(SWD)[26]:Karras等。引入了SWD指标来专门处理高分辨率样本。这个想法是为每个图像考虑多种分辨率,从16×16到原来的两倍,直到最大分辨率(拉普拉斯金字塔)。对于每种分辨率,从真实和合成样本的每个级别中切片128个7×7×3个色块。最后,使用切片的Wasserstein距离[56]来评估两者之间的近似距离。

GANtrain和GANtest [57]:这些指标背后的想法与我们的目标相吻合,即使用合成图像作为分类网络的一部分,例如更智能的数据增强过程。 GANtrain是在合成样本上训练并在真实图像上进行评估的分类网络的准确性。同样,GANtest是在真实数据上训练并在合成样本上进行评估的分类网络的准确性。作者将GANtrain和GANtest的性能与经过实际数据训练和测试的基准网络进行了比较。
Borji [58]用不同的标准分析了现有指标:可辨别性(支持高保真图像的能力),检测过度拟合,纠缠的潜在空间,界限明确,人类感知判断,对失真的敏感性,复杂性和样本效率。 在对度量标准文献进行全面审查之后,作者比较了与提出的标准有关的度量标准,并且在不同和相似之处之间,无法指出要使用的确定性度量标准。 作者建议未来的研究依靠不同的指标来更好地评估合成图像的质量。
Theis等。 [59],在对合成样品的质量评估的研究中,强调了相同的模型在不同的应用上可能具有非常不同的性能,因此,对合成样品的正确评估必须考虑到应用的背景。

结论

尽管在过去几年中取得了进步,使人的面孔与真实的人难以区分,但仍有许多问题需要解决。 在所有提议的GAN中仍然存在模式崩溃,并且当类数很高或数据集不平衡时,问题变得更加严重。 这个问题的进展对于将GAN应用于实际情况具有决定性的作用,从而离开了学术环境。
从这个意义上讲,未来几年还应该实现另一项重大创新:探索可以更好地利用参数的技术,使GAN更轻便,并且可以在移动设备中运行而又不损失很多性能。 为了表明我们离今天的现实还有多远,在GauGAN [4]上,只有生成器可以获取超过1.2亿个参数。 与此现实平行的是,卷积神经网络已经朝着这个方向发展。 例如,瓶颈模块有助于减少参数的数量(尽管他们以此为借口来堆叠瓶颈模块,再次增加了参数的数量)并且存在于大多数现代的CNN架构中。 而且,如今可以在移动设备上训练用于分类和分段的整个网络,从而使这些解决方案可以用在更大范围的问题中。

你可能感兴趣的:(The Six Fronts of the Generative Adversarial Networks(下))