赞
踩
论文 Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting
原文:https://arxiv.org/abs/1506.04214v1
论文主要提出了捕捉空间关系的结构 Convolutional LSTM
模型基于FC-LSTM(原结构没有考虑空间相关性)
降水临近预报的目标是在相对较短的时间内预测局部区域未来的降雨强度。 以前很少有研究从机器学习的角度研究过这个至关重要且具有挑战性的天气预报问题。 在本文中,我们将降水临近预报表述为时空序列预测问题,其中输入和预测目标都是时空序列。 通过扩展全连接 LSTM (FC-LSTM) 在输入到状态和状态到状态转换中具有卷积结构,我们提出了卷积 LSTM (ConvLSTM) 并使用它来构建端到端 降水临近预报问题的可训练模型。 实验表明,我们的 ConvLSTM 网络更好地捕获时空相关性,并且始终优于 FC-LSTM 和用于降水临近预报的最新状态操作 ROVER 算法
在本文中,我们提出了一种用于降水临近预报的新型卷积 LSTM (ConvLSTM) 网络。 我们将降水临近预报制定为时空序列预测问题,可以在 [23] 中提出的一般序列到序列学习框架下解决。 为了很好地建模时空关系,我们将 FC-LSTM 的思想扩展到 ConvLSTM,它在输入到状态和状态到状态的转换中都具有卷积结构。 通过堆叠多个 ConvLSTM 层并形成编码预测结构,我们可以构建用于降水临近预报的端到端可训练模型。 为了评估,我们创建了一个新的现实生活中的雷达回波数据集,它可以促进进一步的研究,特别是针对该问题设计机器学习算法。 在对合成的 Moving-MNIST 数据集 [21] 和雷达回波数据集进行评估时,我们的 ConvLSTM 模型始终优于 FC-LSTM 和最先进的可操作 ROVER 算法。
2.1 降水临近预报问题的制定降水临近预报的目标是利用之前观测到的雷达回波序列来预测一个固定长度的未来局部区域(如香港、纽约或东京)的未来雷达图。
在实际应用中,雷达图通常每 6-10 分钟从天气雷达中获取一次,并在接下来的 1-6 小时内进行临近预报,即预测前方 6-60 帧。 从机器学习的角度来看,这个问题可以看作是一个时空序列预测问题。
假设我们观察一个由 M × N 网格表示的空间区域上的动态系统,该网格由 M 行和 N 列组成。 在网格中的每个单元格内,有 P 个随时间变化的测量值。 因此,任何时候的观察都可以用张量 X 属于RP ×M×N 来表示,其中 R 表示观察到的特征的域。 如果我们定期记录观察结果,我们将得到一个张量序列 X1,X2… X^t。 时空序列预测问题是在给定之前的 J 个观测值(包括当前观测值)的情况下预测未来最可能的长度为 K 的序列:
对于降水临近预报,每个时间戳的观测是二维雷达回波图。 如果我们将地图划分为平铺的非重叠块并将块内的像素视为其测量值(见图 1),则临近预报问题自然会变成时空序列预测问题。
我们注意到,我们的时空序列预测问题与单步时间序列预测问题不同,因为我们问题的预测目标是一个包含空间和时间结构的序列。 尽管长度为 K 的序列中自由变量的数量可以达到 O(MKNKPK),但在实践中,我们可以利用可能预测的空间结构来降低维数,从而使问题易于处理。
LSTM 作为一种特殊的 RNN 结构在之前的各种研究中已被证明在长期依赖建模方面稳定且强大 [12,11,17,23]。 LSTM 的主要创新是其存储单元 ct,它本质上充当状态信息的累加器。 该单元由几个自参数化控制门访问、写入和清除。 每次有新的输入到来时,如果输入门被激活,它的信息就会被积累到细胞中。 此外,如果forget门 ft 打开,则在此过程中可能“忘记”过去的单元状态 ct-1。 最新的单元输出 ct 是否会传播到最终状态 ht 进一步由输出门 ot 控制。 使用存储单元和门来控制信息流的一个优点是梯度将被困在单元中(也称为恒定误差轮播 [12])并防止过快消失,这对于 验证RNN模型有效性来说是一个关键问题 [12, 17, 2]。 FC-LSTM 可以看作是 LSTM 的多元版本,其中输入、单元输出和状态都是一维向量。 在本文中,我们遵循 [11] 中的 FC-LSTM 公式。 关键方程如下面的 (2) 所示,其中‘◦’表示 Hadamard 乘积:
多个 LSTM 可以堆叠并在时间上连接以形成更复杂的结构。
此类模型已被应用于解决许多现实生活中的序列建模问题 [23, 26]。
我们现在介绍我们的 ConvLSTM 网络。 尽管 FC-LSTM 层已被证明在处理时间相关性方面非常强大,但它包含太多空间数据的冗余。 为了解决这个问题,我们提出了 FC-LSTM 的扩展,它在输入到状态和状态到状态的转换中都具有卷积结构。 通过堆叠多个 ConvLSTM 层并形成编码预测结构,我们能够建立一个网络模型,不仅可以解决降水临近预报问题,还可以解决更一般的时空序列预测问题。
FC-LSTM在处理时空数据方面的主要缺点是它在输入到状态和状态到状态的转换中使用完全连接,其中没有编码空间信息。 为了克服这个问题,我们设计的一个显着特点是所有输入 X1… Xt,单元格输出 C1…Ct,隐藏状态 H1… Ht,门 it,ft,ot作为ConvLSTM 的组件是3D 张量,其最后两个维度是空间维度(行和列)。 为了更好地了解输入和状态,我们可以将它们想象为位于空间网格上的向量。 ConvLSTM 通过其本地邻居的输入和过去状态来确定网格中某个单元格的未来状态。
这可以通过在状态到状态和输入到状态的转换中使用卷积算子来轻松实现(见图 2)。 ConvLSTM 的关键方程如下(3)所示,其中“*”表示卷积算子,“◦”表示 Hadamard 乘积:
如果我们将状态(state)视为移动对象的隐藏表示,则具有较大转换内核的 ConvLSTM 应该能够捕获更快的运动,而具有较小内核的 ConvLSTM 可以捕获较慢的运动。 此外,如果我们采用与 [16] 类似的观点,则(2)表示的传统 FC-LSTM 的输入、单元输出和隐藏状态也可以看作是最后两个维度为 1 的 3D 张量。在这个意义上 , FC-LSTM 实际上是 ConvLSTM 的一个特例,所有特征都位于一个单元格上。
为了确保状态具有与输入相同的行数和相同的列数,在应用卷积操作之前需要填充。 在这里,边界点上隐藏状态的填充可以看作是利用外界的状态进行计算。 通常,在第一个输入到来之前,我们将 LSTM 的所有状态初始化为零,这对应于对未来的“完全无知”。 类似地,如果我们对隐藏状态执行零填充(在本文中使用),我们实际上是在将外部世界的状态设置为零并且假设没有关于外部的先验知识。 通过填充状态,我们可以不同地处理边界点,这在许多情况下很有帮助。 例如,假设我们正在观察的系统是一个被墙壁包围的移动球。 虽然我们看不到这些墙,但我们可以通过一次又一次地发现球在它们上方弹跳来推断它们的存在,如果边界点与内部点具有相同的状态转换动力学,则很难做到这一点。
像 FC-LSTM 一样,ConvLSTM 也可以用作更复杂结构的构建块。
对于我们的时空序列预测问题,我们使用图 3 所示的结构,该结构由两个网络组成,一个编码网络和一个预测网络。 就像在 [21] 中一样,预测网络的初始状态和单元输出是从编码网络的最后一个状态复制而来的。 这两个网络都是通过堆叠几个 ConvLSTM 层形成的。 由于我们的预测目标与输入具有相同的维度,我们将预测网络中的所有状态连接起来,并将它们输入一个 1×1 的卷积层以生成最终预测
我们可以使用与 [23] 类似的观点来解释这种结构。 编码 LSTM 将整个输入序列压缩为隐藏状态张量,预测 LSTM 展开该隐藏状态以给出最终预测:
这种结构也类似于 [21] 中的 LSTM 未来预测器模型,除了我们的输入和输出元素都是保留所有空间信息的 3D 张量。 由于该网络具有多个堆叠的 ConvLSTM 层,因此它具有强大的表示能力,使其适合在复杂的动态系统中进行预测,例如我们在这里研究的降水临近预报问题。
我们首先在合成的 MovingMNIST 数据集上比较我们的 ConvLSTM 网络和 FC-LSTM 网络,以获得对我们模型行为的一些基本了解。 我们使用不同数量的层数和内核大小运行我们的模型,并且还研究了一些“域外”案例,如 [21]。 为了验证我们的模型在更具挑战性的降水临近预报问题上的有效性,我们构建了一个新的雷达回波数据集,并基于几个常用的降水临近预报指标将我们的模型与最先进的 ROVER 算法进行了比较。 在这两个数据集上进行的实验结果导致以下发现: • ConvLSTM 在处理时空相关性方面优于 FC-LSTM。
• 使状态到状态卷积核的大小大于 1 对于捕获时空运动模式至关重要。
• 更深的模型可以用更少的参数产生更好的结果。
• ConvLSTM 在降水临近预报方面表现优于 ROVER。
在 Theano [3, 1] 的帮助下,我们在 Python 中实现了模型。 我们在具有单个 NVIDIA K20 GPU 的计算机上运行所有实验。 此外,附录中包含更多说明性的“gif”示例。
对于这个合成数据集,我们使用类似于 [21] 中描述的生成过程。 数据集中的所有数据实例都是 20 帧长(10 帧用于输入,10 帧用于预测),并且包含两个在 64 × 64 补丁内弹跳的手写数字。 移动数字是从 MNIST 数据集中 500 个数字的子集中随机选择的。3 起始位置和速度方向是均匀随机选择的,速度幅度是随机选择的 [3; 5)。 这个生成过程重复了 15000 次,产生了一个包含 10000 个训练序列、2000 个验证序列和 3000 个测试序列的数据集。 我们通过使用随时间反向传播 (BPTT) [2] 和RMSProp [24],学习率为 10−3,衰减率为 0:9。 此外,我们对验证集执行提前停止。
尽管生成过程很简单,但生成的数据集中存在很强的非线性,因为移动的数字可能表现出复杂的外观,并且在移动过程中会被遮挡和反弹。 如果不学习系统的内部动态,模型很难对测试集给出准确的预测。
对于 FC-LSTM 网络,我们使用与 [21] 中的无条件未来预测模型相同的结构,具有两个 2048 节点 LSTM 层。 对于我们的 ConvLSTM 网络,我们将补丁大小设置为 4 × 4,以便每个 64 × 64 帧由 16 × 16 × 16 的张量表示。 我们用不同的层数测试了我们模型的三个变体。 1层网络包含一个ConvLSTM层,256个隐藏状态,2层网络有两个ConvLSTM层,每个层有128个隐藏状态,3层网络在三个ConvLSTM层中分别有128、64和64个隐藏状态 . 所有输入到状态和状态到状态的内核的大小都是 5 × 5。我们的实验表明,ConvLSTM 网络的性能始终优于 FC-LSTM 网络。 此外,虽然 2 层和 3 层网络之间的改进并不那么显着,但更深层次的模型可以提供更好的结果。 此外,我们还尝试了其他网络配置,将 2 层和 3 层网络的状态到状态和输入到状态内核分别更改为 1 × 1 和 9 × 9。
虽然新的 2 层网络的参数数量接近原始网络,但结果变得更糟,因为很难捕捉仅 1×1 状态到状态转换的时空运动模式。 同时,新的 3 层网络比新的 2 层网络表现更好,因为更高层可以看到更广泛的输入范围。 然而,它的性能不如具有较大状态到状态内核大小的网络。 这提供了证据,表明较大的状态到状态内核更适合捕获时空相关性。 事实上,对于 1 × 1 内核,状态的感受野不会随着时间的推移而增长。 但对于较大的内核,较晚的状态具有较大的感受野,并且与更广泛的输入相关。 每种算法在测试集上的平均交叉熵损失(cross-entropy loss per sequence)如表1所示。需要指出的是,我们的实验设置不同于[21],其中无限数量的训练数据是 假定可用。 选择当前离线设置是为了了解不同模型在可用数据不多的情况下的表现。 3 层 ConvLSTM 和 FC-LSTM 在在线设置中的比较包含在附录中。
接下来,我们在一些“域外”输入上测试我们的模型。 我们生成另外 3000 个三个移动数字的序列,这些数字是从不与训练集重叠的 500 个 MNIST 数字的不同子集中随机抽取的。 由于该模型从未见过任何三位数的系统,因此这样的“域外”运行是对模型泛化能力的一个很好的测试[21]。
该数据集上 3 层模型的平均交叉熵误差为 6379.42。 通过观察一些预测结果,我们发现该模型可以成功分离重叠的数字并预测整体运动,尽管预测的数字非常模糊。 一个“域外”预测示例如图 10 所示。
在本文中,我们成功地将机器学习方法,特别是深度学习应用于具有挑战性的降水临近预报问题,迄今为止,该问题还没有从复杂的机器学习技术中受益。 我们将降水临近预报制定为时空序列预测问题,并提出了 LSTM 的新扩展,称为 ConvLSTM 来解决该问题。 ConvLSTM 层不仅保留了 FC-LSTM 的优点,而且由于其固有的卷积结构,也适用于时空数据。 通过将 ConvLSTM 结合到编码预测结构中,我们构建了一个用于降水临近预报的端到端可训练模型。 对于未来的工作,我们将研究如何将 ConvLSTM 应用于基于视频的动作识别。 一种想法是在卷积神经网络生成的空间特征图之上添加 ConvLSTM,并使用 ConvLSTM 的隐藏状态进行最终分类。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。