LSTM网络

Posted ljygoodgoodstudydaydayup

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LSTM网络相关的知识,希望对你有一定的参考价值。

http://colah.github.io/posts/2015-08-Understanding-LSTMs/

https://www.jianshu.com/p/9dc9f41f0b29

机器学习面试100题: https://blog.csdn.net/T7SFOKzorD1JAYMSFk4/article/details/78960039

 

RNN 是包含循环的网络,允许信息的持久化。

技术分享图片

当相关信息和当前预测位置之间的间隔不断增大时,RNN 会丧失学习到连接如此远的信息的能力。

 

Long Short Term 网络(LSTM)是一种 RNN 特殊的类型,可以学习长期依赖信息。

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

技术分享图片

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

 技术分享图片

上图中相应图标的含义:

技术分享图片

 

LSTM 的关键就是细胞状态,水平线在图上方贯穿运行。

细胞状态类似于传送带。直接在整个链上运行,只有一些少量的线性交互。信息在上面流传保持不变会很容易。 

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

技术分享图片

 

LSTM中结构分析

技术分享图片技术分享图片

更新细胞状态:

技术分享图片

输出信息:

技术分享图片

 

LSTM变体

1、让门层也会接受细胞状态的输入 

 技术分享图片

2、

技术分享图片

3、Gated Recurrent Unit (GRU):

技术分享图片

 

LSTM输入输出:https://mp.weixin.qq.com/s/aV9Rj-CnJZRXRm0rDOK6gg

1、input_shape=(13, 5), 在NLP中可以理解为一个句子是 13个词,所以LSTM神经网络在时间上展开是 13个框, 每个词对应的词向量是 5 维,即每个时刻的输入$X_t$是 5 维的向量.

2、keras中的model.add(LSTM(10))中,  10 代表LSTM的hidden state $h_t$ 是 10维, 

 

 

进一步深入:

attention模型

 

以上是关于LSTM网络的主要内容,如果未能解决你的问题,请参考以下文章

用LSTM分类 MNIST

多层多输入的CNN-LSTM时间序列回归预测(卷积神经网络-长短期记忆网络)——附代码

循环神经网络lstm代码实现(07-3)

神经网络6:LSTM 神经网络

第二十一节,使用TensorFlow实现LSTM和GRU网络

[Pytorch系列-60]:循环神经网络 - 中文新闻文本分类详解-2-LSTM网络训练与评估代码详解