GAN 中的生成器是如何工作的?

人工智能 深度学习 生成对抗网络
2021-11-09 02:00:11

看了很多文章(比如这篇——https ://developers.google.com/machine-learning/gan/generator ),我一直在想:GAN中的生成器是如何工作的?

生成器的输入是什么?“输入噪声”背后的含义是什么?

正如我所读到的,生成器接收的唯一输入是随机噪声,这很奇怪。

如果我想创建一个类似的图片x,并将随机数(噪声)矩阵作为输入 - 在我得到某种图片之前需要大量的训练x,也就是和源图类似x.

该算法应该接收某种类型的参考或基本数据集(例如,x's) 以开始生成假图像x.

1个回答

生成器的输入是什么?

在 GAN 的基本实现中,生成器接受一个随机变量向量。这可能看起来很奇怪,但在训练之后,生成器可以将此输入噪声转换为类似于训练集的图像。

它是如何工作的?

它与对应的鉴别器一起训练,鉴别器的目标是区分真实图像(即数据集的图像)和假图像(即生成器生成的图像)​​。生成器的训练目标是欺骗鉴别器,使其认为其图像是真实的。

培训过程

一开始,他们都没有受过训练,他们在各自的任务上都很“糟糕”。生成器不能产生任何类似于图像的东西,但鉴别器不能区分真假。随着训练的进行,鉴别器开始识别区分真实图像和假图像的方法(即出现在真实图像中但不在假图像中的模式)。然而,生成器在试图欺骗鉴别器时,开始在它自己的图像中产生相同的模式。在两个模型在各自的任务上变得更好之后,我们达到了生成器可以生成逼真的图像而判别器非常擅长区分真假的程度。


根据评论的建议进行编辑:

随机值向量用作输入,以便生成器可以学习生成唯一的输出。生成器本身是确定性的,这意味着它没有内部随机性来源。如果我们给它两次相同的输入向量,它两次都会产生相同的输出。因此,我们为生成器提供随机值,以便它可以根据这些值学习产生不同的输出。