宋 毅 张晗奕 孙 丰 张敬林 白 琮*
①(航天宏图信息技术股份有限公司 北京 100195)
②(浙江工业大学计算机与科学技术学院 杭州 310023)
③(山东大学控制科学与工程学院 济南 250100)
降雨预测是气象预测问题中的经典问题,它是指使用过去的降雨相关信息,例如:降雨强度、降雨云团类型、云团温度等大气信息对未来的降雨强度和降雨位置进行详细和可信的预测[1]。降雨预测具有重要的民生价值,在水资源管理、农业和航空业等都有重大的作用。根据灾害流行病学研究中心发布的21世纪灾害事件评估报告,强降雨引发的洪涝灾害给人们带来的负面影响比任何其他自然灾害都要大。因此根据高分辨率雷达数据进行降雨预报在许多气象部门都是必不可少的。根据降雨预测的时序长度可以分为长时预测与短时预测。前者主要预测未来2 h以上的降雨情况,而后者主要预测未来0~2 h内的降雨信息,本文主要关注短时降雨预测。预测时间根据雷达图时序间隔划分为N个时间步。为了便于后续模型性能分析,本文根据前人经验将0~30 min内的时间步定义为短时间步,30 min以后的时间步定义为长时间步。
现有的降雨预测算法可分为两大类:基于数值的天气预测模型[2](Numerical Weather Prediction,NWP)的方法和基于雷达回波的外推法。对于NWP方法而言,它需要利用高性能计算机即超级计算机对大气模型中的物理方程进行复杂且细致的模拟,利用模型预测未来气象变化。因此NWP需要极高的计算资源支持与庞大的气象数据支撑,且依赖于气象数据的准确性。如果数据中存在一定的偏差或噪声,则模型难以推演出准确的预测结果。因此,目前最先进的实用降雨预报系统更多使用基于雷达回波的外推法。
外推法使用的数据来源为雷达回波图,而雷达回波图仅包含雷达反射率,一般来说,反射率越大,云团的含水量就越大,因此可以利用雷达回波图预测降雨情况。外推法相比于NWP具有更快的计算速度与更高的准确率,与NWP需要多种气象数据不同,基于雷达回波的外推法通常只使用雷达回波数据进行降雨预测。其中外推法又可以进一步区分为传统算法与基于深度学习的算法。传统算法中,以光流法[3]为基础的众多算法已经被证明有助于精确的外推,如雷达回波的变分实时光流法(Realtime Optical flow by Variational methods for Echoes of Radar, ROVER)[4]。ROVER使用算法计算连续雷达图中的光流信息,并且对静止的光流场执行半拉格朗日平流法来完成结果预测,但是研究人员很难确定模型需要的良好参数,因此成功率受到一定的限制。
随着深度学习的崛起,基于深度学习的降雨预测算法被认为优于传统的雷达回波外推法,它具有更快的推演速度与更高的预测精准率。从深度学习的角度来说,降雨预测任务被认为是一个时空序列预测问题,即以过去的雷达回波图序列作为输入,以固定数量的未来雷达回波图序列作为输出。当前深度学习方法中,以卷积-长短时记忆网络[5](Conv Long Short-Term Memory, ConvLSTM)为代表的时序网络在首次提出时便取得了优异的结果。ConvLSTM以长短时记忆网络(Long Short-Term Memory, LSTM)[6–9]为基础,利用卷积结构和时序结构并行提取空间信息与时序信息,弥补了传统卷积算法无法有效提取时序特征的缺陷。但是后续的演化导致基于ConvLSTM的时序网络结构不断复杂,导致当网络深度加大时,存在梯度爆炸问题,及占用大量计算资源等问题。针对梯度爆炸的问题,PredRNN++(Predictive Recurrent Neural Network++)[10]提出梯度高速单元,虽然有效缓解PredRNN出现梯度爆炸的倾向,但是当模型的深度加深时,仍然会产生梯度爆炸。
除了时序网络之外,另一些基于全卷积网络(Fully Convolutional Network, FCN)[11]的预测方法可以避免时序网络中存在的上述问题,如U-net[12,13],RainNet[14]等。由于全卷积网络强大的空间信息挖掘能力,在未来的1帧或2帧的预测内具有较好的预测效果,但是在较长时间步预测中效果极差。这是因为全卷积网络本身并不具备时序信息获取能力,且这些网络本身所自带的循环结构导致预测误差的累积问题。同时,基于FCN的网络存在对时序信息敏感度低的严重问题。
基于以上原因,期望存在一个新型网络,它具备以下条件:
(1) 模型具备并行计算能力;
(2) 模型可以有效避免梯度爆炸问题;
(3) 模型同时具备时序信息与空间信息的提取能力;
本文提出一个具有预先预测辅助推断结构(Pre-Prediction Auxiliary Inference, PPAI)和时序特征约束器(Temporal Features Constraint, TFC)的全卷积网络PPNet(Pre-predicted Precipitation nowcasting Network)。根据流体力学中的泰勒冻结假设[15],如果湍流引起的信号脉动量远小于由对流引起的空间变化,云团在短时间内趋向于在空间以当地平均对流速度平移,短时间内并不会发生外形的剧烈变化。因此本文假定短时间内降雨特征的运动信息不会大幅度变化,从而推断后续帧序列的具体信息,其中则包含粗粒度的时序信息与空间信息。PPAI利用泰勒冻结假设接收输入帧序列,通过相邻两帧间的残差信息得到降雨信息的移动方向与移动速度。泰勒冻结假设只限定短期内降雨运动信息不变,但预测时间越长,预测偏差则越大,因此本文还提出时序特征约束器TFC。它从收缩观测结果与预测结果间时序特征相似度的角度对预测结果进行时序维度的特征约束。由于我们的网络并非时序网络,不需要按时间步计算结果,因此具备并行计算能力,满足条件(1)。又因为全卷积网络的特性和ReLU激活函数的作用下,该模型极少出现梯度爆炸情况,满足条件(2)。此外,由于PPAI预先提取时序信息,而网络主体由全卷积构成,主要提取空间信息,因此满足条件(3)。大量实验结果证明了PPNet的有效性,并且指标优于当前降雨短时预测领域中最好的算法。综上,本文的主要贡献如下:
(1) 基于泰勒冻结假设,提出预先预测辅助结构PPAI,预先预测粗粒度的空间信息与时序信息,缓解全卷积网络难以提取时序信息的缺陷。
(2) 提出时序特征约束器TFC,对长时间步的预测结果进行约束,细化预先预测的时序特征粒度。
(3) 实验表明,与当前最优秀的降雨短时预测算法相比较,网络在各指标上都达到最优,并且在暴雨预测上远远优于其他算法。
由于传统的标准长短时记忆网络(LSTM)是一种特殊的循环神经网络RNN[16]架构,因此输入中的空间信息无法有效地在网络运算中得到表达,而ConvLSTM通过引入卷积操作解决该问题。ConvLSTM 通过门控单元来记忆和控制信息流,同时利用卷积运算提高模型的空间特征提取能力。与传统的 LSTM 类似,ConvLSTM 中的门控单元可以控制信息的流入和流出。输入门(input gate)控制新的信息流入,遗忘门(forget gate)控制旧的信息流出,输出门(output gate)控制当前单元状态的信息流出。单元状态记忆了序列数据中的长期依赖信息,隐状态则提取了序列数据中的短期特征信息。
尽管ConvLSTM在处理时间序列图像的道路上起着至关重要的作用,但是该架构中仍然存在一些地方可以改进。首先,记忆单元仅仅依赖于其它层的特征表示,因为记忆单元状态是在相应层的水平方向上更新,意味着当前时间步的第1层操作者并不知道时间步的上一层记录的特征。其次,由于隐藏状态是对两个门控单元的操作,表示记忆单元将包含长期和短期信息,模型的性能被这些时空变化所限制。
Wang等人[17]通过将新颖的基于时空信息的长短时记忆网络(ST-LSTM)作为基本单元,提出PredRNN,该网络克服前一版本ConvLSTM的空间信息提取能力的限制。相比ConvLSTM, PredRNN通过引入新的空间记忆单元和模型传播路径以提升模型空间信息提取能力。该模型单元称为ST-LSTM。在具体结构中,记忆单元基于过去的时间步在水平方向传入当前时间步中,而空间记忆单元则在相同时间步中按垂直方向不断向上层传播,可以在预测时将信息从上一级的循环结构传递到下一级的循环结构,从而更好地保留历史信息和未来信息之间的关系,提高预测精度。
PredRNN++[10]在PredRNN的基础上更改传统LSTM中数据流走向,提出Causal LSTM,并提供高速通道单元缓解梯度爆炸发生的倾向。MIM[18]将输入帧中数据区分为稳定特征与非稳定特征,并有针对性地对两者进行特征提取与特征融合。DALSTM[19]在LSTM结构中添加注意力机制,成功捕捉时空特征信息,并且注意力机制的权重分布与物理现象相关联。
由于时序网络能够提取有效的时序信息,因此目前降雨短时预测任务中,时序网络占有主要的地位。但是也因为提取时序信息导致计算流程不得不随着时间步的推进而推进,不能并行计算,因而计算速度与训练速度稍慢,且时序网络对空间信息的弱挖掘能力也被诟病。
FCN是Fully Convolutional Network的缩写,是一种基于全卷积神经网络的图像分割方法,被广泛应用于语义分割、实例分割和场景理解等领域,是图像分割领域中的经典方法之一。相对于传统的神经网络模型,FCN的主要改进在于将全连接层替换成全卷积层,从而实现像素级别的图像分割。
FCN通常由编码器和解码器两部分组成。编码器部分通常是预训练的卷积神经网络,如U-net[12]用于提取输入图像的特征。解码器部分则是由一系列上采样层、反卷积层和跳跃连接等组成的,用于将编码器提取到的特征图进行上采样和融合,最终得到与原图像尺寸相同的预测结果。由于全卷积网络容易理解且相比时序网络更易于训练,目前也有一些利用全卷积网络实现的降雨预测网络。
在降雨短时预测领域,全卷积网络多采用多帧到单帧推导(Multi-frame-to-Single-frame Inference, MSI)模式,然后利用循环的模式,将首次预测后的单帧结果作为输入数据再预测下一时间步的结果。如RainNet利用U-net作为基础网络模型,将前帧作为输入数据,输出单帧预测结果后,反复循环推进时间步。MSI模式符合全卷积网络的简易性的特点,且本意期望通过循环结构从降雨云图或雷达回波图序列帧中提取时序信息。但是全卷积网络对输入空间信息非常敏感,在首次预测的结果中存在偏差后,仍然将带有偏差的结果作为输入数据继续推断只会导致预测误差不断的累积,最终导致难以甚至无法预测较长时间步的结果。
MMINR[20]提出多帧到多帧推导(Multi-frameto-Multi-frame Inference, MMI)模式,将连续多帧数据作为输入,连续多帧作为输出,取消循环结构,有效地缓解了预测误差累积的问题,性能与时序网络相当。但是由于MMINR本身并不具备时序信息探测能力,因此只有当输入帧数量与输出帧数量大致相当时,才有较好表现。
此外,也有另一种全新的视角。Han等人[21]提出一种CNN方法来预测对流信息。他们将对流领域划分为一个个位置固定的块,并将预报问题转换为分类问题,即在预报时间内,一个大于35 dBZ的雷达回波是否会出现在盒子里。这种CNN方法与RainNet的不同之处在于,与RainNet的U型结构相比,它使用典型的CNN结构。CNN的输出是分类结果,而RainNet的输出是雷达回波图。但分类方法只能预测是否存在强对流存在,而对于具体的降雨强度与具体区域则无能为力,因此目前主流降雨临时预测领域还是以预测雷达回波图或降雨图为主。
所以目前为止,如何在输入帧数量较少的情况下让全卷积网络具备时序信息探测能力且效果与时序网络相当是首要的难题。
本文提出的降雨短时预测全卷积网络PPNet整体架构如图1所示。该网络主要由本文所提出的预先预测辅助结构(Pre-Prediction Auxiliary Inference, PPAI)和时序特征约束器(Temporal Features Constraint, TFC)构建而成。细节将在3.1节–3.3节进行表述。
图1 PPNet整体架构图
PPNet主要由3个重要部分组成:预先预测辅助结构PPAI,时序特征约束器TFC和主体卷积模块。首先定义一个序列帧为X={X1,X2,...,XN},此处与后续数据集中数据定义相同,预先定义N=18。然后进一步定义输入数据为x={x1,x2,...,xn},真值为y={yn+1,yn+2,...,yN}。此处是n可变的,当确定时,n越小,对模型的预测性能要求更高,因为模型使用更少的输入信息而预测更多的结果。本文选择n=6,因此预测过程为输入6帧预测未来12帧降雨雷达图像。框架整体运算过程为
其中,z表示预先预测结果,yˆ表示模型预测结果,f表示主体卷积模块。在本文中,主体卷积模块具有一个编码器和一个解码器,如图1右上方的灰色柱体。在编码器和解码器中,主要由卷积层叠加而成。受U-net启发,本文的主体卷积模块中编码器只接收上游数据流的输入,而在解码器中,每个卷积层除了接受下游特征数据外,还会接受在编码器中传来的编码特征。此架构可以帮助网络提取更多在编码中忽略的信息,更好地细粒度化PPAI所传递而来的粗粒度时空特征。
由于全卷积网络对于时序信息提取的不敏感性,因此提出预先预测辅助结构,预先提取粗粒度时序信息与空间信息。具体伪代码如算法1所示。
首先获取输入序列帧(共6帧)中倒数3帧,即xn-2,xn-1,xn。利用相邻时间步的两帧作差得到残差帧,分别是res1 和res2。残差帧的意义在于获取相邻两帧之间的差异区域。这些差异区域在语义中可以具体表现为降雨区域移动方向和降雨强度的变化趋势。随后将res1 在上下τ像素,左右τ像素内移动,取得与res2最接近的移动值,即trans_x和trans_y,便是降雨区域的运动方向与运动速度。根据实验所得经验推断,约为原数据长宽的10%左右效果最佳。本实验中,原雷达回波图的大小为像素,因此在上述伪代码中,将τ设定为30。
算法1 预先预测算法
根据泰勒冻结假设,平稳对流中,该运动趋势在短时内不会大幅度震荡改变。因此假设该运动趋势在短时内保持不变,可以根据运动方向与运动速度,在res2的基础上,反推可得预测的 res3′,根据预测的 res3′可进一步推导得zn+1。该步骤可循环递进,推进时间步发展。在本文中,虽然12帧的时间步总额长达1小时,但是为了方便算法预测,仍然假设1小时内运动趋势保持不变。因此预先预测算法最终得到的结果中,随着时间的推移,预测效果会逐渐变差。
由于所有下一时间步的预测效果依赖于前一时间步的残差效果,如果残差效果较差,则预测效果也会差。其具体表现为预测结果视觉显示中颗粒状预测点较多且预测点离散,因此预先预测算法的最后,会对每时间步的预测结果进行高斯模糊。
算法部分中间结果演示示例如图2所示,由于篇幅限制,仅展示预测2帧情况。
图2 预先预测辅助算法中间结果可视化部分示例
在预先预测算法中,持续使用泰勒冻结假设的前提是假定降雨区域的移动速度、移动方向、变化趋势都是不变的,因此在长时间步预测结果中,效果会逐渐越差。另一个角度而言,每次预测的降雨图像都是带有偏差的。而在预先预测算法中,后一时间步的预测效果依赖于前一时间步的预测质量,因此误差会在循环中不断累积,导致长时间步预测质量趋向于恶劣。因此,本文提出时序特征约束器TFC,用以对预先预测结果的时序特征进行约束,使之与真实观察特征尽可能具有相近的时序特征。TFC的具体结构如图3所示。具体计算公式如
图3 TFC结构图
其中,avg和max分别代表全局平均池化与全局最大池化。ξ表示全连接、ReLU激活和全连接操作,经过ξ将数据转变为12帧输出。◦表示矩阵乘法。ζ表示全连接操作。z′′代表经过约束后的预测结果。最后将z′′按照时间维度连接到x后,得到TFC的输出结果为18帧。
TFC的目标在于对预先预测结果z进行时序特征约束,因此输入数据为12帧的z和6帧的x。首先在时间维度上,对两者分别进行全局平均池化与全局最大池化,得到在时序维度上的基础特征,再分别投入全连接层中进一步提取时序特征。因此z和x都会得到自身相对应的12帧时序特征z′和x′。将两时序特征相减得到12帧的差值diff。TFC期望两者相减后的差值越小越好,越小即意味着两者的时序特征越接近。最后得到的时序特征需要反作用于z′上,进行约束得到12帧的z′′。将z′′按照时间维度连接到x后,得到TFC的18帧输出结果。
4.1.1 主体卷积块的参数细节
本文中主体卷积模块的编码器中每层卷积通道数随着深度的增加而增加。编码器一共5层,通道数分别为64,128,256,512,512。而解码器中也有5层,每层通道数分别为256,128,64,64,12。最后一层通道数为12的原因是在本实验中需要输出12帧预测结果。其中,每个卷积层中卷积核大小为3×3,步长为1。
4.1.2 训练阶段与推理阶段
本文的网络用Pytorch实现。在训练阶段,本文将网络初始学习速率设置为1e–3,使用Adam优化器,使用MSE作为损失函数。并设置如果10次内验证集损失不再下降时,学习率除以10。本文在4张NVIDIA GeForce RTX 2080Ti GPU上训练PPNet。Batch Size设置为16。在推理阶段,网络所有设置均与训练阶段相同。
PPNet和其他用于比较的先进网络皆训练且测试于降雨短时预测标准数据集上。该数据集由荷兰皇家气象研究所(Koninklijk Nederlands Meteorologisch Instituut, KNMI)提供,因此通常把该数据集称为KNMI数据集[22]。该数据集包含420 000张雷达回波图,间隔时间为5 min,雷达扫描区域为荷兰部分领土。根据前人经验,该数据集划分为训练集和测试集,其中训练集包含5 734个雷达回波序列,测试集包含1 557个雷达回波序列。由于没有划分验证集,本文将训练集中提取5 000个雷达回波序列作为训练集,剩下的作为验证集。每个雷达回波序列中包含18帧雷达回波图,每张图的像素为288×288。由于图间隔为5 min,因此每张图中每个像素值单位为mm/5 min。模型将每个雷达回波序列中的6帧雷达回波图作为输入数据,其余的12帧雷达回波图作为真值,用于与预测结果相比较。根据国际气象降雨标准,在降雨分类时,将0.5 mm/h, 2 mm/h, 5 mm/h, 10 mm/h作为降雨强度分界线。具体分布如表1所示。
表1 降雨强度分布统计降雨强度
为了全面的实验比较,本文采用2种二值化指标和2种非二值化指标进行效果评估。二值化指标会根据特定降雨强度阈值将真值结果与预测结果进行二值化。非二值化指标则从不同的角度评估预测结果与观测真值间的相似度。
预测精度衡量标准(Critical Success Index,CSI)和海德克评分(Heidke Skill Score, HSS)[23]是二值化指标。CSI衡量的是正确预测的观察结果和预测事件之间的比例,HSS衡量的是成功的概率与错误警报的概率之比。所有二值化指标都基于真阳率(True Positives, TP)、真阴率(True Negatives,TN)、假阳率(False Positives, FP)和假阴率(False Negatives, FN)这4个指标。CSI和HSS的计算方式为
对于二值化指标而言,本文中将0.5 mm/h,2 mm/h, 5 mm/h和10 mm/h作为特殊的降雨强度阈值,从而对观测结果与预测结果进行二值划分。对于CSI和HSS指标而言,数值越大预示着评估结果越好。
由于降雨数据集天然带有的极端不平衡性,即大雨发生次数与覆盖面积远远小于小雨发生次数与覆盖面积,因此,本文引入平衡均方误差(Balance-MSE, B-MSE)[24]和平衡平均绝对误差(Balance-MAE, B-MAE)这两个非二值化指标,对不同强度的降雨区域赋予相应的权重,以达到平衡评测结果的目的,具体权重矩阵的计算公式为
其中r为某像素的具体降雨强度值。对于B-MSE和B-MAE而言,指标数值越低预示着评估效果越好,即预测结果与观测真值越接近。
如表2所示,PPNet与其他5种最先进模型进行数值对比。如表中所示,PPNet在所有的降雨强度上都取得最好的效果。特别是在降雨强度大于等于10 mm/h时,远远优于其他的方法,这得益于PPAI预先预测了大雨发生位置与具体强度,并将之传递给后续的主体卷积网络。而在其他网络中,高降雨强度信息则在循环结构中不断丢失,导致在长时间步时,其他网络难以预测高强度降雨信息,甚至直接不预测。
表2 与其他方法实验结果比较
此外,图4提供了随时间步推进,模型预测效果的变化,以分析模型的时序信息抓取能力。如图所示,在所有的时间步长(60 min内)以及所有的降雨强度上,PPNet都具有优秀的表现。但是在整体时间不长的预测表现来看,PPNet预测效果相比其他网络下降较快,这主要是因为PPNet的时序信息获取来源仅仅依靠PPAI,主体卷积网络本身对于时序信息抓取能力较弱,所以预测效果下降略快于其他网络,但是在空间信息提取上远优于其他网络。
图4 预测效果随时间步增长的曲线比较
如图5所示,提供了PPNet和其他网络的视觉效果比较,Ground Truth(GT)为18帧降雨图中的第7, 9, 11, 13, 15, 17帧。根据图5可以发现,相比其他网络,PPNet具有更为细节的预测效果,而其他网络则趋向于平滑的结果,不具备细节预测区域。PPNet更具有细节预测功能主要得益于PPAI传递了基于残差的预先预测信息,具有真实性。
图5 PPNet与其他方法的视觉比较
图中也可以发现,PPNet的预测结果中,具有更为准确的高强度降雨信息,即图中橙红色区域。在时间步为7时,PPNet预测了几乎和真值相同的高强度降雨信息,而其他网络预测强度都偏弱,视觉表现为趋向于黄色。在长时间步时,PPNet也具有延缓高强度降雨衰减的能力,例如在17时间步时,其他网络对于高强度降雨区域的预测都趋向于低强度降雨,视觉表现为趋向于浅绿色,而PPNet仍然准确预测出高强度降雨区域,即橙色区域。这也表明PPAI的优越性。
如表2所示,为了验证本文所提出的预先预测辅助结构PPAI和时序特征约束器TFC的有效性,定义主干网络(N)为不包含PPAI和TFC的U形网络,按照图1中编码器和解码器的结构叠加卷积层。然后将在主干网络中加入PPAI的结果,表中表示为N+P。
从表中结果(最佳效果用加粗标注,次优效果用下划线标注)可以看出本文所提出的PPAI结构对结果较为显著的提升,但是在小雨检测上略有下降。如4.4节所表述一般,PPAI在高步长时带来过多的小雨误预测区域,导致模型在加入PPAI结构后,在小雨预测上精度有所下降,但在其他指标上均有较大幅度的提升。
为了进一步探究TFC的有效性,比较表中N+P和N+P+T,即缺失TFC的网络和完整网络进行比较。根据表中结果可以发现加入TFC结构对于小雨指标的提升较为显著,但在降雨强度大于等于10 mm/h的区域预测效果不如N+P。这表明TFC的确起到了特征约束的作用,但是由于降雨数据的不均匀,降雨强度大于等于10 mm/h的数据只占0.276 4%,TFC结构的特征约束作用偏向于提取其他小雨数据的特征,由此造成大雨数据预测结果有所降低。
本文提出一种新型的降雨短时预测网络PPNet。该网络主要包括预先预测辅助结构PPAI和特征约束器TFC。预先预测辅助结构帮助网络预先提取粗粒度的降雨空间特征和时序特征,然后TFC对粗粒度的时序特征进行约束,使之特征表现趋向于真实观测值。实验表明,PPAI和TFC具有有效性,且对全卷积网络有较大性能提升作用,本文方法极大地提高了全卷积网络在本领域的应用效果,且在难以预测的高强度降雨上取得较大突破。但目前仍然没有改变全卷积网络无法主动提取时序信息的缺陷,这是未来研究的重点之一。