深度学习基础-循环神经网络_第1页
深度学习基础-循环神经网络_第2页
深度学习基础-循环神经网络_第3页
深度学习基础-循环神经网络_第4页
深度学习基础-循环神经网络_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

机器学习深度学习—循环神经网络复旦大学赵卫东章节介绍深度学习是一种利用复杂结构的多个处理层来实现对数据进行高层次抽象的算法,是机器学习的一个重要分支。传统的BP算法仅有几层网络,需要手工指定特征且易出现局部最优问题,而深度学习引入了概率生成模型,可自动地从训练集提取特征,解决了手工特征考虑不周的问题,而且初始化了神经网络权重,采用反向传播算法进行训练,与BP算法相比取得了很好的效果。本章主要介绍了深度学习相关的概念和主流框架,重点介绍卷积神经网络和循环神经网络的结构以及常见应用。复旦大学赵卫东循环神经网络循环神经网络是一种对序列数据建模的神经网络。RNN不同于前向神经网络,它的层内、层与层之间的信息可以双向传递,更高效地存储信息,利用更复杂的方法来更新规则,通常用于处理信息序列的任务。RNN在自然语言处理、图像识别、语音识别、上下文的预测、在线交易预测、实时翻译等领域得到了大量的应用。复旦大学赵卫东《全世界就在那里》(外二首)○小冰河水上滑过一对对盾牌和长矛她不再相信这是人们的天堂眼看着太阳落了下去这时候不必再有爱的诗句全世界就在那里早已拉下了离别的帷幕生命的颜色你双颊上的道理是人们的爱情撒向天空的一个星变幻出生命的颜色我跟着人们跳跃的心太阳也不必再为我迟疑

记录着生命的凭证像飞在天空没有羁绊的云冰雪后的水那霜雪铺展出的道路是你的声音啊雪花中的一点颜色是开启我生命的象征我的心儿像冰雪后的水一滴一滴翻到最后给我生命的上帝把它吹到缥缈的长空机器人写诗歌《机智过人》机心造化本无私,智略功夫巧笑时。过客不须频眺望,人间天上有新诗。——机器人“九歌”复旦大学赵卫东图像加标题复旦大学赵卫东议程RNN基本原理RNN主要用来处理序列数据,在传统的神经网络模型中,是从输入层到隐含层再到输出层,每层内的节点之间无连接,循环神经网络中一个当前神经元的输出与前面的输出也有关,网络会对前面的信息进行记忆并应用于当前神经元的计算中,隐藏层之间的节点是有连接的,并且隐藏层的输入不仅包含输入层的输出还包含上一时刻隐藏层的输出。理论上,RNN可以对任意长度的序列数据进行处理。复旦大学赵卫东议程RNN基本原理一个典型的RNN网络结构如下图所示。复旦大学赵卫东议程RNN基本原理

复旦大学赵卫东议程RNN基本原理

与CNN一样,RNN也是参数共享,在时间维度上,共享权重参数U、V和W复旦大学赵卫东议程RNN基本结构复旦大学赵卫东议程RNN的运行过程复旦大学赵卫东RNN示例复旦大学赵卫东RNN的运行示例复旦大学赵卫东RNN的训练在每个时间节点t=0,1,2,3,4神经网络的输出都会产生误差值:E0,E1,E2,E3,E4。与前馈神经网络类似,RNN也使用反向传播梯度下降法更新权重。复旦大学赵卫东RNN的不足(1)RNN缺陷:长期依赖(LongTermDependencies)问题,产生长跨度依赖(短时记忆)的问题。梯度消失复旦大学赵卫东RNN的不足(2)当梯度很大时,可以采用梯度截断的方法,将梯度约束在一个范围内。梯度爆炸复旦大学赵卫东议程长短期记忆网络长短期记忆网络能够学习长期依赖关系,并可保留误差,在沿时间和层进行反向传递时,可以将误差保持在更加恒定的水平,让递归网络能够进行多个时间步的学习,从而建立远距离因果联系。它在许多问题上效果非常好,现在被广泛应用。复旦大学赵卫东(1)输入一个输出多个,例如输入一张图像,输出这个图像的描述信息。(2)输入是多个,输出则是一个,例如输入段话,输出这段话的情感。(3)输入是多个,输出也是多个,如机器翻译输入一段话输出也是一段话(多个词)。(4)多个输入和输出是同步的,例如进行字幕标记。RNN分类:循环神经网络的类型RNN图像注释O.Vinyalsetal.Showandtell:Aneuralimagecaptiongenerator,arXiv:1411.4555v1,2014RNN实例RNN与LSTM议程长短期记忆神经网络长短期记忆网络将信息存放在递归网络正常信息流之外的门控单元中,这些单元可以存储、写入或读取信息,就像计算机内存中的数据一样。但愿通过门的开关判定存储哪些信息,何时允许读取、写入或清除信息。这些门是模拟的,包含输出范围全部在0~1之间的Sigmoid函数的逐元素相乘操作。这些门依据接收到的信号开关,而且会用自身的权重集对信息进行筛选,根据强度和输入内容决定是否允许信息通过。这些权重会通过递归网络的学习过程进行调整。复旦大学赵卫东长短期记忆神经网络的结构长短期记忆神经网络运行动画遗忘门的Sigmoid激活函数一个新的候选值,判断是否将其加入到元胞状态中保留重要信息,更新状态忘掉不重要信息选择重要的信息作为元胞状态的输出长短期记忆神经网络的结构遗忘门的Sigmoid激活函数一个新的候选值,判断是否将其加入到元胞状态中保留重要信息,更新状态忘掉不重要信息选择重要的信息作为元胞状态的输出长短期记忆神经网络的结构

一般使用sigmoid函数,it控制了t时刻新输入的接受程度遗忘门的Sigmoid激活函数一个新的候选值,判断是否将其加入到元胞状态中保留重要信息,更新状态忘掉不重要信息选择重要的信息作为元胞状态的输出长短期记忆神经网络的结构遗忘门的Sigmoid激活函数一个新的候选值,判断是否将其加入到元胞状态中保留重要信息,更新状态忘掉不重要信息选择重要的信息作为元胞状态的输出长短期记忆神经网络的结构状态向量Ct不会全部输出议程长短期记忆网络长短期记忆网络的步骤如下:决定从元胞状态中扔掉哪些信息。由叫做“遗忘门”的Sigmoid层控制。遗忘门会输出0~1之间的数,1表示保留该信息,0表示丢弃该信息通过输入门将有用的新信息加入到元胞状态。首先,将前一状态和当前状态的输入输入到Sigmoid函数中滤除不重要信息。另外,通过tanh函数得到一个-1〜1之间的输出结果。这将产生一个新的候选值,后续将判断是否将其加入到元胞状态中。将上一步中Sigmoid函数和tanh函数的输出结果相乘,并加上第一步中的输出结果,从而实现保留的信息都是重要信息,此时更新状态即可忘掉那些不重要的信息最后,从当前状态中选择重要的信息作为元胞状态的输出。首先,将前一隐状态和当前输入值通过Sigmoid函数得到一个0〜1之间的结果值。然后对第三步中输出结果计算tanh函数的输出值,并与得到的结果值相乘,作为当前元胞隐状态的输出结果,同时也作为下一个隐状态的输入值复旦大学赵卫东议程长短期记忆网络的训练过程复旦大学赵卫东多隐层LSTM(堆叠)复旦大学赵卫东BiLSTM复旦大学赵卫东双层双向LSTM复旦大学赵卫东BiLSTM实例议程门限循环单元门限循环单元本质上就是一个没有输出门的长短期记忆网络,因此它在每个时间步都会将记忆单元中的所有内容写入整体网络。GRU只有两个门:重置门和更新门,将遗忘门和输入门合并为更新门,将细胞状态

与隐藏层输出

合并在一起。

复旦大学赵卫东议程门限循环单元门限循环单元模型只有两个门,分别是更新门和重置门,更新门是遗忘门和输入门的结合体。将元胞状态和隐状态合并,更新门用于控制前一时刻的状态信息被带入到当前状态中的程度,更新门的值越大说明前一时刻的状态信息带入越多。重置门用于控制忽略前一时刻的状态信息的程度,重置门的值越小说明忽略的越多。这个模型比长短期记忆网络更加简化,也变得越来越流行。复旦大学赵卫东议程LSTM与GRU复旦大学赵卫东指标数据:开盘收盘最低最高成交量基于LSTM的股票预测-数据引入复旦大学赵卫东数据预处理(归一化)之后结果:基于LSTM的股票预测-数据预处理复旦大学赵卫东样本结果标记:窗口后涨跌作为样本标记,即窗口后的交易结果作为预测结果模型采用MSE作为损失函数,对预测结果进行评价加窗(window)股票走势转化为回归问题进行预测基于LSTM的股票预测-准备样本复旦大学赵卫东2层GRU(n_layers=2)损失函数MSE基于LSTM的股票预测-设计LSTM网络复旦大学赵卫东训练epoch次数:10训练集:1300+验证集:170+测试集170+基于LSTM的股票预测-预测结果复旦大学赵卫东基于LSTM的电商秒杀业务预测复旦大学赵卫东基于LSTM的电商秒杀业务预测(1)复旦大学赵卫东基于LSTM的电商秒杀业务预测(2)复旦大学赵卫东注意力机制复旦大学赵卫东seq2seq与注意力机制模型(1)seq2seq模型最早是在2013年由cho等人提出一种RNN模型,主要的应用目的就是机器翻译。seq2seq模型是序列对序列的模型,

本质上是一种多对多的RNN模型,也就是输入序列和输出序列不等长的RNN模型。seq2seq广泛应用在神经机器翻译、文本摘要、语音识别、文本生成、AI写诗等。复旦大学赵卫东seq2seq与注意力机制模型(2)注意力机制本质上是一种注意力资源分配的模型。编码器将输入编码成上下文变量C,在解码时每一个输出Y都会不加区分的使用这个C进行解码。注意力模型根据序列的每个时间步将编码器编码为不同C,在解码时,结合每个不同的C进行解码输出。一段汉译英的机器翻译注意力模型图解示意图复旦大学赵卫东ELMo语言模型(1)词向量:词的独热编码:用0,1表示,无法计算词之间的(语义)相似度,导致向量稀疏词向量模型:大多数词向量都是固定的,无法表示在不同语境下的含义(一词多义)非LM:CBOW,Skip-gram,...基于LM:Glove,ELMO,...复旦大学赵卫东ELMo语言模型(2)ELMo是一种在词向量(vector)或词嵌入(embedding)中表示词汇的方法。与word2vec、GLoVe等词嵌入不同,ELMo中每个词对应的向量是一个包含该词的整个句子的函数,同一个词在不同的上下文中对应不同的词向量。ELMo可用于以下自然语言处理领域:情感分析机器翻译语言模型文本摘要命名实体识别问答系统情感分析/contest/practice-problem-twitter-sentiment-analysis//developer/article/1458629复旦大学赵卫东ELMo语言模型(3)将原始词向量输入双向语言模型中第一层前向迭代中包含了该词及其之前的词汇或语境的信息后向迭代中包含了其之后的信息这两种迭代的信息组成了中间词向量这些中间词向量被输入到模型的下一层最终ELMo是原始词向量和两个中间词向量的加权和/pdf/1802.05365.pdf复旦大学赵卫东深度学习流行框架目前深度学习领域主要实现框架有TensorFlow、Caffe、Torch、Keras、MxNet、Deeplearning4j等,针对这些框架的特点做对比介绍。复旦大学赵卫东议程TorchTorch由Lua语言编写,支持机器学习算法,核心是以图层的方式定义网络,优点是包括了大量的模块化的组件,可以快速进行组合,并且具有较多训练好的模型,可以直接应用,支持GPU加速,模型运算性能较强。缺点在于需要LuaJIT的支持,对于开发者学习和应用集成有一定的障碍,文档方面的支持较弱,对商业支持较少,大部分时间需要自己编写训练代码。复旦大学赵卫东议程TensorFlowTensorFlow由Python语言编写,通过C/C++引擎加速,相对应的教程、资源、社区贡献比较多,出现问题容易查找解决方案。用途广泛,支持强化学习和其他算法的工具,与NumPy等库进行组合使用可以展现强大的数据分析能力,支持数据和模型的并行运行,在数据展现方面,可以使用TensorBoard对训练过程和结果按WEB方式进行可视化。复旦大学赵卫东议程CaffeCaffe是较早出现的工业级深度学习工具,将Matlab实现的快速卷积网络移植到了C和C++平台上。不适用于文本、声音或者时间序列数据等其他类型的深度学习应用,在RNN方面建模能力较差。Caffe采用P

温馨提示

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

评论

0/150

提交评论