第八章 人工神经网络与深度学习(下).pdf

上传人:奉*** 文档编号:4059943 上传时间:2021-01-13 格式:PDF 页数:70 大小:2.95MB
返回 下载 相关 举报
第八章 人工神经网络与深度学习(下).pdf_第1页
第1页 / 共70页
亲,该文档总共70页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第八章 人工神经网络与深度学习(下).pdf》由会员分享,可在线阅读,更多相关《第八章 人工神经网络与深度学习(下).pdf(70页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、1 回顾:FNN、CNN 特点 首先我们回顾一下FNN、CNN的特点。首先我们回顾一下FNN、CNN的特点。 从网络结构上来看,FNN和CNN都是典型的前馈 神经网络 神经元在层与层之间连接神经元在层与层之间连接 同层神经元之间无连接同层神经元之间无连接 信息从输入层向输出层单向传递信息从输入层向输出层单向传递 3 FNN、CNN处理序列数据的局限性 FNN和CNN在图片分类、识别方面FNN和CNN在图片分类、识别方面 取得了很大成功。但有一类数据,取得了很大成功。但有一类数据, 与时间有关:比如连续语音、连与时间有关:比如连续语音、连 续文本、视频、金融数据如股票续文本、视频、金融数据如股票

2、 波动。波动。 这些数据有独特的特点: (1)整个数据由若干同类型单(1)整个数据由若干同类型单 元组成,称为“帧”,如语音中元组成,称为“帧”,如语音中 的音素、文本中的字词、视频中的音素、文本中的字词、视频中 的每一帧图像、每个时间点上股的每一帧图像、每个时间点上股 票价格。票价格。 各种数据 中的“帧” 4 FNN、CNN处理序列数据的局限性 (2)数据中的所有帧,按照时间先(2)数据中的所有帧,按照时间先 后顺序有序排列,构成“序列”。后顺序有序排列,构成“序列”。 因此这类数据又称为序列数据、或因此这类数据又称为序列数据、或 者时间序列。者时间序列。 (3)最重要的是,在一个序列中,

3、(3)最重要的是,在一个序列中, 帧与帧之间存在相互的依赖关系,帧与帧之间存在相互的依赖关系, 不再满足独立性假设。比如语音中不再满足独立性假设。比如语音中 的前后音素是关联的,语言中前言的前后音素是关联的,语言中前言 后语也是关联的,视频则由连续微后语也是关联的,视频则由连续微 量变化的图像构成,股票的价格依量变化的图像构成,股票的价格依 赖于之前的价格。赖于之前的价格。 (4)序列中帧的长度不固定。这也(4)序列中帧的长度不固定。这也 比较容易理解。比较容易理解。 5 FNN、CNN处理序列数据的局限性 FNN和CNN在处理序列数据时 非常困难。 无法处理变长度数据,因此只无法处理变长度数

4、据,因此只 能以帧为单位,或者以固定长能以帧为单位,或者以固定长 度数据为单位处理。度数据为单位处理。 全部或者部分丧失数据之间前全部或者部分丧失数据之间前 后依赖性。后依赖性。 一次处理长度不能过长,容易一次处理长度不能过长,容易 引起参数爆炸。引起参数爆炸。 6 解决问题的思路: 其实这个问题在卷积网络提出时也遇到过。 之所以提出卷积网络,就是因为处理图片之所以提出卷积网络,就是因为处理图片时,原始数据(像素)规模太大,时,原始数据(像素)规模太大, 用FNN无法一次处理。用FNN无法一次处理。 CNN做出的改进,就是将一小团神经元作为“卷积CNN做出的改进,就是将一小团神经元作为“卷积核

5、”,以卷积运算的方式核”,以卷积运算的方式 处理,按照图片像素排列的顺序,依次处理整张处理,按照图片像素排列的顺序,依次处理整张图片,然后汇总到一起,图片,然后汇总到一起, 得到抽象表示。得到抽象表示。 比照CNN,对于序列数据,是否可以也使用一个小的“神经元团”, 按照序列顺序依次处理各个时间点上的信息,最后得到汇总信息? 这种结构就是循环神经网络。循环神经网络(Recurrent Neural Network,RNN)在1990年就被提出,与当时的CNN类似,也没有得到 很多关注。 7 RNN的结构 通过介绍,我们应该能猜到,RNN结构的核心,应该类似于CNN的卷积核,通过介绍,我们应该能

6、猜到,RNN结构的核心,应该类似于CNN的卷积核, 是“一小团”神经元。如何实现呢?是“一小团”神经元。如何实现呢? 首先我们假设利用FNN处理序列数据: 构造长度大于等于序列长度的网络构造长度大于等于序列长度的网络 在每个输入端输入一帧信息在每个输入端输入一帧信息 在输出端判断结果在输出端判断结果 外交部 发言 讲话 8 RNN的结构 如何简化这个过程?如何简化这个过程? RNN采用的思路是: (1)整个网络的输入端仅接受1帧数据 (2)添加“时间”的概念,若干帧数据依次送入网络处理 外交部 9 RNN的结构 如何简化这个过程?如何简化这个过程? RNN采用的思路是: (1)整个网络的输入端

7、仅接受1帧数据 (2)添加“时间”的概念,若干帧数据依次送入网络处理 发言 通过这种方式,解决了变长数据的处理问题。 10 RNN的结构 但仍然没有解决数据之间依赖的问题。 RNN的思路: (3)添加“时间”之间的状态反馈 将处理上一帧得到的隐含层“状态” 也作为当前帧的输入信息 以上三点,就是RNN的核心思想。 X2=发言 X1=外交部 T=1 T=2 O1 O2 H1 H1 11 RNN的结构 我们可以将这个过程画成一个整体图: 这个图是带有时间信息的,因此看上去 很复杂。 下面这个图就更加清晰了: 输入 输出 隐藏层t ? ? 0 ? 0 ?,? 12 讨论 可以看出,RNN实际上就是在

8、FNN基础上添加了帧与帧之间的状态延 续。这样做的好处,是用比较简单的网络结构,即可处理很长的序 列数据。 那么,循环神经网络是一个深层网络还是一个浅层网络? 深层网络:如果我们把循环网络按时间展开,不同时刻的状态之间存在非线 性连接,循环网络已经是一个非常深的网络了 深层网络:如果我们把循环网络按时间展开,不同时刻的状态之间存在非线 性连接,循环网络已经是一个非常深的网络了 浅层网络:从任意一个帧的角度来看,其从输入到隐含层再到输出层,似乎 更接近FNN,并没有很深的结构。 浅层网络:从任意一个帧的角度来看,其从输入到隐含层再到输出层,似乎 更接近FNN,并没有很深的结构。 因此RNN应该是

9、:具有整体深层结构,局部浅层结构的网络。因此RNN应该是:具有整体深层结构,局部浅层结构的网络。 这与CNN也比较接近。CNN中单纯看一个卷积核,也是比较简单的。这与CNN也比较接近。CNN中单纯看一个卷积核,也是比较简单的。 13 RNN的前向计算(推理) 假设我们有一个已经训练好的RNN模型,那应该怎么用呢?对于深度学习模型, 即前向计算过程。又称网络推理过程。 RNN的网络推理过程比较简单,如下图: 依次把序列数据的每一帧作为输入,计算每个帧上对应FNN网络的输出 然后再把下一帧数据放在输入端,再次计算 直至整个序列数据计算完毕。 14 RNN的学习问题(训练) 对RNN来说,训练模型参

10、数需要的训练数据为序列:T=(x,y),其 中x=(x1,x2,xT),y=(y1,y2,yT) 分别表示每个帧上的输入、 输出。 所采用的参数训练方法,则是BP算法的改进版本: BPTT(back-propagation through time),其原理与BP算法基本 一致。 15 RNN的改进 至此,我们就介绍了基本RNN的结构特点、学习方法。RNN提出之后,至此,我们就介绍了基本RNN的结构特点、学习方法。RNN提出之后, 在很多问题上取得了成功,除了其本身的特点之外,还因为RNN网络在很多问题上取得了成功,除了其本身的特点之外,还因为RNN网络 结构有非常好的扩展性。在基本RNN基础

11、上,稍加改动,就可以应用结构有非常好的扩展性。在基本RNN基础上,稍加改动,就可以应用 于各种问题。于各种问题。 目前,对于RNN主要的改进思路有: (1)修改输出类型(1)修改输出类型 (2)修改RNN帧与帧之间信息传递方法(2)修改RNN帧与帧之间信息传递方法 (3)修改RNN每一帧内部信息处理方法(3)修改RNN每一帧内部信息处理方法 我们下面就以例子的形式,来介绍一下RNN的基本结构和应用 问题。 16 例8.6 RNN改型:同步序列到序列模型 我们首先看最基本的RNN形式。这种网络形态中,每一时刻都有一帧输入数据, 并且产生一个输出信号,输入和输出同步,输入序列和输出序列的长度相同。

12、 因此又称为“同步序列到序列模型”。 这种模型往往用在序列标注问题上,典型的例子如: 词性标注:为一个句子中的每个词标注词性。词性标注:为一个句子中的每个词标注词性。 音素识别:为每一帧语音信号预测最合理的音素。音素识别:为每一帧语音信号预测最合理的音素。 17 例8.6 RNN改型:序列类别模型 RNN的第二种形式,是根据整个序列,预测序列的类别。用来解决序列数据的 分类问题。这种情况下,模型的输入为序列,而模型的输出为某个类别,仅 有1个输出。这就要求模型能够实现信息的汇总。 常用的方法有两种: (1)将序列每帧上的输出信号加权平均;(1)将序列每帧上的输出信号加权平均; (2)使用整个序

13、列最后一帧的输出来进行判断。(2)使用整个序列最后一帧的输出来进行判断。 两者各有优点,因此要根据具体问题进行选择。 18 例8.6 RNN改型:异步序列到序列 RNN应用的第三种形态,是“异步序列到序列”模型。在这种模型中,输入和输 出不需要有严格的同步对应,模型的运行分为两个阶段: (1)编码阶段:在这个阶段,模型接收每一帧数据,计算隐含状态,但不产生输出,直到序 列结束。这个过程相当于把整个序列的信息“编码”为一个状态,往往是一个向量。 (1)编码阶段:在这个阶段,模型接收每一帧数据,计算隐含状态,但不产生输出,直到序 列结束。这个过程相当于把整个序列的信息“编码”为一个状态,往往是一个

14、向量。 (2)解码阶段:在这个阶段,模型根据输入序列的编码向量,不依赖输入信息,逐一产生输 出,直到达到指定的输出长度。 (2)解码阶段:在这个阶段,模型根据输入序列的编码向量,不依赖输入信息,逐一产生输 出,直到达到指定的输出长度。 因此,这种模型更多被称为“编码-解码”模型。目前主流的机器翻译模型采用 的就是这个结构。 19 例8.7 堆叠循环神经网络(Stack RNN) 第一种改进方法非常直接,就是增加每一帧数据处理过程的隐含层 数量,从单一隐层增加到N层,同时每个隐层的状态都随时间传播。 20 例8.8 双向循环神经网络Bi-RNN 第二种改进方法则增加了状态的反向传递。网络中,每一

15、帧信息的 输出不仅依赖于上一个时刻的帧的状态,还依赖于下一个时刻帧的 状态。 21 RNN的改进 对于RNN的第三种类型的改进,是修改RNN每一帧内部信息处理方法。 这主要来源于RNN处理长序列时的问题。RNN的隐含层状态虽然可以将信息沿着 序列传递,但传递过程单独看仍然是多层网络的叠加。因此当RNN处理的序列 过长,会发生类似FNN中梯度消失的问题。有时模型还会使梯度逐渐增大至无 穷,梯度爆炸。 这就使得RNN从理论上可以处理任意长度序列,但实际上只能学习到短周期的 依赖关系。这就是所谓的RNN长期依赖问题长期依赖问题。 单独看隐含层的信息 传递,类似于FNN 22 RNN的改进:LSTM模

16、型 许多学者对RNN长距离依赖问题提出了改进策略,目前最主流的是1997年提出 的LSTM模型,全称:长短时记忆神经网络(Long Short-Term Memory Neural Network,LSTM) RNN在传递信号的时候不加处理,导致序列早期信号经历长期传递之后产生了 衰减或者变形。因此LSTM对帧与帧之间传递信号的过程进行了若干加强。 23 RNN的改进:LSTM模型 LSTM改进的核心思想有: (1)增加了“记忆”信息,记为c。认为模型传递的不仅仅是当(1)增加了“记忆”信息,记为c。认为模型传递的不仅仅是当 前的状态,还有当前的“记忆”。前的状态,还有当前的“记忆”。 (2)

17、增加对记忆的处理。当前帧接收上一帧传递过来的记忆c,(2)增加对记忆的处理。当前帧接收上一帧传递过来的记忆c, 并对记忆进行修改,保留其中重要部分、删除其中冗余部分,并并对记忆进行修改,保留其中重要部分、删除其中冗余部分,并 将当前帧中重要的部分添加到记忆中,形成新的“记忆”。将当前帧中重要的部分添加到记忆中,形成新的“记忆”。 (3)当前形成的记忆,最终还要影响到输出状态,得到当前帧(3)当前形成的记忆,最终还要影响到输出状态,得到当前帧 传递的新的“状态”。传递的新的“状态”。 24 RNN的改进:LSTM模型 LSTM模型并没有修改RNN的网络整体结构,仅对其中每一帧 的内部处理方式进行

18、了改进,因此可以比较容易应用于各 种RNN模型。 是目前主流的RNN模型结构 25 例8.8 RNN典型应用: 语言模型 最后我们通过几个例子,简单介绍一下RNN的典型应用。 首先介绍基于RNN的语言模型。 这是典型的同步序列到序列模型。 26 例8.8 RNN典型应用: 机器翻译 基于RNN网络的机器翻译模型 又称为encoder-decoder模型、seq2seq模型 一个 RNN 用来编码:读入源句子(变长向量),转换成一个固定的上下文向量一个 RNN 用来编码:读入源句子(变长向量),转换成一个固定的上下文向量 另一个 RNN 用来解码:给定上下文和之前预测的词,预测下一个翻译的词另一

19、个 RNN 用来解码:给定上下文和之前预测的词,预测下一个翻译的词 27 例8.8 RNN典型应用: 聊天机器人 原理和模型与机器翻译基本一致。 28 FNN、CNN、RNN来源于人们对神经FNN、CNN、RNN来源于人们对神经 网络的理解和抽象,可以看作是网络的理解和抽象,可以看作是 人们利用神经网络对大脑结构的人们利用神经网络对大脑结构的 建模。建模。 除此之外,也有许多学者尝试从除此之外,也有许多学者尝试从 大脑的特定功能出发,研究如何大脑的特定功能出发,研究如何 始用神经网络来模拟大脑的特定始用神经网络来模拟大脑的特定 功能,我把这类研究叫做机制研功能,我把这类研究叫做机制研 究。究。

20、 我们这节课就重点给大家介绍两我们这节课就重点给大家介绍两 种机制,分别是模拟大脑提取重种机制,分别是模拟大脑提取重 点信息的注意力机制、以及模拟点信息的注意力机制、以及模拟 大脑存储信息的记忆机制。大脑存储信息的记忆机制。 深度学习 结构研究 FNN RNN CNN 机制研究 注意力 记忆 理论研究 优化理论 表示理论 30 大脑中的注意力 首先我们先来介绍注意力机制。我们从大脑处理信息的方式来讲起。 我们知道,人脑每个时刻接收的外界输入信息非常多,包括来源于 视觉、听觉、触觉的各种各样的信息。 单就视觉来说,眼睛每秒钟都会发送千万比特的信息给视觉神经系 统。其中既包含了我们关注的信息,也必

21、然包含大量无关的信息。 对于一个信息处理系统而言,这是一个信息超载问题。 但人脑在这种信息超载的环境下,通常仅需要很短的时间就可以分 辨、处理这些信息。是怎么实现的呢? 大脑中的注意力 心理学家做过许多验证实验,比 如右图,一张报纸仅看几秒钟时 间,首先会得到什么信息? 心理学家做过许多验证实验,比 如右图,一张报纸仅看几秒钟时 间,首先会得到什么信息? 实验发现,人对信息的关注程度 有明显的热力分布规律。 实验发现,人对信息的关注程度 有明显的热力分布规律。 图片文字 头像其他图片 标题普通文字 大脑中的注意力 进一步,对混杂的图像,不同的 人关注的热点也有不同。比如这 张图: 进一步,对混

22、杂的图像,不同的 人关注的热点也有不同。比如这 张图: 妈妈关注最高的是婴儿的表情。妈妈关注最高的是婴儿的表情。 男性则更关注文字中的标题写了 什么。 男性则更关注文字中的标题写了 什么。 大脑中的注意力 这些例子说明,人类大脑在分析外部信息的时候,并不是均等分析这些例子说明,人类大脑在分析外部信息的时候,并不是均等分析 所有信息,而是首先迅速确定信息中的“焦点区域”,然后对这一所有信息,而是首先迅速确定信息中的“焦点区域”,然后对这一 区域投入更多注意力资源,以获取更多所需要关注目标的细节信息,区域投入更多注意力资源,以获取更多所需要关注目标的细节信息, 同时抑制其他无用信息。同时抑制其他无

23、用信息。 这就是“注意力机制”的想法来源。具体来说,注意力需要 解决如下问题: (1)对于一个信息源,如何确定其中“焦点区域”?(1)对于一个信息源,如何确定其中“焦点区域”? (2)如何提高焦点区域的分析能力,同时降低非焦点区域的消耗?(2)如何提高焦点区域的分析能力,同时降低非焦点区域的消耗? 34 深度学习中的注意力机制 深度学习中的注意力模型,最早在Encoder-Decoder框架中得到 应用,目前大多数注意力模型也都附着在Encoder-Decoder框架。 因此我们稍微回顾一下Encoder-Decoder框架。 典型的Encoder-Decoder框架包含编码器和解码器,分别都

24、是RNN 结构。 模型的目标就是根据输入字符串,生成与之匹配的输出字符串。 35 深度学习中的注意力机制 标准的标准的Encoder-Decoder框架中,解码阶段依赖的信息,来自于 编码阶段得到的同一个表示向量。 换个角度讲,解码过程每一步使用的是同样的编码信息,没有区 分编码信息中的“焦点”和“冗余”。 因此这个模型是“注意力不集中”的分心模型。 36 深度学习中的注意力机制 那怎么在模型中添加注意力机制呢?我们以机器翻译为例来解释那怎么在模型中添加注意力机制呢?我们以机器翻译为例来解释 这个过程。比如我们来做英译中,输入的句子是“这个过程。比如我们来做英译中,输入的句子是“Tom lov

25、e Tom love cakecake”期望输出的译文是“”期望输出的译文是“汤姆 喜欢 蛋糕汤姆 喜欢 蛋糕”。”。 我们把标准的encoder-decoder模型画出来:我们把标准的encoder-decoder模型画出来: Tom love cake 汤姆喜欢蛋糕 37 深度学习中的注意力机制 我们来看翻译第二个位置上的词的时候,模型的情况:我们来看翻译第二个位置上的词的时候,模型的情况: 这时,模型输入的信息是上一步生成的词“汤姆”,以及 decoder网络传递过来的表示d1,其中d1中包含的是编码网络中 所有的信息,这些信息对编码网络中每个词的重要性没有描述, 认为是平均重要的。 这

26、显然不太合理。 Tom love cake 汤姆?蛋糕 d1 38 深度学习中的注意力机制 如果是人在进行翻译,则源语言中的三个词对翻译第二个位置上的词的影响是不同 的。 “Tom”这个词已经在上一个位置上被翻译过了,因此再次翻译的可能性应该不大, 可以忽略。“cake”这个词似乎距离比较远。最重要的似乎是“love”这个词。 这种分析可以用词的权重来衡量,根据这个权重,优先选择“love”来翻译,得到 译文。 Tom love cake 汤姆?蛋糕 d1 0.1 0.6 0.3 39 深度学习中的注意力机制 也就是说,在翻译解码每个词的时候,编码中的每个单词对应的“注 意力”有大小的区别,这

27、种注意力的分配可以通过权重的形式分配到 每个英文单词。 我们把这个过程用一个概率权重计算模型表示出来,得到的就是注意 力模型。如下图: 40 深度学习中的注意力机制 Tom love cake 汤姆喜欢蛋糕 d1 0.3 Attention matrix 0.1 0.6 0.3 图中,用一个单独矩阵来汇总编码端每个输入词对每个输出词的注意力。经过模型 训练,这个矩阵中的权值也会逐渐优化调整。 解码时,读取注意力矩阵中对应位置的权重信息,与RNN传来的编码信息加权后, 再预测输出词,从而提高输出能力。 41 深度学习中的注意力机制 下面的图,就是真实的翻译过程中attention矩阵中权重的可视

28、化图。 42 记忆力机制 下面我们简单讲一下深度学习中另一种常用的机制,记忆机制。 其实记忆机制并不是新问题。我们在RNN小节介绍的LSTM本身也叫 做记忆。可以说,神经网络本身就带有某种“记忆”,以网络权重 形式存放。 但现在神经网络中的记忆能力是否足够? 随着深度学习要解决的问题日益复杂,网络模型也变得越来越复杂。 逐渐遇到了网络容量问题。 记忆力机制 一个深度学习模型,在问题不太复杂的情况下,可以依靠 增加神经元数量,增加其内部记忆容量。 但当问题进一步复杂,达到了计算能力的上限,则需要引 入外部的,独立的记忆模型,这就是记忆力机制。 网络容量 增加内部记 忆 记忆单元 隐状态 引入外部

29、记 忆 联想记忆模 型 带地址的外 部记忆 在神经生物学中,也有 相关的工作证明,大脑 中有专门的区域来处理 “记忆”。如果这部分 大脑结构受到损伤,可 能会导致失忆。 记忆力模型 我们介绍一种最简单的记忆模型,模型主要包含一系列的 记忆单元和I,G,O,R四个模块。其中的记忆单元可以看 作数组,每个元素保存一个记忆。结构图如下所示: 记忆力模型 模型的运行过程分为记忆写入、记忆读取两部分。 在模型的训练过程中,输入的文本经过Input模块编码成向量,然后将其作为 Generalization模块的输入,该模块根据输入的向量对memory进行读写操作, 即对记忆进行更新。从而实现了记忆的“写入

30、”操作。 在使用过程中,模型接受一个提问,然后尝试从记忆中寻找答案输出。 这个过程中,问题会首先用Input模块同样处理一遍,然后交给Output模块处 理。在Output模块中,模型会将问题与记忆按照相关程度进行排序,与问题进 行加权后得到输出向量,实现了记忆的“读取”操作。 最终模型的Response模块根据输出向量编码生成一个答案。 深度学习与分类问题 首先我们回顾一下,到目前为止,我们陆续介绍了深度学 习的基本模型、深度卷积模型和循环神经网络。 在过去的几年时间里,这几种模型在许多分类问题上取得 突破性进展,比如图像分类、语音识别、文本分类等等。 分类问题从机器学习的角度来讲,属于“判

31、别式模型”, 那什么是判别式模型呢? 48 判别式模型(Discriminative ModelDiscriminative Model) 我们可以认为,判别式模型是从概率角度出发解释智能分 类现象,可以描述为: 对于输入样本x,我们分别求x属于y对于输入样本x,我们分别求x属于yi i类的条件概率p(y类的条件概率p(yi i|x),然后|x),然后 取概率值最大的类别作为判断结果。取概率值最大的类别作为判断结果。 例如,已知有三种动物:猫、虎、豹。现有一只动物,要 判断它属于哪个类。 49 判别式模型(Discriminative ModelDiscriminative Model) 判别

32、式模型计算“在未知动物出现的条件下,属于所有现有已知动 物类型的概率”,选择概率高者作为分类结果。 ? 0.7 0.1 0.2 OK 未知动物 50 判别式模型(Discriminative ModelDiscriminative Model) 优点: 直接预测类别,模型简单,直接预测类别,模型简单, 在固定数据集上,往往容易得到准确率高的模型在固定数据集上,往往容易得到准确率高的模型 应用容易,只要有带类别标签的数据,就可以学习类别应用容易,只要有带类别标签的数据,就可以学习类别 缺点: 对问题本质缺乏了解。实际上,判别式模型并没有真正理解所要对问题本质缺乏了解。实际上,判别式模型并没有真正

33、理解所要 解决的问题。如,无法从“猫、虎、豹”中抽象出“猫科动物”解决的问题。如,无法从“猫、虎、豹”中抽象出“猫科动物” 这个整体概念。这个整体概念。 适应性差,对训练数据集之外的数据,表现往往不如人意。适应性差,对训练数据集之外的数据,表现往往不如人意。 51 判别式模型(Discriminative ModelDiscriminative Model) 图像分类问题上,判别式模型的适应性问题尤为显著。图像分类问题上,判别式模型的适应性问题尤为显著。 对原始的熊猫图片, 模型可以较好识别 但给原始图片添加8.2%的随机白噪声之后, 模型就将图片识别为长臂猿 52 判别式模型(Discrim

34、inative ModelDiscriminative Model) 类似还有,将阿尔卑斯山添加噪声之后,竟然识别为“狗”类似还有,将阿尔卑斯山添加噪声之后,竟然识别为“狗” 显然,这说明模型既没有学到什么是“阿尔卑斯山”,也对“狗”显然,这说明模型既没有学到什么是“阿尔卑斯山”,也对“狗” 不甚理解。不甚理解。 53 生成式模型(Generative Model) 针对判别式模型的问题,有学者指出“针对判别式模型的问题,有学者指出“要想真正理解一个东西,要想真正理解一个东西, 就必须能够把它创造出来就必须能够把它创造出来”。显然,判别式模型只能处理已有数”。显然,判别式模型只能处理已有数 据

35、,或者高度相似的数据,不具备这种“创造”能力。据,或者高度相似的数据,不具备这种“创造”能力。 那什么是“创造”呢?显然不一定是物理意义上的创造, 而是概率意义的。 如果模型学习的一个类型的大量样本,从而知道类型的概率分布,如果模型学习的一个类型的大量样本,从而知道类型的概率分布, 就可以根据概率分布,采样“生成”该类型的新样本。这些样本就可以根据概率分布,采样“生成”该类型的新样本。这些样本 都是从未出现过的。都是从未出现过的。 这就是生成式模型的基本思想。这就是生成式模型的基本思想。 54 生成式模型(Generative Model) 生成式模型同样通过统计大量样本,将样本类型估计成概率

36、函数,生成式模型同样通过统计大量样本,将样本类型估计成概率函数, 然后再从估计得到的概率函数中采样,从而具有生成新样本的能力。然后再从估计得到的概率函数中采样,从而具有生成新样本的能力。 原始样本从原始样本中统计得到概率规律再利用规律生成新的样本 55 生成式模型(Generative Model) 生成式模型看似很完美但也有很严重的问题: 根据少量样本,估计整个类型的概率特征,很难!根据少量样本,估计整个类型的概率特征,很难! 概率分布有很多种,很难判断当前的类应概率分布有很多种,很难判断当前的类应该是哪种。一般只能事先“猜测”该是哪种。一般只能事先“猜测” 一种,即所谓的“先验分布”。一种

37、,即所谓的“先验分布”。 比如,我们经常猜测“人群身高的分布呈现正态比如,我们经常猜测“人群身高的分布呈现正态分布”,然后只需要知道分布”,然后只需要知道 所有人身高的均值、方差,就可以刻画人类身高所有人身高的均值、方差,就可以刻画人类身高的概率特征了。但其实我的概率特征了。但其实我 们并没有严格证明人的身高确实是正态分布的。们并没有严格证明人的身高确实是正态分布的。 而且很多问题并不是正态的。如果最开始的假设而且很多问题并不是正态的。如果最开始的假设就猜错了,那性能可想而就猜错了,那性能可想而 知。知。 56 生成式模型+ 判别式模型 = ? 好,至此,我们了解了这两种模型, 生成式模型,可

38、以刻画类型的本质,但难以模拟概率分布。生成式模型,可以刻画类型的本质,但难以模拟概率分布。 判别式模型容易模拟,但缺少对本质的刻画。判别式模型容易模拟,但缺少对本质的刻画。 如果将两者优势互补,是否可以解决问题? 57 生成对抗思想 这样的做法,一直到2014年才出现。 2014年,Ian Goodfellow非常巧2014年,Ian Goodfellow非常巧 妙地结合了生成模型和判别模型,妙地结合了生成模型和判别模型, 提出了GAN(Generative 提出了GAN(Generative Adversarial Network)生成对Adversarial Network)生成对 抗网络

39、。抗网络。 Yann LeCun对该方法地评价是:Yann LeCun对该方法地评价是: “生成式对抗网络(GAN)及其生成式对抗网络(GAN)及其 相关的变化,是我认为的机器学相关的变化,是我认为的机器学 习领域近十年最有趣的想法。习领域近十年最有趣的想法。” Ian Goodfellow 58 生成对抗思想 GAN的基本思想非常巧妙: 生成式模型,以模拟生成样本为目标,这种模拟能力的提升,需生成式模型,以模拟生成样本为目标,这种模拟能力的提升,需 要不断对生成式模型生成的样本“打分”,以使模型不断修正自要不断对生成式模型生成的样本“打分”,以使模型不断修正自 己的参数,提高生成能力。己的参

40、数,提高生成能力。 我们用 G 表示生成器,这个过程描述为下图:我们用 G 表示生成器,这个过程描述为下图: G 生成 样本 学习 打分 真实样本 模拟 评判 59 生成对抗思想 判别式模型,以判断样本真假为目标,需要有大量真假样本供其判别式模型,以判断样本真假为目标,需要有大量真假样本供其 训练,以提高判断能力。我们记为判别器 D ,如下图:训练,以提高判断能力。我们记为判别器 D ,如下图: 判别器的学习,不仅需要“真样本”,还需要“负样本”来给出判别器的学习,不仅需要“真样本”,还需要“负样本”来给出 反例。反例。 D 真 学习 真实样本 判断 负样本假 60 生成对抗思想 那么,用生成

41、模型模拟出来的样本,给判别模型判断,会是什么样子?那么,用生成模型模拟出来的样本,给判别模型判断,会是什么样子? Goodfellow将两者连在一起,得到类似下图的框架:Goodfellow将两者连在一起,得到类似下图的框架: 其中,判别器可以把生成器得到的样本作为“反面教材”来学习,其中,判别器可以把生成器得到的样本作为“反面教材”来学习, 同时,生成器又可以把判别器得到的“反面结果”拿过来作为打分,同时,生成器又可以把判别器得到的“反面结果”拿过来作为打分, 指导模型改进。我们详细来讨论:指导模型改进。我们详细来讨论: D 真 学习 真实样本 判断 假 G 打分 模拟 61 生成对抗思想

42、首先,我们单独看判别器 D 。首先,我们单独看判别器 D 。 假设生成器性能始终很差,那么生成器得到的模拟样本,基本上假设生成器性能始终很差,那么生成器得到的模拟样本,基本上 就是起到了“负样本”的做用。刚开始训练时,基本就是这样。就是起到了“负样本”的做用。刚开始训练时,基本就是这样。 因此,配合真实样本,判别器D可以学习真假类型知识。因此,配合真实样本,判别器D可以学习真假类型知识。 D 真 学习 真实样本 判断 假 G 打分 模拟 62 生成对抗思想 单独看生成器G的话,当判别器性能达到一定水平时,返回的单独看生成器G的话,当判别器性能达到一定水平时,返回的 “打分”信息逐渐“靠谱”,这

43、时,配合真实样本,生成器G的“打分”信息逐渐“靠谱”,这时,配合真实样本,生成器G的 模拟能力也可以逐渐提高!模拟能力也可以逐渐提高! D 真 学习 真实样本 判断 假 G 打分 模拟 63 生成对抗思想 两者同时运行,G的模拟能力和D的判断能力可以同时提升。两者同时运行,G的模拟能力和D的判断能力可以同时提升。 最终,两者能力达到平衡,判别器不再能够判断G生成的样本的最终,两者能力达到平衡,判别器不再能够判断G生成的样本的 真假。此时,G就具有了模拟真实样本的能力。真假。此时,G就具有了模拟真实样本的能力。 D 真 学习 真实样本 判断 假 G 打分 模拟 64 生成对抗网络 那生成对抗网络

44、如何学习?一般来说,分为若干阶段: 首先冻结生成器G,训练分类器D,达到性能瓶颈后首先冻结生成器G,训练分类器D,达到性能瓶颈后 冻结分类器D,训练生成器G,再次达到性能瓶颈后冻结分类器D,训练生成器G,再次达到性能瓶颈后 重复,直至两者达到平衡,性能均无法继续提升。重复,直至两者达到平衡,性能均无法继续提升。 最后得到的“生成器 G”就是我们要求解的模型。最后得到的“生成器 G”就是我们要求解的模型。 因此,从生成器的角度看,判别器似乎是在与它“作对”,这就是 对抗一词的来源。 本质上说,生成对抗是一种解决问题的思想,而非具体模型,因此 具有非常强的可塑性。 65 生成对抗网络 在深度学习兴

45、起之前,虽然生成方法、判别方法都有成熟的研究, 但基本没有什么途径可以将两者“联合训练”。当时神经网络也不 支持大规模网络的训练,所以无法产生类似的方法。 在2014之后,深度学习模型基本成熟,为GAN方法提供了很好的联 合模型,因此GAN已经提出,就迅速蹿红,形成了一大批方法,各 种GAN的变体和新结构层出不穷。是目前最红火的研究课题。 好,关于GAN训练的细节,我们就不再详细介绍了,下面我们通过 一些应用例子来说明。 66 生成对抗模型的应用 从目前的文献来看,GAN 应用最广的是在图像处理方面, 包括: 单图像超分辨率(single image super-resolution)、单图像

46、超分辨率(single image super-resolution)、 交互式图像生成、交互式图像生成、 图像到图像的翻译图像到图像的翻译 67 单图像超分辨率 给定单张低分辨率图像,生成它的高分辨率图像。 G的输入是低分辨率图像,输出应该是高分辨率图像 68 交互式图像生成交互式图像生成 这个工作来自于 Adobe 公司。他 们构建了一套图 像编辑操作,能 使得图像可以直 接通过编辑交互, 生成不存在但接 近真实的图片, 69 图像到图像翻译( image to image translation), 将一种类型的图像转换为另一种类型的图像,比如: 将草图具象化、将草图具象化、 根据卫星图生成地图等。根据卫星图生成地图等。 70

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com