Gen-ai 简明教程

How do Generative Adversarial Networks (GAN) Work?

生成对抗网络 (GAN) 是生成建模的一种有力方法。GAN 基于生成与原始训练数据相似的复杂新输出的深度神经网络架构。

GAN 通常利用卷积神经网络 (CNN) 等架构。事实上,ChatGPT 与基于深度学习的其他 LLM(大型语言模型)一样,是 GAN 的一个非凡应用。本章涵盖了您需要了解的有关 GAN 及其工作原理的所有知识。

What is a Generative Adversarial Network?

生成对抗网络 (GAN) 是一种用于无监督学习的人工智能框架。GAN 由两个神经网络组成:一个 Generator 和一个 Discriminator 。GAN 使用对抗训练来生成类似于实际数据的虚拟数据。

可以将 GAN 分为 three components

  1. Generative − 此组件专注于通过理解数据集中潜在模式学习如何生成新数据。

  2. Adversarial − 简而言之,“对抗性”是指将两件事置于对立面。在 GAN 中,生成的数据将与数据集中实际的数据进行比较。这是使用一个训练来区分真实数据和虚假数据的模型来完成的。此模型称为鉴别器。

  3. Networks − 为了能够学习过程,GAN 使用深度神经网络。

在了解 GAN 的工作原理之前,让我们首先讨论它的两个主要部分:生成器模型和鉴别器模型。

The Generator Model

生成器模型的目标是生成新的数据样本,这些数据样本旨在模拟来自数据集的真实数据。

  1. 它以随机输入数据作为输入,并将其转换为合成数据样本。

  2. 一旦转换,生成器的另一个目标是在呈现给判别器时生成与真实数据相同的数据。

  3. 生成器被实现为神经网络模型。根据要生成的数据类型,它使用完全连接的层,如密集层或卷积层。

The Discriminator Model

判别器模型的目标是评估输入数据并尝试区分来自数据集的真实数据样本和生成器模型生成的虚假数据样本。

  1. 它获取输入数据并预测它是真是假。

  2. 判别器模型的另一个目标是正确地将输入数据的来源分类为真是假。

  3. 与生成器模型类似,判别器模型也被实现为神经网络模型。它还使用密集层或卷积层。

在对抗生成网络 (GAN) 的训练期间,生成器和判别器同时接受训练,但以相反的方式进行训练,即彼此竞争。

How does a GAN Work?

要了解 GAN 的工作原理,首先查看此图表,该图表展示了 GAN 的不同组件如何生成与真实数据非常相似的新的数据样本 −

generative model architecture

GAN 有两个主要组件: generator networkdiscriminative network 。以下是 GAN 工作涉及的步骤 −

Initialization

GAN 包含两个神经网络:生成器(例如 G )和判别器(例如 D )。

  1. 生成器的目标是生成新的数据样本,如图像或文本,这些样本与来自数据集的真实数据非常相似。

  2. 判别器扮演批评者的角色,其目标是区分真实数据和生成器生成的数据。

Training Loop

训练循环涉及在训练生成器和判别器之间交替。

Training the Discriminator

在训练判别器时,对于每次迭代 −

  1. 首先,从数据集中选择一批真实的数据样本。

  2. 接下来,使用当前的生成器生成一批虚假的数据样本。

  3. 生成后,使用真实和虚假数据样本训练判别器。

  4. 最后,判别器通过调整其权重以最小化其分类错误,来学习区分真实数据和假数据。

Training the Generator

在训练生成器的过程中,对于每一次迭代 -

  1. 首先,使用生成器生成一批虚假数据样本。

  2. 其次,训练生成器以生成虚假的可以被判别器分类为真实数据的。要做到这一点,我们需要将虚假数据通过判别器,并根据判别器的分类误差更新生成器的权重。

  3. 最后,生成器将学会产生更逼真的虚假数据,通过调整其权重来最大化判别器对其生成样本进行分类时的误差。

Adversarial Training

随着训练的进行,生成器和判别器都以对抗的方式提高了它们的性能,即对立。

生成器在创建类似于真实数据的虚假数据方面变得更好,而判别器在区分真实数据和虚假数据方面变得更好。

在生成器与判别器之间的这种对抗关系的帮助下,两个网络都尝试不断改进,直到生成器生成与真实数据相同的数据。

Evaluation

一旦训练结束,就可以使用生成器根据数据集生成新的数据样本,这些样本类似于真实数据。

我们可以通过目测样本或使用诸如相似度得分或分类器准确度之类的定量衡量标准来评估生成数据的质量。

Fine-Tuning and Optimization

根据应用程序,你可以对训练好的 GAN 模型进行微调以提高其性能或使其适应特定的任务或数据集。

Conclusion

生成对抗网络(GAN)是最突出、最广泛使用的生成模型之一。在本节中,我们解释了 GAN 的基础知识以及它如何使用神经网络来生成类似于实际数据的人工数据的工作原理。

GAN 工作中涉及的步骤包括:初始化、训练循环、训练判别器、训练生成器、对抗性训练、评估以及微调和优化。