什么是 GAN?

生成对抗网络(GAN)是一种深度学习架构。该架构训练两个神经网络相互竞争,从而从给定的训练数据集生成更真实的新数据。例如,您可以从现有图像数据库生成新图像,也可以从歌曲数据库生成原创音乐。GAN 之所以被称为对抗网络,是因为该架构训练两个不同的网络并使其相互对抗。一个网络通过获取输入数据样本并尽可能对其进行修改来生成新数据。另一个网络尝试预测生成的数据输出是否属于原始数据集。换句话说,预测网络决定生成的数据是假的还是真的。系统会生成更新、改进版本的假数据值,直到预测网络不再能够区分假数据值和原始数据值。

生成对抗网络有哪些使用案例?

GAN 架构在不同行业中有多种应用场景。下面提供一些示例。

生成图像

生成对抗网络通过基于文本的提示或修改现有图像来创建逼真的图像。它们可以协助在视频游戏和数字娱乐中创造逼真、身临其境的视觉体验。

GAN 还可以编辑图像,例如将低分辨率图像转换为高分辨率图像,或将黑白图像转换为彩色图像。该工具还可以为动画和视频打造逼真的面部、角色和动物。

为其他模型生成训练数据

在机器学习(ML)中,数据增强通过使用现有数据创建数据集的已修改副本来人为地增加训练集规模。

可以使用生成模型进行数据增强,以创建具有现实世界数据所有属性的合成数据。例如,机器学习可以生成欺诈性交易数据,然后使用这些数据训练另一个欺诈检测机器学习系统。这些数据可以教导系统准确区分可疑交易和真实交易。

补全缺失的信息

有时,您可能希望生成模型能够准确地猜测并补全数据集中的一些缺失信息。

例如,您可以通过了解地表数据与地下结构之间的相关性来训练 GAN 生成地下表面(次表面)的图像。通过研究已知的次表面图像,GAN 可以使用地形图创建用于能源应用的新图像,例如地热测绘或碳捕集和储存。

根据 2D 数据生成 3D 模型

GAN 可以根据 2D 照片或扫描的图像生成 3D 模型。例如,在医疗保健领域,GAN 将 X 射线和其他身体扫描相结合以创建逼真的器官图像,将其用于手术计划和模拟。


 

生成对抗网络如何运作?

生成对抗网络系统包括两个深度神经网络 — 生成者网络辨别者网络。这两个网络在对抗性游戏中训练模型,其中一个网络尝试生成新数据,另一个网络尝试预测输出是虚假数据还是真实数据。

从技术上讲,GAN 的工作原理如下。复杂的数学方程式构成整个计算过程的基础,以下是其简单的概述:

  1. 生成者神经网络分析训练集并识别数据属性
  2. 辨别者神经网络分析初始训练数据并独立区分属性
  3. 生成者通过向某些属性添加噪点(或随机变化)来修改某些数据属性
  4. 生成者将修改后的数据传递给辨别者
  5. 辨别者计算生成的输出属于原始数据集的概率
  6. 辨别者为生成者提供了一些指导,以减少下一个周期中的噪点向量随机化

生成者尝试最大限度地提高辨别者出错的可能性,而辨别者会尝试最大限度地降低出错的可能性。在训练迭代中,生成者和辨别者会不断演变并相互对抗,直到它们达到平衡状态。在平衡状态下,辨别者无法再识别合成数据。至此,培训过程结束。


 

GAN 训练示例

接下来用图像间转换中的 GAN 模型示例来情境化上述步骤。

假设输入图像是 GAN 尝试修改的人脸。例如,属性可以是眼睛或耳朵的形状。假设生成者通过在其上添加太阳镜来更改真实图像。辨别者会收到一组图像,其中一些是戴着太阳镜的真实人物,其他一些生成的图像则经过修改以包含太阳镜。

如果辨别者可以区分虚假图像和真实图像,则生成者会更新其参数以生成更不易辨别的虚拟图像。如果生成者生成的图像成功欺骗辨别者,则辨别者会更新其参数。在达到平衡之前,这种竞争会不断改善两个网络。

生成对抗网络有哪些类型?

GAN 模型有不同的类型,具体取决于所使用的数学公式以及生成者和辨别者相互作用的不同方式。

接下来我们给出一些常用的模型,但此列表并非详尽。还有许多其他 GAN 类型,例如 StyleGAN、CycleGAN 和 DiscoGAN,它们可以解决不同类型的问题。

Vanilla GAN

这是基本的 GAN 模型,它在辨别者网络的反馈很少或根本没有反馈的情况下生成数据变化。对于大多数现实世界的使用案例,Vanilla GAN 通常需要增强。

有条件 GAN

有条件 GAN(cGAN)引入了条件性概念,可有针对性地生成数据。生成者和辨别者接收额外信息,通常是类标签或其他形式的调整数据。

例如,如果生成图像,则条件可能是描述图像内容的标签。调整可让生成者生成满足特定条件的数据。

深度卷积 GAN

深度卷积 GAN(DCGAN)认识到卷积神经网络(CNN)在图像处理中的强大功能,因此将 CNN 架构集成到 GAN 中。

在 DCGAN 中,生成者使用转置卷积来扩展数据分布,而辨别者使用卷积层对数据进行分类。DCGAN 还引入架构指南,以提高训练的稳定性。

超分辨率 GAN

超分辨率 GAN (SRGAN) 专注于将低分辨率图像放大到高分辨率。目标是将图像增强到更高的分辨率,同时保持图像质量和细节。

Laplacian Pyramid GAN(LAPGAN)通过将问题分为几个阶段来解决生成高分辨率图像的挑战。它们使用分层方法,其中多个生成者和辨别者在图像的不同比例或分辨率下工作。该过程从生成低分辨率图像开始,该图像的质量在渐进式 GAN 阶段中逐步提高。

AWS 如何支持您的生成对抗网络要求?

Amazon Web Services(AWS)提供多种服务来支持您的 GAN 要求。

Amazon SageMaker 是一项完全托管的服务,可以使用该服务准备数据以及构建、训练和部署机器学习模型。这些模型可以在许多场景中使用,并且 SageMaker 自带完全托管的基础设施、工具和工作流程。该服务具有多种功能,可加速任何应用程序的 GAN 开发和训练。

Amazon Bedrock 是一项完全托管的服务。可以使用该服务访问来自 Amazon 和领先人工智能(AI)初创企业的基础模型(FM)或经过训练的深度神经网络。这些 FM 可通过 API 获得,因此您可以从各种选项中进行选择,以找到最适合自己需求的模型。可以在自己的 GAN 应用程序中使用这些模型。借助 Amazon Bedrock,可以更快地开发和部署可扩展、可靠且安全的生成式人工智能应用程序。并且,您不必管理基础设施。

AWS DeepComposer 提供一种开启机器学习的创造性方式。可以利用音乐键盘和最新的机器学习技术来开始动手实践,从而扩展自己的机器学习技能。无论其机器学习或音乐背景如何,开发人员都可以开始使用 GAN。并且,他们可以训练和优化 GAN 模型以创作原创音乐。

立即创建账户,开始在 AWS 上使用生成对抗网络。

AWS 上的后续步骤

查看其他与产品相关的资源
使用最全面的 AI 和 ML 服务集更快地创新 
注册免费账户

立即享受 AWS 免费套餐。

注册 
开始在控制台中构建

在 AWS 管理控制台中开始构建。

登录