摘要:
1、本文将降水临近预报定义为一个时空序列预测问题,其中输入和预测目标都是时空序列。
2、通过扩展全连通LSTM(FC-LSTM),使其在输入到状态和状态到状态的转换中都具有卷积结构,作者提出了卷积LSTM(ConvLSTM),并利用它建立了降水临近预报问题的端到端可训练模型
3、结论:本文的ConvLSTM网络性能较好(优于FC-LSTM和ROVER算法)
========================================================
一、引言:
1、降水临近预报是在相对较短的时间内(如0-6小时)内,对当地地区的降雨强度进行精确和及时的预测,具有挑战性,已成为研究热点。
2、现有的降水临近预报方法:
2.1基于NWP的方法:需要对大气模型中的物理方程进行复杂而细致的模拟
2.2基于雷达回波外推的方法:更快、更准确,常用
3、降水临近预报是一个以输入过去雷达地图的序列和未来雷达地图的固定数(通常大于1)的序列为输出的时空序列预测问题。
4、RNN和LSTM可解决该问题
5、别的团队建立了一个LSTM编码器-解码器预测器模型,该模型可以重建输入序列并同时预测未来的序列,但他们的模型所采用的全连接LSTM(FC-LSTM)层没有考虑到空间相关性。
6、本文提出一种新的卷积LSTM(ConvLSTM)网络用于降水临近预报。
7、本文将FC-LSTM的思想扩展到ConvLSTM,它在输入到状态和状态到状态的转换中都具有卷积结构。通过叠加多个ConvLSTM层,形成编码-预测结构,可以建立降水临近预报的端到端可训练模型。
8、本文在合成的Moving-MNIST数据集和雷达回波数据集上进行评估。
========================================================
二、准备工作:
1、降水临近预报的目标是利用先前观测到的雷达回波序列来预测一个当地地区(如香港、纽约或东京)的未来雷达地图的固定长度,这可以看作是一个时空序列预测问题。
2、本文的任务是根据前6帧的输入,预测接下来第7~60帧的输出。
3、每一时刻的输入是M*N的网格(矩阵),P是矩阵元素值。
4、时空序列预测问题:由先前的J个观测值(包含当前值) 预测 未来的最可能的长度为k的序列
即 seq[0:J] => seq[J:J+K]
5、每一时刻的观测值是一个二维雷达回波图(二维数组),元素值即为图上像素值
6、本文的预测目标是一个同时包含空间和时间结构的序列。
7、LSTM作为一种特殊的RNN结构,在之前的各种研究中已经被证明是稳定和强大的建模长期依赖。
========================================================
三、模型:
1、本文对FC-LSTM进行扩展,它在输入到状态和状态到状态的转换中都具有卷积结构。通过叠加多个ConvLSTM层,形成编码预测结构。
2、较大过渡核的ConvLSTM能够捕获更快的运动,而具有较小的内核可以捕获较慢的运动。
3、为了确保状态具有与输入相同的行数和相同的列数,在应用卷积操作之前需要进行填充(padding)
4、ConvLSTM包括两个网络,一个编码网络和一个预测网络。
预测网络的初始状态和单元输出从编码网络的最后状态复制
========================================================
四、实验:
1、首先在合成的MovingMNIST网络上,比较ConvLSTM和FC-LSTM
作者使用不同的层数和内核大小来运行模型,并研究了一些“域外”的情况
2、在新的雷达回波数据集上,将ConvLSTM与ROVER算法进行了比较
3、两个数据集上的比较结果:
ConvLSTM在处理时空相关性方面优于FC-LSTM
使状态到状态的卷积核的大小大于1对于捕获时空运动模式至关重要
更深的模型可以用更少的参数产生更好的结果
ConvLSTM在降水临近预报方面的表现优于ROVER算法
4、本文使用基于Python的Theano框架,实现模型。在一台使用单一的NVIDIA K20 GPU的计算机上运行了所有的实验
========================================================
(一)Moving-MNIST数据集:
1、所有数据实例都是20帧长(10帧用于输入,10帧用于预测),并包含两个在一个64×64补丁中跳跃的手写数字。
2、移动数字是从MNIST数据集中的500位数字的子集中随机选择的。
3、起始位置和速度方向均匀随机选择,速度振幅随机选择。
4、这个生成过程重复15000次,得到一个包含10000个训练序列、2000个验证序列和3000个测试序列的数据集。
5、本文通过使用时间反向传播(BPTT)和RMSProp最小化交叉熵损失,来训练所有的LSTM模型,学习速率为10−3,衰减速率为0.9。此外,作者还对验证集执行早期停止操作。
6、对于ConvLSTM网络,本文将补丁大小设置为4×4,以便每个64×64帧用一个16×16×16张量表示。
7、我们用不同的层数测试了我们的模型的三种变体。
1层网络包含一个有256个隐藏状态的ConvLSTM层,
2层网络有两个ConvLSTM层,每层有128个隐藏状态,
3层网络在三个ConvLSTM层中分别有128、64和64个隐藏状态。
所有的输入到状态和状态到状态的内核的大小都为5×5
8、更深层次的模型可以给出更好的结果,尽管在2层和3层网络之间的改善不是那么显著。
9、此外,我们还尝试了其他的网络配置:
将2层和三层网络的状态到状态和输入到状态的内核分别改变为1×1和9×9。
虽然新的2层网络的参数数量与原始的参数接近,但由于很难捕获只有1×1状态到状态转换的时空运动模式,结果变得更加糟糕。
同时,新的3层网络比新的2层网络表现得更好,因为更高的层可以看到更广泛的输入范围。然而,它的性能不如具有较大的状态到状态内核大小的网络。这为更大的状态-状态内核更适合捕获时空相关性提供了证据。事实上,对于1×1内核,状态的接受域不会随着时间的推移而增长。
10、但对于较大的内核,稍后的状态具有更大的接受域,并与更广泛的输入范围有关
11、本文选择当前的离线设置是为了了解不同的模型在没有太多数据可用的情况下的性能
12、接下来,我们在一些“域外”的输入上测试我们的模型:
我们生成另外3000个三个移动数字的序列,这些数字从500个MNIST数字的不同子集中随机抽取,它们与训练集不重叠。
由于该模型从未见过任何具有三位数的系统,这种“域外”运行是对模型[21]泛化能力的一个很好的测试。
3层模型在该数据集上的平均交叉熵误差为6379.42。通过对一些预测结果的观察,我们发现该模型可以成功地分离重叠的数字,并预测整体的运动。
========================================================
(二)雷达回波数据集:
本文所使用的雷达回波数据集是2011-2013年在香港收集的三年天气雷达强度的一个子集。由于不是每天都下雨,而我们的临近预报目标是降水,所以我们选择了前97个雨天来形成我们的数据集。在预处理中,我们首先通过设置P=Z−min−max{Z}max−min{Z}将强度值Z转换为灰度像素P,并在中央330×330区域对雷达地图进行裁剪。之后,我们应用半径为10的磁盘滤波器5,并将雷达地图的大小调整到100×100。为了减少测量仪器引起的噪声,我们进一步去除了通过应用K-means聚类来确定的一些噪声区域的像素值。
天气雷达数据每6分钟记录一次,所以每天有240帧。为了得到用于训练、测试和验证的不相交子集,我们将每个每日序列划分为40个不重叠的帧块,并随机分配4个块进行训练,1个块用于测试,1个块用于验证。使用一个20帧宽的滑动窗口从这些块中分割出数据实例。因此,我们的雷达回波数据集包含8148个训练序列,2037个测试序列和2037个验证序列,所有序列长度为20帧(5个输入,15个预测)。尽管从同一天分割的训练和测试实例可能有一些依赖关系,但这种分割策略仍然是合理的,因为在现实的临近预测中,我们可以访问所有以前的数据,包括同一天的数据,这允许我们对模型进行在线微调。这种数据分割可以看作是该应用程序的实际“启用微调”设置的近似值。
我们将补丁大小设置为2,并训练一个2层的ConvLSTM网络,每一层包含64个隐藏状态和3个×3个内核。对于ROVER算法,我们在验证集上调整光流估计器6的参数,并使用最佳参数(见附录)来报告测试结果。同时,我们尝试了三种不同的初始化方案: ROVER1计算最后两个观测帧的光流,然后进行半拉格朗日平流;ROVER2通过最后两个流场的平均值初始化速度;ROVER3用最后三个流场的加权平均值(权重为0.7、0.2和0.1)进行初始化。此外,我们还训练了一个具有两个2000节点LSTM层的FC-LSTM网络。ConvLSTM网络和FC-LSTM网络都优化了15个预测的交叉熵误差。
我们使用几种常用的降水预报指标来评估这些方法,即降雨均方误差(raain-MSE)、临界成功指数(CSI)、误报率(FAR)、检测概率(POD)和相关性。降雨-MSE度量被定义为预测降雨量与地面真实值之间的平均平方误差。因为我们的预测是在像素水平,我们项目他们回到雷达回波强度和计算降雨在网格使用Z关系[15]: Z = 10日志+ 10b日志R,其中Z是雷达回波强度分贝,R降雨率毫米/h,,b是两个常数= 118.239,b = 1.5241。CSI、FAR和POD是与机器学习研究人员常用的精度和回忆率相似的技能分数。
我们使用0.5mm/h的降雨率(表示是否下雨)将预测和地面真实值转换为0/1矩阵,并计算命中(预测=1、真值= 1)、错过(预测=0、真值= 1)和假警报(预测=1、真值= 0)。三个技能分数被定义为CSI =命中+假命中+假警报,FAR =假警报命中+假警报,POD =命中+假命中。预测帧P与地面真实帧T的相关性定义为P i,j Pi,jTi,j√(Pi,jP2i,j)(Pi,jT2i,j)+ε,其中ε=10−9。
所有结果如表2和图5所示。我们可以发现,FC-LSTM网络的性能并不好地完成这个任务,这主要是由于雷达地图上的强空间相关性,即云的运动在一个局部区域是高度一致的。全连接的结构有太多的冗余连接,这使得优化不太可能捕获这些局部一致性。此外,还可以看出,ConvLSTM的性能优于基于光流的漫游者算法,这主要有两个原因。首先,ConvLSTM能够很好地处理边界条件。在现实生活中,有很多情况下,边界处突然聚集的云,这表明有些云是从外部来自的。如果ConvLSTM网络在训练过程中看到了类似的模式,它可以发现编码网络中的这种突然变化,并在预测网络中给出合理的预测。
然而,这一点很难用基于光流和基于半拉格朗日平流的方法来实现。另一个原因是,ConvLSTM是端到端训练的,数据集中的一些复杂的时空模式可以通过网络的非线性和卷积结构来学习。对于基于光流的方法,很难找到一个合理的方法来更新未来的流场和端到端训练一切。ROVER2和ConvLSTM的一些预测结果如图6所示。我们可以发现,ConvLSTM可以更准确地预测未来的降雨轮廓,特别是在边界上。尽管ROVER2可以给出比ConvLSTM更清晰的预测,但它会触发更多的假警报,并且不如一般的ConvLSTM精确。此外,ConvLSTM的模糊效应可能是由于任务固有的不确定性造成的,即在长期预测中,几乎不可能对整个雷达地图给出清晰而准确的预测。我们只能模糊预测,以减轻这种不确定性所造成的误差。
========================================================
五、结论与未来工作:
1、本文首次成功地将机器学习方法,特别是深度学习,应用到具有挑战性的降水临近预报问题上
2、本文将降水临近预报定义为一个时空序列预测问题,并提出了一个新的LSTM扩展,称为ConvLSTM来解决这一问题。
3、ConvLSTM层不仅保留了FC-LSTM的优势,而且由于其固有的卷积结构,也适用于时空数据。
4、通过将ConvLSTM纳入编码-预测结构,我们建立了一个端到端可训练的预报模型。
5、对于未来的工作,我们将研究如何将ConvLSTM应用于基于视频的动作识别。一种想法是在卷积神经网络生成的空间特征图上添加ConvLSTM,并使用ConvLSTM的隐藏状态进行最终的分类。