人工智能算法与实践-第17章 生成对抗网络_第1页
人工智能算法与实践-第17章 生成对抗网络_第2页
人工智能算法与实践-第17章 生成对抗网络_第3页
人工智能算法与实践-第17章 生成对抗网络_第4页
人工智能算法与实践-第17章 生成对抗网络_第5页
已阅读5页,还剩17页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

目录第17章生成对抗网络人工智能算法与实践—1

17.4算法总结17.1算法概述17.2算法改进17.3算法实现01算法概述PartONE—2

—3

17.1.1算法介绍生成对抗网络(GenerativeAdversarialNetworks,GAN)属于深度学习模型的领域,同时也是近年来复杂分布上无监督学习最具前景的方法之一。该模型主要通过生成模型和判别模型的互相博弈学习产生相当好的输出。对于GAN而言,其网络结构由生成器和判别器组成。在图像领域,对于生成器而言,输入一个向量,输出一幅图片。向量的某一维度对应图片的某个特征。生成器的主要任务是学习真实图片集,从而使得自己生成的图片更接近于真实图片,以骗过判别器。而对于判决器而言,输入一张图片,来判别这张图是来自真实样本集还是假样本集,假如输入的是真样本,则输出就接近1;相反,如果输入的是假样本,则输出接近0,从而达到很好的判别目的。

生成器的工作过程

判别器的工作过程—4

算法的训练过程是首先固定生成器,试图训练判别器,让判别器能够将真实图像分值为1,生成图像分值为0,然后固定判别器,试图训练生成器,让生成图像的分值为1,如此循环迭代。在其训练过程中,生成网络G的目的是尽量生成真实的图片去欺骗判别网络D,而D的目的是尽量把G生成的图片和真实的图片分别开来,使G和D构成了一个动态的“博弈过程“。其流程结构为:

(1)初始化生成器和判别器。

(2)在每次迭代过程中:1)固定G,只更新D的参数,从准备的数据集中随机选择一些,再从G的输出中选择一些。相当于D有两种input,如果输入来自真实的数据集则给高分,如果是G产生的数据,则给低分。2)固定住D的参数,更新G。将一个向量输入G,得到一个输出,将输出给D,然后会得到一个分数,这一阶段D的参数已经固定住了,G需要调整自己的参数使得这个输出的分数越大越好。17.1.2算法原理—5

24631从数据集Pdata(x)的样本中挑出m个样本点:从一个分布(可以是高斯,正态)中sample出m个向量:将第2步中的z作为输入,获得m个生成的数据更新D的参数

来最大化

,我们要使得

越大越好,那么下式中就要使得

越小越好,也就是去压低G的分数:从一个分布中sample出m个向量

,注意这些sample不需要和步骤2中的保持一致。更新G的参数使得其最小化:所以其目标函数(损失函数)V(D,G)为:17.1.3算法的具体操作502PartTWO—6

算法改进目标函数进行优化时,最直观的处理方法就是将生成网络G和判别网络D进行交替迭代。在一段时间内,固定G网络内的参数,来优化网络D,另一段时间则固定D网络中的参数,来优化G网络中的参数,从而形成两个网络。图中假设刚开始的为真实样本分布,生成样本分布和判别模型,其分别对应图中的点状线,实线和虚线,那么有以下结论:当固定生成模型,而去优化判别模型时,会发现判别模型会对点状线和虚线有很好的区分效果。固定判别模型,改进生成模型时,会发现生成模型生成的数据分布,也就是实线,会不断往真实数据分布(点状线)靠拢,从而使得判别模型很难分离判断。结论1结论2—7

(a)不合适的模型(b)更新D后(c)更新G后(d)更新D后混合策略均衡17.2.1目标函数的优化—8

CGAN:CGAN在生成模型(D)和判别模型(G)的建模中均引入条件变量y,使用额外信息y为模型增加条件,从而可以指导数据生成过程。CGAN是对原始GAN的一个扩展,生成器和判别器都增加额外信息y为条件,y可以是任意信息,例如类别信息,或者其他模态的数据。DCGAN:DCGAN的改进主要是在网络结构上,极大地提升了GAN训练的稳定性以及生成结果的质量,同时为GAN的训练提供了一个很好的网络拓扑结构。WGAN:WGAN主要从损失函数的角度对GAN做了改进,损失函数改进之后的WGAN即使在全连接层上也能得到很好的表现结果。CGANDCGANWGAN17.2.2算法的改进03算法实现PartTHREE—9

01020304载入数据首先载入数据并进行划分,划分成两类数据,然后进行归一化处理并封装。建立模型建立模型,其分别为生成器模型和判别器模型。定义函数定义损失函数和优化器。迭代训练进行迭代训练,训练生成器和判别器并生成图片,最后得其结果。—10

算法在实现过程中,就是定义一个生成器和一个判别器,让生成器尽可能地生成真实的图片,而判别器尽可能地将生成器生成的图片和真实图片分离,达到识别的目的。其算法的步骤大致如下:17.3.1算法的实现过程—11

为了加深我们对GAN的了解,下面我们用Python代码来实现它们的博弈过程。算法的步骤大致如下:17.3.2核心代码展示1.数据读入

2.生成器模型17.3.2核心代码展示—12

3.判别器模型

5.迭代训练4.定义损失函数—12

85%从图中可以看出GAN训练10次后很模糊,但是随着训练次数的增加,图片会慢慢变得清晰。这就是GAN的训练过程,通过学习真实图片的分布后生成的图像结果。17.3.2核心代码展示—13

GAN运行10次结果GAN运行100次结果应用四半监督学习方面应用一图像方面应用二文本方面应用三通信加密方面1图像(1)图像超分辨率GAN可以通过学习,在一定程度上得到高分辨率清晰图像的分布,从而生成一幅质量较好的高分辨清晰图像。同时也能减小图像的分辨率,使图像越来越模糊。(2)图像编辑给GAN输入一张原始图像,可以生成各个版本的图像,从而进行图片的编辑。(3)图像转换GAN应用于图像转换领域,将图像转换成另一种形式的图像,其生成器的输入是一个随机向量,输出的是图像,这里生成器的输入是图像,输出的是转换后的图像。2文本GAN在图像领域应用颇多,但是在文本领域却作用不大,主要是NLP中的数据都是离散数据,GAN不适合学习离散的数据分布,但是并不意味着没法学,谷歌大脑团队发明了一个结合强化学习的MaskGAN,可用于完形填空,具体任务是补全句子中的缺失部分。17.3.3算法的应用—14

3通信加密我们利用GAN加密技术来保护数据,其加密技术涉及3个方面,我们可以用Alice、Bob和Eve来展示。通常,Alice和Bob是安全通信的两端,Eve则监听它们的通信,试图逆向找到原数据信息。通过GAN技术,Alice和Bob被共同训练,在学习规避Eve监听的同时,成功实现信息的传递。在进行大量训练后,Bob能够从Eve的行为中学习并保护通信,在避免被攻击的同时实现准确的消息重构。其通信加密过程图下图所示:—15

4半监督学习对于多分类问题,若只有少量标注过的样本和大量未标注过的样本,可以利用GAN思想合理使用这些未标注数据,即通过学习这些未标注样本,得到样本数据的分布,从而为监督学习提供训练样本,辅助其训练过程。应用四半监督学习方面应用一图像方面应用二文本方面应用三通信加密方面17.3.3算法的应用(1)用GAN拟合二次函数我们用GAN来拟合二次函数,分别有G网络和D网络两种网络。17.3.4算法案例—16

运行结果如图所示,可以看到G网络生成的分布(绿色)已经慢慢地接近真实分布(蓝色),并且D网络的判别能力也接近50%,G网络的最优值已到达很好的收敛效果。训练开始时的数据生成分布训练结束时的数据生成分布

17.3.4算法案例(2)用GAN生成假图片

首先需要一个生成小狗图片的生成器,还要有一个判断小狗图片真假的判别器。利用生成器生成一张假图,同时获取一张真图,再用判别器进行判别。把真图与假图进行拼接,然后打上标签,真图标签是1,假图标签是0,送入训练的网络进行训练。首先将数据传入生成器中,然后生成器生成图片之后,就会把图片传入判别器中,标签此刻传入的是1,为真实的图片,但实际上是假图,此刻判别器就会判断为假图,然后模型就会不断调整生成器参数,直到判别器认为这是真图。此刻判别器与生成器达到了一个平衡。也就是说生成器产生的假图,判别器已经分辨不出来了。所以继续迭代,提高判别器精度,如此往复循环,直到生成连人都辨别不了的图片。

—17

造假过程04算法总结PartFOUR—18

采用的是无监督学习方式训练方式反向传播和大部分现有的生成网络算法结合使用其框架能训练任何一种生成器网络算法的优势—19

模型过于自由不可控解决不收敛问题难以训练同步问题算法的不足—20

在实际应用

温馨提示

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

评论

0/150

提交评论