第八章 人工神经网络与深度学习(下).pdf
《第八章 人工神经网络与深度学习(下).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框架包含编码器和解码器,分别都
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人工智能导论
限制150内