生成对抗网络(GAN):简介
生成对抗网络(GAN)是一种现代技术,它在许多用例中提供了很大的潜力,从创建老化的照片和增强声音,到在医疗和其他行业中提供各种应用。
这种先进的技术可以帮助您塑造您的产品和服务。它还可以用于改善图像质量以保护记忆。
虽然GAN对许多人来说是一种福音,但也有一些人对此感到担忧。
但这个技术究竟是什么呢?
在本文中,我将讨论GAN是什么,它如何工作以及它的应用。
所以,让我们开始吧!
生成对抗网络是什么?
生成对抗网络(GAN)是一个由两个神经网络组成的框架,它们竞争产生更准确的预测,如图片、独特的音乐、绘画等。
GAN于2014年由计算机科学家和工程师提出,并与他的同事一起设计。它们是独特的深度神经网络,能够生成与它们所训练的数据类似的新数据。它们在一个零和博弈中竞争,导致一个代理输掉比赛,另一个代理赢得比赛。
最初,GAN被提议作为机器学习的生成模型,主要用于无监督学习。但GAN也对全监督学习、半监督学习和强化学习等方面有帮助。
GAN中竞争的两个模块是:
生成器:它是一个人工产生类似实际数据的输出的模块。
判别器:它是一个反卷积神经网络,可以识别那些人工生成的输出。
关键概念
为了更好地理解GAN的概念,让我们快速了解一些重要的相关概念。
机器学习(ML)
机器学习是人工智能(AI)的一部分,涉及通过学习和构建模型利用数据来提升性能和准确性,从而执行任务、做出决策或预测。
机器学习算法根据训练数据创建模型,并通过持续学习不断改进。它们被用于多个领域,包括计算机视觉、自动化决策、电子邮件过滤、医学、银行业、数据质量、语音识别、推荐系统等。
判别模型
在统计学和机器学习中,判别模型作为分类器,用于区分一组级别或两个类别之间的区别。
例如,区分不同的水果或动物。
生成模型
在生成模型中,使用随机样本来创建新的逼真图片。它从某些对象或生物的真实图像中学习,以生成自己的逼真但模仿的想法。这些模型有两种类型:
变分自编码器:它们利用编码器和解码器两个独立的神经网络。这是因为一个给定的逼真图像通过编码器传递,将这些图像表示为潜在空间中的向量。
接下来,解码器用于接受这些解释,产生一些逼真的这些图像的副本。起初,它的图像质量可能较低,但在解码器完全功能后,它将得到改善,您可以忽略编码器。
生成对抗网络(GANs):如上所述,GAN是一个深度神经网络,能够从提供的输入数据中生成新的相似数据。它属于无监督机器学习,是下面讨论的机器学习类型之一。
监督学习
在监督训练中,机器使用有标签的数据进行训练。这意味着一些数据已经被标记为正确答案。在这里,机器被给予一些数据或示例,以使监督学习算法能够分析训练数据并从这些标记数据中得出准确的结果。
无监督学习
无监督学习涉及使用既不带标签也不分类的数据来训练机器。它允许机器学习算法在没有指导的情况下处理这些数据。在这种类型的学习中,机器的任务是根据无先验的数据训练,根据模式、相似性和差异对未排序的数据进行分类。
因此,GAN在机器学习中与进行无监督学习相关。它有两个模型,可以自动发现并学习输入数据的模式。这两个模型是生成器和判别器。
让我们更好地理解它们。
GAN的组成部分
GAN中包含“对抗性”一词,因为它有两个部分 – 生成器和判别器相互竞争。这是为了捕捉、审查和复制数据集中的数据变化。让我们更好地了解GAN的这两个部分。
生成器
生成器是一个能够学习和生成看起来逼真的伪造数据点,如图像和音频的模型。它用于训练,并通过持续学习变得更好。
生成器生成的数据被用作另一部分 – 判别器的负样本。生成器接受一个随机的固定长度向量作为输入来产生一个样本输出。它的目标是在判别器之前呈现输出,以便判别器可以分类它是真实的还是伪造的。
生成器通过以下组件进行训练:
- 噪声输入向量
- 一个生成器网络,将随机输入转换为数据实例
- 一个判别器网络,对生成的数据进行分类
- 一个生成器损失,惩罚生成器,因为它无法愚弄判别器
生成器的工作方式类似于贼,复制和创建逼真的数据以愚弄判别器。它的目标是绕过执行的几个检查。虽然它在初始阶段可能失败得很惨,但它不断改进,直到生成多个逼真的高质量数据并能够避免这些测试。在达到这种能力之后,您可以只使用生成器,而不需要单独的判别器。
判别器
判别器也是一个神经网络,可以区分真实图像或其他数据类型和伪造图像。像生成器一样,在训练阶段起着重要作用。
它的作用类似于警察,捉住贼(生成器生成的伪造数据)。它的目标是检测数据实例中的虚假图像和异常。
正如之前讨论的,生成器学习并不断改进,达到一个点,它能够自主产生高质量的图像,不需要判别器。当来自生成器的高质量数据经过判别器时,它不能再区分真实和伪造的图像。因此,您可以只使用生成器。
GAN如何工作?
在生成对抗网络(GAN)中,涉及三个方面:
- 一个生成模型来描述数据的生成方式。
- 一个对抗设置中进行模型训练。
- 用于训练的深度神经网络作为人工智能算法。
GAN的两个神经网络 – 生成器和判别器 – 被用来进行对抗性游戏。生成器接收输入数据,如音频文件、图像等,生成一个类似的数据实例,而判别器验证该数据实例的真实性。后者将确定它所审查的数据实例是否是真实的。
例如,您想要验证给定的图像是真实还是伪造的。您可以使用手动生成的数据作为输入,馈送给生成器。它将生成新的、复制的图像作为输出。
在这个过程中,生成器的目标是生成的所有图像都被认为是真实的,尽管它们是伪造的。它想要创建具有可通过性的结果,以便说谎并避免被发现。
接下来,这个输出将与一组真实数据的图像一起传递给鉴别器,以检测这些图像是否真实。无论生成器如何努力模仿,鉴别器都会帮助区分真实数据和伪造数据。
鉴别器将同时接收伪造和真实数据,返回一个概率值0或1。这里,1代表真实性,0代表伪造。
这个过程中有两个反馈环:
- 生成器与鉴别器形成一个反馈环
- 鉴别器与一组真实图像形成另一个反馈环
GAN的训练之所以有效,是因为生成器和鉴别器都在训练中。生成器不断通过传递虚假输入来学习,而鉴别器将学习改进检测能力。在这里,两者都是动态的。
鉴别器是一个卷积网络,能够对输入的图像进行分类。它作为一个二项分类器,将图像标记为伪造或真实。
另一方面,生成器类似于一个反向卷积网络,它采用随机数据样本生成图像。然而,鉴别器通过降采样技术(如最大池化)验证数据的真实性。
这两个网络尝试在对抗性游戏中优化相反和不同的损失或目标函数。它们的损失使它们能够更加努力地相互竞争。
GAN的类型
生成对抗网络根据实现方式有不同的类型。以下是目前使用的主要GAN类型:
- 条件GAN(CGAN):这是一种深度学习技术,包括特定的条件参数,用于区分真实数据和伪造数据。在生成器阶段,它还包括一个额外的参数“y”,用于生成相应的数据。此外,标签被添加到这个输入中,并馈送给鉴别器,使其能够验证数据的真实性。
- 原始GAN:这是一种简单的GAN类型,其中鉴别器和生成器都是简单的多层感知器。它的算法简单,通过随机梯度下降来优化数学方程。
- 深度卷积GAN(DCGAN):这是一种流行的GAN实现,被认为是最成功的。DCGAN由ConvNets组成,而不是多层感知器。这些ConvNets是在不使用诸如最大池化或完全连接层等技术的情况下应用的。
- 超分辨率GAN(SRGAN):这是一种GAN实现,它使用深度神经网络和对抗网络来生成高质量的图像。SRGAN特别适用于将原始低分辨率图像高效地放大,以增强其细节并减少错误。
- 拉普拉斯金字塔GAN(LAPGAN):这是一种可逆和线性表示,包括多个带通图像,这些图像相距八个空间,并带有低频残差。LAPGAN利用多个鉴别器和生成器网络以及多个拉普拉斯金字塔级别。
LAPGAN被广泛使用,因为它能产生优质的图像。这些图像首先在每个金字塔层次上进行下采样,然后在每层次上进行上采样,直到恢复到原始大小。
GAN的应用
生成对抗网络在各个领域中得到了应用,例如:
科学
GAN可以提供一种准确和更快的方法来模拟高能喷注形成和进行物理实验。这些网络还可以训练以估计在粒子物理学中执行消耗大量资源的simulations的瓶颈。
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点云对象、模拟视频中的动作模式
- 展示一个人随着年龄变化的外貌
- 数据增强,如增强深度神经网络分类器
- 对地图中的缺失部分进行修复,改善街景,转换地图风格等
- 生成图像、替代图像搜索系统等
- 使用GAN变种生成非线性动态系统的控制输入
- 分析气候变化对房屋的影响
- 通过使用声音来创建一个人的面部
- 为癌症、纤维化和炎症等多种蛋白质靶点创建新的分子
- 从普通图像中制作动画GIF
GAN在各个领域有许多其他应用,并且它们的使用正在扩大。然而,它们也存在多种滥用的情况。基于GAN的人体图像已被用于制作假视频和图片等恶意用途。
GAN还可以用于在社交媒体上创建从未存在过的真实照片和人物档案。其他令人担忧的GAN滥用包括未经特定个人同意而创建虚假色情作品、传播政治候选人的假视频等。
虽然GAN在许多领域中可以带来巨大好处,但其滥用也可能造成灾难。因此,必须对其使用进行适当的指导。
结论
GAN是现代技术的一个显著例子。它提供了一种独特且更好的生成数据以及在视觉诊断、图像合成、研究、数据增强、艺术与科学等方面的辅助功能。
您可能还对用于构建创新应用的链接感兴趣。