生成式对抗网络的基础知识
生成对抗网络,简称GANs,是人工智能(AI)的最新理念之一,是一类用于机器学习、计算机视觉和其他形式的人工智能的神经网络,由Ian J. Goodfellow开发并介绍。在这篇文章中,我们将了解什么是GANs,它们被用于何处,以及它们如何工作。
什么是GANs?
生成对抗网络(GANs)是一类流行的神经网络,用于无监督学习(一类机器学习,数据中没有预先存在的标签)。GANs产生新的数据,因此,有广泛的使用案例。每条记录或信息,无论是文本、视频还是音频都是数据,GAN可以用来生成新的或伪造的版本。GAN被认为是机器学习中最有力的突破之一,它的应用从简单的需求到非常复杂的要求都有。
它们是如何工作的?
两个对立的神经网络构成了GAN的核心架构:一个网络,称为生成器,根据某些参数创建新的信息,而第二个网络,称为鉴别器,检查数据,看它是否合法。生成器试图生成现实的数据,而鉴别器网络则试图区分它所生成的数据。生成器网络使用鉴别器的输出,根据需要更新其参数,创造出看起来更真实的数据。
生成器预测给定标签的数据的特征/特性。因此,这个组件首先接收一个随机向量(初始随机图像的代表),并生成一组假数据,转发给判别器。在每一次迭代中,生成器都以更精细的方式运行。
鉴别器,顾名思义,必须将传入的数据分类为真实或虚假。为此,鉴别器在真实数据集上进行了训练,因此当遇到假数据时,与训练过的参考数据的差异使其能够检测到它。
在每一次迭代中,分类的结果被送回生成器进行微调。鉴别器试图区分真假数据,而生成器只试图在理论上创造一个更准确的真实数据的代表。这两个模型不断地相互对立,经过一段时间后,它们变得越来越好,直到结果是一个能产生真实输出的生成器网络。
GAN架构
这个流程图将对GAN的工作方式进行简要描述。

系统流程。
-
首先,给一个初始化为随机值的向量作为模型的输入。
-
有两种类型的图像。生成的图像和真实的图像。生成的图像是生成器的输出,而真实的图像是模型训练的训练数据的一部分。
-
真实图像和生成的图像被发送到鉴别器,鉴别器将真实图像与生成的图像进行比较。
-
鉴别器然后使用二进制分类法将给定的图像分类为真实或虚假。
-
基于这些结果,生成器和鉴别器被更新。它们的权重和偏置被相应地修改,用于下一次的训练迭代。这个过程对训练数据集中的所有图像继续进行,模型慢慢学会如何生成与训练数据集相似的图像。
一个简单的GAN架构涉及到随机噪声,作为输入给生成器,生成器通过对输入进行一些操作将这种噪声转化为期望的输出。由于输入是随机数据或噪声,GAN可以通过从分布的不同地方对数据进行采样来产生各种各样的输出。这确保了GAN不会生成已经存在的数据。
通过广泛的测试和实验,人们发现输入数据的初始分布并不重要,因为GAN会将这些数据转化为有意义的东西。因此,可以给出像均匀分布这样简单的东西作为输入。输入的噪声只是一个开始,以便GAN有东西可以转换。
结论 进一步阅读
GANs在机器学习领域是非常新的,并且处于早期发展阶段。有各种各样的GANs,有不同的使用情况。例如,DCGAN,即深度卷积生成对抗网络,是上述GAN的一个修改。DCGAN在网络的生成器和判别器部分分别使用卷积神经网络和卷积-转折层来生成新图像。DCGAN有一个深度神经网络架构,由生成器和判别器的多层神经网络组成。