生成对抗网络(GANs)在过去的几年里得到了广泛的研究。可以说,它们最重要的影响是在计算机视觉领域,在这一领域中,图像生成、图像-图像转换、面部属性处理和类似领域的挑战取得了巨大进展。尽管迄今为止已经取得了重大的成功,但将GAN应用于现实世界的问题仍然面临着重大的挑战,我们在这里重点关注其中的三个。这是: (1)生成高质量的图像; (2) 图像生成的多样性; (3) 稳定的训练。我们将重点关注目前流行的GAN技术在应对这些挑战方面取得的进展程度,并对已发表文献中GAN相关研究的现状进行了详细回顾。我们进一步通过一个分类结构,我们已经采用了基于GAN体系架构和损失函数的变化。虽然到目前为止已经提交了几篇关于GANs的综述,但没有一篇是基于它们在解决与计算机视觉相关的实际挑战方面的进展来考虑这一领域的现状。因此,为了应对这些挑战,我们回顾并批判性地讨论了最流行的架构变体和损失变体GANs。我们的目标是在重要的计算机视觉应用需求的相关进展方面,对GAN的研究现状进行概述和批判性分析。在此过程中,我们还将讨论GANs在计算机视觉方面最引人注目的应用,并对未来的研究方向提出一些建议。本研究中所研究的GAN变体相关代码在
https://github.com/sheqi/GAN_Review上进行了总结。
地址: https://www.zhuanzhi.ai/paper/13d539e47a5fb31c850a19db08c63923
生成对抗网络(GANs)在深度学习社区[1]-[6]吸引了越来越多的兴趣。GANs已应用于计算机视觉[7]-[14]、自然语言处理[15]-[18]、时间序列合成[19]-[23]、语义分割[24]-[28]等多个领域。GANs属于机器学习中的生成模型家族。与其他生成模型(如变分自编码器)相比,GANs提供了一些优势,如能够处理清晰的估计密度函数,有效地生成所需样本,消除确定性偏差,并与内部神经结构[29]具有良好的兼容性。这些特性使GANs获得了巨大的成功,特别是在计算机视觉领域,如可信图像生成[30]-[34],图像到图像转换[2],[35]-[41],图像超分辨率[26],[42]-[45]和图像补全[46]-[50]。
然而,GANs并非没有问题。最重要的两点是,它们很难训练,也很难评估。由于训练难度大,在训练过程中判别器和生成器很难达到纳什均衡,生成器不能很好地学习数据集的完整分布是常见的问题。这就是众所周知的模式崩溃问题。在[51]-[54]这一领域进行了大量的研究工作。在评估方面,首要问题是如何最好地衡量目标pr的真实分布与生成的分布pg之间的差异。不幸的是,不可能准确地估算pr。因此,对pr和pg之间的对应关系进行良好的估计是很有挑战性的。以往的研究提出了各种对GANs[55] -的评价指标[63]。第一个方面直接关系到GANs的性能,如图像质量、图像多样性和稳定训练。在这项工作中,我们将研究计算机视觉领域中处理这方面的现有GAN变体,而对第二方面感兴趣的读者可以参考[55][63]。
目前许多GAN研究可以从以下两个目标来考虑:(1)改进训练,(2)将GAN应用于现实应用。前者寻求提高GANs性能,因此是后者(即应用)的基础。考虑到许多已发表的关于GAN训练改进的结果,我们在本文中对这方面最重要的GAN变体进行了简要的回顾。GAN训练过程的改进提供了好处表现如下: (1)改进生成的图像的多样性(也称为模式多样性) ,(2)增加生成的图像质量,和 (3) 包含更多 :(1) 介绍相关GAN综述工作和说明的区别这些评论和这项工作; (2)简要介绍GANs;(3)回顾文献中关于“GAN”的架构变体;(4)我们回顾文献中损失变体的GAN;(5)介绍了GAN在计算机视觉领域的一些应用; (6)引入了GAN的评价指标,并利用部分指标(Inception Score和Frechet Inception Distance, FID)对本文讨论的GAN变量进行了比较;(7)我们总结了本研究中的GANs变体,说明了它们的差异和关系,并讨论了关于GANs未来研究的几种途径。(8)我们总结了这篇综述,并展望了GANs领域可能的未来研究工作。
文献中提出了许多GAN变体来提高性能。这些可以分为两种类型:(1)架构变体。第一个提出的GAN使用完全连接的神经网络[1],因此特定类型的架构可能有利于特定的应用,例如,用于图像的卷积神经网络(CNNs)和用于时间序列数据的循环神经网络(RNNs);和(2)Loss-variants。这里探讨了损失函数(1)的不同变化,以使G的学习更加稳定。
图2说明了我们对2014年至2020年文献中具有代表性GANs提出的分类法。我们将目前的GAN分为两种主要变体,即架构变体和损失变体。在体系架构变体中,我们分别总结了网络体系结构、潜在空间和应用三大类。网络架构范畴是指对GAN架构的整体改进或修改,例如PROGAN中部署的渐进机制。潜在空间类别表示基于潜在空间的不同表示方式对架构进行修改,例如CGAN涉及到编码到生成器和识别器的标签信息。最后一类,应用,指的是根据不同的应用所做的修改,例如,CycleGAN有特定的架构来处理图像风格的转换。根据损失的变化,我们将其分为两类:损失类型和正则化。损失类型是指GANs需要优化的不同损失函数,正则化是指对损失函数设计的额外惩罚或对网络进行任何类型的归一化操作。具体来说,我们将损失函数分为基于积分概率度量和非积分概率度量。在基于IPM的GAN中,鉴别器被限制为一类特定的函数[64],例如,WGAN中的鉴别器被限制为1-Lipschitz。基于非IPM的GAN中的鉴别器没有这样的约束。