一、生成式网络

特点,同时输入x和z得出y。

x是条件。

由一种简单的分布到另外一种复杂的分布的网络。

依据给定简单分布(可以是正态分布)的不同得到多种不同的输出。

分为unconditional GAN和conditional GAN。

二、GAN

在GAN中,除了生成器之外,我们还要多训练一个东西。

discriminator判别器,也是个NN。

将生成结果输入,得到一个标量,标识着我们结果的好坏。、

(标量越大代表越像)

就是将我们的结果进行判别。

gan的原理:

步骤:

  1. 生成器G、判别器D都初始化参数。
  2. 固定G,更新D。

2.1 随机样本输入G,得到输出。

2.2 选取正确的样本,和G的输出进行比较。

2.3 D去学习分辨正确的和误差的。

  1. 固定D,更新G

3.1 随机样本输入G,得到输出。

3.2 将输出给予D,由此得到评分。(我们希望越大越好)

  1. 重复上述步骤

三、GAN理论

我们的目的:

也就是:

当然我们不知道生成分布和数据分布长什么样?差异如何度量?

但是我们可以获得样本:

我们只需要通过样本的差异就可以衡量分布的差异。

这是通过GAN的判别器所实现的。

我们的判别器看见来自生成的样本就给低分,来自数据的样本就给高分。

GAN比较难训练。

四、GAN训练技巧

  1. 这张图片中的x改成y,代表一张图片。D必须是一个足够平滑的分布。

训练过程中如果有一方不发生变化,那么会导致整体的停止。

五、GAN评估

盲点

六、条件生成Conditional Generator

七、GAN+Unsupervised Learning