仅供参考,如有翻译不到位的地方敬请指出。
论文地址:Generative Adversarial Nets
论文翻译:XlyPb(http://blog.youkuaiyun.com/wspba/article/details/54577236)
摘要
我们提出了一个通过对抗过程估计生成模型的新框架,在新框架中我们同时训练两个模型:一个用来捕获数据分布的生成模型G,和一个用来估计样本来自训练数据而不是G的概率的判别模型D,G的训练过程是最大化D产生错误的概率。这个框架相当于一个极小化极大的双方博弈。在任意函数G 和D 的空间中存在唯一的解,其中G恢复训练数据分布,并且D处处都等于 12 。 在G和D 由多层感知器定义的情况下,整个系统可以用反向传播进行训练。在训练或生成样本期间不需要任何马尔科夫链或展开的近似推理网络。 实验通过对生成的样品进行定性和定量评估来展示这个框架的潜力。
1.介绍
深度学习的任务是寻找丰富的层次模型,能够在人工智能领域里用来表达各种数据的概率分布,例如自然图像,包含语音的音频波形和自然语言语料库中的符号等。到目前为止,在深度学习领域,目前为止最成功的的模型之一就是判别式模型,通常它们将高维丰富的感知器输入映射到类标签上。这些显著的成功主要是基于反向传播和丢弃算法来实现的,特别是具有特别良好梯度的分段线性单元。由于在最大似然估计和相关策略中出现的许多难以解决的概率计算的困难,以及很难利用在生成上下文中时使用分段线性单元的好处,深度生成模型的影响很小。我们提出一个新的生成模型估计程序,来分步处理这些难题。
在提到的对抗网络框架中,生成模型对抗着一个对手:一个学习去判别一个样本是来自模型分布还是数据分布的判别模型。生成模型可以被认为是一个伪造团队,试图产生假货并在不被发现的情况下使用它,而判别模型类似于警察,试图检测假币。在这个游戏中的竞争驱使两个团队改进他们的方法,直到真假难分为止。
这个框架可以针对多种模型和优化算法提供特定的训练算法。在这篇文章中,我们探讨了生成模型通过将随机噪声传输到多层感知机来生成样本的特例,同时判别模型也是通过多层感知机实现的。我们称这个特例为对抗网络。在这种情况下,我们可以仅使用非常成熟的反向传播和丢弃算法训练两个模型,生成模型在生成样本时只使用前向传播算法。并且不需要近似推理和马尔可夫链作为前题。
2.相关工作
含隐变量的有向图模型可以由含隐变量的无向图模型替代,例如受限制波兹曼机(RBM),深度波兹曼机(DBM)和它们很多的变种。这些模型之间的相互影响可以被表达为非标准化的势函数的乘积,再通过随机变量的所有状态的全局整合来标准化。这个数量(配分函数)和它的梯度的估算是很棘手的,尽管他们能够依靠马尔可夫链和蒙特卡罗(MCMC)算法来估计,同时依靠MCMC算法的混合也会引发一个严重的问题。
深度信念网络(DBN)是一个包含一个无向层和若干有向层的混合模型。当使用一个快速逐层训练法则时,DBNS 会引发无向模型和有向模型相关的计算难题。
不是利用似然函数的估计或约数的选择准则已经被提出来了,例如分数匹配和噪音压缩评估(NCE)。他们都需要知道先验概率密度知识用来分析指定一个规范化的常量。请注意,许多有趣的带有一些隐层变量的生成模型(如DBN和DBM),它们甚至不需要一些难以处理的非标准化的概率密度先验知识。一些模型如自动编码降噪机和压缩编码的学习准则与分数匹配在RBM上的应用非常相似。在NCE中,使用一个判别训练准则来拟合一个生成模型。然而,生成模型常常被用来判别从一个固定噪音分布中抽样生成的数据,而不是拟合一个独立的判别模型。由于NCE使用一个固定的噪音分布,仅仅是从观测变量的一个小子集中学习到一个大致正确的分布后,模型的学习便急剧减慢。
最后,一些技术并没有用来明确定义概率分布,而是用来训练一个生成器来从期望的分布中拟合出样本。这个方法优势在于这些机器学习算法能够设计使用反向传播算法训练。这个领域最近比较突出的工作包含生成随机网络(GSN),它扩展了广义的除噪自动编码器:两者都可以看作是定义了一个参数化的马尔可夫链,即一个通过执行生成马尔科夫链的一个步骤来学习机器参数的算法。同GSNs相比,对抗网络不需要使用马尔可夫链来采样。由于对抗网络在生成阶段不需要循环反馈信息,它们能够更好的利用分段线性单元,这可以提高反向传播的效率。大部分利用反向传播算法来训练生成器的例子包括变分贝叶斯自动编码和随机反向传播.
3.对抗网络
当模型是多层感知器时,对抗模型框架是最直接应用的。为了学习生成器关于数据
x
上的分布
pg
, 我们定义输入噪声的先验变量
pz(z)
,然后使用
G(z;θg)
来代表数据空间的映射。这里
G
是一个由含有参数
在下一节中,我们提出了对抗网络的理论分析,基本上表明基于训练准则可以恢复数据生成分布,因为 G 和 D 被给予足够的容量,即在非参数极限。如图 1 展示了该方法的一个非正式却更加直观的解释。实际上,我们必须使用迭代数值方法来实现这个过程。在训练的内部循环中优化 D 到完成的计算是禁止的,并且有限的数据集将导致过拟合。相反,我们在优化 D 的 k 个步骤和优化 G 的一个步骤之间交替。只要 G 变化足够慢,可以保证 D 保持在其最佳解附近。该过程如算法 1 所示。
实际上,方程
1
可能无法为
G
提供足够的梯度来学习。训练初期,当
G
的生成效果很差时,
D
会以高置信度来拒绝生成样本,因为它们与训练数据明显不同。因此,
log(1−D(G(z)))
饱和。因此我们选择最大化
logD(G(z))
而不是最小化
log(1−D(G(z)))
来训练
G
,该目标函数使
G
和
D
的动力学稳定点相同,并且在训练初期,该目标函数可以提供更强大的梯度。
图1.训练对抗的生成网络时,同时更新判别分布(
D
,蓝色虚线)使D能区分数据生成分布
算法1.生成对抗网络的minibatch随机梯度下降训练。判别器的训练步数,
k
,是一个超参数。在我们的试验中使用
4.理论结果
当
z∼pz
时,获得样本
G(z)
,产生器
G
隐式的定义概率分布
我们将在
4.1
节中显示,这个极小化极大问题的全局最优解为
pg=pdata
。我们将在
4.2
节中展示使用算法
1
来优化等式
4.1全局最优:
pg=pdata
首先任意给生成器
G
,考虑最优判别器
命题1.固定
G
,最优判别器
证明.给定任意生成器
G
,判别器
对于任意的 (a,b)∈R2∖{0,0} ,函数 y→alog(y)+blog(1−y) 在 [0,1] 中的 aa+b 处达到最大值。无需在 Supp(pdata)∪Supp(pg) 外定义判别器,证毕。
注意到,判别器
D
的训练目标可以看作为条件概率
定理1.当且仅当 pg=pdata 时, C(G) 达到全局最小。此时, C(G) 的值为 −log4 。
证明.
pg=pdata
时,
D∗G(x)=12
(公式
2
)。再根据公式
然后从
C(G)=V(D∗G,G)
减去上式,可得:
其中KL为Kullback–Leibler散度。我们在表达式中识别出了模型判别和数据生成过程之间的Jensen–Shannon散度:
由于两个分布之间的Jensen–Shannon散度总是非负的,并且当两个分布相等时,值为
0
。因此
4.2算法
1
的收敛性
命题2.如果
证明.如上述准则,考虑
V(G,D)=U(pg,D)
为关于
pg
的函数。注意到
U(pg,D)
为
pg
的凸函数。该凸函数上确界的一次导数包括达到最大值处的该函数的导数。换句话说,如果
f(x)=supα∈Afα(x)
且对于每一个
α
,
fα(x)
是关于
x
的凸函数,那么如果
实际上,对抗的网络通过函数 G(z;θg) 表示 pg 分布的有限簇,并且我们优化 θg 而不是 pg 本身。使用一个多层感知机来定义 G 在参数空间引入了多个临界点。然而,尽管缺乏理论证明,但在实际中多层感知机的优良性能表明了这是一个合理的模型。
5.实验
我们在一系列数据集上,包括MNIST、多伦多面数据库(TFD)和CIFAR-
我们通过对
G
生成的样本应用高斯Parzen窗口并计算此分布下的对数似然,来估计测试集数据的概率。高斯的
表1.基于Parzen窗口的对数似然估计。MNIST上报告的数字是测试集上的平均对数似然以及在样本上平均计算的标准误差。在TFD上,我们计算数据集的不同折之间的标准误差,在每个折的验证集上选择不同的
训练后的生成样本如下图
2、
图
3
所示。虽然未声明该方法生成的样本由于其它方法生成的样本,但我们相信这些样本至少和文献中更好的生成模型相比依然有竞争力,也突出了对抗的框架的潜力。
图2。来自模型的样本的可视化。最右边的列示出了相邻样本的最近训练示例,以便证明该模型没有记住训练集。样品是完全随机抽取,而不是精心挑选。与其他大多数深度生成模型的可视化不同,这些图像显示来自模型分布的实际样本。此外,这些样本是完全不相关的,因为,采样过程并不依赖马尔科夫链混合。a) MNIST;b) TFD;c) CIFAR-10(全连接模型);d) CIFAR-10(卷积判别器和“解卷积”生成器)
图3.通过在完整模型的
6.优势和劣势
新框架相比以前的模型框架有其优缺点。缺点主要为
pg(x)
的隐式表示,且训练期间,
D
和
表2.生成建模中的挑战:对涉及模型的每个主要操作的深度生成建模的不同方法遇到的困难的总结。
上述优势主要在计算上。对抗的模型也可能用数据实例,仅用流过判别器的梯度,从间接更新的生成模型中获得一些统计优势。这意味输入部分未直接复制进生成器的参数。对抗的网络的另一优点是可表示很尖,甚至退化的分布,而基于马尔科夫链的方法为混合模式而要求模糊的分布。
7.结论和未来研究方向
该框架允许许多直接的扩展:
- 条件生成模型
p(x∣c) 可以通过将 c 作为 G 和D 的输入来获得。- 给定 x ,可以通过训练一个任意的模型来学习近似推理,以预测 z 。这和wake-sleep算法训练出的推理网络类似,但是它具有一个优势,就是在生成器训练完成后,这个推理网络可以针对固定的生成器进行训练。
- 能够用来近似模型所有的条件概率
p(xS∣xS̸)
,其中
S
通过训练共享参数的条件模型簇的关于
x 索引的一个子集。本质上,可以使用生成对抗网络来随机拓展MP-DBM。 - 半监督学习:当标签数据有限时,判别网络或推理网络的特征不会提高分类器效果。
- 效率改善:为协调
G
和
D 设计更好的方法,或训练期间确定更好的分布来采样 z ,能够极大的加速训练。 本文已经展示了对抗模型框架的可行性,表明这些研究方向是有用的。