tensorflow深度学习之LSTM(变种RNN)的原理
在tensorflow深度学习之描述循环计算层与循环计算过程(超详细)中,我们已经学习到了传统循环网络RNN的原理。
传统循环网络RNN的缺点
传统循环网络RNN通过记忆体实现短期记忆进行连续数据的预测,但是当连续数据的序列变长时,会使得展开时间步过长。在反向传播更新参数时,梯度要按时间步连续相乘,会导致梯度消失。
长短期记忆网络LSTM
长短期记忆网络中引入了三个门限,即输入门it,遗忘门ft,输出们ot。
引入了表征长期记忆的细胞态Ct,引入了等待存入长期记忆的候选态Ct波浪号。
他们分别的作用是:
- 三个门限都是当前输入时刻的输入特征xt和上个时刻的短期记忆网络h(t-1)的函数。三个公式中,Wi,Wf和Wo是待训练参数矩阵,bi、bf和bo是待训练偏置项,他们都经过sigmoid激活函数使门限的范围在0到1之间。
- 细胞态表示长期记忆,细胞态等于遗忘门X上个时刻的长期记忆,加上输入门X当前时刻归纳出的新知识。
- 记忆体表示短期记忆,属于长期记忆的一部分,是细胞态过tanh激活函数乘以输出门的结果。
- 候选态表示归纳出的待存入细胞态的新知识,是当前时刻的输入特征xt和上个时刻的短期记忆h(t-1)的函数,Wc是待训练参数矩阵,bc是待训练偏置项。
LSTM的tensorflow实现
tf.keras.layers.LSTM(记忆体的个数,return_sequence=是否有返回输出)
return_sequences=Ture 个时间不输出ht
return_sequences=False 仅最后时间步输出ht(默认)
eg:model = tf.keras.Sequential([
LSTM(80, return_sequences=Ture),
Dropout(0.2),
LSTM(100),
Dense(1)
])
下一讲:tensorflow深度学习之基于LSTM的股票预测
tensorflow深度学习之LSTM(变种RNN)的原理相关推荐
- Pytorch深度学习(2) -- RNN及其进阶模型实现 ( GRU LSTM Deep-Rnn Bi-Rnn)
Pytorch深度学习(2) -- RNN及其进阶模型实现 0 预测训练函数 1.RNN实现 RNN小结 2.GRU实现 GRU小结 3.LSTM实现 LSTM小结 4.Deep-RNN 加入参数nu ...
- TensorFlow 深度学习中文第二版(初稿)
TensorFlow 深度学习中文第二版 第 1 章深度学习入门 人工神经网络 ANN 如何学习? 神经网络架构 深度学习框架 总结 第 2 章 TensorFlow 的首次观察 TensorFlow ...
- 深度学习之LSTM案例分析(三)
#背景 来自GitHub上<tensorflow_cookbook>[https://github.com/nfmcclure/tensorflow_cookbook/tree/maste ...
- TensorFlow 深度学习第二版:6~10
原文:Deep Learning with TensorFlow Second Edition 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自[ApacheCN 深度学习 译文集],采用译 ...
- 深度学习实战篇-基于RNN的中文分词探索
深度学习实战篇-基于RNN的中文分词探索 近年来,深度学习在人工智能的多个领域取得了显著成绩.微软使用的152层深度神经网络在ImageNet的比赛上斩获多项第一,同时在图像识别中超过了人类的识别水平 ...
- TensorFlow 深度学习中文第二版·翻译完成
原文:Deep Learning with TensorFlow Second Edition 协议:CC BY-NC-SA 4.0 不要担心自己的形象,只关心如何实现目标.--<原则>, ...
- TensorFlow 深度学习实战指南中文版
TensorFlow 深度学习实战指南中文版 第 1 章入门 安装 TensorFlow 简单的计算 逻辑回归模型构建 逻辑回归训练 第 2 章深度神经网络 基本神经网络 单隐藏层模型 单隐藏层的说明 ...
- 浅谈深度学习:LSTM对股票的收益进行预测(Sequential 序贯模型,Keras实现)
浅谈深度学习:LSTM对股票的收益进行预测(Sequential 序贯模型,Keras实现) 总包含文章: 一个完整的机器学习模型的流程 浅谈深度学习:了解RNN和构建并预测 浅谈深度学习:基于对LS ...
- tensorflow 语义slam_研究《视觉SLAM十四讲从理论到实践第2版》PDF代码+《OpenCV+TensorFlow深度学习与计算机视觉实战》PDF代码笔记...
我们知道随着人工神经网络和深度学习的发展,通过模拟视觉所构建的卷积神经网络模型在图像识别和分类上取得了非常好的效果,借助于深度学习技术的发展,使用人工智能去处理常规劳动,理解语音语义,帮助医学诊断和支 ...
最新文章
- 目前研制量子计算机,18个量子比特纠缠究竟是什么水平? 量子计算机离我们还有多远?...
- 使用java连接JanusGraph进行操作,hbase报错信息为:Caused by: org.apache.hbase.thirdparty.io.netty.channel.AbstractCh
- ThreadLocal 和神奇的数字 0x61c88647
- Python学习之旅 —— 基础篇(二)数据类型、运算、while循环
- BZOJ1030: [JSOI2007]文本生成器
- 课堂练习----二维数组
- 在Wireshark中查找数据包
- UltraEdit常用快捷键
- 如何更改tomcat7及以上版本内存设置
- web项目怎么打包上线_高级前端web工程师简历范文,【工作经历+项目经验+自我评价】怎么写...
- ignite mysql_redis、ignite、mysql memory 内存数据库性能测试对比
- 安卓开发_自定义控件_界面的简单侧滑
- 解决ionic在手机上拍照图片旋转的问题
- Android apk反编译工具介绍
- perl中shift 和unshift 操作
- linux永久禁止进程,SELinux如何永久禁用 SELinux如何永久禁用
- Java8日期时间API
- 欢迎使JMKAJL KAJLKFJD
- 网络性能衡量指标总结
- Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must hav
热门文章
- 基于Docker的JMeter分布式压测实战讲解
- 《遇见未知的自己》书摘
- 构建React-app应用时create-react-app卡住超慢的解决办法
- 2019年深圳在职人才引进单位申办指南(流程+材料) 深圳入户体检报告查询、到档情况查询、人才引进办理进度查询
- 【转载】Windows-WMI 事件 ID 10或0x80041003 死机 解药
- No @Intercepts annotation was found in interceptor com.example.config.MPConfig$$EnhancerBySpringCGLI
- 【线性表】—动态顺序表的增删查改实现
- 新零售兴起,来凑热闹的船歌鱼水饺能走多远?
- python 栈和队列的区别_Python 栈与队列
- java线程池使用最全详解