长短期记忆(Long-Short Term Memory, LSTM)是一种时间递归神经网络(RNN),论文首次发表于1997年。由于独特的设计结构,LSTM适合于处理和预测时间序列中间隔和延迟非常长的重要事件。

LSTM的表现通常比时间递归神经网络及隐马尔科夫模型(HMM)更好,比如用在不分段连续手写识别上。2009年,用LSTM构建的人工神经网络模型赢得过ICDAR手写识别比赛冠军。LSTM还普遍用于自主语音识别,2013年运用TIMI自然演讲数据库达成17.7%错误率的纪录。作为非线性模型,LSTM可作为复杂的非线性单元用于构造更大型深度神经网络。(wikipedia)

LSTM是一种含有LSTM区块(blocks)或其他的一种类神经网络,文献或其他资料中LSTM区块可能被描述成智能网络单元,因为它可以记忆不定时间长度的数值,区块中有一个gate能够决定input是否重要到能被记住及能不能被输出output。每一个激活函数都可以看层一个gate,经典的,LSTM有三种gate 。根据谷歌的测试表明,LSTM中最重要的是Forget gate,其次是Input gate,最次是Output gate。

关于LSTM详细的介绍请看LSTM

循环神经网络展开成一个全神经网络:

下面是其中一个隐藏层的分析:

黄色矩形表示有学习能力的神经网络层

粉色圆圈表示运算符号,”x” 表示乘号(例如向量乘法),“+”表示加号

黑色箭头表示 向量传递

两条线融合表示进行运算

线分叉表示内容被复制成两个,不同方向传递

forget gate layer

数据信息由上一层hidden state信息与现在的输入数据信息的加权之和,

而激活函数sigmoid,决定什么信息是需要从cell state中丢弃的,forget gate layer 输出是[0,1]之间的数,1表示完全变成保留信息,0表示完全丢弃。

input gate layer

同样有一个激活函数sigmoid,意义解释为决定哪些值需要更新,其实和forget gate layer的意思类似,

但作用不同。

A tanh layer

a tanh layer creates a vector of new candidate values:

tanh layer是创建现隐藏层cell state的候选值,之前说候选值,只因为它只是一个中间值。

Final memory cell:

这里是获取现隐藏层 cell state ,它是基于上一个隐藏层 cell state( 称为 old cell state) 与现隐藏层的候选值。

这两个值通过与forget gate 、input gate相乘,决定我们从之前的cell state忘记多少信息和更新多少信息。

Output gate : 

这里也有一个激活函数sigmoid,习惯把它叫Output gate。

它决定我们应该输出哪一部分的 cell state。

Final hidden state:

计算现隐藏层 Final state 的时候,先要让现隐藏层cell state经过一个激活函数tanh,让它的值控制在[-1,1]之内, 这样做可能是防止梯度爆炸(exploding gradient )。然后再与 Output gate相乘决定输出那部分信息。

Long-Short Term Memory(长短时记忆模型)相关推荐

  1. 有哪些LSTM(Long Short Term Memory)和RNN(Recurrent)网络的教程?

    知乎用户,阿里巴巴数据应用部门长期招聘「算法,分- 500 人赞同 刚好毕设相关,论文写完顺手就答了 先给出一个最快的了解+上手的教程: 直接看theano官网的LSTM教程+代码:LSTM Netw ...

  2. 递归神经网络变形之 (Long Short Term Memory,LSTM)

    1.长短期记忆网络LSTM简介 在RNN 计算中,讲到对于传统RNN水平方向进行长时刻序列依赖时可能会出现梯度消失或者梯度爆炸的问题.LSTM 特别适合解决这种需要长时间依赖的问题. LSTM(Lon ...

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

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

  4. Classifying Relations via Long Short Term Memory Networks along Shortest Dependency Paths

    Classifying Relations via Long Short Term Memory Networks along Shortest Dependency Paths 概述 论文提出了一种 ...

  5. Stanford NLP 第六课: Long Short Term Memory

    RNN存在着梯度消失的问题, 难以学习长期的依赖关系.如何解决RNN的梯度消失问题? Long  Short Term Memory (LSTM) 就是解决这个问题的. 上图是LSTM的一个整体结构. ...

  6. 简单聊聊Long Short Term Memory Network (LSTM)和 Gated Recurrent Unit (GRU)两种强大的RNN变体

    上一篇关于RNN的文章最后,我们提到过由于梯度消失和梯度爆炸问题,使得RNN很难处理长距离的依赖.本文我们介绍两种改进后的RNN:LSTM(Long Short Term Memory Network ...

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

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

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

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

  9. 3_Long Short Term Memory (LSTM)

    文章目录 一.LSTM核心思想 1.1 Conveyor Belt(传输带) 二.LSTM分布指南 2.1 Forget Gate(遗忘门) 2.2 Input Gate(输入门) 2.3 New v ...

最新文章

  1. linux xampp常见问题
  2. bzoj 3687: 简单题
  3. unity 的资源加载问题:一旦永久释放了,就再也不能加载了
  4. boost::geometry::dissolver用法的测试程序
  5. php实现java socket_php与java通过socket通信的实现代码
  6. vtk类之vtkFixedPointVolumeRayCastMapper :一个固定像素点的体数据映射器
  7. Struts2漏洞和Struts Scan工具实战
  8. 项目经理如何把工作简单化
  9. createsamples.cpp中生成vec文件的实现及详细注释、图解——人脸识别的尝试系列(三)
  10. 【ICCV2019】点云相关论文解析
  11. 轻量级前端MVVM框架avalon - 整体架构
  12. python中int对象不可调用_'int'对象在python中不可调用
  13. FCC新主席发推特称赞亚马逊,但被质疑违反了联邦道德准则
  14. Apple Music成为全球第二大音乐流媒体服务 远落后Spotify
  15. android真实项目教程(四)——MY APP MY STYLE_by_CJJ
  16. php 提取二维数组的key,PHP 获取二维数组中某个key的集合
  17. MATLAB中施密特正交化的实现
  18. Linux设备驱动模型-Device
  19. .net开源CMS系统使用教程之:如何用We7 CMS建设全新网站
  20. 安装VS2008(转)

热门文章

  1. python 操作ps_Python实现PS图像调整之对比度调整功能示例
  2. Instance Segmentation入门总结
  3. instance.properties参数
  4. hdu 1258 Sum It Up(回溯算法)
  5. python判断年份是否是闰年
  6. go语言使用kratos框架,使用工厂模式创建对象时,biz层和data层出现循环依赖的错误解决方案
  7. python partial函数
  8. uniapp 微信小程序多环境配置及使用
  9. mac笔记本网络失效_投屏
  10. Java与JavaScript之间的借鉴