📜  生成对抗网络 (GAN) 的基础知识

📅  最后修改于: 2022-05-13 01:58:07.613000             🧑  作者: Mango

生成对抗网络 (GAN) 的基础知识

GAN 是一种使用 CNN(卷积神经网络)等深度学习方法进行生成建模的方法。生成式建模是一种无监督学习方法,涉及自动发现和学习输入数据中的模式,以便该模型可用于从原始数据集中生成新示例。

GAN 是一种通过将问题框架化为具有两个子模型的监督学习问题来训练生成模型的方法。 GAN 有两个组成部分:

  1. 生成器:它被训练生成新的数据集,例如在计算机视觉中,它从现有的现实世界图像生成新图像。
  2. 鉴别器:它将这些图像与一些真实世界的例子进行比较,并对真假图像进行分类。

例子:
生成器生成一些随机图像(例如表格),然后鉴别器将这些图像与一些真实世界的表格图像进行比较,并将反馈发送回自身和生成器。看下图中的 GAN 结构。 1.

图 1:GAN 结构

GAN 是如何工作的?让我们以生成狗的图像为例。

步骤 1- 鉴别器的训练



  1. 首先将一些随机噪声信号发送到生成器,生成一些包含噪声的无用图像
  2. (见图2)

    .

  3. 给判别器提供了两个输入。首先是生成器生成的样本输出图像,其次是真实世界的狗图像样本。
  4. 之后,鉴别器在比较两个图像后填充一些值(概率),可以在图 2 中看到。 2 .它为生成器输出图像计算 0.8、0.3 和 0.5,为真实世界图像计算 0.1、0.9 和 0.2。
  5. 现在,通过将生成图像的概率与 0(零)进行比较并将真实图像的概率与 1(一)进行比较来计算误差。 (例如 0-0.8、0-0.3、0-0.5 和 1-0.1、1-0.9、1-0.2)。
  6. 在计算单个误差后,它将计算累积误差(损失),然后反向传播并调整判别器的权重。这就是鉴别器的训练方式。

图 2:GAN 步骤 1


步骤 2 – 生成器的训练:
  1. 与前面的步骤 1 一样,损失被反向传播到鉴别器以调整其权重。现在我们还需要将错误反向传播到生成器,以便它也可以调整其权重并训练自己生成改进的图像。
  2. 现在,从生成器生成的图像被用作生成器本身的输入,而不是随机噪声。
  3. 来自生成器的新生成的图像现在将成为鉴别器的输入,鉴别器再次计算 0.5、0.1 和 0.2 等概率。 (见图2)
  4. 现在,将通过将生成图像的概率与 1(One) 进行比较来计算误差。
  5. 计算单个误差后,将计算累积误差(损失),反向传播并调整生成器的权重。这就是生成器的训练方式。

图 2:GAN 步骤 2


几次迭代后,您将看到生成器开始生成接近真实世界图像的图像。

GAN的应用:

  1. 生成图像
  2. 超分辨率
  3. 图像修改
  4. 写实图像
  5. 面部老化