一.长短期记忆网络LSTM简介

LSTM是对RNN的改进和升级,在RNN模型中,对于长期依赖的问题可能产生梯度消失和梯度爆炸,而在RNN的基础上改进而来的LSTM则特别适合解决这类需要长时间依赖的问题。LSTM相对于RNN的不同使,LSTM将“记忆细胞”进行了改造,而不是像RNN那样只有一个简单的激活函数。在LSTM中,需要记录的信息会一直传递,不需要记录的信息会被截断掉
如下图所示,部分输出和输入被从网络中删除

二.LSTM工作原理

如下图展示了LSTM的一个神经元内部的结构。每一条黑线传输着一整个向量,从一个节点的输出到其他节点的输入;粉色的圈代表 pointwise 的操作,诸如向量的和;黄色的矩阵则是学习过程中的神经网络层;两条线和在一起表示向量的连接,比如一个十维向量和一个二十维向量合并后形成一个三十维向量;分开的线表示内容被复制,分发到不同的位置。

细胞状态

神经元之间传递的信息称为细胞状态,如下图所示,该线路用来传递神经元最主要的信息,其他线路则是通过对该线路施加影响来调整细胞状态的值

LSTM对细胞状态的控制

LSTM可以通过gates门结构来去影响细胞状态的信息,gates门结构包含一个sigmoid神经网络层次和一个pointwist乘法操作,Sigmoid层输出一个0到1之间的概率值,描述每个部分有多少量可以通过,0表示不允许任务变量通过,1表示运行所有变量通过,LSTM中主要有三个门结构来影响细胞状态,分别是:忘记门,信息增强门,输出门

1)忘记门

决定从细胞状态中丢弃什么信息;比如在语言模型中,细胞状态可能包含了性别信息(“他”或者“她”),当我们看到新的代名词的时候,可以考虑忘记旧的数据

2)输入门

决定放什么新信息到细胞状态中;Sigmoid层决定什么值需要更新;Tanh层创建一个新的候选向量Ct
以上两个门的作用主要是对细胞状态进行更新,将Ct-1更新为Ct;将旧状态与ft相乘,丢失掉确定不要的信息;加上新的候选值it*Ct得到最终更新后的细胞状态

3)输出门

与上两个门不同,输出门的主要功能是将细胞状态值进行运算得出神经元的输出。首先运行一个sigmoid层来确定将细胞状态的哪些部分输出,使用tanh处理细胞状态得到一个在-1到1之间的值,再将它和sigmoid门的输出相乘,得到最终的输出

三.基于LSTM的改进模型

1.GRU

将忘记门和输入门合并成为一个单一的更新门,同时合并了数据单元状态和隐藏状态,结构比LSTM的结构更加简单

2.Bi-LSTM

Bi-LSTM的隐藏层要保存两个值,一个A参与正向计算,另一个值A’参与反向计算
如下图,Y2的最终输出值取决于A2和A`2


计算y2的数学方程为:
A2和A`2 计算过程为:

正向计算时,隐藏层的值st与st-1有关;反向计算时,隐藏层的值st`和st-1`有关;最终的输出取决于正向和反向计算的加和,数学方程为:

Bi-LSTM的工作原理图:

NLP学习04--长短期记忆网络LSTM相关推荐

  1. 『NLP学习笔记』长短期记忆网络LSTM介绍

    长短期记忆网络LSTM介绍 文章目录 一. 循环神经网络 二. 长期依赖问题 三. LSTM 网络 四. LSTM 背后的核心理念 4.1 忘记门 4.2 输入门 4.3 输出门 五. LSTM总结( ...

  2. MATLAB-基于长短期记忆网络(LSTM)的SP500的股票价格预测 股价预测 matlab实战 数据分析 数据可视化 时序数据预测 变种RNN 股票预测

    MATLAB-基于长短期记忆网络(LSTM)的SP500的股票价格预测 股价预测 matlab实战 数据分析 数据可视化 时序数据预测 变种RNN 股票预测 摘要 近些年,随着计算机技术的不断发展,神 ...

  3. 简单介绍长短期记忆网络 - LSTM

    文章目录 一.引言 1.1 什么是LSTM 二.循环神经网络RNN 2.1 为什么需要RNN 三.长短时记忆神经网络LSTM 3.1 为什么需要LSTM 3.2 LSTM结构分析 3.3 LSTM背后 ...

  4. 深度学习:长短期记忆模型LSTM

    http://blog.csdn.net/pipisorry/article/details/78361778 LSTM模型 长短期记忆模型(long-short term memory)是一种特殊的 ...

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

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

  6. 1014长短期记忆网络(LSTM)

    长短期记忆网络(LSTM) 长期以来,隐变量模型存在着长期信息保存和短期输入缺失的问题,解决这个问题最早的方法之一就是 LSTM 发明于90年代 使用的效果和 GRU 相差不大,但是使用的东西更加复杂 ...

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

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

  8. 长短期记忆网络LSTM

    1. LSTM是循环神经网络的一个变体可以有效的解决简单循环神经网络的梯度消失和梯度爆炸的问题. 2. 改进方面: 新的内部状态 Ct专门进行线性的循环信息传递,同时(非线性的)输出信息给隐藏层的外部 ...

  9. 长短期记忆网络 LSTM

    这里写目录标题 1. LSTM介绍 1.1 什么是LSTM 1.2 LSTM相较于RNN的优势 1.3 LSTM的结构图 1.3.1 LSTM的核心思想 1.3.2 LSTM的遗忘门 1.3.3 LS ...

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

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

最新文章

  1. 函数重载需要注意的点
  2. TensorFlow(8)卷积神经网络实战(2)手写卷积池化
  3. 【预告】新房装修网络规划网络布局学习笔记,家庭网络需求文章内容及结构...
  4. 拼音开头有什么字_语文基础 孩子刚上一年级学习拼音太难了?家长在家这样教真不比老师差!...
  5. php判断秒为两位数,判“新”函数:得到今天与明天的秒数
  6. 【HDU - 1937 】Finding Seats(二维前缀和+尺取法)
  7. FSF 称 DRM 被用于锁定、控制和监视用户
  8. Android Camera 2.0 Api
  9. 测试beta测试_重新想象不断变化的自动化世界中的Beta测试
  10. Apache服务器+tomcat配置
  11. benchmark如何测试mysql数据库_MySQL的benchmark函数
  12. android查看统计项目的方法数
  13. 单片机跑马灯源代码+仿真
  14. war 包的解压与打包
  15. VNC远程控制软件,五大容易上手的VNC远程控制软件
  16. 连接HDMI出现没声音
  17. MySQL代码错误号大全
  18. Linux基于bash命令实验报告,Linux操作系统实验报告1
  19. 每天干的啥?(2018.02)
  20. 如何使用RUN as命令安装软件

热门文章

  1. idesk卸载教程_iDesk助手使用帮助
  2. 谷粒商城:11.商品服务 — 新增商品
  3. Sass:基础用法学习笔记
  4. Vue:返回上一个路由
  5. Mysql千万级数据查询优化技巧
  6. 死于决斗的数学天才伽罗瓦-人生的有限域
  7. 数据抓取的艺术(三)
  8. POJ-英语数字转化器
  9. 一分钟详解机器人手眼标定MATLAB及C++实现
  10. 给定一个无序数组,包含正数、负数和0,要求从中找出3个数的乘积,使得乘积最大