GAN(Generative Adversarial Net)

对另一篇GAN的理解:

GAN的思想原理来源于二人博弈(two-player game),博弈双方的利益为常数,一人利益增加,另一人利益必然减少。

GAN中有两个类似的博弈者,一个是生成器(generator),一个是判别器(discriminator),各自有各自的功能。

相同点
两个模型内部都可以理解为 黑匣子,输入输入样本,得到一个输出。中间模型可理解为映射函数。
不同点: (功能)
生成器模型的功能:作为一个“样本”生成工具,将输入的“噪音/样本”包装成为一个逼真的样本,也就是输出。
判别器模型的功能:作为一个二分类器。判断输入样本的真假。

GAN(Generative Adversarial Net)
我们只拥有着一个真实的样本集合,除此之外什么都没有。
首先,使用一组随机数通过生成器得到一张图片,这就是制作的假样本。
然后,将(真/假)样本输入到判别器中,来判定这个样本属于(真/假)数据集。

生成器的目的:生成能够以假乱真的样本。
判别器的目的:判断出样本来源。

双方的目的是冲突的,在不断的对抗过程中两模型获得提升。

GAN模型的目的。也就是我们自己的目的,我们想要哪种种模型胜利。

进一步的理解

如何用数学方法去解决这个对抗问题。这就涉及到如何去训练这样一个对抗网络模型。

两个模型是两个完全独立的模型,他们之间并没有联系。
训练这两个模型的方法:单独的交替的迭代训练。

俩网络是串联,在训练生成网络时,判别网络的参数是不能进行更新的。这时判别网络只是传递误差。

GAN(Generative Adversarial Net)
原始GAN中的目标公式。

优化discriminator:
GAN(Generative Adversarial Net)
x为原数据样本,令D(x)趋向于1则前半段公式会趋向于0,z为原数据的先验分布,通过G(z)获得假数据,为了优化D则 D(G(z))检验出为假数据,则D(G(z))趋向于0,log(1-D(G(z)))趋向于正无穷。

优化generator:
GAN(Generative Adversarial Net)
优化G:则G(z)生成的数据要几乎与真实数据相同,则D(G(z))检测为真实数据
即1-D(G(z))趋向于0,整体函数趋向于负无穷。