tensorflow深度学习之LSTM(变种RNN)的原理

tensorflow深度学习之描述循环计算层与循环计算过程(超详细)中,我们已经学习到了传统循环网络RNN的原理。

传统循环网络RNN的缺点

传统循环网络RNN通过记忆体实现短期记忆进行连续数据的预测,但是当连续数据的序列变长时,会使得展开时间步过长。在反向传播更新参数时,梯度要按时间步连续相乘,会导致梯度消失。

长短期记忆网络LSTM

长短期记忆网络中引入了三个门限,即输入门it,遗忘门ft,输出们ot。
引入了表征长期记忆的细胞态Ct,引入了等待存入长期记忆的候选态Ct波浪号。
在这里插入图片描述

他们分别的作用是:

  1. 三个门限都是当前输入时刻的输入特征xt和上个时刻的短期记忆网络h(t-1)的函数。三个公式中,Wi,Wf和Wo是待训练参数矩阵,bi、bf和bo是待训练偏置项,他们都经过sigmoid激活函数使门限的范围在0到1之间。
  2. 细胞态表示长期记忆,细胞态等于遗忘门X上个时刻的长期记忆,加上输入门X当前时刻归纳出的新知识。
  3. 记忆体表示短期记忆,属于长期记忆的一部分,是细胞态过tanh激活函数乘以输出门的结果。
  4. 候选态表示归纳出的待存入细胞态的新知识,是当前时刻的输入特征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的股票预测

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值