GAN(译)

生成对抗性网络

摘要:我们提出了一个新的、通过对抗性过程来评估生成的模型的框架,在这个框架当中,我们同时训练两个模型:一个模型G用来捕捉数据分布,另一个模型D是概率判别模型,用来评估来自训练数据集而不是G模型生成的样本。G的训练过程最大化D犯错误的概率。这个框架就像极小化极大(极大值中的极小值)的两人博弈游戏。在所有G和D可取的空间当中,存在唯一解,其中,G恢复训练数据的分布,D始终取1/2。在G和D由多层感知器定义的情况之下,整个系统可以通过反向传播进行训练。在训练过程或者样本时,不在需要马尔科夫链或者展开的近似推理网络。实验通过定性和定量的评价生成的样本,证明了该框架的潜力。

【马尔科夫链:

1、介绍

深度学习的任务是探索丰富的层次模型,能够在人工智能应用领域里用来表达各种数据的概率分布,比如自然图像、含有语音的音频信号,以及自然语言库当中的符号等等。到目前为止,在深度学习当中,最成功的模型之一就是判别模型,通常是将高维的丰富的感知器输入映射到类别标签上。这些成功的模型主要是基于反向传播和丢弃的算法,使用具有特别好的梯度的分段线性单元。由于在最大似然估计和相关策略中出现的许多难易解决的概率计算的困难,以及很难利用在生成上下文中断中时使用分段线性单元的好处,深度生成模型的影响很小。我们提出一个新的生成模型评估程序来一步一步的解决这些难题。

在上文提到的对抗网络框架当中,生成模型是与对手对立的:他是一个判断模型,可以学习去判断一个模型是来自分布模型还是数据分布(一种判别模型,它学习确定样本是来自模型分布还是来自数据分布。)生成模型可以看做是一组制造假币的模型,努力造出假币,在不被发现的情况之下使用,而判别模型就像是警察,尽力发现假币。在这个游戏当中,竞争驱使这两个团队(模型)都改进他们的方法,直到产生的假币和真的一样。

这个框架可以为多种模型和最优化算法提供特定的训练方法。在这篇文章当中,我们探索这样一种特殊的情况,即生成模型通过多层感知器传递随机噪声生成样本,同时,判别模型也是一个多层感知器 。我们把这个特殊的情况叫做对抗性网络。在这种情形之下,我们可以使用非常成功的反向传播和丢弃算法来训练这两个模型,同时只使用前向生成模型生成的样本。不需要任何推理或者马尔科夫链。

 

2 相关的工作

含有隐含变量的有向图模型可以由含有隐含变量的无向图模型来代替,例如受限制的Boltzmann机(波兹曼机,RBMs),深度波兹曼机(DBMS),以及他们大量的变形。这些模型之间的相互作用被表达为非规范化势函数的乘机,由随机变量的所有状态的全局整合来标准化。这个数量(配分函数)和它的梯度的估计是很棘手的,尽管他们能够依靠马尔科夫链和蒙特卡罗算法来估计,同时依靠MCMC算法也会引发一个严重的问题。

深度信念网络是由单个无限层和多个有向层组成的模型。尽管存在快速近似分层的训练准则,但是深度信念网络会同时引起与有向和无向模型相关的计算困难。

不是利用近似函数的估计或者约数的准则已经被提出了,比如分数匹配和噪音压缩评估。他们都需要知道先验概率密度来分析指定一个规范化的常量。需要注意的是许多有趣的带有一些隐含层的生成模型(比如DBN和DBM),他们甚至不需要一些难易处理的非标准化的概率密度先验知识。一些模型比如去燥自动编码器和压缩编码的学习准则与分数匹配在RBM(受限玻尔兹曼机)上的应用很相似。在NCE当中,正如本文所做的工作一样,使用一个判别训练准则来拟合一个生成模型。然而,生产模型常常被用来判别从一个固定的噪音分布中抽样生成的数据,而不是拟合一个独立的判别模型。由于NCE使用一个固定的噪音分布,仅仅是从观测变量的一个小子集当中学习到一个大致正确的分布后,模型的学习就会急剧减慢。

最有,有些技术并没有用来明确定义概率分布,而是用来训练一个生成器来从期望的分布当中拟合出样本。这个方法的优势在于这些机器学习法案发可以设计为反向传播的方法来训练。这个领域最近比较突出的工作包含生成随机网络框架(GSN),它扩展了广义的 除燥自动编码机:两者都可以看做是定义了参数的马尔科夫链,即一个通过执行生成马尔科夫链的一个步骤来学习机器参数的算法。和GSN相比,GAN不需要使用马尔科夫链来采样。由于对抗网络在生成过程当中不需要使用马尔科夫链来采样,他们能更好的使用分段线性党员,这样可以提高反向传播的效率,但是当使用ina反馈环时,会出现无界激活的问题。现阶段大部分使用反向传播算法来训练生成器的例子有目前的贝叶斯自动编码和随机反向传播。

3. 对抗网络

当模型是多层感知器时,对抗模型框架是最直接应用的。为了学习生成器关于数据X上的分布Pg,我们定义一个输入噪声的先验变量Pz(z),然后使用来代表数据空间的映射,G是一个含有参数θg的多层感知表示的可以微分的函数。我们再定义一个多层感知机 D(x; θd),用来输出一个单独的标量。D(x)就是计算X是真实数据而不是来自pg的概率。我们训练D来最大化不管是真实的训练数据还是来自G生成的样本的概率。我们同时训练G来最小化,换句话说D和G的训练是在进行关于值函数V(G,D )的极小化极大值的二人博弈问题:

 

在下一部分当中,我们提出对抗网络的 理论分析,基本上可以证明基于训练的准则可以恢复数据生成的分布,因为G和D被赋予了足够的容量,即在非参数极限。图展示了一个不怎么正式但是直观的解释。在实践当中,我们必须使用迭代的数值方法来实现这个过程。在训练的内部循环当中来优化D到完成计算是不允许的,并且,有限的数据集会导致过度拟合。相反,我们在优化D的k个步骤和G的一个步骤之间交替。只要G变化的足够缓慢,就会使得D保持在其最优解附近。这个过程在算法当中展示。

实际上,方程1可能无法提供足够的梯度使得D学习的比较好。在训练初期,G生成的样本很差时,D会以很高的置信度来拒绝样本,因为它会明显却别与训练数据。因此,基本上就接近饱和。我们选择训练G使得最大化而不是使最小化。这个目标函数使得G和D的动力学稳定点相同,并且在训练初期,该目标函数提供更加强大的梯度。

 

1.训练对抗生成网络时,同时更新判别分布(D,三色虚线)使得D能够区分数据生成分布Px(黑色虚线,理解:真实的数据)中的样本和生成分布Pg(G,绿色实现)当中的样本。下面的水平线为均匀采集的z的区域,上面的水平线是x区域的一部分。朝上的箭头显示映射x=G(z)如何将非均匀分布Pg作用作用在转换后的样本上。G在Pg的高密度区域收敛,且在Pg的低密度区域发散。

(a)考虑一个近似收敛的对抗性模型对:Pg和Pdata相似,且D是一个部分准确的分类器。

(b)算法的内循环当中,训练D来判别数据当中的样本,收敛到,

(c)G的1次更新后,D的梯度引导G(z)流向更可能分类为数据的区域。

(d)训练若干步之后,如果G和D性能足够,他们接近一个稳定点并且都无法继续提高性能时,此时Pg=Pdata。判别器D将无法区分数据分布和生成数据分布,即D(x)=1/2。

算法1:

生产对抗网络的minibatch随机梯度下降训练。判别训练步数,k,是一个超参数。在我们的实验当中使用K=1,使得消耗减小。

 

 

 

For number of training iteration do

For k steps do

    *在噪声先验分布为Pg(z)的m个噪声样本{z1,,,,,,zm}中采一个小批量minibatch

    *在数据分布为Pdata(x)的m个训练样本{x1,,,,,,,xm}中采一个minibatch。

    *通过随机梯度上升来更新判别器。

          【公式】

END for

*在噪声先验分布为Pg(z)的m个噪声样本{z1,,,,,,zm}中采一个minibatch

*通过随机梯度下降法来更新判别器

 

               【公式】

 

基于梯度的更新可以使用任何标准的基于梯度的 学习准则。在我们的实验当中使用了动量准则。

 

4. 理论结果

z~Pz时,获得样本分布G(z),产生器G隐含地定义概率分布Pg,为G(z)获得的样本的 分布。因此,如果模型的容量和训练时间足够大,我们希望算法1收敛到Pdate的良好估计量。这部分的结果是在非参数设置下完成的,例如,我们通过研究概率密度函数空间中的收敛性来表示一个具有无穷大容量的模型。

我们将在4.1节当中看到,这个极小化极大的问题有全局最优解,Pg=Pdata,我们将在4.2节当中使用算法1来优化等式1,从而获得期望的结果。

 

4.1 

首先任意给生成器G,考虑最有判别器D。

命题1:当G固定时,最优判别器D为:

 

 

 

注意到,判别器D的训练目标可以看作是条件概率P(Y=y|x)的最大似然估计,当y=1时,x来自Pdata;当y=0时,x来自Pg.公式1当中的的极小化极大问题可以变形为:

 

//根据公式1,上式要想办法取到最小。

定理1:当且仅当Pg=Pdata时,C(G)达到全局最小。此时,C(G)=-log4.

证明:

  

4.2 算法1的收敛性

命题2.如果G和D有足够的性能,对于算法1当中的每一步,给定G时,判别器能够达到它的最优,并且通过更新Pg来提高这个判别准则。

   Pg收敛到Pdata.

证明:


 

实际上,对抗网络通过函数G(z;**)表示Pg分布的有限簇,并且通过优化**而不是Pg本身。使用一个多层感知机来定义G在参数空间引入了多个临界点。然而,尽管缺乏理论证明,但是在实际当中,多层感知机的优良性表明了一个合理的模型。

5. 实验

 

分别在mnist、TFD、CIFAR-10数据集上进行训练。

G的激活函数:ReLU、sigmoid

D的激活函数:maxout激活

训练D的时候使用dropout

…………

6. 优缺点

缺点:Pg(x)是隐式的,且训练期间,D和G必须很好的同步。

优点:无需马尔科夫链,仅用反向传播来获得梯度

 

 

 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CycleGAN和StyleGANGAN(生成式对抗网络)的两个重要应用。GAN是一种深度学习模型,它可以生成新的数据,比如图片、音频等。CycleGAN和StyleGAN的区别在于它们生成数据的方式以及应用领域。 CycleGAN是一种能够将一种图像转换成另一种图像的模型,例如将马变成斑马,将夏天的图片转换成冬天的图片等。它是由两个生成器和两个判别器组成的。其中一个生成器将一种图像转换成另一种图像,另一个生成器则将转换回来。两个判别器用于判断生成的图片是否真实。CycleGAN的优点是可以无需成对的图片进行训练,而且训练数据集不需要太大,只需要一些相关的图片即可。 StyleGAN则是一种用于生成逼真的图像的模型,它是在GAN的基础上进行了改进。StyleGAN可以生成逼真的人脸、汽车、动物等图像。StyleGAN的优点是可以生成高分辨率的图像,并且可以控制图像的风格和内容。StyleGAN可以使用一个具有连续变化的潜在空间来控制所生成图像的不同部分,从而可以在不同样本之间无缝地转换,这使得生成的图像更加逼真和自然。 总之,CycleGAN和StyleGAN都是GAN的应用,CycleGAN主要用于图像的风格转换,而StyleGAN则用于逼真图像的生成。它们的成功使得生成式对抗网络的应用得到了广泛的关注,并且将继续在图像、视频和音频数据的生成和处理中发挥重要作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值