社区计算机视觉课程文档

生成对抗网络

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

生成对抗网络

介绍

生成对抗网络 (GANs) 是一类深度学习模型,由 Ian Goodfellow 及其同事于 2014 年提出。GANs 背后的核心思想是训练一个生成器网络来生成与真实数据无法区分的数据,同时训练一个判别器网络来区分真实数据和生成数据。

  • 架构概述: GANs 由两个主要组件组成:生成器判别器
  • 生成器: 生成器以随机噪声作为输入zz并生成合成数据样本。其目标是创建足够逼真的数据以欺骗判别器。
  • 判别器: 判别器类似于侦探,评估给定的样本是真实的(来自实际数据集)还是伪造的(由生成器生成)。其目标是越来越准确地区分真实样本和生成样本。

网上可以找到一个常见的类比,即艺术伪造者/画家(生成器)试图伪造画作,而艺术调查员/评论家(判别器)试图检测局限性。

Lilian Weng GAN Figure

GANs 与 VAEs 的比较

GANs 和 VAEs 都是机器学习中流行的生成模型,但它们各有优缺点。“哪个更好”取决于具体的任务和要求。以下是它们的优缺点分析。

  • 图像生成
    • GANs
      • 优点: 生成更高质量的图像,特别是对于具有清晰细节和逼真纹理的复杂数据。
      • 缺点: 训练难度较高,容易出现不稳定性。
      • 示例: GAN 生成的卧室图像可能与真实的卧室图像无法区分,而 VAE 生成的卧室图像可能显得模糊或光照不真实。 GAN 生成的卧室示例,取自《使用深度卷积生成对抗网络的无监督表示学习》,2015 年
    • VAEs
      • 优点: 比 GANs 更容易训练且更稳定。
      • 缺点: 可能生成模糊、细节较少且特征不真实的图像。
  • 其他任务
    • GANs
      • 优点: 可用于超分辨率和图像到图像转换等任务。
      • 缺点: 可能不是需要数据点之间平滑过渡的任务的最佳选择。
    • VAEs
      • 优点: 广泛用于图像去噪和异常检测等任务。
      • 缺点: 对于需要高质量图像生成的任务,可能不如 GANs 有效。

以下表格总结了主要差异

特征 GANs VAEs
图像质量 较高 较低
训练难度 更难 更容易
稳定性 较不稳定 较稳定
应用 图像生成、超分辨率、图像到图像转换 图像去噪、异常检测、信号分析

最终,最佳选择取决于具体的需求和优先级。如果需要高质量的图像用于生成逼真的人脸或风景等任务,那么 GAN 可能是更好的选择。但是,如果需要一个更易于训练且更稳定的模型,那么 VAE 可能是更好的选择。

GANs 的训练

GANs 的训练涉及独特的对抗过程,其中生成器和判别器进行猫捉老鼠的游戏。

  • 对抗训练过程: 生成器和判别器同时训练。生成器旨在生成与真实数据无法区分的数据,而判别器则努力提高其区分真实样本和伪造样本的能力。
  • 目标函数: 训练过程由最小-最大博弈类型的目标函数引导,该函数用于优化生成器和判别器。生成器旨在最小化判别器将生成样本正确分类为伪造样本的概率,而判别器则试图最大化此概率。此目标函数表示为minGmaxDL(D,G)=Expr(x)[logD(x)]+Expg(x)[log(1D(x))]\min_G \max_D L(D, G)=\mathbb{E}_{x \sim p_{r}(x)} [\log D(x)] + \mathbb{E}_{x \sim p_g(x)} [\log(1 - D(x))]在此,判别器试图最大化此损失函数,而生成器试图最小化它,因此具有对抗性质。
  • 迭代改进: 随着训练的进行,生成器变得擅长生成逼真的样本,而判别器变得更具辨别力。这种对抗循环持续进行,直到生成器生成的数据与真实数据几乎无法区分。

参考文献:

  1. Lilian Weng 关于 GANs 的精彩博客
  2. GAN — 什么是生成对抗网络
  3. VAE 和 GAN 在图像生成方面的根本区别是什么?
  4. GAN 和 VAE 模型的问题
  5. VAE 与 GAN 用于图像生成
  6. 扩散模型 vs. GANs vs. VAEs:深度生成模型比较
< > 在 GitHub 上更新