Connect with us

AI 入门 101

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

mm

生成对抗网络(GANs)是一种神经网络架构,能够生成新的数据,这些数据符合已学习的模式。GANs可以用于生成人脸图像或其他对象,执行文本到图像翻译,转换图像类型,并提高图像分辨率(超分辨率)等应用。由于GANs可以生成完全新的数据,因此它们处于许多尖端AI系统、应用和研究的前沿。但是,GANs到底是如何工作的?让我们探索GANs的功能和一些主要用途。

定义生成模型和GANs

GAN是一种生成模型的例子。大多数AI模型可以分为两类:有监督和无监督模型。有监督学习模型通常用于区分不同的输入类别,以进行分类。相反,无监督模型通常用于总结数据分布,通常学习高斯分布数据。由于它们学习了数据集的分布,因此可以从该分布中提取样本并生成新数据。
不同生成模型有不同的生成数据和计算概率分布的方法。例如,Naive Bayes模型通过计算输入特征和生成类的概率分布来运作。当Naive Bayes模型渲染预测时,它通过计算不同变量的概率并将它们组合在一起来计算最可能的类。其他非深度学习生成模型包括高斯混合模型和潜在Dirichlet分配(LDA)。基于深度学习的生成模型包括受限Boltzmann机(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)


博客作者和程序员,专攻 Machine Learning Deep Learning 领域。Daniel 希望帮助他人利用 AI 的力量为社会做好事。