现代机器学习 课件 第13章 生成对抗网络_第1页
现代机器学习 课件 第13章 生成对抗网络_第2页
现代机器学习 课件 第13章 生成对抗网络_第3页
现代机器学习 课件 第13章 生成对抗网络_第4页
现代机器学习 课件 第13章 生成对抗网络_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第13生成对抗网络13.1生成对抗网络简介13.2网络结构13.3训练过程13.4评价指标13.5训练生成对抗网络面临的挑战13.6生成对抗网络经典算法13.7生成对抗网络的应用本章小结

13.1生成对抗网络简介

生成对抗网络(GenerativeAdversarialNetwork,GAN)是由Goodfellow等人在2014年提出的。GAN的思想自提出就受到了广泛关注。

GAN是一种结构化的概率模型,通过图像、音频和数据来学习复杂的高维分布。生成对抗网络由两个网络组成:一个是生成器(Generator,G),用于捕获数据分布并生成伪样本;另一个是判别器(Discriminator,D),用于预测输入数据是来自真实数据分布还是生成器生成的数据分布的概率。生成器G和判别器D分别作为博弈的两方,学习真实的数据分布,生成与真实数据一样的数据。

利用梯度下降技术,由生成器和判别器进行最小最大博弈直到纳什均衡,此时生成器可以生成与真实数据相似的数据,而判别器不能区分真实数据与生成器生成的数据。为了更新生成器和判别器的梯度,判别器通过计算两个分布之间的差异所带来的损失来接收梯度信号。因此,生成对抗网络的三个主要设计和优化组件是:网络结构、目标(损失)函数和优化算法。当模型达到纳什均衡时,可以认为生成器捕捉到了真实数据分布。图13.1显示了2014—2018年生成对抗网络图像生成能力的进展情况。图13.12014—2018年生成对抗网络图像生成能力的进展情况

13.2网络结构

生成对抗网络学习将简单的潜在分布映射为更复杂的数据分布。生成对抗网络基于两个网络(即一个生成器和一个判别器)博弈的思想,使生成器和判别器相互竞争。生成对抗网络可以是深度生成模型或生成神经模型的一部分,其中生成器和判别器通过神经网络参数化,并在参数空间中进行更新。

GAN的生成模型用来获取真实的数据分布,判别模型用来预测输入是来自真实数据的概率。GAN输入真实数据x和随机噪声向量z,同时训练G和D两个模型。GAN的网络结构如图13.2所示,G的目的是令D(G(z))足够大,最大化预测生成样本为真实数据的概率,尽可能地生成与真实数据相似的数据,使判别器判断不出来生成的数据G(z)是假数据;D的目的是使D(G(z))足够小,尽可能正确地判断输入数据是真实数据还是假数据。

判别器输入一个0或1的数,表示数据来自真实数据的概率,1表示输入的数据来自真实数据,0表示输入的数据是生成器生成的假数据。判别器输入数据对(xreal,1)和(xfake,0)经过多次的对抗调整,最后使生成器和判别器达到一个动态平衡,即纳什均衡(即自身利益最大化,G和D没有任何一方再需改变其策略的均衡状态)。图13.2生成对抗网络的结构

13.3训练过程

生成器的输入为随机噪声,判别器则接收输入的真实数据和生成器生成的数据;训练过程中固定生成器或判别器的梯度,更新另一方的梯度。判别器D根据式(13-1)进行随机梯度上升更新,生成器G根据式(13-2)进行随机梯度下降更新。

式中:x表示真实数据;z表示随机噪声向量;G(z)表示生成器生成的样本;D(x)表示判断真实数据为真实数据的概率;D(G(z))表示判断生成器生成的数据为真实数据的概率。生成器和判别器交替迭代,其中G和D都极力优化自己的网络,形成一种竞争对抗状态,直到模型收敛,G、D双方达到纳什均衡。但是在训练初期,若生成器的生成效果很差,则判别器可以轻松地判别样本真假,log(1-D(G(z)))很容易达到饱和,因此选择最大化log(D(G(z))),而不是最小化log(1-D(G(z)))。

利用交叉熵损失函数计算判别器的损失。判别器的损失函数lD为

生成器与判别器对抗竞争,它尝试将式(13-3)最大化,因此生成器的损失函数可写为

最终的损失函数l为

上述损失函数仅对单个数据有效,若考虑整个数据集,需添加数据期望:

实际上,式(13-6)中的log(1-D(G(z)))饱和,并使不充分的梯度流过G,即梯度值变小,停止学习。为了克服梯度消失问题,式(13-6)中的目标函数被重新定义为两个单独的目标:

在式(13-7)中进行计算后,可以使用反向传播来更新模型参数。这两个不同目标的更新规则如下:

在足够的训练迭代次数下,如果生成器和判别器具有足够的能力,生成器可以将一个简单的潜在分布pg转换为更复杂的分布;当pg收敛到pdata时,即可认为pg=pdata。

13.4评价指标

生成对抗网络模型已被广泛用于无监督学习、监督学习和半监督学习等。为了设计更好的生成对抗网络模型,需要开发或使用适当的定量度量指标来克服定性度量的局限性。近年来,随着新模型的出现,多个生成对抗网络评价指标被引入,进行定量度量。

13.4.1InceptionScore(IS)

IS指标首先评价生成对抗网络生成图像的质量好坏。但是图像质量是一个非常主观的概念,不够清晰的宠物狗图片和线条足够明晰但表述抽象的图片均应算作低质量图片。计

算机不太容易认识到这个问题,最好可以设计一个可计算的量化指标。

结合这两个要求,IS定义为

式中运用KL散度(Kullback-LeibierDivergence)衡量两个概率分布的距离。KL散度的数值非负,值越大,说明这两个概率分布越不相像。KL散度的公式如下:

IS指标作为论文中最常出现的评价标准,在一定程度上可以反映出生成图片的质量以及多样性。但也存在一些问题,例如数值受样本选取的干扰较大,不适合在内部差异较大的数据集上使用,分类模型和生成模型应该在同一个数据集上训练,无法区分过拟合等。

13.4.2ModeScore(MS)

MS指标是IS指标的改进版本。与IS指标不同的是,MS指标可以测量实际分布与生成分布的差异性,数值越高,效果越好。具体公式如下:

式中:p*(y)表示由训练数据集的样本得到的标签向量的类别概率;p(y)表示由生成样本得到的标签向量的类别概率。与IS指标相似的是,MS指标同样考虑了生成样本的质量与多样性的问题。

13.4.3FréchetInceptionDistance(FID)

计算IS指标时只考虑了生成样本,没有考虑真实数据,即IS指标无法反映真实数据和样本之间的距离。IS指标判断数据真实性的依据源于InceptionV3模型的训练集——ImageNet,

因此凡是不像ImageNet的数据,都被认为是不真实的。

FID计算真实样本与生成样本在特征空间上的距离。具体步骤是:首先利用Inception网络来提取特征,然后使用高斯模型对特征空间进行建模,再去求解两个特征之间的距离。

较低的FID意味着较高图片的质量和多样性。具体公式如下:

其中:μr和μg分别表示真实图片和生成图片的特征的均值;Cr和Cg分别表示真实图片和生成图片特征的协方差矩阵。当生成图片和真实图片特征越相近时,均值之差的平方越小,

协方差也越小,则两者之和FID也越小。

相比较IS来说,FID对噪声有更好的鲁棒性。因为FID只是把InceptionV3模型作为特征提取器,并不依赖它判断图片的具体类别,因此不必担心InceptionV3的训练数据和生成模型的训练数据不同。同时,由于FID直接衡量生成样本分布和真实样本分布之间的距离,也不必担心生成器只能产生几个类别的样本的问题,即模式崩溃问题。

13.5训练生成对抗网络面临的挑战训练生成对抗网络时经常出现如下几个问题:(1)训练过程难以收敛,出现振荡;实验结果随机,难以复现。(2)训练收敛,但是出现模式崩溃。例如,我们用MNIST数据集训练生成对抗网络模型,训练后的生成对抗网络只能生成10个数字中的某一个;或者在人脸图片的实验中只生成某一种风格的图片。(3)用真实图片训练后的生成对抗网络模型涵盖所有模式,但是同时会生成一些没有意义或者在现实中不可能出现的图片。(4)生成器梯度消失,无法更新模型参数。

13.5.1模式崩溃

如图13.3所示,给定数据集,用编码映射将其映射入特征空间中,每个数字对应一个团簇,即MNIST数据集的概率分布密度函数具有多个峰值,每个峰值被称为是一个模式

(Mode)。理想情况下,生成模型应该能够生成10个数字,如果只能生成其中的几个,而错失其他的模式,则称这种现象为模式崩溃(ModeCollapse)。图13.3MNIST数据集嵌入在平面上,10个团簇对应着10个模式

13.5.2不收敛和不稳定性

大多数深度模型的训练都使用优化算法寻找损失函数全局最小点。优化算法通常是个可靠的梯度下降过程。生成对抗网络要求生成器和判别器双方在博弈的过程中达到势均力

敌。每个模型(例如生成器)在更新的过程中梯度成功地下降,同样的更新可能会造成博弈的另一个模型(例如判别器)梯度上升。甚至有时候博弈双方虽然最终达到了均衡,但双方在不断地抵消对方的进步,并没有使双方同时达到一个最优点。对生成器和判别器同时使用梯度下降,使得某些模型收敛但不是所有模型均收敛。

13.5.3生成器梯度消失

在GAN的训练过程中,初始的随机噪声分布与真实数据分布之间的距离相差太远,两个分布之间几乎没有任何重叠的部分,此时判别器能够准确区分真实数据和生成的假数据,达到判别器的最优化,造成生成器的梯度无法继续更新甚至梯度消失。

13.6生成对抗网络经典算法

13.6.1InfoGAN不同于传统生成对抗网络利用的是单一的非结构化噪声向量z,如图13.4所示,InfoGAN将输入噪声矢量分解为两部分:被视为不可压缩的随机噪声向量z;针对真实数据分布的结构化语义特征的潜在编码c。图13.4InfoGAN的结构

13.6.2ConditionalGAN(cGAN)

如果判别器和生成器都以一些额外信息y为条件,那么生成对抗网络可以扩展为条件模型。条件生成对抗网络(ConditionalGAN,cGAN)的目标函数为

通过比较式(1314)和式(1315),可以看出InfoGAN的生成器与cGAN的生成器类似。但是InfoGAN的潜在编码c是未知的,c是通过训练得到的。此外,InfoGAN还有一个额外的网络Q来输出条件变量Q(c|x)。

基于如图13.5所示的cGAN,我们可以在类标签、文本、边界框和关键点上生成样本。cGAN已经被用于卷积人脸生成、人脸老化、图像转换以及合成具有特定场景属性的室外

图像、自然图像描述和3D感知场景操作。Chrysos等人提出鲁棒的cGAN。Thekumparapil等人讨论了条件GAN对噪声标签的鲁棒性。模式搜索生成对抗网络(MSGAN)提出了简

单有效的正则项来解决cGAN的模式崩溃问题。图13.5条件生成对抗网络

用于图像翻译的方法pix2pix使用cGAN和稀疏正则化进行图像到图像的转换。在生成对抗网络中,生成器学习从随机噪声向量z到G(z)的映射。而pix2pix的生成器没有噪声输入,它的一个新颖之处在于其生成器学习从观察图像y到输出图像G(y)的映射,例如从灰度图像到彩色图像。pix2pix方法的目标函数可以表示为

13.6.3DeepConvolutionalGAN(DCGAN)

DCGAN体系结构的三个关键特性如下:

(1)总体架构主要基于全卷积网。这种体系结构既没有池化层,也没有“反池化”层。当生成器需要增加特征的空间尺寸时,使用步长大于1的转置卷积(反卷积)即可。

(2)对生成器和判别器的大部分层进行批归一化处理,批归一化可以解决初始化差的问题,帮助梯度传播到每一层,并防止生成器把所有的样本都收敛到同一个点。此外,直接将批归一化应用到所有层会导致样本振荡和模型不稳定,因此在生成器的最后一层和判别器的第一层不进行批归一化处理,这样神经网络就可以学习到数据分布的正确均值和尺度。

(3)利用Adam优化器代替SGD(随机梯度下降)

图13.6是DCGAN针对LSUN数据集的生成网络模型架构,但它并不适用于所有数据集,当数据规模发生变化时,对应的卷积架构就需要进行改变。例如对于MNIST数据集,G和D的网络架构都应相应地减小,否则不能拟合。图13.6用于LSUN数据集的DCGAN生成器

为了验证DCGAN的生成效果,使用LSUN数据集训练DCGAN模型。经过一次循环和五次循环的训练和收敛,生成器网络得到的效果分别如图13.7和图13.8所示。图13.7一次训练后DCGAN生成器生成的卧室图13.8五次训练后DCGAN生成器生成的卧室

13.7生成对抗网络的应用

13.7.1图像超分辨SRGAN(Super-ResolutionGAN)是用于超分辨的生成对抗网络,其结构如图13.9所示。图13.9SRGAN结构

1.内容损失

像素方式的MSE(均方误差)损失计算公式为

式中:ILR表示输入的低分辨率图像;IHR表示ILR的高分辨率版本,即ILR是通过对IHR使用高斯滤波器,且进行下采样(采样因子为r)而得到的;W和H为ILR的长和宽;rW和rH为IHR的长和宽。

SRGAN不再依赖像素损失,而是使用更接近感知相似性的损失函数。SRGAN根据预训练的19层VGG网络的ReLU激活层来定义VGG损失。用φi,j表示在VGG19网络内的第i个最大化层之前通过第j个卷积(激活之后)获得的特征映射。再将VGG损失定义为重建图像GθG(ILR)的特征表示与参考图像IHR之间的欧氏距离:

这里,Wi,j和Hi,j描述VGG网络内各个特征图的尺寸。

2.对抗损失

除了到目前为止所描述的内容损失,SRGAN还将GAN的生成器部分添加到损失中。这鼓励网络通过尝试愚弄判别器网络来支持保留自然图像的解决方案。生成损失lSRGen基于所有训练样本上的判别器DθD

(GθG(ILR))的概率定义为

13.7.2人脸生成

生成对抗网络生成的人脸质量逐年提高。从图13.1可以看出,前期的基于原始生成对抗网络生成的人脸视觉质量较低,只能作为概念证明。Radford等人使用了更好的神经网

络结构——深度卷积神经网络,用于人脸生成。Roth等人解决了GAN训练的不稳定性问题,使得更大的例如ResNet的体系结构可以被使用。Karras等人利用多尺度训练,以高保

真度生成百万像素人脸图像。

13.7.3纹理合成

纹理合成是图像领域的一个经典问题。Markovian-GAN(MGAN)是一种基于生成对抗网络的纹理合成方法。通过捕捉马尔可夫图像块的纹理数据,MGAN可以快速生成风格化的视频和图像,从而实现实时纹理合成。SpatialGAN(SGAN)是第一个将无监督学习的生成对抗网络应用于纹理合成的。PeriodicSpatialGAN(PSGAN)是SGAN的变体,它可以从单个图像或复杂的大数据集中学习周期性纹理。

13.7.4视频领域的应用

生成对抗网络也被应用于进行视频的生成。Villegas等人提出了一种利用生成对抗网络预测视频序列中未来帧的深度神经网络。DR-net提出了一种基于生成对抗网络的视频图

像分离表示网络。video2video提出了一种基于生成性对抗学习框架的视频合成方法。MoCoGan用来分解动作与内容,以生成视频。

13.7.5应用于自然语言处理

IRGAN被提出用于信息检索(InformationRetrieval,IR)。生成对抗网络也已用于文本生成和语音语言处理。KbGAN

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论