论文地址:Generative Adversarial Nets
Generative Adversarial Nets(GANs)是一种生成式模型,存在两个网络,一个是generative model G用来生成和样本近似的分布,一个是discriminative model D用来辨别真正样本和生成的样本
也就是让D辨别不出真实样本和G生成的样本,便可以结束训练
需要优化的函数如下:
其中x为真实样本,z为生成模型的输入,G(z)为使用输入z生成网络生成的样本,D(x)为使用真实样本x作为输入辨别网络的结果
训练过程达到的目的如上图所示,黑线为真实样本的分布,绿线为生成模型G产生的分布,蓝线为判别模型D得到的分布
在最开始的时候,黑线和绿线相差较大(真实样本分布和生成样本分布差别较大),判别模型D得到的分布存在波动
在训练的过程中,黑线和绿线逐渐接近,蓝线趋于稳定
在训练结束时,黑线和绿线完全重合(真实样本分辨和生成样本分布相同),蓝线成为一条直线(0.5)
训练算法如上所示,也就是得到输出后先训练判别器D,然后再得到输出,训练生成器G,D和G的训练交替进行