生成对抗网络 (GAN):简介

生成对抗网络 (GAN) 是现代技术之一,它在许多用例中提供了巨大的潜力,从创建您的老照片和增强您的声音到在医疗和其他行业提供各种应用。

这种先进的技术可以帮助您塑造您的产品和服务。 它还可用于提高图像质量以保存记忆。

虽然 GAN 对许多人来说是一个福音,但有些人认为它令人担忧。

但这项技术究竟是什么?

在本文中,我将讨论 GAN 是什么、它是如何工作的以及它的应用。

所以,让我们潜入水中吧!

什么是生成对抗网络?

生成对抗网络 (GAN) 是一种机器学习框架,由两个神经网络组成,它们相互竞争以产生更准确的预测,例如图片、独特的音乐、绘画等。

GAN 由计算机科学家和工程师 Ian Goodfellow 和他的一些同事于 2014 年设计。 它们是独特的深度神经网络,能够生成与正在训练的数据相似的新数据。 他们在零和游戏中竞争,导致一个代理人输掉比赛,而另一个代理人赢得比赛。

最初,GAN 被提出作为机器学习的生成模型,主要是无监督学习。 但 GAN 也有助于全监督学习、半监督学习和强化学习。

GAN 中的两个竞争块是:

生成器:它是一个卷积神经网络,可以人工产生与实际数据相似的输出。

鉴别器:它是一个反卷积神经网络,可以识别那些人工创建的输出。

关键概念

为了更好地理解 GAN 的概念,让我们快速了解一些重要的相关概念。

机器学习 (ML)

机器学习是人工智能 (AI) 的一部分,它涉及学习和构建模型,利用数据来提高性能和准确性,同时执行任务或做出决策或预测。

ML 算法基于训练数据创建模型,并通过持续学习进行改进。 它们被用于多个领域,包括计算机视觉、自动决策、电子邮件过滤、医学、银行、数据质量、网络安全、语音识别、推荐系统等。

判别模型

在深度学习和机器学习中,判别模型作为分类器来区分一组级别或两个类。

例如,区分不同的水果或动物。

生成模型

在生成模型中,随机样本被认为是创建新的逼真图片。 它从一些物体或生物的真实图像中学习,以产生自己逼真但模仿的想法。 这些模型有两种类型:

变分自动编码器:它们利用作为独立神经网络的编码器和解码器。 这是有效的,因为给定的真实图像通过编码器将这些图像表示为潜在空间中的向量。

接下来,使用解码器对这些解释进行解释,以生成这些图像的一些真实副本。 一开始它的图像质量可能会很低,但在解码器功能齐全后它会提高,你可以忽略编码器。

生成对抗网络 (GAN):如上所述,GAN 是一种深度神经网络,能够从提供的数据输入中生成新的相似数据。 它属于无监督机器学习,这是下面讨论的机器学习类型之一。

  在 LinkedIn 上合法查看 3 度连接的公共信息

监督学习

在监督训练中,机器使用标记良好的数据进行训练。 这意味着一些数据已经被标记为正确答案。 在这里,给机器一些数据或示例,以使监督学习算法能够分析训练数据并从这些标记数据中产生准确的结果。

无监督学习

无监督学习涉及在既没有标记也没有分类的数据的帮助下训练机器。 它允许机器学习算法在没有指导的情况下处理该数据。 在这种类型的学习中,机器的任务是根据模式、相似性和差异对未排序的数据进行分类,而无需事先进行数据训练。

因此,GAN 与在 ML 中执行无监督学习有关。 它有两个模型,可以从输入数据中自动发现和学习模式。 这两个模型是生成器和判别器。

让我们更多地了解它们。

GAN 的组成部分

“对抗性”一词包含在 GAN 中,因为它有两个部分——生成器和分母竞争。 这样做是为了捕获、检查和复制数据集中的数据变化。 让我们更好地理解 GAN 的这两个部分。

发电机

生成器是一种神经网络,能够学习和生成假数据点,例如看起来很逼真的图像和音频。 它用于培训,并随着不断学习而变得更好。

生成器生成的数据用作另一部分的反例——我们接下来会看到的分母。 生成器将随机的固定长度向量作为输入以产生样本输出。 它的目的是在鉴别器之前呈现输出,以便它可以区分是真的还是假的。

生成器使用以下组件进行训练:

  • 嘈杂的输入向量
  • 将随机输入转换为数据实例的生成器网络
  • 一个鉴别器网络对生成的数据进行分类
  • 生成器损失以惩罚生成器,因为它未能欺骗鉴别器

生成器就像小偷一样复制和创建真实的数据来欺骗鉴别器。 它旨在绕过执行的多项检查。 尽管它在初始阶段可能会非常失败,但它会不断改进,直到它生成多个真实的、高质量的数据并且可以避免测试。 获得此能力后,您可以仅使用生成器而无需单独的鉴别器。

鉴别器

鉴别器也是一种神经网络,可以区分假图像和真图像或其他数据类型。 就像发电机一样,它在训练阶段起着至关重要的作用。

它就像警察抓住小偷一样(生成器的假数据)。 它旨在检测数据实例中的虚假图像和异常情况。

如前所述,生成器学习并不断改进,以达到自力更生的程度,从而生成不需要鉴别器的高质量图像。 当来自生成器的高质量数据通过鉴别器时,它不再能够区分真假图像。 所以,你最好只使用发电机。

GAN 是如何工作的?

在生成对抗网络 (GAN) 中,涉及三件事:

  • 描述数据生成方式的生成模型。
  • 训练模型的对抗性设置。
  • 深度神经网络作为用于训练的 AI 算法。

GAN 的两个神经网络——生成器和判别器——被用来玩对抗游戏。 生成器获取输入数据,例如音频文件、图像等,以生成类似的数据实例,而鉴别器则验证该数据实例的真实性。 后者将确定它所审查的数据实例是否真实。

例如,您想验证给定图像是真还是假。 您可以使用手动生成的数据输入来馈送到生成器。 它将创建新的复制图像作为输出。

在这样做的同时,生成器的目标是它生成的所有图像都将被认为是真实的,尽管是假的。 它想要创造可以接受的结果来撒谎并避免被抓住。

接下来,该输出将与来自真实数据的一组图像一起进入鉴别器,以检测这些图像是否真实。 无论它如何努力模仿,它都会对生成器产生不利影响; 鉴别器将有助于区分真实数据和虚假数据。

鉴别器将同时采用假数据和真实数据返回 0 或 1 的概率。这里,1 代表真实性,而 0 代表虚假。

在这个过程中有两个反馈循环:

  • 生成器通过判别器加入反馈回路
  • 鉴别器与一组真实图像加入另一个反馈循环

GAN 训练有效,因为生成器和判别器都在训练中。 生成器通过传递错误输入不断学习,而鉴别器将学习改进检测。 在这里,两者都是动态的。

鉴别器是一个卷积网络,能够对提供给它的图像进行分类。 它用作二项式分类器,将图像标记为假的或真实的。

另一方面,生成器就像一个逆卷积网络,采用随机数据样本来生成图像。 但是,鉴别器在下采样技术(例如最大池化)的帮助下验证数据。

两个网络都尝试在对抗性游戏中优化相反的不同损失或目标函数。 他们的损失使他们能够更加努力地相互竞争。

GAN 的类型

生成对抗网络根据实现有不同的类型。 以下是积极使用的主要 GAN 类型:

  • 条件 GAN (CGAN):这是一种深度学习技术,涉及特定的条件参数,以帮助区分真实数据和虚假数据。 它还在生成器阶段包含一个附加参数——“y”,以生成相应的数据。 此外,标签被添加到该输入中并被馈送到鉴别器以使其能够验证数据是真实的还是虚假的。
  • Vanilla GAN:这是一种简单的 GAN 类型,其中鉴别器和生成器是更简单的多层感知器。 它的算法很简单,在随机梯度下降的帮助下优化数学方程。
  • 深度卷积 GAN (DCGAN):它很流行,被认为是最成功的 GAN 实现。 DCGAN 由 ConvNets 而不是多层感知器组成。 这些 ConvNet 无需使用最大池或完全连接层等技术即可应用。
  • 超分辨率 GAN (SRGAN):它是一种 GAN 实现,它使用深度神经网络和对抗网络来帮助生成高质量的图像。 SRGAN 在有效放大原始低分辨率图像方面特别有用,可以增强它们的细节,并最大限度地减少错误。
  • 拉普拉斯金字塔 GAN (LAPGAN):它是一种可逆的线性表示,包括多个带通图像,这些图像相隔 8 个空间,带有低频残差。 LAPGAN 利用多个鉴别器和生成器网络以及多个拉普拉斯金字塔级别。
  如何修复 Google Meet 相机无法正常工作

LAPGAN 被广泛使用,因为它可以产生一流的图像质量。 这些图像首先在每个金字塔层进行下采样,然后在每个层上进行放大,其中想法被赋予一些噪声,直到它们获得原始大小。

GAN 的应用

生成对抗网络用于各个领域,例如:

科学

GAN 可以提供一种准确、更快的方法来模拟高能射流的形成和进行物理实验。 这些网络也可以被训练来估计在消耗大量资源的粒子物理模拟中的瓶颈。

GAN 可以加速模拟并提高模拟保真度。 此外,GAN 可以通过模拟引力透镜和增强天文图像来帮助研究暗物质。

视频游戏

视频游戏世界还利用 GAN 来放大旧视频游戏中使用的低分辨率二维数据。 它将帮助您通过图像训练将此类数据重新创建为 4k 甚至更高的分辨率。 接下来,您可以对数据或图像进行下采样,以使其适合视频游戏的真实分辨率。

为您的 GAN 模型提供适当的训练。 与原始数据相比,它们可以提供更清晰、更清晰的 2D 图像,同时保留真实图像的细节,例如颜色。

利用 GAN 的视频游戏包括 Resident Evil Remake、Final Fantasy VIII 和 IX 等。

艺术与时尚

您可以使用 GAN 来生成艺术,例如创建从未存在过的个人图像、画中照片、制作虚幻时装模特的图片等等。 它还用于生成虚拟阴影和草图的绘图中。

广告

使用 GAN 来创建和制作您的广告将节省时间和资源。 如上所示,如果您想出售您的珠宝,您可以在 GAN 的帮助下创建一个看起来像真人的假想模型。

这样,您可以让模特佩戴您的珠宝并向您的客户展示它们。 它将使您免于雇用模型并为其付费。 您甚至可以消除额外的费用,例如支付交通费、租用工作室、安排摄影师、化妆师等。

如果您是一家成长中的企业,并且无力聘请模特或为广告拍摄搭建基础设施,这将大有帮助。

音频合成

您可以在 GAN 的帮助下从一组音频剪辑创建音频文件。 这也称为生成音频。 请不要将其与 Amazon Alexa、Apple Siri 或其他语音片段很好地拼接并按需生成的 AI 语音混淆。

相反,生成音频使用神经网络来研究音频源的统计特性。 接下来,它在给定的上下文中直接复制这些属性。 在这里,建模表示每毫秒后语音变化的方式。

迁移学习

高级迁移学习研究利用 GAN 来调整最新的特征空间,如深度强化学习。 为此,源的嵌入和目标任务被馈送到鉴别器以确定上下文。 接下来,结果通过编码器反向传播。 这样,模型就可以继续学习。

GAN 的其他应用包括:

  • 通过检测青光眼图像诊断全部或部分视力丧失
  • 可视化工业设计、室内设计、服装、鞋子、包包等
  • 重建患病者的法医面部特征
  • 从图像创建项目的 3D 模型,将新对象生成为 3D 点云,在视频中建模运动模式
  • 展示年龄变化的人的外貌
  • 数据增强,例如增强 DNN 分类器
  • 修复地图中缺失的要素、改善街景、转移地图样式等
  • 生成图像、替换图像搜索系统等。
  • 使用 GAN 变体生成非线性动态系统的控制输入
  • 分析气候变化对房屋的影响
  • 通过将人的声音作为输入来创建人脸
  • 为癌症、纤维化和炎症中的几种蛋白质靶标创造新分子
  • 从常规图像制作 GIF 动画
  由于接近传感器损坏,通话期间屏幕无法打开? 这是修复

GAN 在各个领域都有更多的应用,并且它们的使用范围正在扩大。 但是,也有多个滥用它的实例。 基于 GAN 的人类图像已被用于制作虚假视频和图片等险恶用例。

GAN 还可用于在社交媒体上创建地球上从未存在过的真实照片和人物简介。 其他与 GNA 的滥用有关的问题包括未经特色个人同意制作假色情内容、分发假冒政治候选人的视频等。

尽管 GNA 在许多领域都可以带来好处,但它们的滥用也可能是灾难性的。 因此,必须对其使用实施适当的指导方针。

结论

GAN 是现代技术的一个显着例子。 它提供了一种独特且更好的数据生成方式,并有助于视觉诊断、图像合成、研究、数据增强、艺术和科学等功能。

您可能还对用于构建创新应用程序的低代码和无代码机器学习平台感兴趣。