人工智能开发框架应用 课件 3-循环神经网络_第1页
人工智能开发框架应用 课件 3-循环神经网络_第2页
人工智能开发框架应用 课件 3-循环神经网络_第3页
人工智能开发框架应用 课件 3-循环神经网络_第4页
人工智能开发框架应用 课件 3-循环神经网络_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

6.1循环神经网络6.1.1时序数据6.1.2循环神经网络结构6.1.3循环神经网络建模6.1.1时序数据

时序数据是指时间序列数据。时间序列数据是按时间顺序记录的数据列。数据和时间维度息息相关。时间序列数据分析的目的是通过找出已知时间序列数据的统计特性和发展规律性,构建时间序列模型,进行未知时间的数据预测。例如某省1940年至1980年各年末的人口数时序数据由40个样本数据组成,我们可以选定一个深度学习模型,根据1940年至1980年各年末的人口数时间序列数据预测1990年年末的人口数。上述人口数时间序列数据为数值类型,在训练时可以直接输入神经网络模型计算。但是还有一些时序数据的值并不是数值类型,例如我们说的每句话也是一个时序数据,它是由有先后顺序的词组成的,每个词的出现都对应了具体的时间点。话中每个词都是字符而不是数字,这样的时序数据将无法直接输入神经网络模型进行计算,而需要事先将字符转化为数字。将字符转化为数字的算法统称为词嵌入算法,这类算法会将一个字符型的词转化为一个多维度的数值型向量,该向量称为该单词的词向量,这样一句话就被数值化成了一个词向量矩阵,矩阵中每个元素对应于话中的一个词。那么如何实现词嵌入呢?6.1.1时序数据

独热编码是词嵌入的一种常用方式。例如我们有5000个英文单词,那么一个单词就可以表示成有1位为1,其他位为0,长度为5000的一个稀疏向量,汉字亦如此。这种转化方式是非常简单的,但是也有其缺点。独热编码的转换后的向量一般维度过高,且0位过多极其稀疏,向量长度也太长,需要大量存储空间存储,不利于深度神经网络的计算。同时对于一些近义词,独热编码后变成一个个只包含0和1的稀疏向量,它们的相关性也就不复存在了,这对于语义分析是不利的。在实际应用时,一般采用神经网络预训练的方式实现词嵌入,即预先利用神经网络训练好一个词向量模型,该模型中包括常用单词对应的词向量,使用时只要将语句输入进去,就会自动生成语句中每个单词的词向量,该词向量值为数字类型,内部包含该词和相关其他词汇的关系。目前常用的词向量模型有Word2Vec和Glove。这些预训练模型在海量语料库中训练,学习到的词向量能够更好地表示原有单词。开源的预训练词向量模型很多,使用时只需从网上下载对应的词向量模型即可。6.1.1时序数据

Word2Vec包含连续词袋模型(continuousbagofwords,CBOW)和跳字模型(SkipGram)两个模型。假设句子为guangzhouisanicecity,中心词是nice。CBOW是从中心词周围多个背景词推测出中心词出现的概率,即利用guangzhou、is、a和city来预测nice出现的概率。而Skip-Gram是从中心词推出测周围多个背景词出现的概率,即利用nice来预测前后多个背景词guangzhou、is、a和city出现的概率。CBOW对小型数据库比较合适,而Skip-Gram在大型语料中表现更好。Word2Vec有个缺陷,只能利用一定范围的上下文环境,去产生词向量,没法利用整个语料库的全局信息。Glove模型应运而生,该模型利用语料库的全局信息去产生词向量,能够更好的表达词间的关系,因此在实际中更多使用Glove模型。在Glove模型中,使用较多的有Glove.6B系列、Glove.42B系列和Glove.twitter系列等。预训练的GloVe模型的命名规范大致是“模型.(数据集.)数据集词数.词向量维度.txt”。例如Glove.6B.100d表示该模型训练词汇量为40万,每个单词使用长度为100的向量表示。6.1.2循环神经网络结构

循环神经网络的基本结构如图6-1所示。在当前时刻t,循环神经网络主体结构A的输入分为两部分,除了来自当前时刻的输入外,还有一部分输入来自上一时刻的隐藏状态(上一时刻提取的特征)。在每一时刻循环神经网络的模块A在读取了二者的加权和之后生成新的隐藏状态,并产生本时刻的输出,本时刻的隐藏状态又作为下一时刻t+1时刻的输入。因此,循环神经网络当前的状态是由上一时刻的状态和当前的输入共同决定的。例如在自然语言处理问题中,t时刻输入第一个单词,第一个单词的特征被提取存入隐藏状态中。t+1时刻输入第二个单词,第二个单词的特征提取需依赖于记忆(时刻的隐藏状态)和当前的输入的加权和,依次类推,直到所有单词都输入完毕(所有特征学习完毕)后产生最终结果。图6-16.1.2循环神经网络结构

循环神经网络也可以被看做是对同一神经网络的多次赋值,每个神经网络模块在当前时刻都会把消息传递给下一个神经网络,因此,可按照时间步将图6-1展开为图6-2所示的形式。图6-26.1.3循环神经网络建模

根据不同的应用场景,循环神经网络的建模主要分为3种方式。

1.输入一个序列,输出一个值“输入一个序列,输出一个值”场景称为sequence-to-vector场景,整个网络的输出通常在最后一个序列上进行,例如情感分析、判断视频类别等,需要将所有的序列都提取特征后进行综合判断输出结果。例如图6-3所示,输出Y在序列输入后才通过一个Softmax函数对整个循环神经网络输出进行多分类预测。图6-36.1.3循环神经网络建模

2.输入一个值,输出一个序列“输入一个值,输出一个序列”场景称为vector-to-sequence场景,例如通过图像特征数据生成文本,根据生成文本的区域范围,可以选在某个特定的时间步序列输入后计算整个网络的输出。整个网络的输出通常在其中某个时间步序列上进行,如图6-4所示,网络只在序列数据的第一个时间步计算输出值。图6-46.1.3循环神经网络建模

3.输入一个序列,输出也是一个序列“输入一个序列,输出也是一个序列”场景称为sequence-to-sequence场景,一般用于输入序列和输出序列不等长的的场景下。例如机器翻译或自动问答中,在机器翻译中,源语句和目标语句之间长度大多不相等。6.2长短期记忆网络

循环神经网络具有记忆能力,但是这种记忆能力只体现短期记忆中,网络的长期记忆能力很差。在训练时,你会发现t-1时刻输入的数据对t时刻产生的影响最大,而t-2和t-3等之前时刻输入的数据对t时刻产生的影响逐渐减少,甚至再过一段时间后变得毫无影响了,这在自然语言处理中是有问题的。自然语言处理中模型的预测结果应该和语句中每个单词都相关,而不是随时间推移,只与当前时刻相近输入的单词有关。为了解决这个问题,诞生了LSTM。LSTM于1997年提出,可以将其看作是一种特殊的循环神经网络,由于拥有长期记忆功能,LSTM适合于处理和预测时间序列中间隔和延迟非常长的重要事件。传统的循环神经网络结构如图6-5所示,内部每个模块当前时刻的隐藏层状态(学习到的特征)都需结合当前时刻输入和上一时刻隐藏层状态(学习到的特征),最终通过一个激活函数控制对外输出,例如Softmax和Tanh函数等。通过网络结构可以明显的看出,每次的输入只和前一时刻隐藏层状态相关,与之前n个时刻隐藏层状态关联并不紧密,随着时间步的推移,后续时间步隐藏层状态将和之前n个时刻隐藏层状态关联度越来越小,并趋于零。6.2长短期记忆网络

LSTM神经网络结构如图6-6所示,与传统循环神经网络结构相比,LSTM能够将前n个时刻的隐藏状态,以直线的形式直接传送给后面的所有时间步,并在传送过程中,通过“门”结构对传送的隐藏状态进行过滤,有选择性的控制某些时刻的隐藏状态数据通过。图6-5图6-66.2长短期记忆网络

在LSTM内部包含三种形式的门结构,分别是遗忘门、输入门和输出门。

1.遗忘门图6-7所示为遗忘门结构,该门结构包含一个Sigmoid神经网络层和一个点乘操作。Sigmoid函数将上一时刻的隐藏状态和当前时刻输入映射成输出值在0和1之间的向量,以确定二者的权重,1为完全保留,0为完全放弃。然后将该向量和上一时刻的隐藏状态相乘,以决定上一时刻的隐藏状态的多少部分可以被选择通过。图6-76.2长短期记忆网络

2.输入门图6-8所示为输入门结构,该门结构用于将当前时刻新计算出的隐藏状态(新提取的特征)有选择性地进行内部记忆。放大重要的特征的记忆权重,减少不重要的特征的记忆权重。在内部记忆过程中,首先利用了Sigmoid激活函数输出要记忆的当前时刻学习的新特征权重,权重为0-1。然后当前时刻输入x输入激活函数tanh进行特征提取,生成一个新的特征向量,并将该特征向量和权重值点乘,将当前时刻新学习的特征添加进当前时间隐藏状态中。图6-8LSTM整个循环单元内部的隐藏状态更新就由遗忘门和输入门组合完成,在遗忘门中,历史的隐藏状态特征数据被有选择性的提取出来,输入门将新学习的特征数据有选择性的加入到当前的隐藏状态中。6.2长短期记忆网络

温馨提示

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

评论

0/150

提交评论