生成对抗网络(GAN)简介2025 年 6 月 21 日 | 8 分钟阅读 在机器学习中,有多种方法可以预测在未见过的数据集上的输出。此外,深度学习和神经网络,作为机器学习的一部分,是如此强大的技术,它们能够从头开始生成新的人脸,这些人脸甚至不存在,但在训练数据的帮助下显得自然,而这得益于一项名为 GAN 或生成对抗网络的技术。生成对抗网络(GANs)是 **Ian J. Goodfellow** 于 2014 年开发的最受欢迎和最新的无监督机器学习创新之一。GAN 是一种算法机器学习框架,包含两个连接的神经网络,能够分析、捕获和复制数据集中的变化。此外,GAN 机器学习中的两个神经网络相互对抗,因此被称为对抗网络。它最常用于各种 ML 应用,如图像生成、视频生成和语音生成。在本主题中,我们将讨论生成式机器学习(GAN)、GAN 在机器学习中的应用、GAN 的工作原理、GAN 的组成部分、通过生成对抗网络(GANs)进行训练和预测的步骤、生成对抗网络面临的挑战、GAN 的类型等。那么,让我们从机器学习中生成对抗网络(GANs)的快速介绍开始。 什么是机器学习中的生成对抗网络(GANs)?生成对抗网络或 GAN 被定义为一种生成建模技术,用于基于训练数据集生成新的数据集。新生成的数据集看起来与训练数据集相似。 GAN 主要包含两个神经网络,能够捕获、复制和分析数据集中的变化。这两个神经网络称为生成器和判别器,它们相互竞争。 “生成对抗网络”这个词由三个词组成,每个词都有其单独的含义,如下所示:
为什么需要 GAN?随着技术的发展,机器学习算法和神经网络可以通过在训练数据集中引入一些噪声来被欺骗,从而错误地分类数据。但是,随着机器学习的创新,正在开发各种技术来防止图像分类错误的发生。因此,GAN 被发明出来是为了生成新的数据集,这些数据集看起来像训练数据集,从而可以开始可视化新的模式,就像训练数据一样。 GAN 的应用GAN 是机器学习中一种非常流行的方法,在现实世界中有各种应用。以下是一些最著名的生成对抗网络(GANs)的应用,如下所示:
除了这些应用之外,GAN 在机器学习中还有许多杂项应用,如下所示:
随着机器学习中 GAN 的研究正处于巅峰状态,未来我们将看到 GAN 在生成高质量视频、音频和图像方面的应用。此外,微软已经与 OpenAI 合作开发 GPT,并探索 GAN 的下一级别能力。 生成对抗网络(GANs)的组成部分生成对抗网络主要由两个部分组成,即生成器和判别器。顾名思义,生成器根据训练数据集生成虚假的未知数据输出,并欺骗判别器,使其将这些虚假数据误认为是准确的。此外,判别器充当警察,用于区分训练数据和生成数据,识别生成器创建的样本中的异常,并将它们分类为假或真。然而,整个过程会持续进行,直到生成器获胜,并最终在虚假数据上愚弄判别器。GAN 的组成部分如下: ![]()
![]() 这个过程会一直持续到生成器能够愚弄判别器为止,一旦实现这一点,就创建了一个泛化的 GAN 模型。 生成对抗网络(GANs)的训练我们已经讨论了生成对抗网络(GANs)的基本概念及其组成部分。现在是时候继续学习 GAN 在机器学习中的训练和预测了。 以下是单独训练 GAN 组件的几个重要步骤。它们如下: 步骤 1:识别实际问题:这在处理实时项目时至关重要。如果你能识别出实际问题,你才能有效地解决它。在 GAN 中,无论你的目标是什么,你都需要定义它,这意味着你想创建什么,例如音频、诗歌、文本或图像,这是一种类型的问题。 步骤 2:选择合适的 GAN 架构:虽然存在许多 GAN 架构,例如 DCGAN、Conditional GAN、Unconditional GAN、Least Square GAN、Auxilary Classifier GAN、Dual Video Discriminator、SRGAN、Cycle GAN 和 Info GAN,但我们需要定义在我们的项目中使用的 GAN 架构类型。 步骤 3:对判别器进行真实数据训练 判别器始终使用真实数据进行训练,它只包含前向传播机制,并且在 n 个 epoch 中不遵循反向传播。此外,它只提供没有噪声或虚假内容的实际数据。此外,对于虚假图像,判别器使用生成器创建的实例作为负输出。 在判别器训练过程中会发生一些操作。
步骤 4:对生成器进行训练:生成器的训练过程始于引入一些虚假输入。最初,我们向生成器提供一些虚假输入,但后来它通过添加一些随机噪声来生成一些虚假输出。此外,每当生成器得到训练时,判别器都保持非活动状态,而当判别器得到训练时,生成器保持非活动状态。在提供使用任何随机噪声作为输入的生成器训练时,其目标是将噪声转换为有意义的数据以提供有意义的输出,这个过程需要时间并在许多 epoch 中运行。 以下是通过虚假输入训练生成器的几个简单步骤:
步骤 5:对判别器进行虚假输入训练:在此步骤中,我们将样本输入判别器,以预测数据是真实还是虚假。此外,将判别器收到的反馈再次提供给生成器,以便对样本进行修改。 GAN 如何工作?如上所述,GAN 包含两个神经网络,其中一个称为生成器 G(x),另一个称为判别器 D(x)。顾名思义,它们都以对抗的方式工作。生成器始终尝试生成与训练数据相似的虚假数据来欺骗判别器,即它生成新的数据实例。而判别器的目标是从实际数据中识别出虚假数据,即它评估数据的真实性。两个神经网络同时工作,以从图像、音频或视频文件等复杂数据中学习。 假设我们试图生成类似于 MNIST 数据集的数字手写体,这些数字出现在现实世界中;现在,判别器的目标是将 MNIST 数据集的实例识别为真实的。同时,生成器创建新的合成图像并将其传递给判别器。生成器希望这些图像被识别为真实的,即使它们是虚假的。它尽可能多地生成手写数字来愚弄判别器。判别器的目标是将来自生成器的图像识别为虚假。 GAN 的工作可以总结为以下步骤:
![]() 不同类型的生成对抗网络(GAN)
下一主题神经网络中的学习率 eta |
我们请求您订阅我们的新闻通讯以获取最新更新。