keras ConvLSTM2D 层有什么作用?

gab*_*gab 6 conv-neural-network lstm keras tensorflow

我想更好地理解ConvLSTM2D Keras 层。

它是否对 2D 输入(图像)执行 2D 卷积,然后平均/展平其输出并将其输入 LSTM 模块?但我猜它基本上是一个 LSTM 单元,其中矩阵乘法被卷积运算取代。那是对的吗?

谢谢

小智 5

是的,您对CONVLSTM2D的概念是正确的。
CONVLSTM2D架构将 LSTM 门控与 2D 卷积相结合。

正如您所提到的,CONVLSTM 层将执行与 LSTM 类似的任务,但它不是矩阵乘法,而是执行卷积运算并保留输入维度。

另一种不同的方法是图像通过卷积层,结果将是一个扁平的一维数组,这将是 LSTM 层的输入,随着时间的推移具有一组特征。

Kera的CONVLSTM层的输入:是一个具有形状的5D张量

(samples, time, channels, rows, cols)如果是渠道第一的话。
(samples, time, rows, cols, channels)如果是最后一个频道。

CONVLSTM 层的输出:

如果return_sequences = True那么它是一个具有形状的 5D 张量

(samples, time, filters, rows, cols)  
Run Code Online (Sandbox Code Playgroud)

如果 return_sequences = False 那么它是一个具有形状的 4D 张量。

(samples, filters, rows, cols)  
Run Code Online (Sandbox Code Playgroud)

您可以参考这篇论文,其中完成了 CONVLSTM 的实现。