算法模型Lstm(循环神经网络):

简介

LSTM和RNN相似,它们都是在前向传播的过程中处理流经细胞的数据,不同之处在于 LSTM 中细胞的结构和运算有所变化。

LSTM结构:

遗忘门:

遗忘门的功能是决定应丢弃或保留哪些信息。来自前一个隐藏状态的信息和当前输入的信息同时传递到 sigmoid 函数中去,输出值介于0和1之间,越接近0意味着越应该丢弃,越接近 1 意味着越应该保留。如图遗忘门:

遗忘门图

遗忘门的输入信息,分别是ht-1,xt,从公式上我们可以看到是这两个值与权重矩阵Wf相乘,我们可以理解为ht-1与xt的拼接,拼接以后再与Wf相乘,然后加上一个偏置bf,最后经过一个激活函数sigmoid,使得线性变换变成非线性变换,此时ft的取值为(1,0),这个值决定了Ct-1的值是否被记忆或者遗忘,或者说记住多少,这就是这个遗忘门的作用。

输入门:

输入门用于更新细胞状态。首先将前一层隐藏状态的信息和当前输入的信息传递到 sigmoid 函数中去。将值调整到 0~1 之间来决定要更新哪些信息。0 表示不重要,1 表示重要。
其次还要将前一层隐藏状态的信息和当前输入的信息传递到 tanh 函数中去,创造一个新的侯选值向量。最后将 sigmoid 的输出值与 tanh 的输出值相乘,sigmoid 的输出值将决定 tanh 的输出值中哪些信息是重要且需要保留下来的。
如图输入门:

输入门图

it和ft公式是一样的,这就说明,it也具有遗忘的功能,比如,Ct-1在遇到ft的时候,ft决定保留Ct-1的记忆,则此时,it则决定着对Ct的遗忘能力,Ct是LSTM需要记忆的新的值

记忆单元:

如图 记忆单元:

记忆单元图

Ct-1遗忘剩余的部分,与新的要记忆的部分C~t相加,就是要输出的Ct

输出门:

输出门用来确定下一个隐藏状态的值,隐藏状态包含了先前输入的信息。首先,我们将前一个隐藏状态和当前输入传递到sigmoid函数中,然后将新得到的细胞状态传递给tanh函数。
最后将tanh的输出与sigmoid的输出相乘,以确定隐藏状态应携带的信息。再将隐藏状态作为当前细胞的输出,把新的细胞状态和新的隐藏状态传递到下一个时间步长中去。
图 输出门:

输出门图

最后来到了输出门,本次输出的结果就从这个地方输出,我们可以看到ht是由Ot与tanh(Ct) 相乘得来,也就是说本次需要多少为我所用的含义。
如图6LSTM结构图:

LSTM结构图

Lstm(循环神经网络)相关推荐

  1. 通过keras例子理解LSTM 循环神经网络(RNN)

    博文的翻译和实践: Understanding Stateful LSTM Recurrent Neural Networks in Python with Keras 正文 一个强大而流行的循环神经 ...

  2. 用c语言实现循环神经网络,浅谈LSTM循环神经网络

    姓名:程祖晗 学号:19021210938 [嵌牛导读]人工神经网络(ANN)由大量相互连接的神经元或称节点组成,这些节点经过网络中的大量加权连接,将数据进行相互通信,实现了神经网络的记忆特性.在常规 ...

  3. 自然语言处理--Keras 实现LSTM循环神经网络分类 IMDB 电影评论数据集

    LSTM 对于循环网络的每一层都引入了状态(state)的概念,状态作为网络的记忆(memory).但什么是记忆呢?记忆将由一个向量来表示,这个向量与元胞中神经元的元素数量相同.记忆单元将是一个由 n ...

  4. 如何解决LSTM循环神经网络中的超长序列问题

    时间 2017-06-27 15:57:39  机器之心 原文  https://www.jiqizhixin.com/articles/e8d4e413-a718-49ac-ae79-c197ba8 ...

  5. python 神经网络预测未来30天数据_使用LSTM循环神经网络的时间序列预测实例:预测未来的货币汇率...

    Statsbot团队发表过一篇关于使用时间序列分析来进行异常检测的文章.文章地址:https://blog.statsbot.co/time-series-anomaly-detection-algo ...

  6. Keras【Deep Learning With Python】LSTM 循环神经网络解决Regressor回归问题

    文章目录 1 前言 2 RNN 的弊端 3 LSTM 4 代码实现 5 重要部份讲解 6 输出: 1 前言 和前几篇文章一样,依旧是分为讲解和代码实现. 2 RNN 的弊端 之前我们说过, RNN 是 ...

  7. RNN LSTM 循环神经网络 (分类例子)

    学习资料: 相关代码 为 TF 2017 打造的新版可视化教学代码 机器学习-简介系列 什么是RNN 机器学习-简介系列 什么是LSTM RNN 本代码基于网上这一份代码 code 设置 RNN 的参 ...

  8. 深度学习中的循环神经网络LSTM详解

    (一).什么是循环神经网络LSTM? LSTM指的是长短期记忆网络(Long Short Term Memory),它是循环神经网络中最知名和成功的扩展.由于循环神经网络有梯度消失和梯度爆炸的问题,学 ...

  9. keras lastm循环神经网络训练验证测试

    在keras 上实践,通过keras例子来理解lastm循环神经网络 翻译 2016年12月07日 19:05:19 标签: 神经网络 9341 本文是对这篇博文的翻译和实践:  http://mac ...

  10. 深度学习 实验七 循环神经网络

    文章目录 深度学习 实验七 循环神经网络 一.问题描述 二.设计简要描述 三.程序清单 深度学习 实验七 循环神经网络 一.问题描述 之前见过的所以神经网络(比如全连接网络和卷积神经网络)都有一个主要 ...

最新文章

  1. F-Strings:超级好用的Python格式字符串!!
  2. python操作文件的库_Python使用pyshp库读取shapefile信息的方法
  3. 柔性体没有应变_灌注式半柔性道面材料抗冲击性能试验研究
  4. sql数据库磁盘响应时间长_SQL Server性能–测量磁盘响应时间
  5. Docker入门者手册
  6. 电脑课堂:U盘“无法停止通用卷设备时”的解决方法
  7. 百度地图 绘制运动轨迹_国产免费高配版“谷歌地球”,地图分析用这款软件秒杀谷歌地球...
  8. 计算机网络系统是由计算机系统,计算机网络由哪几部分组成?
  9. 为什么百度快照没有样式
  10. 各互联网公司offer比较
  11. JS 基础知识点与高频考题解析
  12. 用spark实现单词统计
  13. nginx-----部署集群
  14. 简单使用Python爬虫爬取淘宝网页商品信息
  15. 第一章 命题逻辑(数理逻辑)
  16. correl函数相关系数大小意义_correl(correl函数相关系数大小意义)
  17. linux c 时间微秒,linux下C语言获取微秒级时间
  18. 再见!北京!再见!百度!
  19. 大学JAVA实验六 学生选课管理系统
  20. 引起婴儿湿疹的原因有哪些?

热门文章

  1. Nmap (网络扫描工具)
  2. 《Excel数据处理与分析实战技巧精粹》扫描版[PDF]
  3. 数字图像处理合集终章——车流量统计(后附源码)
  4. 杀毒软件 对应的进程名称
  5. win98模拟器_安利一款安卓win98模拟小游戏
  6. Jvm虚拟机下载和安装教程
  7. 测试技术-易用性测试
  8. js css自动幻灯片切换,纯js和CSS3炫酷自动幻灯片特效
  9. Android音乐播放器demo
  10. melogin.cn主页登录_melogincn首页 melogin·cn登录页面入口