机器学习笔记 :LSTM 变体 (conv-LSTMPeephole LSTM coupled LSTMconv-GRU)

Posted UQI-LIUWJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习笔记 :LSTM 变体 (conv-LSTMPeephole LSTM coupled LSTMconv-GRU)相关的知识,希望对你有一定的参考价值。

1 LSTM复习

机器学习笔记 RNN初探 & LSTM_UQI-LIUWJ的博客-CSDN博客

机器学习笔记:GRU_UQI-LIUWJ的博客-CSDN博客_gru 机器学习

 2 PeepholeLSTM

就是计算输入门、遗忘门和输出门 的时候,我们不仅仅考虑h和x,还将C考虑进来

3  coupled  LSTM

输入门和遗忘门二合一

4 Conv LSTM 

 可以看到conv LSTM中也使用了peephole LSTM的结构——cell部分也用于遗忘门和输入门的计算

对于使用了peephole 的LSTM,我们有如下的计算流程

        在这里红色和紫色框起来的地方 都是 哈达玛积(逐元素乘积),计算量是很大的,同时参数量也是很大的 [*表示 卷积操作 ●表示哈达玛积]

       在conv lstm 中,对于红色和紫色框起来的部分使用矩阵乘法而不是逐元素乘积

        对于conv-LSTM,输入是,w是时间窗口,a,b是 grid的尺寸;k是特征数量

         另一种convLSTM的理解方法是,我们普通的LSTM可以看成最后两个维度都是1 的ConvLSTM,其中卷积核大小为1×1

4.1 ConvLSTM VS CNN+LSTM

        对于时间序列预测问题而言,一般来说不存在conLSTM的结构,因为对于convlstm来说,输入是矩阵形式的,即每一个时间步都是一个矩阵输入(例如视频分类问题),而典型的时间序列预测的每一个时间步输入是一个向量(多变量时间序列预测)或一个标量(单变量时间序列预测)。

        因此在时间序列预测中,一般是使用conv1d+lstm的方式来做,例如输入是一个长度为10的sequence,经过conv1d(padding)之后仍旧是长度为10的sequence,然后这个sequence再送入LSTM,cnn作为滤波器存在,cnn和lstm的网络结构是完全独立的;

          cnn+lstm是无法直接处理视频问题的,因为视频的每一个时间步是一张图像,不考虑多通道问题则至少是一个矩阵,而LSTM中,输入部分和上一个时间步的hidden state的传入部分一般来说是向量。

4.2 图示ConvLSTM

 换言之,我们可以理解为,H,C以及sequence的每个元素X都是三维的tensor,每次我们都是用卷积操作来生成下一个sequence的H和C

5 ConvGRU

和Conv-LSTM类似,也是用 矩阵乘法代替逐元素哈达玛积

参考文献

【串讲总结】RNN、LSTM、GRU、ConvLSTM、ConvGRU、ST-LSTM - 知乎 (zhihu.com)

以上是关于机器学习笔记 :LSTM 变体 (conv-LSTMPeephole LSTM coupled LSTMconv-GRU)的主要内容,如果未能解决你的问题,请参考以下文章

IMPLEMENTING A GRU/LSTM RNN WITH PYTHON AND THEANO - 学习笔记

机器学习笔记:GRU

学习笔记CB012: LSTM 简单实现完整实现torch小说训练word2vec lstm机器人

Highway LSTM 学习笔记

深度学习笔记:LSTM

CS224n笔记9 机器翻译和高级LSTM及GRU