生成对抗网络 (GAN) 由以下两个部分组成:
- 生成器会学习生成合理的数据。生成的实例会成为分类器的负例训练示例。
- 判别器会学习区分生成器的虚假数据与真实数据。如果生成器生成不可信的结果,判别器会对其进行惩罚。
训练开始时,生成器会生成明显虚假的数据,而判别器会快速学会判断这些数据是虚假的:
随着训练的进行,生成器越来越接近生成能够欺骗判别器的输出:
最后,如果生成器训练顺利,鉴别器就越难区分真实和虚假。它会开始将虚假数据归类为真实数据,准确性也会降低。
下面是整个系统的图片:
生成器和判别器都是神经网络。生成器输出直接连接到判别器输入。通过反向传播,分类器的分类会提供一个信号,用于生成器更新其权重。
下面我们来详细介绍一下该系统的各个部分。