keras ConvLSTM2D 层有什么作用?

What does the keras ConvLSTM2D layer do?

我想更好地了解 ConvLSTM2D Keras 层。

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

谢谢

是的,你对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)  

如果return_sequences = False 则它是具有形状的 4D 张量。

(samples, filters, rows, cols)  

您可以参考 this 完成 CONVLSTM 实现的论文。