目录
参考资料
Generative Adversarial Nets (nips.cc)
[github.com](https://github.com/mli/paper-reading)
主要的工作:
1、无监督学习,不需要使用标号数据;
2、使用监督学习的损失函数;
3、生成对抗的思想和网络架构;
模型和算法
论文的模型使用函数描述的方式给出:
D(x)指的是判别模型;G(z)指的是生成模型;模型的含义是指使得V(D,G)最大的D(x),再使得V(D,G)最小的G(x),一种不断迭代更新生成和判别的算法计算方式。算法如图1所示:
算法的主要流程:
'''
epoch次数迭代:
(1)更新判别器(迭代k步):
a. 从噪声分布中采样m个样本-minibatch;
b.从数据生成分布中中采样m个样本-minbatch;
c.根据随机梯度更新判别器;
(2)更新生成器:
a.从噪声分布中采样m个样本-minibatch;
b.根据随机梯度更新生成器;
end epoch
'''
算法的流程的形象表示如图2所示:图中绿色指的是生成样本;黑色点指的是真实样本;蓝色虚线指的是判别器;
理论证明
-
相关的数学公式
计算期望:
计算KL散度:
-
证明过程
证明的过程比较简单,只需要两三步:
(1)最优的判别器满足:
(2)取得生成器最优时就是V(D,G)的判别器最优时的导数等于0(形象的理解就是生成器和判别器旗鼓相当,当判别器最优时的生成器才能取得最优):