了解生成对抗网络 (GAN) 的不同方面和复杂性,GAN 是一种在人工智能 (AI) 领域内外使用的神经网络。本文将向您介绍 GAN,介绍什么是 GAN,并解释如何使用它们。
今天对称为 GAN 的通用模型的想法和描述起源于 1990 年代由 Jürgen Schmidhuber 在论文中提出对抗性人工好奇心和通过可预测性最小化学习阶乘代码.2014 年,Ian Goodfellow 创造了 GAN 一词,并在他的论文之后推广了这种类型的模型生成对抗网络.
要理解 GAN,您必须首先了解生成和对抗这两个术语。
为了进一步阐述并提供一个现实生活中的例子,Goodfellow做了一个类比来解释GAN模型中存在的动态:“生成模型可以被认为是类似于一群造假者,试图生产假币并在不被发现的情况下使用它,而歧视模型类似于警察,试图检测假币。这场比赛的竞争促使两支球队改进他们的方法,直到假货与真品无法区分。
Goodfellow演示了如何使用现代计算能力来生成虚假示例,这些示例看起来像数字,人物,动物以及任何您能想象到的东西的真实图像。只要您可以整理数据,这些类型的模型就可以生成新颖的示例。在下图中。黄色列是从Goodfellow的论文中生成的图像的示例:生成对抗网络.
如前所述,GAN由生成网络和对抗网络组成。虽然有许多不同的GAN模型,但我专注于最常见的GAN模型的核心组件深度卷积生成对抗网络 (DCGAN),由 Alec Radford 等人于 2015 年推出。我还讨论了较新模型的用例,这些模型调整了模型的组件以创建独特的东西。
当DCGAN被引入时,有一些差异在这里解释DCGAN论文.这些差异包括:
对于发生器,您可以输入随机图像(也称为噪声)。这些随机图像可以是任何东西,但也可能是生成的或增强的数据。通过生成器,您可以生成一个样本,如果您训练生成器和鉴别器都足够好,那么该样本最终看起来像是真实数据集的一部分。生成器的输出有时称为潜在空间或潜在向量。
要优化生成器,首先必须将生成器的输出传递到鉴别器。随后,您可以反向传播并计算生成器和鉴别器的误差(将在下一节中介绍)。
实际生成器本身只有几个组件,它们都是卷积神经网络中的典型组件。生成器中使用的卷积类型称为反卷积,也称为转置卷积。其他组件包括典型的批量规范化和激活函数。
反卷积的构造方式以及为各个反卷积设置参数(步幅、填充和内核大小)的方式使得放大和生成应该类似于输入的新图像成为可能。下图显示了来自轴承故障检测与诊断不平衡数据的创成式过采样方法学术论文。
对于鉴别器,您可以从您策划的实际数据集中输入真实图像。在本例中,我选择了MNIST数据集,这是大量手写数字的集合。此外,您还可以将生成器的输出输入到鉴别器中。
鉴别器的卷积层是我们习惯的正常卷积。对卷积进行参数化,以缩小适合分类的输入。对于鉴别器,您可以通过模型运行两个输入,以接收输出,该输出通过在末尾添加一个全连接层和一个 sigmoid 激活函数来判断。下图显示了轴承故障检测与诊断不平衡数据的创成式过采样方法学术论文。
在数据通过生成器和判别器模型后,反向传播的优化开始,就像在所有其他网络中一样。
优化是 GAN 中一个棘手的课题,因为两个模型都需要以一定的速度不断改进,才能使两个模型都变得出色。您希望生成器通过生成更好的假输入来尝试智取鉴别器,但您也希望生成器对真实和虚假输入进行正确分类,以便生成器可以不断改进。最终,当生成器输出的图像看起来足够真实,可以成为用于训练判别器的原始数据集的一部分时,您就会达到一个平衡点。
平衡点恰好是鉴别器向两侧倾斜 50% 时,这意味着两个图像都可能是真的,也可能是假的。这意味着生成器模型试图最小化鉴别器将生成器的输出预测为假输出的概率。另一方面,鉴别器试图最大限度地提高它正确分类真实和虚假图像的概率。
今天,您可以使用所有最新研究轻松处理图像。您可以将样式从一个图像转移到所需的图像上,从而创建一个看起来真实的新图像和经过处理的图像。
有太多的应用要一一列举,所以我选择了一个简单的例子。在下图中,您可以看到 GAN 应用程序如何操作 Ryan Gosling 图像的任何面部特征。这些编辑中的大多数都是在不到一秒钟的时间内完成的,使用面部操作软件来自Anycost 项目.
每一天,随着攻击者开发复杂的软件并使用社会工程来针对组织和个人窃取有价值的敏感信息,威胁形势也在增加。
使用现代 GAN,您可以屏蔽员工照片、医学图像或街景图像,使它们对任何攻击者都毫无用处。如果您想随时使用照片,只需再次使用GAN将蒙版图像映射回原始图像即可。
在隐藏数据之前,发送方会向接收方发送提取器和恢复器。双方都学习了从秘密数据到噪声的映射。与传统的远程数据处理方法相对应,生成的图像可以看作是封面图像和标记图像。然后,发送方将标记的图像发送给接收方。在接收端,可以获取恢复的图像,并提取嵌入的数据。您可以在以下位置获得有关此内容的更多信息高级数据安全及其在多媒体安全通信中的应用](张卓等)。下图显示了数据隐藏过程张卓等.
深度学习算法总是需要更多的数据。事实上,它是如此重要,以至于有一些方法可以生成额外的数据。与所有 AI 模型一样,您可以使用更多数据来改进要训练的模型,因为这最终会产生更好的性能。在某些情况下,甚至有有限的数据量会限制您训练一个好的模型。
数据生成用例是无穷无尽的。您可以生成所有不同类型的图像或文本。在我之前对生成器和判别器的解释中,您可能还会开始了解如何使用经过适当训练的生成器来生成新的数据样本,以便在真实数据集中使用,以训练完全不同的模型。
最新的例子之一是 OpenAI 的 DALL-E 2,这是一种文本到图像生成模型。下图显示了”骑着马的宇航员".它输出了对太空中宇航员的描绘,看起来逼真。
本文向您介绍了生成对抗网络 (GAN)。讲解了如何构建特定版本 DCGAN。其中还包括了一些专业运用于GAN的比例数字。希望本文能对你有帮助,感谢点赞,关注。