LSTM(Long Short-Term Memory)长短期记忆网络,是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件。LSTM是解决循环神经网络RNN结构中存在的“梯度消失”问题而提出的,是一种特殊的循环神经网络。最常见的一个例子就是:当我们要预测“the clouds are in the (...)"的时候, 这种情况下,相关的信息和预测的词位置之间的间隔很小,RNN会使用先前的信息预测出词是”sky“。但是如果想要预测”I grew up in France ... I speak fluent (...)”,语言模型推测下一个词可能是一种语言的名字,但是具体是什么语言,需要用到间隔很长的前文中France,在这种情况下,RNN因为“梯度消失”的问题,并不能利用间隔很长的信息,然而,LSTM在设计上明确避免了长期依赖的问题,这主要归功于LSTM精心设计的“门”结构(输入门、遗忘门和输出门)消除或者增加信息到细胞状态的能力,使得LSTM能够记住长期的信息。

  vs   

标准的RNN结构都具有一种重复神经网络模块的链式形式,一般是一个tanh层进行重复的学习(如上图左边图),而在LSTM中(上图右边图),重复的模块中有四个特殊的结构。贯穿在图上方的水平线为细胞状态(cell),黄色的矩阵是学习得到的神经网络层,粉色的圆圈表示运算操作,黑色的箭头表示向量的传输,整体看来,不仅仅是h在随着时间流动,细胞状态c也在随着时间流动,细胞状态c代表着长期记忆。

上面我们提到LSTM之所以能够记住长期的信息,在于设计的“门”结构,“门”结构是一种让信息选择式通过的方法,包括一个sigmoid神经网络层和一个pointwise乘法操作,如下图所示结构。复习一下sigmoid函数,,sigmoid输出为0到1之间的数组,一般用在二分类问题,输出值接近0代表“不允许通过”,趋向1代表“允许通过”。

在LSTM中,第一阶段是遗忘门,遗忘层决定哪些信息需要从细胞状态中被遗忘,下一阶段是输入门,输入门确定哪些新信息能够被存放到细胞状态中,最后一个阶段是输出门,输出门确定输出什么值。下面我们把LSTM就着各个门的子结构和数学表达式进行分析。

  • 遗忘门:遗忘门是以上一层的输出和本层要输入的序列数据作为输入,通过一个激活函数sigmoid,得到输出为的输出取值在[0,1]区间,表示上一层细胞状态被遗忘的概率,1是“完全保留”,0是“完全舍弃”

  • 输入门:输入门包含两个部分,第一部分使用sigmoid激活函数,输出为,第二部分使用tanh激活函数,输出为【个人通俗理解:在RNN网络中就是本层的输出,是在[0,1]区间取值,表示中的信息被保留的程度,表示该层被保留的新信息】

到目前为止,是遗忘门的输出,控制着上一层细胞状态被遗忘的程度,为输入门的两个输出乘法运算,表示有多少新信息被保留,基于此,我们就可以把新信息更新这一层的细胞状态

  • 输出门:输出门用来控制该层的细胞状态有多少被过滤。首先使用sigmoid激活函数得到一个[0,1]区间取值的,接着将细胞状态通过tanh激活函数处理后与相乘,即是本层的输出

至此,终于将LSTM的结构理解了,现在有很多LSTM结构的变形,只要把这个母体结构理解了,再去理解变形的结构应该不会再有多麻烦了。

双向LSTM

双向RNN由两个普通的RNN所组成,一个正向的RNN,利用过去的信息,一个逆序的RNN,利用未来的信息,这样在时刻t,既能够使用t-1时刻的信息,又能够利用到t+1时刻的信息。一般来说,由于双向LSTM能够同时利用过去时刻和未来时刻的信息,会比单向LSTM最终的预测更加准确。下图为双向LSTM的结构。

  • 为正向的RNN,参与正向计算,t时刻的输入为t时刻的序列数据和t-1时刻的输出
  • 为逆向的RNN,参与反向计算,t时刻的输入为t时刻的序列数据和t+1时刻的输出
  • t时刻的最终输出值取决于

GRU(Gated Recurrent Unit)是LSTM最流行的一个变体,比LSTM模型要简单

GRU包括两个门,一个重置门和更新门。这两个门的激活函数为sigmoid函数,在[0,1]区间取值。

候选隐含状态使用重置门来控制t-1时刻信息的输入,如果结果为0,那么上一个隐含状态的输出信息将被丢弃。也就是说,重置门决定过去有多少信息被遗忘,有助于捕捉时序数据中短期的依赖关系

隐含状态使用更新门对上一时刻隐含状态和候选隐含状态进行更新。更新门控制过去的隐含状态在当前时刻的重要性,如果更新门一直趋近于1,t时刻之前的隐含状态将一直保存下来并全传递到t时刻,更新门有助于捕捉时序数据中中长期的依赖关系

长短期记忆网络(Long Short-Term Memory,LSTM)及其变体双向LSTM和GRU相关推荐

  1. 长短时记忆网络(Long Short Term Memory,LSTM)详解

    长短时记忆网络是循环神经网络(RNNs)的一种,用于时序数据的预测或文本翻译等方面.LSTM的出现主要是用来解决传统RNN长期依赖问题.对于传统的RNN,随着序列间隔的拉长,由于梯度爆炸或梯度消失等问 ...

  2. 长短期记忆网络(LSTM)学习笔记

    文章目录 0 前言 1 LSTM与RNN的异同 2 LSTM结构细节 2.1 细胞状态 2.2 遗忘门 2.3 输入门 2.4 输出门 3 总结 4 LSTM的变体 4.1 Adding " ...

  3. 白话机器学习-长短期记忆网络LSTM

    一 背景 既然有了RNN,为何又需要LSTM呢? 循环神经网络RNN的网络结构使得它可以使用历史信息来帮助当前的决策.例如使用之前出现的单词来加强对当前文字的理解.可以解决传统神经网络模型不能充分利用 ...

  4. 基于长短期记忆网络(LSTM)对股票价格的涨跌幅度进行预测

    完整代码:https://download.csdn.net/download/qq_38735017/87536579 为对股票价格的涨跌幅度进行预测,本文使用了基于长短期记忆网络(LSTM)的方法 ...

  5. 时序模型:长短期记忆网络(LSTM)

    1. 模型定义 循环神经网络(RNN)模型存在长期依赖问题,不能有效学习较长时间序列中的特征.长短期记忆网络(long short-term memory,LSTM)1是最早被承认能有效缓解长期依赖问 ...

  6. 双向长短期记忆网络(Bi-LSTM)

    在开始之前,首先区分下均命名为RNN,新手很容易混淆的两大神经网络:循环神经网络(Recurrent Neural Network,RNN)和递归神经网络(Recurssion Neural Netw ...

  7. 双向长短期记忆网络模型_一种基于双向长短期记忆网络的定位修正方法与流程...

    本发明属于行人导航定位修正领域,具体涉及一种基于双向长短期记忆网络的定位修正方法. 背景技术: 近些年来,随着室内定位技术的不断发展,很大程度弥补了类似gps等利用卫星信号进行定位而卫星信号穿透力较差 ...

  8. LSTM(long short term memory)长短期记忆网络

    bags of word(WOE) 它的基本思想是假定对于一个文本,忽略其词序和语法.句法,仅仅将其看做是一些词汇的集合,而文本中的每个词汇都是独立的 循环神经网络(recurrent neural ...

  9. 详细讲解RNN+LSTM+Tree_LSTM(Tree-Long Short Term Memory)基于树状长短期记忆网络

    14天阅读挑战赛 详细讲解RNN+LSTM+Tree_LSTM(Tree-Long Short Term Memory)基于树状长短期记忆网络 一.RNN 要讲解Tree_LSTM,这必须得从RNN开 ...

最新文章

  1. 强化学习是针对优化数据的监督学习?
  2. 大脑对陌生音乐的反应要比对熟悉音乐的反应强度
  3. 皮一皮:能到大四也是不容易了...
  4. ASP.NET Core中的内存缓存
  5. C语言字符输出格式化
  6. 【STL源码学习】std::list类的类型别名分析
  7. 添加class值_Java 虚拟机(二) - Class 文件结构
  8. MySQL服务无法正常启动的解决方法(1053错误)
  9. 单列(写了池子pool)用list实现的方法, 与伪单例(写了池子zidianpool),用字典实现的方法,可以存入不同,i名字的物体...
  10. 10、Spring Boot 2.x 集成 Log4j2
  11. php替代换行符号,php换行符号替换与过滤例子
  12. Python 万能代码模版:数据可视化篇
  13. 服务器与操作系统的区别是什么,服务器系统和普通用户操作系统有何区别
  14. Ubuntu 16.04系统下出现搜狗拼音安装失败问题
  15. 程序员赚的辛苦钱及好朋友借钱[借钱时你是爷爷,借出去后丢一个朋友不说还多出一个爷爷]
  16. a豆:在讲一个珍重每一个人的故事
  17. 《大数据之路:阿里巴巴大数据实践》-第3篇 数据管理篇 -第15章 数据质量
  18. PTA习题-python 7-4 多个数的最小公倍数
  19. alpha因子常见问题_多因子模型是否真的可以带来阿尔法(alpha)?
  20. CSS 轮廓(outline)/CSS margin(外边距)/CSS padding(填充)

热门文章

  1. 基于PaddleOCR复现RFLearning
  2. 小白学投资理财导学篇
  3. 基于深度学习网络在Airsim中的自动驾驶
  4. 【第20期】实践深度学习?先接住这三板斧再说
  5. 目标检测 YOLOv5 anchor设置
  6. android虚拟手机云之一:总述
  7. 计算机办公应用操作试题,计算机office办公软件上机操作试题
  8. 哥,打劫 电驴也玩隐藏
  9. A6记录和AAAA记录
  10. 探究大语言模型(LLM):让ChatGPT火爆的背后