术语表

生成对抗网络(GAN)

了解 GAN 如何通过生成逼真图像、增强数据以及推动医疗保健、游戏等领域的创新,彻底改变人工智能。

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

生成对抗网络(GAN)是一类功能强大的机器学习框架,由 Ian Goodfellow 及其同事于 2014 年首次提出。它们属于生成式人工智能领域,以能够生成模仿某些输入数据分布的新数据而著称。GANs 通过涉及两个相互竞争的神经网络(生成器和判别器)的对抗过程来实现这一目标。这种独特的架构带来了巨大的进步,尤其是在计算机视觉领域。

GANS 如何工作

GAN 背后的核心理念是两个网络之间的竞争游戏:

  1. 生成器:该网络尝试创建合成数据(如图像、声音、文本),使其看起来像来自真实数据集。它首先将随机噪音作为输入,然后尝试将其转化为逼真的输出。
  2. 判别者:该网络充当法官的角色。它的目标是区分真实数据(来自实际训练数据)和生成器生成的虚假数据。它输出一个概率,表明它认为输入样本真实的可能性有多大。

训练过程中,这两个网络同时接受训练。生成器学会生成越来越逼真的数据来欺骗判别器,而判别器则越来越善于识别虚假数据。这一过程使用反向传播技术,在特定损失函数的指导下,根据两个网络的表现更新模型权重。当生成器生成的数据如此令人信服,以至于鉴别器无法再可靠地分辨出它们的区别时(表现不比随机猜测好),系统就达到了平衡。

关键概念和挑战

有几个概念是理解 GAN 的核心:

  • 对抗性损失:损失函数的设计使生成器的改进与判别器的恶化相对应,反之亦然,从而推动竞争性学习过程。
  • 训练稳定性: 训练 GANs 的难度可想而知。常见问题包括
    • 模式崩溃:生成器只能生成有限的输出,无法捕捉到训练数据的全部多样性。了解有关模式崩溃的更多信息
    • 消失的梯度:判别器太快变得太好,几乎无法提供有用的反馈(梯度)供生成器学习。参见梯度消失问题。
    • 不收敛:模型可能无法达到稳定平衡。

研究人员开发了各种技术和架构修改(如 Wasserstein GAN 或 WGAN),以减轻这些挑战并提高训练的稳定性。

实际应用

GANs 应用广泛,尤其是在生成视觉内容方面:

  1. 逼真图像生成:StyleGAN 和 BigGAN 等 GAN 可以生成高分辨率、逼真的图像,如人脸("此人不存在 "就是一个流行的例子)、动物或物体。这种能力对于创建艺术作品、游戏资产,以及生成合成数据以增强训练模型的数据集(例如 Ultralytics YOLO.
  2. 图像到图像的转换:pix2pix 和 CycleGAN 等模型可将图像从一种风格转换为另一种风格,例如将卫星图像转换为地图、将草图转换为照片,或改变照片中的季节。探索图像转换示例
  3. 数据扩充:GAN 可以生成现有数据的变体,从而有效地进行数据扩充。这在医学图像分析等领域非常有用,因为在这些领域,真实数据可能非常稀缺,这有助于提高诊断模型的鲁棒性。

GANS 与其他生成模型的比较

GAN 有别于其他生成式方法:

  • 变异自编码器(VAE):变异自编码器是另一种生成模型,但其训练方式不同,而是优化数据对数似然的下限。与 GANs 相比,它们通常能产生更平滑但可能更模糊的输出。阅读有关 VAE 的概述
  • 扩散模型:这些模型与稳定扩散模型一样,都是通过逐渐向数据中添加噪声,然后学习逆转这一过程来工作的。它们通常能在图像质量和多样性方面达到最先进的效果,但与 GAN 相比,生成样本的速度可能较慢。请参见扩散模型术语表条目。

GAN 专注于生成,而判别模型则旨在根据输入数据进行分类或预测,例如纯粹用于图像分类物体检测的模型。GAN 中的判别器本质上是一个判别模型,但它的作用是更大生成框架的一部分。

生成对抗网是深度学习领域的一个重要里程碑,推动了人工智能创造潜力的发展。您可以通过阅读原始的生成对抗网论文进行深入研究。如需了解实际实现方法,请浏览TensorFlow 的 GAN 教程PyTorch 示例等资源。

阅读全部