ConvLSTM:通过机器学习方法解决降雨量实时预测问题 您所在的位置:网站首页 天气预报实时降雨量 ConvLSTM:通过机器学习方法解决降雨量实时预测问题

ConvLSTM:通过机器学习方法解决降雨量实时预测问题

2023-04-18 01:35| 来源: 网络整理| 查看: 265

问题:如何精确地实时预测出一段短时间内某地区的降雨量。在天气预报领域中,实时预测降雨量是极其重要的一个问题。

在实际应用中,雷达图通常每6-10分钟从天气雷达上获取一次,在接下来的1-6小时内进行短时预报,即预测接下来的6-60帧。

而本文从机器学习的角度出发,将这一问题抽象成一个时空序列预测问题,通过分析某地区前一段时间的降雨情况,预测接下来一段短时间内该地区的降雨量。

因此,作者首次提出了ConvLSTM模型来解决这一问题。

前人的工作:

LSTM(Long Short-Term Memory 长短期记忆人工神经网络):在1997年,Hochreiter等人首次提出了LSTM,它在RNN(循环神经网络)基础上,为了解决长依赖问题而精心设计的。在21世纪,LSTM被一代代学者逐渐完善(Learning to forget: Continual prediction with LSTM, 2000. Felix Gers等;Generating sequences with recurrent neural networks. 2013. Alex Gloves等),形成了较为系统完善的LSTM框架,在NLP,自动驾驶汽车等领域均有应用。

实时预测降雨量:现有的实时预测降雨量方法一般有两种,一是NWP(Numerical Weather Prediction),但是该方法有极为复杂的建模过程,需要细致的物理推导;二是通过雷达回波推测,这一方法在最近有所突破,香港学者提出了“实时雷达回波光流变分法”(Real-time Optical flow by Variational methods for Echoes of Radar) (ROVER),它是解决这一问题现有的最高技术水平,但它的局限性在于没有综合考虑光流和雷达回波的影响。

本文的方法:

本文首先对这一问题建模,将城市抽象成一个m×n的方格,每个方格都含有p个测量值,那么任何时刻一个城市的状态可以看作一个m×n×p的张量,根据这一地区先前已测得J时间长度的张量,预测当地K个时间内的张量。这是一个时空序列问题而非时间序列问题,因为它要同时考虑时间和空间因素。

随后,作者先采用了FC-LSTM(fully connected LSTM),这一模型基于论文Generating sequences with recurrent neural networks,在传统的LSTM结构之上增加了窥视链接(peephole connections)。它的输入和输出状态都是一维的张量,它主要的优势在于梯度会被保存在单元中,从而避免梯度消失的问题。

FC-LSTM的重要等式如下:

其中◦代表哈达玛积。

虽然FC-LSTM已经可以用来解决时间关联性问题,但是它也有很明显的缺点:由于FC-LSTM的输入是一维张量,它无法捕捉空间特征。因此,本文提出了ConvLSTM(Convolutional LSTM)结构,在输入到状态和状态到状态的转换中运用卷积的方式,提取时间与空间关联特征。

ConvLSTM的重要等式如下:

其中*代表卷积,◦代表哈达玛积,Xt代表输入,Ct代表单元输出,Ht代表隐状态,it代表输入门,ft代表遗忘门,ot代表输出门。

比较FC-LSTM和ConvLSTM的重要等式,可以看出ConvLSTM与FC-LSTM主体大致相同,仅仅在提取特征的方式中将所有普通乘法改为卷积操作。卷积核越大,能够提取到更快的动作,而卷积核越小,能够提取到更慢的动作。

值得注意的是,为了保证状态张量与输入张量有相同的行列数,需要在进行卷积操作前先进行填充操作。在这里作者使用了零填充,原因在于作者假定外部条件对n×m的网格内部没有任何影响,只考虑网格内部地区的空间影响。

编码-预测结构(Encoding-Forecasting Structure)。区别于在机器翻译中广泛运用的编/解码结构(Encoding-Decoding Structure),对于时空序列预测问题,作者使用了编码-预测结构。其中,编码网络和预测网络都包含了数个ConvLSTM层,预测网络的初始状态和单元输出都从前一个编码网络的状态复制获得。由于预测和输入具有相同的维度,需要将预测网络的状态连接起来,并输入到一个1×1的卷积层中,得到最后的预测结果。

这一结构最大的优点在于,它将提取输入的时空特征和提取状态特征两个过程分离,从而编码网络和预测网络在使用卷积操作的特征时,不会受到对方的干扰,对特征的提取更加准确。

本文解决时空序列预测问题公式如下:

实验:

本文采用的训练集为Moving-MNIST,首先,分别使用FC-LSTM和ConvLSTM网络进行训练,并比较两者预测的准确性。在实验中,改变量有两网络的层数以及ConvLSTM网络中卷积核的大小,并且使用了论文Unsupervised Learning of Video Representations using LSTMs中提到的训练范围之外的数据,从而检验模型的泛化能力。为了验证两模型的有效性,作者还自己建立了一个雷达回波数据集,并将ConvLSTM模型与Rover算法的效率进行比较,实验结果如下:

1、在处理时空关联性方面,ConvLSTM网络的效率要优于FC-LSTM网络。

2、在状态与状态间使用卷积操作时,为了提取时空动作特征,卷积核的大小必须大于1。

3、层数越多的网络模型在参数数量较少的情况下能够得到更好的结果。

4、在实时预测降雨量问题中,ConvLSTM的表现要优于Rover算法。

Moving-MNIST数据集。Moving-MNIST数据集是时空序列预测问题的常用数据集,一组图片是两个数字的时空序列移动,每组图片一共有20张,前十张图片作为输入,后十张图片作为标准输出,每张图片的大小为64×64。本文中作者选用10000组图片作为训练集,2000组图片作为验证集,3000组图片作为测试集。

参数方面,作者选用的损失函数为交叉熵损失函数,使用BPTT(Back Propagation Through Time)算法最小化损失函数,优化器使用RMSProp,学习率为0.001,学习率衰减为0.9,在验证集中使用早停法(early-stopping)。

上图为在Moving-MNIST上的测试结果,可以看出ConvLSTM网络的表现比FC-LSTM网络更好,但是2层和3层ConvLSTM网络的表现并没有很显著的差别。此外,1×1的卷积核并不能抓取到时空关联,因此尽管堆叠ConvLSTM层数,其表现也不尽如人意,而更大的卷积核则能解决这一问题。

接着,作者使用了三个数字叠加的图像对两模型进行测试,以考察两者的泛化能力,图像样例及三层ConvLSTM网络的预测结果如下图所示:

FC-LSTM与ConvLSTM的测试结果如下图所示:

雷达回波数据集。本文选用了2011-2013年香港的雷达数据,并挑选降雨量最高的97天作为实验数据。首先对数据进行预处理,对其先后进行了归一化,将图像调整大小为100×100,并使用K-means聚类算法对数据进行去噪处理。

为了获取更多数据用于训练,验证和测试,作者采用滑动窗口对原始数据进行截取,以4:1:1的比例作为训练,验证和测试数据,并以5张图片作为输入,15张图片作为预测。虽然采用滑动窗口截取数据会导致数据之间出现关联性,但是这样做仍然具备合理性,因为在实际预测中也会参考先前的降水数据。

随后,作者分别采用FC-LSTM,ConvLSTM和3种不同的Rover算法对未来降水进行预测,预测结果如下图所示:

其中,Rainfall-MSE(Rainfall Mean Squared Error),CSI(Critical Success Index),FAR(False Alarm Rate),POD(Probability of Detection)均为实时预测降雨量的重要度量标准。

可以看出,FC-LSTM的结果仍然不能令人满意,因为在雷达图像种蕴含了很强的时空关联性,而ConvLSTM的结果则超过了Rover算法,这其中有两个主要原因:第一,ConvLSTM能够很好地处理边界问题,它有着很强的泛化能力,因此在边界上的准确率相对更高,而Rover很难做到这一点;第二,ConvLSTM采用端到端结构,它能够学习到高度非线性的特征。当然,由于对整个雷达图像难以进行长期的精确的预测,只能选择对预测进行模糊化处理,从而降低因这一问题本身的局限性而带来的错误。

通过上述实验,可以看出本文的ConvLSTM在解决短时降水量预测问题上达到了State of the art。

对于未来的一些工作展望,作者认为可以将ConvLSTM应用于视频行为认知,或者也可以将其用于图像的空间特征的提取和分类。

我的思考:

阅读完整篇论文后,我个人认为本文的理解难度并不高,idea也朴实且自然。但是,本文在有限的篇幅中亮点颇多,例如ConvLSTM网络的架构,编码-预测结构和雷达回波数据的构造,这些都令人眼前一亮。在我看来,本文能够取得成功的原因有以下三个方面:

第一、作者从一个现实问题——实时预测降雨量问题出发,这一实际的应用场景给予了作者启示,同时作者也具备良好的抽象思维,能够将这一问题转化为一个时空序列预测问题。

第二、作者对神经网络的架构了如指掌,并具有良好的知识迁移能力。作者将CNN中使用卷积操作进行特征提取的思想运用在LSTM中,其实这一思想的有效性并不难理解,但首次提出这一模型需要强大的知识迁移力。

第三、作者善于借鉴前人的工作,并能够推陈出新。其实在FC-LSTM和Moving-MNIST部分,作者大量借用了论文Unsupervised Learning of Video Representations using LSTMs中的想法,尤其是在运用训练范围之外的数据进行泛化能力测试的想法,也正是这一部分体现了ConvLSTM相对于FC-LSTM的优越性。此外,作者在此文的编/解码的模型基础上进行改进,提出了编码-预测模型,这一模型的构造十分巧妙,同时也是ConvLSTM能够表现如此之好的一大原因。

但是,我对本文一些地方仍存有疑问。在雷达回波数据的构造上,作者选用了三年中降水量最多的97天作为实验数据,但是在实际情况中,有很大一部分的数据是没有降雨以及少量降雨的。可以想象的是,这部分数据的特征相较于降水量大的数据并不是非常明显,因此在这部分数据中,ConvLSTM的表现能否比Rover算法出色在我心中是一个疑问。

通过观察作者给出的图像,我发现在Moving-MNIST数据集上,预测的结果和实际的相比偏差还是很大,这表明在时空序列预测问题上还有较为可观的进步空间。而这一种类相关的问题在实际生活中也并不罕见,如NLP等,现有的技术还难以非常准确的作出预测。虽然本篇论文仅仅从实时预测降雨量着手,展现出ConvLSTM网络的优越性,但是我个人认为,这一模型在其它问题上也同样有着用武之地。当然,本文中作者对ConvLSTM的架构也有着可以再打磨的空间,例如边界上的处理,ConvLSTM多层网络的堆叠方式,这些都需要依靠实际问题进行调整和检验。

ConvLSTM的提出,在时空序列预测问题上是一个里程碑式的事件,后来也有不少的论文提出更多改进的版本,如PredRNN,PredRNN++,这些都是建立在ConvLSTM的基础上构建的。罗马不是一天建成的,正是通过对前人的工作出现的问题进行分析和解决,不断的在前人的工作基础上进行完善,才会诞生出更加优秀的模型。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有