LSTM理解与应用

本文介绍了LSTM网络,特别是其门结构和如何处理长期依赖问题。解释了RNN的基础,然后详细阐述了LSTM的四个步骤:遗忘门、输入门、细胞状态更新和输出门。还探讨了LSTM的参数配置,包括在PyTorch中的应用,并提供了一个LSTM模型的简单实现示例。
摘要由CSDN通过智能技术生成

首先感谢https://i-blog.csdnimg.cn/blog_migrate/8598d1caf74bb2310533dd4f9810eace.png作者的文章,让我对LSTM有了初步的认识。

还有我要推荐李宏毅老师讲的LSTM课程,讲的实在是太容易理解了,https://www.youtube.com/watch?v=xCGidAeyS4M

理解RNN 

想要理解LSTM的前提是理解RNN,RNN(Recurrent Neural Network)是一类用于处理序列数据的神经网络。RNN的典型应用就是NLP,自然语言就是一个时间序列数据,上下文之间存在着一定的联系。RNN 是包含循环的网络,允许信息的持久化。

有时候当前预测位置与上下文中的相关信息间隔较远,当相关信息和当前预测位置之间的间隔不断增大时,RNN 会丧失学习到连接如此远的信息的能力,LSTM对于这种情况却有很好的效果。

 理解LSTM

Long Short Term 网络—— 一般就叫做 LSTM ——是一种 RNN 特殊的类型,可以学习长期依赖信息。

所有 RNN 都具有一种重复神经网络模块的链式的形式。在标准的 RNN 中,这个重复的模块只有一个非常简单的结构,例如一个 tanh 层。

LSTM 同样是这样的结构,但是重复的模块拥有一个不同的结构。不同于 单一神经网络层,这里是有四个,以一种非常特殊的方式进行交互。 

门结构

LSTM 有通过“门”结构去除或增加信息到细胞状态的能力。门是一种让信息选择式通过的方法。他们包含一个 sigmoid 神经网络层和一个按位的乘法操作。下图就是这个门

Sigmoid 层输出 0到 1 之间的数值,描述每个部分有多少量可以通过。0代表“不许任何量通过”,1就指“允许任意量通过”! 

第一步决定丢弃信息 

在我们 LSTM 中的第一步是决定我们会从细胞状态中丢弃什么信息。这个决定通过一个称为忘记门层完成。该门会读取 h_{t-1} 和 x_t,输出一个在 0 1之间的数值给每个在细胞状态 C_{t-1} 中的数字。1表示“完全保留”,0表示“完全舍弃”。 

例如在nlp中,当我们看到新的主语,我们希望忘记旧的主语

第二步决定更新的信息 

下一步是确定什么样的新信息被存放在细胞状态中。这里包含两个部分。第一,sigmoid 层称 “输入门层” 决定什么值我们将要更新。然后,一个 tanh 层创建一个新的候选值向量,\tilde{C}_t,会被加入到状态中。下一步,我们会讲这两个信息来产生对状态的更新。比如增加新的主语,来替代旧的需要忘记的主语。

 第三步更新细胞状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值