1. Generator vs. Discriminator
首先需要指出的是生成式模型(generative models)和判别式模型(discriminative models)的区别:
- discriminative models:根据训练样本直接学习
p(y|x) - generative models:首先学习特征向量与标签的联合概率分布
p(x,y) ,再通过贝叶斯规则,转换为p(y|x)
然后,我们来看GAN整体框架图,从整体上把握GAN的模型设计:
GAN 的核心思路在于其模型使用了两个相对抗竞争(competing)的模型(也就是本文开头部分指出的判别式模型和生成式模型),
- Generator:以噪声为输入生成样本,也就是所谓的生成器(generator)
- Discriminator:如上图示,可接收两方面的数据:数据样本(data sample),Generator 生成器从噪声输入中生成的样本(generator sample),为判别式模型的输入,且最终能够判别出输入的样本是否为data sample。
- generator 和 discriminator 同步训练,不断地交互执行下去。则可从噪声中生成出的样本越来越逼近真实的数据样本,最终使得判别器无法区分接收到的数据是真实的数据样本还是生成出来的样本。
GAN在执行训练时,可通过判别式网络反向传播梯度信息到生成器网络,进而微调优化生成器网络的参数。