联系我们

AI 101

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

mm

更新

 on

生成对抗网络(GAN) 是神经网络架构的类型 能够产生新数据 符合学习的模式。 甘 可以用于生成人脸或其他对象的图像,进行文本到图像的转换,将一种类型的图像转换为另一种类型,以及在其他应用程序中增强图像的分辨率(超分辨率)。由于GAN可以生成全新的数据,因此它们是许多尖端AI系统,应用程序和研究的负责人。 甘 到底是如何工作的?让我们探索GAN的功能,并了解其一些主要用途。

定义生成模型和GAN

甘 是生成模型的一个示例。大多数AI模型可以分为两类之一:有监督和无监督模型。监督学习模型通常用于区分输入的不同类别以进行分类。相反,无监督模型通常用于总结数据分布,经常学习 数据的高斯分布。 因为他们学习了数据集的分布,所以他们可以从该学到的分布中提取样本并生成新数据。

不同的生成模型具有生成数据和计算概率分布的不同方法。例如, 朴素贝叶斯模型 通过计算各种输入要素和生成类的概率分布来进行运算。当朴素贝叶斯模型进行预测时,它将通过获取不同变量的概率并将它们组合在一起来计算最可能的类别。其他非 深度学习 生成模型包括高斯混合模型和潜在狄利克雷分配(LDA)。 基于深度学习的生成模型 包括 受限玻尔兹曼机(RBM), 可变自动编码器(VAE),当然还有GAN。

生成对抗网络是 由Ian Goodfellow于2014年首次提出,并在2015年由Alec Redford和其他研究人员进行了改进,从而形成了GAN的标准化架构。 甘 实际上是连接在一起的两个不同的网络。 甘 是 由两半组成: 生成模型和鉴别模型,也称为生成器和鉴别器。

甘 架构

生成对抗网络是 由生成器模型和鉴别器模型组合而成。 生成器模型的工作是根据模型从训练数据中学到的模式来创建新的数据示例。鉴别器模型的工作是分析图像(假设已对图像进行了训练)并确定图像是生成/伪造的还是真实的。

两种模型相互抵制,并以游戏理论的方式进行训练。生成器模型的目标是生成欺骗其对手的图像–鉴别模型。同时,区分模型的工作是克服其对手,即生成器模型,并捕获生成器生成的伪造图像。两个模型相互抵触的事实导致军备竞赛,两个模型都得到改善。鉴别器获得有关哪些图像是真实的图像以及生成器生成了哪些图像的反馈,同时向生成器提供有关鉴别器将其哪些图像标记为假的信息。两种模型都在训练过程中有所改进,目标是训练可以生成与真实,真实数据基本没有区别的伪造数据的生成模型。

在训练过程中一旦创建了高斯数据分布,就可以使用生成模型。最初向生成器模型提供一个随机矢量,然后根据高斯分布对其进行转换。换句话说,载体播种了这一代。训练模型后,向量空间将是数据的高斯分布的压缩版本或表示形式。数据分布的压缩版本称为潜在空间或潜在变量。稍后,GAN模型可以获取潜在空间表示并从中提取点,可以将其提供给生成模型,并用于生成与训练数据高度相似的新数据。

鉴别器模型由整个训练领域的示例提供,该示例由真实和生成的数据示例组成。真实示例包含在训练数据集中,而假数据则由生成模型生成。训练鉴别器模型的过程与基本的二进制分类模型训练完全相同。

甘 培训流程

让我们看整个 训练 处理 假设的图像生成任务。

首先,GAN使用真实的真实图像作为训练数据集的一部分进行训练。这将建立判别器模型,以区分生成的图像和真实图像。它还会生成数据分布,生成器将使用该数据分布来生成新数据。

生成器接收一个随机数值数据的向量,并根据高斯分布对其进行转换,以返回图像。生成的图像以及来自训练数据集的一些真实图像将被输入到鉴别模型中。鉴别器将对接收到的图像的性质进行概率预测,并输出介于0和1之间的值,其中1通常是真实图像,0是伪图像。

由于向鉴别器提供了图像的地面真相,而鉴别器被提供了有关其性能的反馈,因此存在一个双反馈回路。

生成模型和判别模型正在互相打零和游戏。零和博弈是一方获得的收益以另一方为代价(两个行动的总和为零)的游戏。当鉴别器模型能够成功地区分真实示例与伪造示例时,不对鉴别器的参数进行任何更改。但是,如果模型无法区分真实图像和伪造图像,则会对其进行较大的更新。对于生成模型来说,情况恰恰相反,当它无法欺骗鉴别模型时,它就会受到惩罚(并更新其参数),但是相反,它的参数不变(或得到回报)。

理想情况下,生成器能够将其性能提高到辨别器无法辨别伪造图像和真实图像的程度。这意味着鉴别符将始终为真实和伪造图像提供%50的渲染概率,这意味着生成的图像应该与真实图像没有区别。实际上,GAN通常不会达到这一点。但是,生成模型无需创建完全相似的图像即可对GAN所执行的许多任务仍然有用。

甘 应用

甘 具有许多不同的应用程序,其中大多数围绕图像的生成和图像的组成部分。 甘 通常用于缺少所需图像数据或某些容量受限的任务中,作为生成所需数据的方法。让我们研究一下GAN的一些常见用例。

生成数据集的新示例

甘 可用于为简单图像数据集生成新示例。如果您只有少数几个训练示例并且需要更多训练示例,则GAN可以用于为图像分类器生成新的训练数据,从而以不同的方向和角度生成新的训练示例。

产生独特的人脸

The woman in this photo doesn’t exist. The image was generated by StyleGAN. Photo: Owlsmcgee via Wikimedia Commons, Public Domain (//commons.wikimedia.org/wiki/File:Woman_1.jpg)

经过充分培训后,GAN可以用来 生成极其逼真的人脸图像。 这些生成的图像可用于帮助训练人脸识别系统。

图像到图像翻译

擅长图像翻译。 甘 可用于为黑白图像着色,将草图或图纸转换为摄影图像或将图像白天转换为夜晚。

文字到图片翻译

文本到图像的翻译是 通过使用GAN可能。当GAN提供描述图像和随附图像的文本时,GAN可以 受过训练以创建新图像 当提供所需图像的描述时。

编辑和修复图像

甘 可用于编辑现有照片。 甘 去除雨或雪等元素 来自图像,但它们也可以用来 修复旧的,损坏的图像或损坏的图像。 

超分辨率

超分辨率是拍摄低分辨率图像并在图像中插入更多像素以提高该图像分辨率的过程。可以训练GAN拍摄图像并 生成该图像的高分辨率版本。 

专门从事以下工作的Blogger和程序员 机器学习 深度学习 话题。 Daniel希望帮助他人将AI的力量用于社会公益。