从RNN说起

循环神经网络(Recurrent Neural Network,RNN)是一种用于处理序列数据的神经网络。相比一般的神经网络来说,他能够处理序列变化的数据。比如某个单词的意思会因为上文提到的内容不同而有不同的含义,RNN就能够很好地解决这类问题。如下图图片均来自台大李宏毅教授的PPT

x为当前状态下数据的输入,h表示接收到的上一个节点的输入。y为当前节点状态下的输出,而 h‘为传递到下一个节点的输出。通过上图的公式可以看到,输出 h’ 与 x 和 h 的值都相关。而 y 则常常使用 h’ 投入到一个线性层(主要是进行维度映射)然后使用softmax进行分类得到需要的数据。

短时记忆

RNN 会受到短时记忆的影响。如果一条序列足够长,那它们将很难将信息从较早的时间步传送到后面的时间步。 因此,如果你正在尝试处理一段文本进行预测,RNN 可能从一开始就会遗漏重要信息。

在反向传播期间,RNN 会面临梯度消失的问题。 梯度是用于更新神经网络的权重值,消失的梯度问题是当梯度随着时间的推移传播时梯度下降,如果梯度值变得非常小,就不会继续学习。

br/>

LSTM

长短期记忆,(Long short-term memory, LSTM)是一种特殊的RNN,主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题。简单来说,就是相比普通的RNN,LSTM能够在更长的序列中有更好的表现。LSTM 由Hochreiter & Schmidhuber (1997)提出,并在近期被Alex Graves进行了改良和推广。在很多问题,LSTM 都取得相当巨大的成功,并得到了广泛的使用。

LSTM 同样是这样的结构,但是重复的模块拥有一个不同的结构。不同于单一神经网络层,这里是有四个,以一种非常特殊的方式进行交互。


每一条黑线传输着一整个向量,从一个节点的输出到其他节点的输入。粉色的圈代表按位 pointwise 的操作,诸如向量的和,而黄色的矩阵就是学习到的神经网络层。合在一起的线表示向量的连接,分开的线表示内容被复制,然后分发到不同的位置。

直接在整个链上运行,只有一些少量的线性交互。信息在上面流传保持不变会很容易。

LSTM 有通过精心设计的称作为“门”的结构来去除或者增加信息到细胞状态的能力。门是一种让信息选择式通过的方法。他们包含一个 sigmoid 神经网络层和一个按位的乘法操作。

步骤

第一步 忘记门
LSTM 中的第一步是决定我们会从细胞状态中丢弃什么信息。这个决定通过一个称为忘记门层完成。该门会读取 ht-1 和 xt,输出一个在 0 到 1 之间的数值给每个在细胞状态 Ct-1 中的数字。1 表示“完全保留”,0 表示“完全舍弃”。

第二步 输入们
用值为1表示的完全保留的忘记门输出输入sigmoid 层称 “输入门层” 决定什么值我们将要更新
然后,一个 tanh 层创建一个新的候选值向量

第三步

进行乘法和加法运算,将Ct-1 更新为 Ct,输出的结果是Ct。
Ct作为下一个神经元的输入

第三步 输出层
以ht-1为输入运行一个 sigmoid 层来输出ot。接着,我们把Ct通过 tanh 进行处理并将它和ot相乘作为最后的输出。

LSTM的变体

所有的 LSTM 都长成一个样子的。实际上,几乎所有包含 LSTM 的论文都采用了微小的变体。

流行LSTM

流形的 LSTM 变体,就是由 Gers & Schmidhuber (2000) 提出的,增加了 “peephole connection”。是说,我们让 门层 也会接受细胞状态的输入。

coupled

通过使用 coupled 忘记和输入门。不同于之前是分开确定什么忘记和需要添加什么新的信息,这里是一同做出决定。我们仅仅会当我们将要输入在当前位置时忘记。我们仅仅输入新的值到那些我们已经忘记旧的信息的那些状态 。

GRU

Gated Recurrent Unit (GRU)是由 Cho, et al. (2014) 提出。它将忘记门和输入门合成了一个单一的 更新门,进行其他一些改动。最终的模型比标准的 LSTM 模型要简单,也是非常流行的变体。

参考

https://www.jianshu.com/p/9dc9f41f0b29
https://blog.csdn.net/weixin_44162104/article/details/88660003

LSTM 长短期记忆相关推荐

  1. 【思维导图】利用LSTM(长短期记忆网络)来处理脑电数据

    文章来源| 脑机接口社区群友 认知计算_茂森的授权分享 在此非常感谢 认知计算_茂森! 本篇文章主要通过思维导图来介绍利用LSTM(长短期记忆网络)来处理脑电数据. 文章的内容来源于社区分享的文章&l ...

  2. 利用LSTM(长短期记忆网络)来处理脑电数据

    目录 LSTM 原理介绍 LSTM的核心思想 一步一步理解LSTM 代码案例 本分享为脑机学习者Rose整理发表于公众号:脑机接口社区 .QQ交流群:903290195 Rose小哥今天介绍一下用LS ...

  3. 小白学深度之LSTM长短期记忆神经网络——深度AI科普团队

    前言 不知道RNN的一定要先看看RNN的原理 在RNN中我们说了RNN的不足,也就是对较长的时间,或者较长的string,很多时候前面的数据对后面的数据影响就很小甚至没影响了,这是我们就要加强前面的数 ...

  4. Maltab GUI课程设计——LSTM长短期记忆网络回归预测

    文章目录 课程设计 平台:Matlab App designer 功能实现:LSTM长短期记忆网络回归预测 目的: 演示: 欢迎交流 课程设计 平台:Matlab App designer 功能实现: ...

  5. 时序预测 | MATLAB实现基于EMD-LSTM时间序列预测(EMD分解结合LSTM长短期记忆神经网络)

    时序预测 | MATLAB实现基于EMD-LSTM时间序列预测(EMD分解结合LSTM长短期记忆神经网络) 目录 时序预测 | MATLAB实现基于EMD-LSTM时间序列预测(EMD分解结合LSTM ...

  6. 神经网络学习笔记3——LSTM长短期记忆网络

    目录 1.循环神经网络 1.1循环神经网络大致结构 1.2延时神经网络(Time Delay Neural Network,TDNN) 1.3按时间展开 1.4反向传播 1.5 梯度消失,梯度爆炸 2 ...

  7. 时序预测 | MATLAB实现LSTM长短期记忆神经网络时间序列预测

    目录 时序预测 | MATLAB实现LSTM长短期记忆神经网络时间序列预测 预测效果 程序设计 案例1 案例2 参考资料 时序预测 | MATLAB实现LSTM长短期记忆神经网络时间序列预测 预测效果 ...

  8. Pytorch LSTM 长短期记忆网络

    Pytorch LSTM 长短期记忆网络 0. 环境介绍 环境使用 Kaggle 里免费建立的 Notebook 教程使用李沐老师的 动手学深度学习 网站和 视频讲解 小技巧:当遇到函数看不懂的时候可 ...

  9. LSTM 长短期记忆循环神经网络(学习笔记)

    LSTM 长短期记忆循环神经网络 1.LSTM 定义 LSTM 全称是Long Short Term Memory (长短期记忆),是RNN的一种. 基本一般情况下使用RNN都是使用LSTM,最基础的 ...

最新文章

  1. 【TensorFlow2.0】(2) 创建tensor的方法
  2. Matlab与线性代数 -- 矩阵的乘法
  3. php如何对 mysql 中text类型拆分存入一个数组_PHP、Mysql笔试题
  4. java之字符串学习记录
  5. 安装win7时,无法创建新的分区系统和无法定位现有分区系统
  6. lcase和ucase_在SQL中使用UCASE(),LCASE()和MID()函数
  7. 微信 8.0.1又来了!修复问题,终于能显示“在线状态”了
  8. matlab 简单的图像填充例子
  9. ORACLE数据泵还原(IMPDP命令)【转】
  10. 金蝶KIS 11.0专业版账套升级至WISE 13.1版本实施步骤
  11. 天网防火墙技术白皮书
  12. 使用google service定位服务
  13. Android11(R) system_ext 分区 system_ext_specific 属性
  14. [开源]免费天气预报接口,提供七天预报(包括省市代码)
  15. 2021观澜二中高考成绩查询,深圳中学排名
  16. 什么都学一点系列之鸿蒙开发Java版简易备忘录
  17. LeetCode的SQL题练手(MySQL实现)
  18. Python:Pycharm如何使用scrapy框架做爬虫?
  19. 网红“小红书”,电商销售新模式
  20. 2023年我终于进阿里了,阿里offer五面经验与总结

热门文章

  1. Domain generalization 简介
  2. 腾讯IM登陆时候闪退java.lang.UnsatisfiedLinkError
  3. step5 lasso 回归 实战 本文没有考虑y 是cox和binominal
  4. #入坑keychron#火爆的keychron机械键盘,你还没有入手?【重点:附键盘选购建议】
  5. 本白痴的第一个博客(就把自己的图形界面加c语言的滴滴打车信息系统传一下吧)
  6. abaqus对实体单元进行复合材料每层厚度定义
  7. Fcoin平台每天赠送了好多币如何处理呢?
  8. AIOT下“智慧家庭”的入口比拼,是百花齐放还是一枝独秀?
  9. matlab元胞自动机学风演化,土建學院研究生培养方案调研报告.docx
  10. 无线wifi丢包的解决办法