一、生成式网络
特点,同时输入x和z得出y。
x是条件。
由一种简单的分布到另外一种复杂的分布的网络。
依据给定简单分布(可以是正态分布)的不同得到多种不同的输出。

分为unconditional GAN和conditional GAN。

二、GAN
在GAN中,除了生成器之外,我们还要多训练一个东西。
discriminator判别器,也是个NN。
将生成结果输入,得到一个标量,标识着我们结果的好坏。、
(标量越大代表越像)
就是将我们的结果进行判别。

gan的原理:

步骤:
- 生成器G、判别器D都初始化参数。
- 固定G,更新D。
2.1 随机样本输入G,得到输出。
2.2 选取正确的样本,和G的输出进行比较。
2.3 D去学习分辨正确的和误差的。

- 固定D,更新G
3.1 随机样本输入G,得到输出。
3.2 将输出给予D,由此得到评分。(我们希望越大越好)

- 重复上述步骤

三、GAN理论
我们的目的:

也就是:

当然我们不知道生成分布和数据分布长什么样?差异如何度量?
但是我们可以获得样本:

我们只需要通过样本的差异就可以衡量分布的差异。
这是通过GAN的判别器所实现的。
我们的判别器看见来自生成的样本就给低分,来自数据的样本就给高分。


GAN比较难训练。
四、GAN训练技巧




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

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

五、GAN评估

盲点




六、条件生成Conditional Generator


七、GAN+Unsupervised Learning



