详细内容或原文请订阅后点击阅览
用于空间预测的卷积 LSTM
在预测空间确定的现象(例如天气或电影中的下一帧)时,我们希望对时间演变进行建模,理想情况下使用递归关系。同时,我们希望有效地提取空间特征,这通常是使用卷积滤波器完成的。理想情况下,我们将拥有一个既是循环又是卷积的架构。在这篇文章中,我们使用 torch 构建了一个卷积 LSTM。
来源:RStudio AI博客这篇文章是探索随时间变化的空间确定数据预测的松散系列文章中的第一篇。我所说的空间确定是指,无论我们试图预测什么数量——无论是单变量还是多变量时间序列,是否具有空间维度——输入数据都是在空间网格上给出的。
输入例如,输入可以是大气测量值,例如海面温度或压力,给定一组纬度和经度。然后,要预测的目标可以跨越相同(或另一个)网格。或者,它可以是单变量时间序列,例如气象指数。
但等一下,您可能会想。对于时间序列预测,我们有那套历史悠久的循环架构(例如 LSTM、GRU),对吗?对。我们有;但是,一旦我们将空间数据提供给 RNN,将不同的位置视为不同的输入特征,我们就会失去基本的结构关系。重要的是,我们需要在空间和时间上进行操作。我们想要两者:递归关系和卷积滤波器。输入卷积 RNN。
卷积 RNN对这篇文章的期望
今天,我们暂时不会进入现实世界的应用程序。相反,我们将花时间在 torch 中构建卷积 LSTM(以下称为 convLSTM)。首先,我们必须这样做 - 没有官方的 PyTorch 实现。
torch
这个很好的例子
此外,这篇文章可以作为构建您自己的模块的介绍。您可能熟悉 Keras 中的这一点,也可能不熟悉 - 这取决于您是否使用过自定义模型,或者更喜欢声明式的定义 -> 编译 -> 拟合样式。(是的,我暗示如果一个人从 Keras 自定义训练中转向火炬,就会发生一些转移。语法和语义细节可能不同,但两者都具有面向对象的风格,允许极大的灵活性和控制力。)
是 <-