更好的理解LSTM - 简单的python实例

本文探讨了为何使用LSTM,RNN的问题(梯度消失和爆炸),并介绍了LSTM如何解决这些问题。通过一个简单的4 * 50数组预测4 * 1数组的例子,解释了LSTM的 Forget Gate、Input Gate 和 Output Gate 的工作原理,以及它们如何改善梯度问题。代码和实验结果链接提供。
摘要由CSDN通过智能技术生成
  1. 为什么用LSTM?
    We use RNN when sequence data is important : https://blog.csdn.net/weixin_43909872/article/details/85567106

RNN的问题:
a. RNN 一般使用tanh作为激活函数,从下面的tanh和tanh导数函数图像可以看到他的梯度和sigmoid一样会下降得非常快,而RNN网络又会循环使用W计算,在BPTT(Back Propagation through time)的时候很容易造成梯度消失
在这里插入图片描述
b.当W大于一的时候,因为W要被反复使用,相比于普通神经网络,RNN又更容易发生梯度爆炸的情况
关于gradient Vanishing and Exploding 可以看这篇文章: https://mp.csdn.net/mdeditor/85082198#

由于梯度消失或者爆炸的缺陷,RNN在时序比较长的案例里会表现比较差,比如文本分析的时候如果需要的信息在文章很前面的位置,那么RNN就没法处理——于是LSTM出现了

  1. 结合一个简单的例子分析LSTM的原理

关于LSTM的介绍很多,就不赘述了,下面截取两张图作为一个参考
LSTM的网络结构

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值