一个生成模型G:学习到数据分布,使得D犯错概率最大
一个判别模型D:判别一个样本是来自真实数据还是G
存在一个特解,使得G可以涵盖住真实训练数据分布,D的判别概率始终是
对于MLP定义的G和D,可以使用反向传播训练整个系统,而不需要使用任何的马尔科夫链或者是展开的近似推理网络。
导论
迄今为止,大多数深度学习伟大的成功都是在判别模型上,将高维复杂的输入映射到一个类别标签。
而生成模型则有着很多的困难,如很难在极大似然估计和相关策略中进行概率计算,并且生成模型的上下文中难以利用分层线性单元的优势。
本文提出了一个新的规避了这些困难的生成模型。
GAN框架能够给很多模型和优化问题提供一种训练方法。
对抗网络
为了从数据
然后利用
再定义一个
训练D以最大化分类正确率,并且同时训练G以最小化
最终的评估函数:
训练过程中,不会在一次训练循环里直接完成D的优化,那在有限数据集里会导致过拟合。因此,我们会在优化K次D和优化1次G中交替进行。只要G变化的足够缓慢,这将有助于保持D在它最优解的附近。
这个策略类似于SML/PCD[2]中,为了避免样本在马尔科夫链中学习迭代时burning的方式。,
实际上,公式(1)可能不能给G提供足够的梯度以供学习。在训练的初期,G效果很差,D可以轻易的分辨出数据的真假。此时

理论
生成器G隐式地定义了一个概率分布
接下来会证明这个minimax过程对于
训练算法
GAN的小批量随机梯度下降训练。
K:超参数,表明在判别器D上经过的step。
for number of training iterations do
for
steps do- 从先验噪声
中采样出m大小的小批量样本
- 从先验噪声
- 从真实数据分布
中采样出m大小的小批量样本
- 从真实数据分布
- 通过随机梯度下降更新判别器D:
end
for从先验噪声
中采样出m大小的小批量样本通过随机梯度下降更新生成器G:
end train iterations for
证明 的全局最优解
首先证明:固定G时,D的最优解为
给定任何G,D,训练目标都是最大化
求积分最大值可以转化为求被积函数最大值:
并且因为固定G求D的最优,因此不涉及D的都可看作常数项即:
其中
因此最优D为:
定理1: 当且仅当 时取得全局最小值
-log4
证明:
结合公式(1)和
$$
为了检查这个 -log4 是不是最优值,构造方程:
$$$$
后面两个积分式即是KL散度(一种衡量分布差异的方法):
KL散度为非负值,具有非对称性,且KL散度为0当且仅当两个离散分布处处相同。
由于KL散度的非负性质,我们可以得到-log4即为
因为KL散度是非对称的,因此构造两个相反的KL散度相加,它们的和就是对称项,即可以表示为JS散度:
因此
根据JS散度非负,且只有
实验效果




优缺点
缺点:
- 对
没有显式的表达。 - G不能在更新D之前训练过多,要不然会发生模型崩溃问题。
模型崩溃Mode collapse 是指 GAN 生成的样本单一。当G发现一种样本可以欺骗到D时,就只会生成那一种mode的样本。判别网络最后会判别来自该 mode 的样本是假的。最后,生成网络 G 会简单地锁定到另一个 mode。该循环会无限进行,就会限制生成样本的多样性
优点:
- 只需要反向传播,不需要马尔科夫链,不需要推理网络
- 多种多样的模型可以结合在GAN的框架中。
- 不会直接使用真实数据样本去更新G,而是只能通过判别器的梯度引导。换句话说,生成器不会直接copy原始输入。
Other
为什么要distribution?
为了同样的输入能够产生不同的输出
JS散度的问题?
如果两个分布完全不重叠,JS散度值始终是 log 2,改进有Wasserstein
distance...
参考文献
[1]Goodfellow I, Pouget-Abadie J, Mirza M, et al. Generative adversarial nets[J]. Advances in neural information processing systems, 2014, 27.
[2]Younes, L. (1999). On the convergence of Markovian stochastic algorithms with rapidly decreasing ergodicity rates. Stochastics and Stochastic Reports, 65(3), 177–228.
[3]GAN完整理论推导与实现, 机器之心, https://www.jiqizhixin.com/articles/2017-10-1-1
v1.5.2