序列模型---LSTM(长短时记忆)
Posted lee-yl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了序列模型---LSTM(长短时记忆)相关的知识,希望对你有一定的参考价值。
一、RNN回顾
略去上面三层,即o,L,y,则RNN的模型可以简化成如下图的形式:
二、LSTM模型结构:
整体模型:
由于RNN梯度消失的问题,大牛们对于序列索引位置t的隐藏结构做了改进,可以说通过一些技巧让隐藏结构复杂了起来,来避免梯度消失的问题,这样的特殊RNN就是我们的LSTM。由于LSTM有很多的变种,这里我们以最常见的LSTM为例讲述。LSTM的结构如下图:
记忆细胞:
从上图中可以看出,在每个序列索引位置t时刻向前传播的除了和RNN一样的隐藏状态h(t),还多了另一个隐藏状态,如图中上面的长横线。这个隐藏状态我们一般称为细胞状态(Cell State),记为C(t)。如下图所示:
门控结构:
除了细胞状态,LSTM图中还有了很多奇怪的结构,这些结构一般称之为门控结构(Gate)。LSTM在在每个序列索引位置t的门一般包括遗忘门,输入门和输出门三种。下面我们就来研究上图中LSTM的遗忘门,输入门和输出门以及细胞状态。
-
遗忘门:是控制是否遗忘的,在LSTM中即以一定的概率控制是否遗忘上一层的隐藏细胞状态。遗忘门子结构如下图所示:
-
输入门:负责处理当前序列位置的输入,它的子结构如下图:
LSTM之细胞状态更新:
在研究LSTM输出门之前,我们要先看看LSTM之细胞状态。前面的遗忘门和输入门的结果都会作用于细胞状态C(t)。我们来看看从细胞状态C(t−1)如何得到C(t)。如下图所示:
我们把旧状态与ft相乘,丢弃掉我们确定需要丢弃的信息。接着加上it∗Ct~。这就是新的候选值,根据我们决定更新每个状态的程度进行变化。
-
输出门:有了新的隐藏细胞状态C(t),我们就可以来看输出门了,子结构如下:
三、LSTM的前向传播
四、LSTM反向传播算法
以上是关于序列模型---LSTM(长短时记忆)的主要内容,如果未能解决你的问题,请参考以下文章
Keras深度学习实战(33)——基于LSTM的序列预测模型
深度学习多变量时间序列预测:LSTM算法构建时间序列多变量模型预测交通流量+代码实战
LSTM时间序列预测基于matlab深度学习的长短期记忆网络LSTM时间序列预测未来含Matlab源码 2345期