全局最优解
GAN模型表示汇总如下所示:
![]()
Pdata:{xi}i=1N
Pg(x;θg):generator,G(z;θg)
y∣x:discriminater,P(y=1∣x)=D(x),P(y=0∣x)=1−D(x)
G(z;θg)和D(x;θd)是两个多层感知机。GAN就是这样采用对抗学习,其最终目的就是Pg=Pdata。目标函数中,记:
V(D,G)=Ex∼Pdata[logD(x)]+Ez∼Pz[log(1−D(G(z)))]
最终的目标是令Pg=Pdata,而Pg中的参数为θg。在之前的极大似然估计思想中,
θg=argθgmaxi=1∑NlogPg(xi)
而对Pg(xi)比较复杂,通常采用EM算法和VI来进行近似,通过推导可以得出,最后的目标为:
argθgminKL(Pdata∥Pg)
对公式(5)的求解过程可以分成两步,而第一步为求解过程为fixed G,求解maxDV(G,D)
DmaxV(D,G)==∫PdatalogDdx+∫Pglog(1−D)dx∫(PdatalogDdx+Pglog(1−D))dx
通过求偏导来计算最优解:
∂D∂(V(D,G))===∂D∂∫[PdatalogDdx+Pglog(1−D)]dx∫∂D∂[PdatalogDdx+Pglog(1−D)]dx0
这一步的推导利用了微积分的基本定理,得到:
∫Pdata⋅D1+Pg1−D−1dx=0
恒成立,所以有:
D∗=Pdata+PgPdata
第二步,将求解的是:
GminDmaxV(D,G)==GminV(D∗,G)DminEx∼Pdata[logPdata+PgPdata]+Ex∼Pg[logPdata+PgPg]
观察Ex∼Pdata[logPdata+PgPdata]会发现这很像一个KL散度,但是Pdata+Pg不是一个概率分布。所以,通过2Pdata+Pg来将其转换为一个概率分布。那么有,
GminDmaxV(D,G)==≥GminEx∼Pdata[log2Pdata+PgPdata⋅21]+Ex∼Pg[log2Pdata+PgPg⋅21]GminKL[Pdata∥2Pdata+Pg]+KL[Pg∥2Pdata+Pg]−log4−log4
当且仅当Pdata=Pg=2Pdata+Pg时,等号成立。此时,Pg∗=Pd,Pd∗=21。很显然,大家想一想就知道,生成器模型分布最好当然是和数据分布是一样的,而此时判别器模型真的和假的都分不出,输出都是21。
总结
本章主要描述了什么是GAN,GAN是一种生成模型。其实,以前我对GAN的理解,只是它可以画图,生成和真实数据一样的图,并不知道它有什么用。通过系统的学习,我现在对生成模型的意义有了不一样的认识。本章主要介绍的是GAN的模型意义和模型表示,以及简单的求解过程。实际上,GAN中有很多很多的问题,这只是最基础的版本,介绍简单的思想而已,希望可以抛转引玉。
本章节主要是对于概率生成模型进行了一个全面的介绍,起到一个承上启下的作用。回顾了之前写到的浅层概率生成模型,并引出了接下来要介绍的深度概率生成模型。并从任务(监督 vs 非监督),模型表示,模型推断,模型学习四个方面对概率生成模型做了分类。并从极大似然的角度重新对模型做了分类。并介绍了概率图模型和神经网络的区别,我觉得其中最重要的是,概率图模式是对样本数据建模,其图模型有具体的意义;而神经网络只是函数逼近器,只能被称为计算图。
参考B站视频【机器学习】【白板推导系列】
更多干货,第一时间更新在以下微信公众号:

您的一点点支持,是我后续更多的创造和贡献

转载到请包括本文地址
更详细的转载事宜请参考文章如何转载/引用
本文由mdnice多平台发布