AI 入门 101
什么是生成对抗网络(GAN)?

生成对抗网络(GANs)是一种类型的神经网络架构,能够生成新的数据,这些数据符合学习到的模式。GANs可以用于生成人脸图像或其他对象的图像,执行文本到图像的翻译,将一种类型的图像转换为另一种图像,以及提高图像的分辨率(超分辨率)等应用。由于GANs可以生成完全新的数据,因此它们处于许多最先进的AI系统、应用和研究的前沿。但是,GANs到底是如何工作的?让我们探索GANs的功能并查看一些其主要用途。
定义生成模型和GANs
GAN是一种生成模型的例子。大多数AI模型可以分为两类:监督模型和无监督模型。监督学习模型通常用于区分不同的输入类别,以进行分类。相反,无监督模型通常用于总结数据的分布,通常学习数据的高斯分布。由于它们学习了数据集的分布,因此可以从中抽取样本并生成新的数据。
不同生成模型有不同的生成数据和计算概率分布的方法。例如,Naive Bayes模型通过计算输入特征和生成类的概率分布来运作。当Naive Bayes模型渲染预测时,它通过计算不同变量的概率并将它们组合在一起来计算最可能的类。其他非深度学习生成模型包括高斯混合模型和潜在狄利克雷分配(LDA)。基于深度学习的生成模型包括受限玻尔兹曼机(RBMs)、变分自编码器(VAEs),当然还有GANs。
生成对抗网络由Ian Goodfellow在2014年首次提出,并在2015年由Alec Redford和其他研究人员改进,导致GANs的标准化架构。GANs实际上是两个不同的网络连接在一起。GANs由两部分组成:生成模型和判别模型,也称为生成器和判别器。
GAN架构
生成对抗网络是由生成器模型和判别模型组成。生成器模型的任务是创建新的数据示例,基于模型从训练数据中学习到的模式。判别模型的任务是分析图像(假设它是训练在图像上)并确定图像是生成/假的还是真实的。

两个模型相互竞争,采用博弈论的方式进行训练。生成器模型的目标是产生能够欺骗其对手(判别器模型)的图像。同时,判别器模型的任务是战胜其对手(生成器模型),并捕捉生成器产生的假图像。由于模型相互竞争,导致双方都在不断改进。判别器获得关于哪些图像是真实的,哪些图像是由生成器产生的反馈,而生成器被提供其图像被判别器标记为假的信息。两个模型在训练过程中都在改进,目标是训练一个生成模型,可以产生与真实数据几乎无法区分的假数据。
一旦在训练过程中创建了数据的高斯分布,生成模型就可以使用。生成器模型最初被输入一个随机向量,它根据高斯分布进行转换。换句话说,向量种子生成。训练模型时,向量空间将是数据高斯分布的压缩版本,或表示。数据分布的压缩版本称为潜在空间,或潜在变量。稍后,GAN模型可以使用潜在空间表示并从中绘制点,这些点可以提供给生成模型,并用于生成与训练数据非常相似的新数据。
判别器模型被输入整个训练域的示例,包括真实和生成的数据示例。真实示例包含在训练数据集中,而假数据由生成模型产生。训练判别器模型的过程与基本的二元分类模型训练过程完全相同。
GAN训练过程
让我们来看看训练 过程,以一个假设的图像生成任务为例。
首先,GAN使用真实图像作为训练数据集的一部分进行训练。这使得判别器模型能够区分生成图像和真实图像。它还产生了生成器将用于生成新数据的数据分布。
生成器接受一个随机数值向量,并根据高斯分布进行转换,返回一个图像。生成的图像与训练数据集中的某些真实图像一起被输入到判别器模型中。判别器将对其接收到的图像的性质进行概率预测,输出一个介于0和1之间的值,其中1通常是真实图像,0是假图像。

有一个双重反馈循环,地面判别器被输入图像的真实值,而生成器被判别器的性能反馈。
生成和判别模型正在进行零和游戏。零和游戏是一种一方的收益来自另一方的成本(双方行动的总和为零)。当判别器模型能够成功区分真实和假例时,判别器的参数不会改变。然而,当它无法区分真实和假图像时,模型的参数会进行大量更新。相反,当生成器模型无法欺骗判别器模型时,它会受到惩罚(并更新其参数),但如果它能够欺骗判别器模型,其参数不会改变(或获得奖励)。
理想情况下,生成器能够提高其性能,以至于判别器无法区分假图像和真实图像。这意味着判别器将始终为真实和假图像渲染50%的概率,意味着生成的图像应该与真实图像无法区分。在实践中,GANs通常不会达到这一点。然而,生成器不需要创建完美相似的图像就可以对GANs有很多用途。
GAN应用
GANs有许多不同的应用,大多数都围绕图像和图像组件的生成。GANs通常用于需要图像数据但缺乏或有限的任务中,作为一种生成所需数据的方法。让我们来看看GANs的一些常见用例。
为数据集生成新示例
GANs可以用于生成简单图像数据集的新示例。如果您只有少数几个训练示例,并且需要更多示例,GANs可以用于生成新的训练数据,用于图像分类器,生成不同方向和角度的新训练示例。
生成唯一的人脸

这个女人不存在。该图像是由StyleGAN生成的。照片:Owlsmcgee通过维基媒体公共领域(https://commons.wikimedia.org/wiki/File:Woman_1.jpg)
