深度学习第5章 生成对抗网络_第1页
深度学习第5章 生成对抗网络_第2页
深度学习第5章 生成对抗网络_第3页
深度学习第5章 生成对抗网络_第4页
深度学习第5章 生成对抗网络_第5页
已阅读5页,还剩109页未读 继续免费阅读

下载本文档

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

文档简介

第五章生成对抗网络徐俊刚深度学习GAN的基本原理1GAN限定条件优化2GAN迭代式生成优化3GAN结构优化45目录Contents本章人物6GAN的主要应用中英文术语对照7生成方法通过观测数据学习样本的联合概率分布P(X,Y),即生成模型,能够生成符合样本分布的新数据。生成模型在无监督深度学习方面占据主要位置,可以用于在没有目标类标签信息的情况下捕捉观测到或可见数据的高阶相关性。判别方法由数据直接学习决策函数f(X)或者条件概率分布P(Y|X)作为预测的模型,即判别模型。判别方法关心的是对给定的输入X,应该预测什么样的输出Y。GAN产生背景3有监督学习经常比无监督学习获得更好的模型。但是有监督学习需要大量的标注数据,从长远看无监督学习更有发展前景。GAN产生背景4但是支持无监督学习的生成式模型遇到两大困难:首先是人们需要大量的先验知识去对真实世界进行建模,而建模的好坏直接影响着我们的生成模型的表现。真实世界的数据往往很复杂,人们要用来拟合模型的计算量往往非常庞大,甚至难以承受。GAN产生背景52014年,生成对抗网络(GenerativeAdversarialNetworks,GAN)由当时还在蒙特利尔读博士的IanGoodfellow(导师Bengio)提出。2017年入选“MIT评论35岁以下创新人物”。2016年,GAN热潮席卷AI领域顶级会议,从ICLR到NIPS,大量高质量论文被发表和探讨。生成对抗网络的提出/wiki/Ian_Goodfellow6GAN的基本原理17零和博弈8GAN的设计灵感来源于博弈论中的零和博弈(Zero-sumGame),也称零和游戏或者零和竞争。在零和博弈中,参与双方的收益是完全相反的,一方的收益必然导致另一方的损失,总收益为零。换句话说,参与双方的收益是互相对立的,一方的成功意味着另一方的失败。零和博弈9如右图所示,以一个熟悉的石头、剪刀、布游戏为例对零和博弈进行解析。在两个人的石头剪刀布游戏中,每次博弈的结果必然是一个人赢,一个人输,或者平局。设定赢者得分计1分,输者得分计-1分,平局的情况下二者得分均计0分。石头剪刀布游戏中的收益矩阵零和博弈10假设二者进行了多轮博弈,其中甲方选手获胜的次数为N次,输掉的次数为M次,平局次数为P次。这种情况下,乙方选手输掉的次数必然是N次,获胜的次数为M次,平局次数为P次。如此以来,经过多轮博弈之后,甲方选手的总得分为1×N+(-1)×M+0×P,乙方选手的总得分为1×M+(-1)×N+0×P,那么二者得分的总和为1×N+(-1)×M+0×P+1×M+(-1)×N+0×P=0,这就是零和博弈。GAN的基本结构11GAN主要由两部分组成:生成器(Generator)和判别器(Discriminator),它们分别扮演了两个不同的角色。生成器的任务是生成接近真实数据分布的样本,而判别器的任务则是尽可能地区分真实的样本和生成器生成的样本。通过生成器和判别器之间的对抗,GAN可以学习到生成高质量样本的能力。GAN的基本结构12

GAN的基本结构13GAN的目标函数14

GAN的目标函数15

GAN的训练16

GAN的训练17

GAN的训练18GAN的训练19

LearningDRepeatktimesLearningGOnlyOnce20GAN的优势和不足优势任何一个可微分函数都可以参数化D和G(如深度神经网络)。支持无监督方法实现数据生成,减少了数据标注工作。生成模型G的参数更新不是来自于数据样本本身(不是对数据的似然性进行优化),而是来自于判别模型D的一个反传梯度。21GAN的优势和不足不足无需预先建模,数据生成的自由度太大得到的是概率分布,但是没有表达式,可解释性差。D与G训练无法同步,训练难度大,会产生梯度消失问题。GAN限定条件优化222限定条件优化23通过加入一些限定条件,可以让生成器产生更多样、更有价值的数据。例如,如果希望GAN生成属于特定类别的图像,可以在训练GAN时加入额外的标签信息。如加入一个手写数字图像的分类标签,并将这些标签输入生成器,那么生成器的目标就不仅仅是产生逼真的图像,还应该去满足类别这一约束条件,其他约束也类似。CGAN:ConditionalGenerativeAdversarialNetsInfoGAN:

InterpretableRepresentationLearningbyInformationMaximizingGenerativeAdversarialNetsImprovedTechniquesforTrainingGANsGP-GAN:TowardsRealisticHigh-ResolutionImageBlending限定条件优化24CGAN25

CGAN26CGAN27

CGAN28GeneratedMNISTdigits,eachrowconditionedononelabelInfoGAN29InfoGAN不仅可以生成高质量的样本,还可以从生成的样本中理解和学习数据分布中的隐含变量并将其分解成独立的特征。这种独立的特征包括一些与数据分布相关的因素,如旋转角度、颜色和形状等。InfoGAN30

InfoGAN31

InfoGAN32

InfoGAN33假设希望生成手写数字图像,并希望能够控制数字的倾斜角度,那么在InfoGAN中,就可以将手写数字类别(Categorical)作为一个固定输入条件,将倾斜角度(Rotation)和宽度(Width)编码为一个随机噪声变量,生成器可以利用这些变量生成不同类别、特定倾斜角度和宽度的手写数字图像。GAN迭代式生成优化334迭代式生成优化35迭代生成优化方法通过在生成器中引入一种可迭代的机制,对生成的样本进行逐步的精炼和改进,这个机制可以在训练过程中不断更新生成器的参数,以生成更高质量和多样化的样本。代表性的迭代式生成优化工作主要有LAPGAN和StackGAN。LAPGAN:DeepGenerativeImageModelsusingaLaplacianPyramidofAdversarialNetworksStackGAN:TexttoPhoto-realisticImageSynthesiswithStackedGenerativeAdversarialNetworksPPGN:“Plug&PlayGenerativeNetworks:ConditionalIterativeGenerationofImagesinLatentSpace迭代式生成优化36LAPGAN在原始GAN和CGAN中,还只能生成16*16,28*28,32*32这种低像素小尺寸的图片。而LAPGAN首次实现64*64的图像生成。LAPGAN通过级联方式改进GAN以实现从粗略到精细图片的生成。网络的级联思想对后续的研究产生了极大的影响。LAPGAN使用高斯金字塔进行下采样,使用拉普拉斯金字塔进行上采样。37LAPGAN38

LAPGAN

39LAPGAN

40Coarse-to-fine的视觉效果41LAPGAN文本到图像生成解决文本到图像生成分辨率不高的问题,采用与LAPGAN相似的思路,采用coarse-to-fine的思路,构建两个GAN第一个GAN用于根据文本描述生成一张低分辨率的图像。第二个GAN将低分辨率图像和文本作为输入,修正之前生成的图像并添加细节纹理,生成高分辨率图像。42StackGANStackGAN43

44StackGAN

45StackGAN

46StackGAN

47StackGANStackGAN48GAN结构优化449DCGAN:UnsupervisedRepresentationLearningwithDeepConvolutionalGenerativeAdversarialNetworksPix2Pix:Image-to-ImageTranslationwithConditionalAdversarialNetworksPPGN:“Plug&PlayGenerativeNetworks:ConditionalIterativeGenerationofImagesinLatentSpace结构优化50DCGAN将CNN和GAN结合在一起,将CNN作为GAN中的生成器和判别器。需要注意的是,DCGAN并非在生成器和判别器中使用通用的CNN,而是对CNN进行了部分修改:首先,取消了CNN中的所有池化层,在生成器中使用反卷积进行上采样,在判别器中使用加入步长(Stride)的卷积代替池化层。其次,除了生成器的输出层和判别器的输入层,在网络的其它层上都进行了批归一化。再次,移除完全连接的隐藏层,以实现更深层次的体系结构。最后,在生成器中,除了输出层使用Tanh激活函数之外,其它层使用ReLU激活函数,判别器的所有层均使用LeakyReLU激活函数。51DCGANDCGAN所有的pooling层使用Stridedconvolution(步幅卷积,判别网络)和Fractional-stridedconvolutions(分散步幅卷积,生成网络)进行替换。52DCGAN53DCGAN54Pix2Pix55Pix2Pix面向图像翻译任务,是基于前面讲述的CGAN进行优化而实现的。Pix2Pix在图像翻译中将输入图像作为条件,学习从输入图像到输出图像之间的映射,从而得到指定的输出图像。Pix2Pix56

Pix2Pix57

Pix2Pix58Pix2Pix的实验结果表明,CGAN是适用于图像到图像翻译任务的一种很有前景的方法,尤其是那些涉及高度结构化的图像输出任务。从应用角度来看,Pix2Pix在标签转图像、黑白图像转彩色图像、边缘图转为图像等任务中表现突出,Pix2Pix也可以在更多涉及到图像翻译的实际应用中发挥作用。GAN的主要应用559GAN的主要应用60图像生成图像转换图像超分辨率重建音乐生成异常检测图像生成61GAN在图像生成(ImageGeneration)中的主要方法分为直接方法、迭代方法和分层方法三种。图像生成62所有属于直接方法的GAN图像生成方法都采用一个生成器和一个判别器的结构,许多早期的GAN都属于这一类,如GAN、InfoGAN和DCGAN等。分层方法使用了两个生成器和两个判别器,这类方法的核心思想是将图像分成两个部分:“样式结构”和“前景背景”,两个生成器的关系可以是并行或者串行的关系。分层方法的代表性工作是SS-GAN,它包含两个部分:结构GAN(Structure-GAN)生成一个表面法线图,风格GAN(Style-GAN)以表面法线图为输入,生成二维图像。两个GAN首先独立训练,然后通过联合学习融合在一起。图像生成63SS-GAN图像生成64SS-GAN图像生成65SS-GAN图像生成66迭代方法与分层方法不同,该类方法使用具有相似或者相同结构的多个生成器,这些生成器从粗略到精细进行图像生成,与分层方法不同的是相同结构的生成器可以在迭代过程中共享权重。LAPGAN是第一个使用拉普拉斯金字塔迭代方法从粗略到精细生成图像的GAN模型,其中多个生成器执行相同的任务,具体来说,LAPGAN中的每个生成器将前一个生成器得到的图像和噪声作为输入,输出更加清晰的结果,这些生成器的区别在于它们的输入和输出尺寸大小。LAPGAN在图像生成领域中的表现优于原始GAN。图像转换67图像转换(ImageConversion)是指将一张图像转换为另一张图像,这在计算机视觉中是一个非常重要的任务。前文介绍的Pix2Pix模型是GAN在图像转换领域的一个经典模型,该模型将CGAN中的损失函数与L1正则化损失函数相结合,尝试让生成器不仅仅可以欺骗判别器,并且能够尽可能地生成接近真实图像的图像。图像转换68CycleGAN的设计思路:如果有两个域A和B,想要将域A中的图像转换成域B中的图像,同时还想保持语义不变,那么可以训练两个生成器,分别用于将A域图像翻译成B域图像、将B域图像翻译成A域图像。图像转换69CycleGAN包含两个判别器和两个生成器:生成器A2B:将真实马的图片转换成相同形状的斑马图片(图的上半部分)或者将生成的假的马的图片转换成相同形状的斑马图片(图的下半部分);生成器B2A:将真实的斑马图片转换成相同形状的马的图片(图的下半部分)或者将生成的斑马图片转换成相同形状的马的图片(图的上半部分);判别器A:判断真实的马的图片或者生成的马的图片是否为真;判别器B:判断真实的斑马图片或者生成的斑马图片是否为真。图像转换70

图像转换71CycleGAN的一个重要应用是域迁移,可以将图片转换为不同风格的图片。图像转换72DualGAN是一种基于对偶学习的图像转换模型,与CycleGAN类似,这个模型也可以实现两个域之间的图像转换。DualGAN使用自编码器和GAN结合的网络架构,同时对源域和目标域进行图像转换,并且通过对偶学习方式进行优化。图像转换73

图像转换74

图像转换75

图像超分辨率重建76图像超分辨率重建(ImageSuper-ResolutionReconstruction)是指一种将一幅低分辨率图像重建出高分辨率图像的技术。很多GAN的变种被用于图像超分辨率重建,效果很好,如SRGAN、FSRAGAN等,这里主要介绍SRGAN。图像超分辨率重建77SRGAN的生成网络由常规的卷积层组成并引入了残差结构和像素重排来进行高分辨率图像生成。生成器的网络结构由16个重复的块堆叠而成,每一个块都包含“卷积/批归一化/PReLU激活函数/卷积/批归一化/残差相加”的结构。判别器的网络结构与生成器的网络结构类似,包含8个卷积层,从第2个卷积层开始,每一个卷积层后面加一个批归一化层来归一化中间层的分布。图中字符串“k3n64s1”中的k3代表卷积核的大小为3,n64代表卷积输出的通道数为64,s1代表步长为1,下面两个不同指向的箭头表示残差连接。图像超分辨率重建78生成器的结构判别器的结构图像超分辨率重建79

图像超分辨率重建80

图像超分辨率重建81

音乐生成82与图像与文本相比,音乐可以说是一种特殊的语言,是表达人类思想感情、反映人类现实生活的一种艺术形式。GAN除了可用于图像生成之外,也适用于音乐的生成。典型的音乐生成方法有C-RNN-GAN和MuseGAN。音乐生成83C-RNN-GAN同样由一个生成器和一个判别器组成,只是生成器和判别器采用LSTM双向循环神经网络和全连接神经网络的组合结构。由于数字乐器音乐往往使用MIDI格式进行不同乐器迁移,C-RNN-GAN的数据集使用四个实值标量对音乐信号的数据进行建模:音调长度、频率、强度和自上一个音调以来花费的时间。因此,C-RNN-GAN的生成器使用随机变量生成一个由上述四值标量组成的四元组并送入判别器进行处理。C-RNN-GAN的结构如下图所示。音乐生成84音乐生成85

音乐生成86复调音乐(PolyphonicMusic)中,音符用来组成和弦、琶音或旋律,因此仅考虑音符的时间顺序是不合适的。在考虑基本假设和网络架构差异的情况下,MuseGAN提出了三个基于GAN框架的符号多音轨音乐生成模型:干扰模型、作曲家模型和混合模型,同时提出了一些生成音乐的评估标准(Metrics)。音乐生成87

音乐生成88

音乐生成89即兴创作模型统筹创作模型音乐生成90

音乐生成91混合模型音乐生成92以上三种模型只能逐小节生成多音轨音乐,而小节之间可能没有连贯性。因此需要一个时序模型来生成多小节音乐。MuseGAN给出了两种时态模型:重头(FromScratch)生成模型与条件音轨(Track-conditional)生成模型。音乐生成93

音乐生成94

音乐生成95

音乐生成96异常检测97异常检测(Anomalydetection)是指识别和分类图像或其它数据中的异常物品、异常行为或异常数据。传统的异常检测通常使用一些基于统计学的方法,如密度估计方法、聚类方法等,但这些方法通常需要足够多的异常先验知识,并且泛化能力容易受到数据分布的影响。GAN出现之后,人们开始使用它进行异常检测,取得了很好的效果。两个代表性工作是AnoGAN和GANomaly。异常检测98AnoGAN可以自动地检测图像中的异常部分,无需人工标注或先验知识。AnoGAN模型使用了一种称作“异常重构(AnomalyReconstruction)”的方法,通过将随机噪声生成的图像重构成与输入图像相似的图像,然后通过计算两者的误差来检测异常数据。异常检测99AnoGAN包含以下三个组成部分:生成器:AnoGAN使用生成器来生成与正常数据类似的样本。生成器接受一个随机向量作为输入,并输出生成的样本。判别器:判别器的作用是区分真实的正常数据与生成器生成的数据。它接受一个样本作为输入,并输出判断该样本是真实样本还是生成样本的概率。异常重构:在训练完成后,AnoGAN使用了一种称为反向映射(InverseMapping)的技术来计算一个异常分数,用于衡量测试样本与训练样本之间的差异,分为以下三个步骤:异常检测1001)从随机噪声z中生成一系列图像x',其中有一张图像最接近于输入图像x。2)对于最接近输入图像的生成图像,计算其与输入图像之间的重构误差,误差越小,则生成的图像越接近于该输入图像。3)通过不断迭代,将重构误差定义为距离度量,找到输入图像周围最近的随机噪声,然后将其作为异常标记区域。异常检测101

异常检测102使用AnoGAN进行模型训练和异常检测的流程如图所示。首先用正常数据训练获得模型,然后使用该模型对未知数据进行异常检测。异常检测103GANomaly在AnoGAN的基础上进行了改进,不再比较两个图像的分布,而是比较图像编码的潜在向量,如图所示。异常检测104具体来说,GANomaly的生成器并没有直接根据随机噪声采样生成数据,而是通过将输入数据编码成潜在向量再解码来生成数据,判别器则用来判断输入数据中哪些是正常的、哪些是异常的。对于正常样本数据,编码、解码再编码得到的潜在向量和第一次编码得到的潜在向量差异不会特别大。但是,使用基于正常样本训练好的编码器、解码器对未知的异常进行处理时,两者的差距往往是比较大的。异常

温馨提示

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

评论

0/150

提交评论