Javatpoint标志
Javatpoint标志

生成对抗网络(GAN)简介

在机器学习中,有不同的方法可以预测未见数据集上的输出。此外,深度学习和神经网络是机器学习的一部分,它们是如此强大的技术,能够从零开始生成新的人脸,这些人脸以前甚至不存在,但在训练数据的帮助下看起来很自然,而这是可能的,名为GAN或生成对抗网络的技术。生成对抗网络(GANs)最近最受欢迎的无监督机器学习创新是由伊恩·j·古德费罗在2014年。GAN是一类算法机器学习框架,具有两个连接的神经网络,可以分析、捕获和复制数据集中的变化。此外,这两个神经网络在GAN机器学习中相互对抗,因此被称为敌对的网络.它最常用于各种ML应用程序,例如图像生成、视频生成和语音生成。在本主题中,我们将讨论生成式机器学习(GAN), GAN在机器学习中的应用,GANs如何工作,GANs的组成部分,通过生成式对抗网络(GANs)进行训练和预测的步骤,生成式对抗网络面临的挑战,GANs的类型等。因此,让我们从机器学习中的生成对抗网络(GANs)开始快速介绍。

什么是机器学习中的生成对抗网络?

生成对抗网络(GAN)被定义为生成建模技术,用于在训练数据集的基础上生成新的数据集。新生成的数据集与训练数据集相似。

GANs主要包含两个能够捕捉、复制和分析数据集变化的神经网络。这两个神经网络被称为生成器和鉴别器,它们都相互竞争。

生成式对抗网络(Generative Adversarial Network)这个术语由三个词组成,每个词都有各自的含义,具体如下:

  • 生殖:它用于学习生成模型,可视化地解释数据是如何生成的。
  • 对抗:由于两个神经网络相互竞争或彼此对抗,因此模型的训练是以对抗的方式进行的。
  • 网络:它使用深度神经网络来训练模型,因此被称为网络。

为什么需要GANs?

随着技术的进步,有各种可能的方法可以通过在训练数据集中引入一些噪声来愚弄ML算法和神经网络,从而对数据进行错误分类。但随着机器学习的创新,人们正在开发各种技术,以防止对图像进行错误分类。因此,人们发现GANs可以生成新的数据集,这些数据集看起来像训练数据集,因此可以开始可视化像训练数据一样的新模式。

GANs的应用

GANs是机器学习中非常流行的方法,在现实场景中有各种应用。以下是生成对抗网络(GANs)的几个最著名的应用,如下:

  • 时尚、艺术和广告
  • 科学
  • 视频游戏
  • 音频合成
  • 转移学习

除了这些应用,GANs在机器学习中还有很多其他的应用,具体如下:

  • 它通过检测青光眼图像来诊断部分或全部视力丧失。
  • 它通过生成逼真的图像来可视化室内设计、工业设计、鞋、包和服装项目。
  • 它用于从图像和视频中的模型运动模式中重建物体的3D模型。
  • 它被用来开发年龄人脸照片,根据个人的年龄确定他们的脸。
  • 该方法通过去除动态熔池表面的随机光反射,对焊接图像进行去噪。
  • 它被用于数据增强。
  • 它被用来在听过他们的声音后重建他们的脸。它被称为GAN speech - h2face技术。
  • 它被用来可视化气候变化对特定地区的影响。
  • 它通过创建动漫人物来开发智能游戏和动画。
  • GANs可以生成文本、文章、歌曲、诗歌等。

一旦GAN在机器学习中的研究达到顶峰,在未来,我们也将看到GAN在生成高质量视频、音频和图像方面的应用。此外,微软已经与OpenAI合作研究GPT,并在下一个层次上探索GAN的力量。

生成式对抗网络的组成

生成式对抗网络主要由两个部分组成,即发电机而且鉴频器.顾名思义,生成器根据训练数据集生成一个不可见数据的虚假输出,并使鉴别器误以为这些虚假数据是准确的。此外,鉴别器充当警察,用于区分训练数据和生成数据,识别生成器创建的样本中的异常,并将其分类为Fake或genuine。然而,整个过程将继续,直到生成器获胜,并最终在假数据上愚弄鉴别器。GANs的组成如下:

生成对抗网络(GAN)简介
  • 鉴频器:它被用作一种有监督的机器学习方法,其中指定一个简单的分类器来区分真实和虚假数据。不过,它是在实际的训练数据集上进行训练,并向生成器提供反馈。
  • 发电机:与鉴别器不同,生成器是一种无监督的机器学习方法,用于根据实际训练数据集生成假样本。它也是一个具有隐藏层、激活和损失函数的神经网络。
    此外,生成器主要专注于根据鉴别器给出的反馈生成假数据,并使鉴别器被愚弄,从而无法识别实际输出和生成器生成的输出之间的差异。
生成对抗网络(GAN)简介

这个过程一直持续到生成器欺骗鉴别器为止,一旦实现了这一点,就创建了广义GAN模型。

生成对抗网络(GANs)的训练

我们现在已经讨论了生成对抗网络(GANs)及其组件的基本概念。现在是时候进一步学习机器学习中GANs的训练和预测了。

下面是单独训练GANs组件的几个基本步骤。具体如下:

步骤1:确定实际问题:这在实时项目中非常重要。如果你能发现实际的问题,你就能有效地解决这个问题。在GANs中,无论你的目标是什么,你都需要定义它,这意味着你想要创建什么,如音频、诗歌、文本或图像,都是一种问题类型。

步骤2:选择合适的GAN架构:虽然有这么多的GAN架构,如DCGAN、条件GAN、无条件GAN、最小二乘法GAN、辅助分类器GAN、双视频鉴别器GAN、SRGAN、循环GAN和信息GAN,但我们必须定义在我们的项目中使用哪种类型的GAN架构。

step3:在真实数据集上对discriminator进行训练:

鉴别器总是在真实数据集上进行训练,并且它只包含前向路径机制,不遵循n代的反向传播。此外,它只提供无噪声或虚假内容的实际数据。此外,对于假图像,鉴别器使用生成器创建的实例作为负输出。

一些动作发生在鉴别器训练过程中。

  • 在此过程中,它可以区分真实数据和虚假数据。
  • 它提高了模型的整体性能,并在未能区分两个数据时惩罚它。
  • 鉴别器损失是鉴别器训练过程中必不可少的一部分,它有助于更新鉴别器的权重。

第四步:对发电机进行培训:生成器的训练过程从引入一些假输入开始。最初,我们给生成器一些虚假的输入,但后来它通过添加一些随机噪声产生一些虚假的输出。此外,每当生成器得到训练时,鉴别器保持不活动,而当鉴别器得到训练时,生成器保持不活动。在使用任何随机噪声作为输入为生成器训练提供训练的同时,它的目标是将其转换为有意义的数据以提供有意义的输出,该过程需要时间并在多个epoch下运行:

以下是在假输入上训练生成器的几个简单步骤:

  • 提供假输入或噪声,并根据噪声样本获得随机噪声产生输出。
  • 使用鉴别器预测发电机输出或真或假。
  • 计算鉴别器损失并执行反向传播。
  • 计算梯度以更新生成器的权重。

步骤5:为鉴别者提供虚假输入的培训:在这一步中,我们将样本传递给鉴别器,以预测数据是真实的还是假的。进一步,将抽取器收到的反馈再次提供给生成器,对样本进行修改。

GANs是如何工作的?

如上所述,GAN包含两个神经网络,其中一个称为Generator G(x),另一个称为Discriminator D(x)。顾名思义,这两种方式都是以对抗的方式进行的。生成器总是试图生成与训练数据相似的假数据来欺骗鉴别器,即生成新的数据实例。而鉴别器的目的是从实际数据中识别虚假数据,即评估数据的真实性。这两个神经网络同时工作,从复杂的数据中学习,包括图像、音频或视频文件。

假设我们试图生成手写数字类似于MNIST数据集,这发生在现实世界中;现在,鉴别器的目标是将准确的MNIST数据集的实例识别为真实的。同时,生成器创建新的合成图像并将它们传递给鉴别器。生成器希望这些图像被识别为准确的,即使它们是假的。它生成尽可能多的手写数字来欺骗鉴别器。鉴别器的目的是识别来自生成器的图像为假的。

GANs的工作可以概括为以下几个步骤:

  • 首先,生成器接收任意随机数并生成图像。
  • 将生成的图像输入鉴别器,并从实际数据集中获取真实图像。
  • 鉴别器包含真实和虚假的图像,现在它的目标是通过识别真实和虚假的图像来预测标签。作为输出,它返回一个数字在0到1之间的概率,其中0表示对假的预测,1表示真伪。GAN的工作过程如下图:
生成对抗网络(GAN)简介

不同类型的生成对抗网络(GAN)

  1. DCGAN:DCGAN或深度卷积GAN是GAN最著名的实现之一。它使用ConvNets代替多层感知器。内容使用卷积步幅,并且没有最大池化。此外,ConvNets中的层并不是完全相连的。
  2. 条件GAN和无条件GAN:它被定义为具有额外参数的深度学习神经网络。在条件和无条件GAN中,标签以这样一种方式保存,以便它们可以很容易地对鉴别器的输入进行分类。
  3. 最小二乘GAN:它是一种特殊类型的生成对抗网络,它使用最小二乘损失函数作为鉴别器。此外,当最小二乘GAN的目标函数最小化时,Pearson散度也自动最小化。
  4. 辅助分类器GAN:ACGAN或辅助分类器GAN是CGAN的一个类似的改进版本。它的鉴别器不仅将图像分类为真假,而且还提供了关于输入图像来源的信息。
  5. 双视频鉴别器GAN:它是基于BigGAN架构的视频生成中最有用的GAN类型。此外,它使用一个空间和时间鉴别器来生成视频。
  6. SRGAN:超分辨率或SRGAN也称为域变换,主要用于将低分辨率图像转换为高分辨率。
  7. 甘周期:它用于执行图像转换。例如,我们已经在马图像数据集上训练它,我们可以将它转换为斑马图像。
  8. 甘信息是用于无监督机器学习的最新和高级版本的生成对抗网络。

下一个话题 数据管理的机器学习





Youtube 观看视频请加入我们的Youtube频道:现在加入

反馈


帮助他人,请分享

脸谱网 推特 pinterest

学习最新教程


准备


热门的技术


B.Tech / MCA






Baidu
map