1.符号表示
Pg
表示生成器的分布。
pz(z)
表示输入噪声变量的先验。
G(z;θg)
表示由噪声所生成的分布,其中 G 是由网络层和参数 θ表示的可导函数。
D(x;θd)
是判别器,D(x) 表示 x 来自数据集而不是pg的概率。
训练 D 的目标是最大化给训练集和生成数据分配正确标签的概率。同样情况下我们训练G来最小化
log(1−D(G(z)))
此时的G和D在进行零和博弈,通过价值函数 V(G,D)表示为
GminDmaxV(D,G)=Ex∼pdata (x)[logD(x)]+Ez∼pz(z)[log(1−D(G(z)))]
文中采用的方法是:在优化判别器D的k个步骤和优化生成器G的一个步骤之间交替进行。这样做的结果是:只要G改变的足够慢,D将被保持在最优值的附近。具体算法为:

事实上,这场minimax游戏的全局最优解是:pg=pdata下面阐述证明。
首先,我们考虑对于任意的生成器G,存在最优判别器D
命题一:固定G,最优判别器D是DG∗(x)=pdata(x)+pg(x)pdata(x)
证明:
对于任意生成器G,最大化V(G,D),此时令 g(z)=xV(G,D)=∫xpdata (x)log(D(x))dx+∫zpz(z)log(1−D(g(z)))dz=∫xpdata (x)log(D(x))+pg(x)log(1−D(x))dx
对于任意(a,b)∈R2 \{0,0},函数 y→alog(y)+blog(1−y) 在 a+ba 处取得最大值。所以,等式1可以改写成:
C(G)=DmaxV(G,D)=Ex∼pdata [logDG∗(x)]+Ez∼pz[log(1−DG∗(G(z)))]=Ex∼pdata [logDG∗(x)]+Ex∼pg[log(1−DG∗(x))]=Ex∼pdita [logPdata (x)+pg(x)pdata (x)]+Ex∼pg[logpdata (x)+pg(x)pg(x)]
上面式子用积分形式可以表示为:∫pdata (x)logpdata (x)+pε(x)pdata (x)dx+∫pε(x)logpdata (x)+pε(x)pε(x)dx
运用KL散度和JS散度的概念,将其改写为:
DmaxV(G,D)=−log(4)+KL(pdata ∥2pdata +pg)+KL(pε∥2pdata +pε)=−log(4)+2×JSD(pdata ∥pg)
所以,当 pg=pdata 时,C(G)取得全局最小值 -log(4),生成模型完美地重现数据分布。