当前位置:   article > 正文

生成对抗网络(GAN)详解

生成对抗网络

目录

前言

一、对抗过程

二、理论证明

参考文献

前言

           生成对抗网络(Generative Adversarial Network, GAN)是由IanGoodfellow于2014年在《Generative Adversarial Nets》中提出的模型。


        GAN的基本思想是通过让两个神经网络相互对抗,从而学习到数据的分布。其中一个网络被称为生成器(Generator),它的目标是生成与真实数据相似的假数据;另一个网络被称为判别器(Discriminator),它的目标是区分真实数据和假数据。两个网络相互对抗,不断调整参数,从而最终生成具有高质量和多样性的假数据(最终目的是得到效果好的G,D)。

       具体来说,给定数据分布P_{data},希望设计生成器G,使得生成器所产生的数据分布P_{g}

尽可能接近P_{data},以此来“欺瞒”判别器D,同时判别器D也通过P_{data},P_{g},不断提高辨别能力。

一、对抗过程

        判别器D的训练目标是最大化分类的准确率,而生成器G的训练目标则是最小化判别器D的准确率。二者的估值函数是完全相反的,因而形成了零和对抗。在博弈中,D和G两名玩家按照极小化极大估值函数V(G,D) 进行博弈的过程: 

二、理论证明

两个问题:
        1. 生成对抗网络中的极小化极大值博弈问题中,存在全局最优解: P_{g} = P_{data}
        2. 通过 Algorithm 1 能够收敛到此全局最优解。
证明:
1. 存在全局最优解
给定 G ,判别器 D 的优化目标是最大化估值函数 V(G,D),即最大化:

(注意因为噪声z和生成的g为双射,所以第二项可以转化为对z的积分)

只需要使得积分号内部最大化,考虑函数:

 求该函数的极大值:

故判别器的最优解在:

取得 ,将其代入 V(G,D)得到:

 接下来求解生成器估值函数的最小值:

P_{g}=P_{data} C(G)取得最小值:-log4 

 2.能够收敛到最优解:

         我们证明在上述算法中,如果 G,D 的容量够大,且在判别器每个更新 步骤都能达到最优的情况下, P_{g} 能够收敛到  P_{data}.

        考虑:V(G,D)=U(P_{g},D),这是一个关于P_{g}的泛函,对于每个 P_{g} U(P_{g},D) 是凸的,而凸泛函的上确界(仍然是凸函数)的次导数包含了函数取得最大值点的导数,所以在判别器最优的时候优化价值函数相当于优化 G, 且是凸函数,肯定能收敛。

(注意:上述关于收敛性的证明并不够完备,在真实情况下我们更新的是 G 的参数,而不是 P_{g}

参考文献

[1] Goodfellow I, Pouget-Abadie J, Mirza M, et al. Generative adversarial n ets[J]. Advances in           neural information processing systems, 2014, 27.
[2] 生成对抗网络(GAN)简介,https://zhuanlan.zhihu.com/p/612565146 
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号