术语表

生成对抗网络(GAN)

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

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

了解更多

生成对抗网络(GAN)是一类功能强大的机器学习(ML)框架,由Ian Goodfellow 及其同事于 2014 年首次提出。它们属于生成式人工智能领域,侧重于创建与给定训练数据集相似的新数据。GANs 背后的核心理念涉及两个神经网络(NN)--生成器和判别器--之间的竞争博弈。这种对抗过程促使系统产生高度逼真的合成输出,如图像、音乐或文本。

GANS 如何工作

GAN 架构由两个同时进行训练的主要组件组成:

  • 生成器:该网络将随机噪音(通常是从高斯分布中采样的随机数向量)作为输入,并尝试将其转化为模拟真实数据分布的数据。例如,它可能会生成与训练数据集中的图像相似的猫的合成图像。它的目标是生成与真实数据无异的输出,从而有效地欺骗判别器。
  • 判别器:该网络充当二元分类器。它同时接收真实数据样本(来自实际数据集)和虚假数据样本(由生成器创建)。它的任务是确定每个输入样本是真实的还是虚假的。它通过标准的监督学习技术来学习这一点,目的是对真实样本和生成样本进行正确分类。

对抗式培训过程

GAN 的训练是一个动态的过程,在这个过程中,生成器和判别器相互竞争,共同进步:

  1. 生成器生成一批合成数据。
  2. 判别器在包含真实数据和生成器合成数据的批次上进行训练,学习如何区分它们。反向传播法用于根据分类准确率更新权重。
  3. 然后根据判别器的输出对生成器进行训练。它的目标是生成被判别器错误地归类为真实的数据。梯度流回(暂时固定的)判别器,以更新生成器的权重。

如此循环往复,最终达到理想的平衡状态,即生成器生成的数据非常逼真,鉴别器只能随机猜测(准确率为 50%)样本的真假。此时,"生成器 "已学会近似训练集的基本数据分布

主要应用

GAN 在各个领域都取得了重大进展:

  • 图像生成:创建逼真的图像,如人脸 NVIDIA 研究院StyleGAN)、动物或不存在的物体。这种技术可应用于艺术、设计和娱乐领域,但也会引发有关深度伪造的伦理问题。
  • 合成数据增强:生成逼真的合成数据来补充真实数据集。这在医学图像分析等领域尤其有用,因为这些领域的真实数据可能稀缺或受到隐私限制。例如,GANs 可以生成显示罕见病症的合成 X 光图像,以提高用于物体检测分割等任务的计算机视觉(CV)诊断模型的鲁棒性。这种增强功能可以提高以下模型的训练效果 Ultralytics YOLO11.
  • 图像到图像的转换:将图像从一个领域转换到另一个领域(例如,将草图转换为照片、改变风景中的季节或进行神经风格转换)。
  • 超分辨率:增强低质量图像的分辨率。
  • 文本到图像合成:根据文字描述生成图像(但往往被扩散模型等更新的架构所超越)。

GANS 与其他模式的比较

必须将 GAN 与其他类型的模型区分开来:

  • 判别模型:大多数标准分类和回归模型(如用于图像分类或标准物体检测的模型)都是判别模型。它们根据输入特征学习决策边界来区分不同类别或预测值。相比之下,GAN 是生成型模型--它们学习数据本身的底层概率分布来创建新样本。
  • 扩散模型 扩散模型是另一种功能强大的生成模型,近来备受瞩目,在图像生成方面往往能达到最先进的效果。它们的工作原理是逐渐向数据中添加噪声,然后学习逆转这一过程。与 GAN 相比,扩散模型有时能生成保真度更高的图像,并能提供更稳定的训练,但在推理过程中计算量更大。

挑战与进步

由于以下问题,训练 GANs 的难度可想而知:

为了应对这些挑战,研究人员开发了许多 GAN 变体,例如提高稳定性的 Wasserstein GAN(WGAN)和允许根据特定属性生成数据(例如生成特定数字的图像)的条件 GAN(cGAN)。框架,如 PyTorchTensorFlow等框架提供了各种工具和库,为GANs 的实施和训练提供了便利。

阅读全部