简单理解LSTM长短期记忆网络

 LSTM(Long Short Term Memory,长短期记忆网络)介绍

介绍:LSTM,也就是长短期记忆网络,是一种 RNN 特殊的类型,可以学习长期依赖信息。要想较好理解LSTM请先查看之前写的RNN的简单理解文章。在传统RNN训练经常会出现无法解决长期依赖、梯度消失和梯度爆炸的问题,学习能力有限,在实际任务中的效果往往达不到预期效果。此时引入LSTM,LSTM是RNN的一种变体,是为了解决长期依赖问题而专门设计出来的,可以对有价值的信息进行长期记忆,减小了循环神经网络的学习难度。

应用领域:语音识别、语言建模、机器翻译、命名实体识别、图像描述文本生成。

图说LSTM结构

LSTM内部门控结构
LSTM图标注释

LSTM构造了三个门,遗忘门,输入门,输出门。

遗忘门

遗忘门,决定了历史状态信息的遗忘程度。来自先前隐藏状态的信息和当前输入的信息同时输入到Sigmoid函数,输出值处于0和1之间,越接近0意味着越应该忘记,越接近1意味着越应该保留。这个f就可以用来操控遗忘哪些数据。

遗忘门控单元

输入门

输入门,新的状态多大程度的更新到记忆单元,决定哪些信息要被存储。先将先前隐藏状态的信息和当前输入的信息输入到Sigmoid函数,在0和1之间调整输出值来决定更新哪些信息,0表示不重要,1表示重要。也可将隐藏状态和当前输入传输给Tanh函数,并在-1和1之间压缩数值以调节网络,然后把Tanh输出和Sigmoid输出相乘,Sigmoid输出将决定在Tanh输出中哪些信息是重要的且需要进行保留。

输入门控单元

输出门

输出门,确定了当前的状态,当前状态的多多大程度的更新到记忆单元,决定了那些信息要被存储。控制Ct输出的门叫输出门,用Ot表示。输出门能决定下个隐藏状态的值,隐藏状态中包含了先前输入的相关信息。当然,隐藏状态也可用于预测。首先把先前的隐藏状态和当前输入传递给Sigmoid函数;接着把新得到的单元状态传递给Tanh函数;然后把Tanh输出和Sigmoid输出相乘,以确定隐藏状态应携带的信息;最后把隐藏状态作为当前单元输出,把新的单元状态和新的隐藏状态传输给下个时间步。

输出门控单元

总结

可见LSTM总体可由六个公式推导得出。LSTM对于RNN的使用是一大进步,但是LSTM相对来说还是有几个缺点:

1.long-term dependency:也就是最后一个向量很难捕捉前面的单词。

2.综上可知,LSTM是一种串行运算的方式,这种方式的运行速度相对来说比较慢。


————————————————
版权声明:本文为CSDN博主「雾行」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44151089/article/details/104204771

发布了18 篇原创文章 · 获赞 1 · 访问量 4280

猜你喜欢

转载自blog.csdn.net/weixin_44151089/article/details/104230531