LSTM论文链接:LSTM Conv论文链接:ConvLSTM

LSTM

RNN网络的每个细胞单元在时间轴的维度上,向下一时刻的RNN细胞单元共享权重,来实现处理时间维度的信息,同时RNN网络对短期数据显得较为敏感,但是对长期数据显得疲惫,LSTM是RNN 网络的一种变体,为了解决长期记忆的问题。

LSTM CNN_LSTM CNN


LSTM架构背后的中心思想是一个可以随时间保持的记忆细胞LSTM CNN_深度学习_02),以及调节细胞内外信息流的非线性门控单元(输入门,输出门,遗忘门)。记忆细胞LSTM CNN_深度学习_02本质上充当了状态信息的累加器。同时采用多个具有参数的控制门对记忆细胞进行访问、写入和清除。

遗忘门

LSTM CNN_lstm_04
上一时刻的隐藏状态信息LSTM CNN_lstm_05与本时刻的数据LSTM CNN_深度学习_06拼接,共同输入到Sigmoid函数,得到的输出结果介于0~1之间,用于判断过去信息是否重要,接近0表示信息不重要可以忘记,接近1表示信息很重要需要记住,最后得到的值会与前一时刻的记忆细胞LSTM CNN_lstm_07做乘积运算,用来限制前面的记忆对后面的影响。

输入门
LSTM CNN_lstm_08
LSTM CNN_LSTM CNN_09
LSTM CNN_LSTM CNN_10

LSTM CNN_数据_11与遗忘门的结构几乎一致,产生一个0~1的数值,作为输入重要性因子LSTM CNN_深度学习_12的输入也是由LSTM CNN_lstm_13组成,通过tanh激活函数,可以使数据关于y轴对称,起到了数据中心化的效果,加快了数据的收敛,与输入重要性因子相乘用于判断输入信息是否重要,如果重要则该信息可以用于更新记忆细胞

输出门
LSTM CNN_人工智能_14
LSTM CNN_lstm_15

LSTM CNN_人工智能_16用来衡量输出的重要性,与经过tanh激活函数的该层记忆细胞LSTM CNN_深度学习_02相乘后,作为本层的输出LSTM CNN_深度学习_18,同时也作为下一层的隐层函数LSTM CNN_LSTM CNN_19

因此遗忘门,输入门,输出门,都是作为非线性激活函数用来衡量细胞内外信息的重要性.三类激活函数具有三个不同的矩阵,我们在训练模型的时候就是为了训练矩阵的数值.在遗忘门中,它决定了LSTM CNN_lstm_07是否应该忘记,在输入门中它决定了LSTM CNN_深度学习_12是否需要加入记忆细胞中用于记忆,在输出门中,它决定了更新的细胞有多重要作用到下一个隐藏层中。

ConvLSTM

FC-LSTM可以看作是LSTM的多变量版本,其中输入、单元输出和状态都是一维向量,尽管它在处理时序信息中十分有效,但是对于空间信息而言存在较多的冗余信息。为了解决这个问题,我们提出了FC - LSTM的扩展,在输入到状态状态到状态的转换中都具有卷积结构。

LSTM CNN_人工智能_22


如图1所示,我们可以将输入和状态信息,想象成站在空间网格上的向量,此时特征信息从2D图像格式,转变为3D tensor格式。与FC-LSTM不同,ConvLSTM中所有的输入信息、隐藏层、输出信息、门控信息都是3D向量形式。ConvLSTM将LSTM具有的矩阵计算转变成了卷积计算,当前网格中具体细胞信息由上一时刻细胞周围信息和此时的输入计算而来。公式如下:

LSTM CNN_数据_23
LSTM CNN_LSTM CNN_24

LSTM CNN_人工智能_25
LSTM CNN_人工智能_26
LSTM CNN_深度学习_27

其中LSTM CNN_深度学习_28代表卷积,LSTM CNN_LSTM CNN_29代表Hadamard积(相同位置上对应元素的内积)。