Lstm(循环神经网络)
算法模型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(循环神经网络)相关推荐
- 通过keras例子理解LSTM 循环神经网络(RNN)
博文的翻译和实践: Understanding Stateful LSTM Recurrent Neural Networks in Python with Keras 正文 一个强大而流行的循环神经 ...
- 用c语言实现循环神经网络,浅谈LSTM循环神经网络
姓名:程祖晗 学号:19021210938 [嵌牛导读]人工神经网络(ANN)由大量相互连接的神经元或称节点组成,这些节点经过网络中的大量加权连接,将数据进行相互通信,实现了神经网络的记忆特性.在常规 ...
- 自然语言处理--Keras 实现LSTM循环神经网络分类 IMDB 电影评论数据集
LSTM 对于循环网络的每一层都引入了状态(state)的概念,状态作为网络的记忆(memory).但什么是记忆呢?记忆将由一个向量来表示,这个向量与元胞中神经元的元素数量相同.记忆单元将是一个由 n ...
- 如何解决LSTM循环神经网络中的超长序列问题
时间 2017-06-27 15:57:39 机器之心 原文 https://www.jiqizhixin.com/articles/e8d4e413-a718-49ac-ae79-c197ba8 ...
- python 神经网络预测未来30天数据_使用LSTM循环神经网络的时间序列预测实例:预测未来的货币汇率...
Statsbot团队发表过一篇关于使用时间序列分析来进行异常检测的文章.文章地址:https://blog.statsbot.co/time-series-anomaly-detection-algo ...
- Keras【Deep Learning With Python】LSTM 循环神经网络解决Regressor回归问题
文章目录 1 前言 2 RNN 的弊端 3 LSTM 4 代码实现 5 重要部份讲解 6 输出: 1 前言 和前几篇文章一样,依旧是分为讲解和代码实现. 2 RNN 的弊端 之前我们说过, RNN 是 ...
- RNN LSTM 循环神经网络 (分类例子)
学习资料: 相关代码 为 TF 2017 打造的新版可视化教学代码 机器学习-简介系列 什么是RNN 机器学习-简介系列 什么是LSTM RNN 本代码基于网上这一份代码 code 设置 RNN 的参 ...
- 深度学习中的循环神经网络LSTM详解
(一).什么是循环神经网络LSTM? LSTM指的是长短期记忆网络(Long Short Term Memory),它是循环神经网络中最知名和成功的扩展.由于循环神经网络有梯度消失和梯度爆炸的问题,学 ...
- keras lastm循环神经网络训练验证测试
在keras 上实践,通过keras例子来理解lastm循环神经网络 翻译 2016年12月07日 19:05:19 标签: 神经网络 9341 本文是对这篇博文的翻译和实践: http://mac ...
- 深度学习 实验七 循环神经网络
文章目录 深度学习 实验七 循环神经网络 一.问题描述 二.设计简要描述 三.程序清单 深度学习 实验七 循环神经网络 一.问题描述 之前见过的所以神经网络(比如全连接网络和卷积神经网络)都有一个主要 ...
最新文章
- F-Strings:超级好用的Python格式字符串!!
- python操作文件的库_Python使用pyshp库读取shapefile信息的方法
- 柔性体没有应变_灌注式半柔性道面材料抗冲击性能试验研究
- sql数据库磁盘响应时间长_SQL Server性能–测量磁盘响应时间
- Docker入门者手册
- 电脑课堂:U盘“无法停止通用卷设备时”的解决方法
- 百度地图 绘制运动轨迹_国产免费高配版“谷歌地球”,地图分析用这款软件秒杀谷歌地球...
- 计算机网络系统是由计算机系统,计算机网络由哪几部分组成?
- 为什么百度快照没有样式
- 各互联网公司offer比较
- JS 基础知识点与高频考题解析
- 用spark实现单词统计
- nginx-----部署集群
- 简单使用Python爬虫爬取淘宝网页商品信息
- 第一章 命题逻辑(数理逻辑)
- correl函数相关系数大小意义_correl(correl函数相关系数大小意义)
- linux c 时间微秒,linux下C语言获取微秒级时间
- 再见!北京!再见!百度!
- 大学JAVA实验六 学生选课管理系统
- 引起婴儿湿疹的原因有哪些?