郑宗生,刘敏,胡晨雨,傅泽平,卢鹏,姜晓轶
(1.上海海洋大学 信息学院,上海 201306;2.国家海洋信息中心,天津 300171)
台风引起的风暴潮灾害每年在世界沿海地区造成大量的经济损失和人员伤亡。因此,精准且及时的台风强度预测对早期风暴潮的预警预报至关重要。目前,国内外对台风的预测研究分为2类。第一类是基于数值预报模拟的台风预测[1-2]。此方法需要大量的台风观测资料,并需要对台风的内部结构变化、台风的关键物理过程及台风的突变机制有足够的了解[3]。同时,台风过程的预测结果受到台风模型结构、地形、模型的初始场及边界条件影响[4]。虽然数值预报技术在不断改进,但是台风预报模型的分辨率、模型动力框架、物理过程表达仍需进一步提高和完善[5]。另一类是基于遥感卫星云图与机器学习相结合的方法。遥感图像具有获取速度快、覆盖面广、空间分辨率高的特点,通过遥感可为台风识别及预测提供海量的具有时空属性的遥感卫星云图。此方法主要集中在气象灾害路径预测[6-7]、台风风速[8]及台风等级分类。Rüttgers等[6]提出基于时间序列卫星云图和生成对抗网络模型预测未来6 h的台风轨迹,利用卫星云图和深度学习网络预测台风中心及台风中心对云结构的影响。Haghroosta[8]分别利用神经网络模型和流体动力模型来预测台风风速,实验对比结果表明,神经网络模型的精度高于流体动力模型的精度。郑宗生等[9]通过改进深度学习中的激活函数,解决了ReLU激活函数“神经元坏死”现象,将台风等级分类精度提高了2%。
台风的生命周期从生成到消亡[10],具有明显时间序列特点。时间序列神经网络最初主要用于自然语言处理上。Nallapat等[11]提出包含循环神经网络(recurrent neural network,RNN)的Seq2Seq模型和Attention模型,解决了长文本摘要问题。Ameur等[12]基于Attention的encoder-decoder(编码-解码)模型,完成了阿拉伯语与英语之间的翻译。台风等气象现象的生命周期与自然语言处理相比,二者在机理上具有相似性。Stensö等[13]运用基于时间序列的长短期记忆网络(long short term-memory,LSTM)模型,实现了历史数据预测未来时刻的雷暴轨迹,模型仅能预测6 h内的雷暴轨迹且不能预测雷暴的生命周期与形状。Reddy等[14]利用LSTM网络中的many-to-many结构实现了绿化覆盖预测,输入为时间间隔为7 d的MODIS NDVI 时间序列数据,输出为时间间隔为7 d的预测序列。Hong等[15]基于卷积的Seq2Seq模型和时间序列的历史云图,预测未出现或丢失的卫星云图,并通过加入残差网络机制,使得预测图与真实图更接近,解决了遥感卫星系统丢失数据的问题。Shi等[16]利用卷积长短期记忆网络(convolutional long short-term memory,ConvLSTM)和单通道雷达图像预测降水量,输入与输出都是序列。Kim等[17]利用ConvLSTM网络和多通道雷达图像进行预测降水量,输入为历史时刻的序列图像,输出为一个具体数值。但是,由于不同气象卫星的重复周期即时间分辨率不同,传感器空间分辨率也不同,这必然造成多模态数据集对预测结果的影响。上述基于时序卫星数据的预测模型均未考虑不同遥感数据、不同时间间隔对预测结果的影响。同时作为预测问题,因预测的步长影响到能够预测的未来时长,故必然会降低将来的预测精度。因此,预测步长对预测结果也有重要影响,而以上的研究对这方面的影响没有考虑。注意力机制最初应用于自然语言处理上,并得到了较好的结果,但是语言上下文之间的联系与气象灾害物理现象前后连接机制也存在不同,目前还没有研究将注意力机制应用到气象物理时序的预测问题上。
针对上述问题,本文利用900多个台风过程,30 000多张时序的台风卫星云图作为数据源,基于Attention机制和Seq2Seq模型构建了一个新的台风等级预测模型SeqTyphoon,通过利用历史时刻的时间序列卫星图像,预测未来时刻的台风图像,并由台风等级分类结果及图像信息熵评价预测图像的准确率。同时,研究了相邻图像间的不同时间间隔、不同预测时长和不同像素大小对台风预测的影响。
本文所用的自建台风数据由日本国立情报学研究所(National Institute of Informatics,NII)提供,气象云图数据取自Himawari-1~8系列卫星、GOE9气象卫星,其中Himawari-8更是达到10 min的时间分辨率,高达500 m的空间分辨率。GOES是美国NOAA的静止轨道业务卫星系列,采用双星运行体制。红外图像的空间分辨率可达到2~5 km。选取近40年的台风云图作为数据样本,均为红外图像,原图像为512像素×512像素。选取959个台风过程,即959个台风序列,共35 318张台风图像,构建了训练集、验证集及测试集,分别为799、99、61个台风过程,对应29 519、3 804、1 995张台风图像。模型输入为单通道灰色图像。首先,考虑计算能力情况,将512像素×512像素的图像重采样为32像素×32像素和64像素×64像素进行训练。重采样采用双线性内插法,双线性内插法具有灰度连续且图像光滑特点,同时保证了图像保留尽可能多的信息。其次,为网络处理及避免过拟合问题,对图像进行归一化处理,范围为[0,1]。台风从生成、成熟到消亡阶段具有时间序列特征,并且同一个台风在不同的生命周期阶段,均具有不同的形态,在卫星云图上表现的旋状云系也不同[18]。图1为一个完整的台风生命周期中的部分图像,此台风共持续11 d 18 h。
图1 200416号台风过程图像
鉴于历史时间序列的每张图像对未来时刻图像预测并不是同等的贡献,因此引入注意力机制[22]来提取对未来时刻图像预测有重要意义的时间序列图像,赋予重要图像不同的权重。最后将这些信息历史图像的表征聚合起来形成动态语义向量,作为解码器部分的一个输入。通过此设置,模型能够选择性地输入序列的有用部分,将注意力机制结合到输入数据的某个部分中,以提高任务的准确性,同时可缓解LSTM在捕捉图像的序列信息时产生的梯度消失问题。最终,编码器部分输出是未来6 h至未来48 h的台风图像。其中,注意力机制中的动态语义向量的计算如式(1)所示。
(1)
式(1)为编码器隐藏状态的加权和来聚合编码器隐藏状态,以获取上下文向量。aij表示输出的第i个像素对编码部分第j个输出hj的权重;Tx表示T时刻,像素输入序列序号。
卷积神经网络[23]是提取高级语义特征表现最好的算法,通过对图像的逐层卷积提取更加抽象的特征,越抽象的特征越能够表现图像的语义信息,并在图像的分类中表现出更好的性能[24]。因此,为进一步衡量预测的台风云图质量,利用卷积神经网络,对预测出的图像进行台风等级分类。本文构建的台风图像预测模型SeqTyphoon如图2所示。
图2 SeqTyphoon模型结构
为评估预测模型的性能,选取均方根误差、台风等级预测精度、图像信息熵3个指标衡量模型的预测精度。
1)均方根误差(RMSE)。均方根误差可以很好地反映预测值误差的真实情况。均方根误差越小,网络训练越好。
2)台风等级预测精确度。依照国际台风分类标准,根据台风中心风速将数据集分为5类:热带低压、热带风暴、强热带风暴、台风、强台风,如表1所示。
表1 台风等级标准
台风云图数据集采用5类标签标记,即热带低压、热带风暴、强热带风暴、台风、强台风5个台风等级,对应文中的台风二等级至台风六等级。
将预测出的台风图像,通过卷积神经网络进行台风等级预测,以进一步评估不同条件下预测的台风图像质量。①训练台风等级分类模型,将35 000多张台风云图分为5个等级进行卷积神经网络模型训练;②将测试集图片进行等级预测,记录可正确预测台风等级的图片;③对于不同时间间隔、不同预测时长、不同像素等条件预测出来的图片,对应第②步中的标记图片进行筛选;④针对筛选出的图片同样进行台风图片等级分类预测;⑤计算出可正确分类的预测的台风图片准确率。预测台风准确率=预测台风图像正确数/台风图像总数。台风等级预测流程如图3所示。
图3 台风等级预测精度计算流程图
3)图像信息熵。图像信息熵是一种图像特征的统计形式,它反映了图像中平均信息量的多少。图像的一维熵表示图像中灰度分布的聚集特征所包含的信息量。
本文实验环境为Ubuntu操作系统,AMD Ryzen Threadripper1950X 16-Core Processor,内存32 GB,双显卡(GTX1080Ti)。软件使用python3.6版本,实验基于Pytorch框架。
SeqTyphoon模型经实验得出,最佳LSTM层和最佳隐藏神经元个数,即编码器和解码器各含有1层LSTM网络,10个隐藏神经单元。为避免过拟合现象,采用dropout机制来提高模型的泛化能力。模型主要参数如表2所示。
表2 训练参数选取
为了分析不同时间间隔和不同预测步长对预测台风图像精度的影响,进行了如下实验:①台风图像时间间隔为6 h,图像为32像素×32像素时,进行未来6~48 h的台风图像预测;②台风图像时间间隔为12 h,图像为32像素×32像素时,进行未来12 h的台风图像预测;③台风图像时间间隔为6 h,图像为64像素×64像素时,进行未来6 h的台风图像预测。
1)台风图像时间间隔为6 h,图像为32像素×32像素时,进行未来6~48 h的台风图像预测。模型训练性能如图4所示。
图4 预测未来6~48 h的模型训练性能图
由图4中的损失值变化曲线可得,网络每次训练迭代100次,实验均没有发生过拟合现象,且模型已经训练到最优性能。模型训练过程快速,模型的训练和验证损失值在迭代20次左右时开始趋于收敛,之后,训练集损失值和验证集损失值开始平稳收敛,在迭代95次左右时趋于最终收敛。
2)台风图像时间间隔为12 h,图像为32像素×32像素时,进行未来12 h的台风图像预测。模型训练性能如图5所示。
图5 预测未来12 h的模型训练性能图
由图5可以看到,模型训练过程快速,模型的训练和验证损失值在迭代6次之后开始趋于收敛,整个过程没有发生过拟合现象。
表3为在迭代100次时,不同时间间隔、不同预测时长、不同像素的预测误差结果。图像为64像素×64像素,时间间隔为6 h,预测未来6 h台风图像的均方根误差结果最小,训练集均方根误差为0.089 6,验证集均方根误差为0.091 1,预测结果最好。其次是32像素×32像素,时间间隔为6 h,预测未来6 h的台风图像,训练精度和验证精度分别提高0.26%和0.43%,但前者的计算时长是后者的4倍。
表3 不同像素、不同时间间隔及不同预测时长的训练集及验证集均方根误差对比
图像为32像素×32像素,时间间隔为6 h,预测未来6~48 h的台风图像均方根误差结果可知,预测时长越大,均方根误差越大。得出这一结果是由于当预测时长增加,神经网络对距离稍远时刻的状态敏感度降低,从而预测的结果变弱。
同等起始时间,图像为32像素×32像素,时间间隔为6 h的台风预测第30 h,时间间隔为12 h的预测未来12 h的结果,训练集均方根误差、验证集均方根误差分别为0.128 2、0.131 3和0.146 3、0.152 6。可见,前者的均方根误差明显小于后者。显然,时间间隔的误差大于预测时长引起的误差,即时间间隔对台风图像预测影响大于预测时长对其的预测影响。
由表4可知,图像为64像素×64像素,时间间隔为6 h预测的台风图像,再通过卷积神经网络进行等级预测准确率最高,等级预测准确率达到83.20%。其次为图像为32像素×32像素,时间间隔为6 h预测的台风图像,等级预测准确率达到79.51%。
表4 不同像素、不同时间间隔及不同预测时长的台风图像等级预测准确率
图像为32像素×32像素,时间间隔为6 h预测的未来6~48 h的台风图像等级预测准确率,预测时长越大,准确率由79.51%递减至65.15%。可得时间间隔越长,预测图像质量越下降。
同时可得,图像为32像素×32像素,时间间隔为12 h预测的台风图像,台风等级预测准确率为39.20%,是最低的。如果从同等起始时间,图像为32像素×32像素,时间间隔为6 h预测的第5张图片(预测时长为30时),是前者预测的第一张图片,但二者准确率相差29.36%。因此时间间隔大小对于图像预测的影响远大于预测时长因素。
结合表3和表4可得出,影响台风图像的主要因素是时间间隔,其次是预测时长。即时间间隔愈小、预测时长愈小,预测出的台风图像就愈接近真实台风图像(图6)。
图6 原始图和预测图对比
2张图像的熵越接近,说明其越相似。表5为不同像素、不同时间间隔及不同预测时长的预测台风图像和原图像的熵均值。
表5 不同像素、不同时间间隔及不同预测时长预测的台风图像和原台风云图的熵均值对比
由表5可以得出,图像为64像素×64像素,时间间隔较小(6 h),且进行未来一个时刻(6 h)的台风图像预测的熵均值与原台风图像的熵均值最接近。这说明了像素较高、时间间隔较小,进行未来一个时刻的台风图像预测结果最精准。
Seq2Seq网络是一种序列对序列的生成网络,解决了LSTM固定输入和输出序列问题。Attention解决了在时间序列较长时,仅使用最后一个隐藏层状态作为上下文向量,训练效果不佳的问题。本文针对序列的台风卫星云图,提出了一种基于引入Attention机制和Seq2Seq网络模型的新模型SeqTyphoon。将同一台风生命周期中,具有时间序列属性的历史时刻台风卫星云图作为输入,预测未来6~48 h内的台风图像,并使用均方根误差、台风灾害等级预测精确度及图像信息熵作为实验结果的评价指标。实验表明,在硬件平台允许的情况下,使用像素较高、时间间隔小的相邻序列台风图像,预测未来时刻的台风图像结果更精确。后期的研究工作主要是时间序列的台风卫星图像与深度学习方法相结合,实现更精确的台风图像预测,以及消除累积误差。由于多步预测时,预测后一时刻图像会使用前一时刻预测的图像,而前一时刻预测的结果就存在误差,故再预测后面的图像时定会产生累积误差,所以必须加以消除。