邹国良,侯倩,郑宗生,黄冬梅,刘兆荣
(上海海洋大学 信息学院,上海 201306)
我国沿海地区是世界上受台风侵袭较多的区域,特别是台风引起的风暴潮对海上船舶、海洋工程产业造成极大损失。据统计,风暴潮灾害所造成的经济损失占海洋灾害的90%以上。台风影响人类生命及财产安全的程度都与其强度密切相关,因此对其强度的研究一直是海洋气象界关注的热点之一[1]。在台风爆发期间,气候及海洋环境异常恶劣很难直接获取台风数据。随着卫星遥感技术水平的提高,气象卫星云图能够更加准确、稳定地全天候实时监测天气变化[2],成为观测和预报台风的主要手段,其在台风的产生、发展等研究中已经取得一系列的成果[3]。根据卫星云图分析,台风大多是由热带辐合区(intertropical convergence zone,ITCZ)云带中的扰动云团引起,不同强度的台风在卫星云图上表现为不同特征的螺旋云系。热带扰动和不同强度的台风在云图上有明显的差异,其中密蔽云区的大小与台风的强度有关[4]。目前针对台风强度的研究方法主要有主观经验法[5]、数值模拟分析法[6]。主观经验法需通过专业知识对台风强度评估,例如目前最成熟的Dvorak分析法利用卫星云图中的云系结构特征及特定的参数通过经验规则和约束条件来估计强度,但其需要专业知识对台风特征提取并且无法得到台风内核的结构信息。数值模拟分析法通过综合考虑不同初始场、边界条件等大气环境中先验物理量来优化成熟的台风预报模型。目前稳定的台风过程风速预报误差可达到3.9 m/s[7],但数值模拟分析法需要综合考虑不同初始场、边界条件的影响,文献[6]中王慧利用中尺度ARW-WRF模式提出台风漩涡动力初始化和大尺度谱逼近相结合的方案改进对台风强度的模拟,但初始条件的不确定性导致数值模拟存在一定误差。
近年来,国内外诸多学者在海洋气象领域中通过机器学习算法实现卫星云图的分类识别。机器学习算法可从大量的卫星云图中自动、快速、有效地提取隐含特征,例如,韩丁等建立支持向量机(support vector machine,SVM)模型实现气象云图的分类,与BP (back propagation)网络模型的分类结果对比准确率达到82.4%[8];针对卫星云图易受噪声干扰,田文哲等优化参数构造自适应模糊支持向量机(adaptive fuzzy support vector machine,AFSVM)使准确率达到88.2%[9];Liu等运用多种神经网络方法实现云类识别,通过对比实验构造自组织映射神经网络(self organizing maps,SOM) 模型将气象云图分类错误率降低了7.74%[10]。但是,通过机器学习利用卫星云图来识别台风等级的特征研究较少,主要原因是传统的机器学习算法需要显式提取特征进行分类,但卫星云图中与台风强度相关的特征复杂提取困难。
深度学习作为一种强泛化能力的分类识别方法,克服了传统方法中需要先验知识进行显式提取特征的不足。其作为机器学习算法中一个新的技术[11],在计算机视觉领域掀起了一股研究热潮,Google、Facebook、Microsoft、IBM、Yahoo、Twitter和Adobe等纷纷成立研究机构将深度学习纳入实际项目进行研发,如Microsoft基于深度学习的视觉系统;Google在2016年3月基于深度学习技术的Alphago在人机对弈中击败人类。目前,深度学习在模式识别、智能视频、机器视觉等研究领域取得了一系列成果[12-15]。卷积神经网络作为深度学习应用成功的模型之一,在遥感水体提取[16]和低空摄影测量DEM自动修补[17]中得到进一步的研究和应用。这些方面的成功应用进一步证明了卷积神经网络可通过模拟人脑进行分析和学习,能够隐式提取图像中深层抽象的复杂特征。
因此,本文针对台风形成中复杂的大气因素导致的卫星云图特征提取复杂、识别率低等问题展开研究。通过引入深度学习的方法,在传统卷积神经网络(convolutional neural network,CNN)的基础上,采用多尺度卷积核的循环卷积策略,同时引入信息熵、Dropout置零率优化网络参数,构建了适用于台风等级识别的Typhoon-CNNs模型;利用获取的“Himawari1-8”卫星4 800景云图进行实验并与传统模型进行对比得到预期效果,为相关部门提供准确、便捷的辅助决策方法。
传统卷积神经网络是由卷积层和采样层交替组成网络拓扑结构。卷积神经网络采用反向传播神经元误差敏感项δl的方法实现网络权值的更新,特征提取过程可以表示为得分函数S(xi,w,b)。对第i个样本(xi,yi)分类误差的交叉熵损失函数定义为:
Li=-lnesyi+ln∑esi
(1)
样本(xi,yi)经过网络后的输出为f(x),则对应该样本的损失值为:
Li(f(x),y)=-lnf(x)y
(2)
深度为l层的卷积神经网络输出层的误差敏感项是:
(3)
式中:al表示第l层的输入。
最后运用卷积神经网络的δ反向传播规则[18]对每个神经元的权值更新,使得模型整体误差函数不断降低。
卷积层是利用本层的卷积核与输入图像进行卷积,再经过神经元激活函数输出本层的特征图,实现对输入图像隐式的特征提取。卷积过程定义如下公式:
(4)
注:Input代表输入图像;kx表示模型卷积层的卷积核;*代表卷积运算;bx代表偏置;cx表示卷积层;f是激活函数。图1 卷积过程示意图
采样层是对当前输入的特征图做下采样降低图像的分辨率,减少运算量,从而提高网络收敛速度。采样过程定义为:
(5)
图2 采样过程示意图
传统的卷积神经网络是卷积层和采样层交替排列构成网络拓扑结构。当输入特征不明显的时候,采用池化层在降低维度的同时会丢失部分图像信息,导致网络学习能力下降。不同于手写字体库数据集(MNIST)特征明显,本文构建的卫星云图数据集,由于台风形成中复杂的大气因素使得云图螺旋半径内特征不明显,因此传统卷积神经网络(CNN)并不适用于台风云图特征提取。
为了更好提取螺旋云系的特征,本文在传统卷积神经网络的基础上采用循环卷积增强模型特征提取能力;引入信息熵、Dropout置零率优化网络参数稳定模型识别率,增加网络的鲁棒性(具体实验见第3小节)提出了适用于台风云图等级分类的深度学习模型Typhoon-CNNs,如图3所示。Typhoon-CNNs包括3个卷积层、1个采样层和2个全连接层,通过权值共享和网络结构重组对6层神经网络进行特征学习,同时使得整个网络可以通过反向传播算法得以很好训练并用于分类。本次实验把台风等级分为4个等级,因此最后一层输出4个单元代表所分的类别。
图3 Typhoon-CNNs全模型
本文所有对比实验均是基于ubunt16.10 CPU intel core i5-6 500M 3.2 GHz,内存为4 GB,使用的深度学习框架为开源的keras[19]。
1977年到2014年日本相继发射“Himawari1-8”卫星。尤其“Himawari-8”地球同步气象卫星有16个波段通道,空间分辨率最高可达到500 m。实验数据采用日本国立情报学研究所(National Institute of Informatics,NII)提供的西北太平洋1978—2016年“Himawari1-8”卫星观测到的高时间分辨率卫星云图资料及对应的台风强度信息。数据集包含近1 000多个台风过程,为了获取全天候的数据,实验采用了红外云图作为数据样本,依据台风等级标准(表1)制定4类台风等级标签。
表1 台风等级标准
本文将采集到的红外云图首先采用中值滤波器去除云图斑块中的噪声,有效保留图像中的边缘信息;其次采用最近邻插值缩放,将云图转化为24×24×1的格式作为网络的输入;最后根据(表1)制定数据集标签。数据集统一采用4类标签标记:0代表热带低气压、1代表台风、2代表强台风、3代表超强台风。最终构建了4 000训练样本、800测试样本的数据集,热带低气压、台风、强台风、超强台风训练集各1 000个、测试集各200个,部分卫星云图样本如图4所示。
图4 部分气象卫星云图样本
模型的精确度通过正确率检验,假设在n个样本中第i个样本的真实类标签为yi,预测类标签为oi,则模型分类的正确率为:
(6)
预测得到的类标签与真正的标签集越吻合,模型分类的正确率越大。
卷积神经网络中softmax层输出各类对应的概率,概率大的类别即视为输出的等级。为了抑制softmax输出层各类出现相近的概率,使得信息不能得到充分训练,本文引入信息熵在反向传播中优化误差敏感项δl。设等概率分布
v={p1=1/n,p2=1/n…pn=1/n}
(7)
当v发生微小变化Δvi时定义为
u=vi+Δvi, ∑Δvi=0
(8)
将H(u)的二阶泰勒展开为
(9)
所以H(u)表示为
(10)
通过式(10)发现:在等概的基础上如果概率分布发生细微变化时,信息熵的灵敏度也会随之变动。因此本文将信息熵叠加到前文所述δl上,形成适用于台风等级分类的δT来优化Typhoon-CNN模型中卷积核和Dropout参数。
1)优化选择卷积滤波器参数。由于单张台风云图受到频谱、分辨率等因素的影响导致反映的特征量有限,采用循环卷积层代替采样层能更好地提取台风云图的螺旋云带特征。卷积核作为卷积层中最具特性的部分影响着整个网络的性能,其大小影响着关联像素的特征提取,过小则不能充分提取关联像素且提取效率低,而过大会增加冗余从而丢失局部信息[20]。因为台风的关联相似性很高[21],所以网络模型选择合适的卷积核大小至关重要。针对台风关联相似性高难以分类的问题,本文第一组实验采用不同大小的卷积核对同张云图特征提取,由于采样层像素需要整除且输入的图片像素为24×24,所以前两层卷积层分别采用32个1×1、3×3、5×5、7×7的卷积滤波器,最后一层卷积层采用2×2的卷积滤波器,对网络进行训练。
对模型进行400次迭代训练后,实验结果如图5所示。
图5 不同大小的卷积核训练结果
从图5可以看出,在现有样本的基础上。卷积核大小为1×1的时候网络交叉熵损失值只能达到0.555 7;3×3的卷积核收敛的速度最慢,迭代次数达到350次才使网络达到稳定;7×7的卷积核在迭代310次的时候达到收敛且稳定,网络结构损失值最后稳定在0.018 9±0.01的范围内;5×5的卷积核在迭代320次时网络结构稳定并达到系统最佳的损失值0.009 4,从而确定了5×5的卷积核为最佳滤波器尺度。
2)优化Dropout置零率。将第一组实验的模型应用在测试集上进行第二组实验,得到的结果如表2所示。
表2 不同大小的卷积核模型测试结果
对比表2发现网络模型产生过拟合。为了有效防止过拟合,本文在Typhoon-CNNs模型的全连接层引用Dropout策略,随机冻结部分神经元,使网络的权值更新不再依赖于隐含节点的固定关系,从而削弱过拟合问题。如图3虚线框所示。将不同的Dropout置零率引入模型全连接层得到结果如图6所示。
图6 随机冻结不同比例的神经元
由图6可以看出Dropout方法随机冻结部分的神经元并不一定会使模型的泛化能力增强。在Dropout置零率分别取20%、80%、90%的时候正确率在下降,并且在Dropout为20%时系统的正确率最低为91.00±0.1%。对比图6中的数据,网络最终结构选用Dropout置零率为60%来优化模型,使模型的识别率达到92.50±0.2%。
通过卷积核和Dropout参数在台风数据集中的对比实验得到最佳参数并应用到Typhoon-CNNs模型中。选取测试集对模型验证进行第三组实验,具体结果见表3。
表3 样本混淆矩阵
从表3可以看出台风和超强台风2个等级的预测正确率达到99%,而热带低气压的预测正确率为80%。分析原因,在台风形成的过程中热带低气压没有特定形状的云团特征和完整的结构(图4(a)),因此分类正确率较低,模型把10景热带低气压云图错分类为台风,8景分为强台风,2景分为超强台风;当形成台风后具有明显的眼区和螺旋云带特征(图4(b)、图4(c)、图4(d))便于模型识别。为了表达深度学习模型所提取的特征敏感区可以作为台风预报的重要依据,将第一组实验中模型的第一层特征做可视化实验,结果如图7所示。
图7 不同卷积核的特征提取效果
对比图7发现,5×5的卷积核能够获得完整图像的特征,相对1×1和3×3的卷积核效率更高。5×5的卷积核对台风眼、云墙、螺旋云带(即黄色区域)特征提取明显,但是7×7的卷积核会增加台风相似冗余从而丢失局部特征。对比原图的涡旋云区发现,模型对于黄色区域更加敏感,而对台风边缘的纤维状云并不敏感,因此增加模型对黄色区域的特征提取有益于模型的分类。这与目前诸多学者通过定位台风眼、分割密蔽云区和提取螺旋云带特征来预报台风一致,这也证明了通过深度学习及卫星云图对台风等级分类的可行性。
在测试集上对传统分类方法和Typhoon-CNNs进行对比实验,具体结果见表4。
表4 精度评价
对比表4发现针对现有的测试集样本,相比于浅层模型结构SVM和BP,深度卷积神经网络能高效地学习到云图中深层非线性特征,提高模型的识别精度。相比于CNN模型,本文模型对台风等级分类的效果明显,精度提高了14.84%。分别对CNN和Typhoon-CNNs模型的隐藏层可视化结果如图8所示。
图8 模型特征可视化
对比图8中黄色区域发现CNN丢失了云图的局部特征,从而导致分类能力降低。分析原因,CNN采样层的使用,使得模型丢失了台风云图中台风眼、密蔽云区和螺旋云带的特征而更多地提取台风边缘的纤维状云特征,使得模型的分类能力降低。本文的模型能很好地提取黄色区域特征,这也证明Typhoon-CNNs对CNN的改善。
综上所述,与传统方法相比,本文提出的模型在台风分类效果明显。因此具有深度学习架构的Typhoon-CNNs对于卫星云图的特征更能精确表达,证明Typhoon-CNNs的有效性。
卫星云图是监测台风的有效手段之一,卫星云图蕴涵了丰富的天气演变信息,深度学习避免了显式的特征提取,直接处理图片将特征提取功能融合进多层感知器。本文提出的适应卫星云图等级分类的Typhoon-CNNs模型,主要结论如下:
①Typhoon-CNNs将特征提取过程中卷积核参数和分类器参数整合到模型中。针对不同时刻引起的特征变化使分类器很难保持稳定的识别率,网络引入信息熵稳定识别率;采用循环卷积优化选择滤波器参数增强模型的表征力。针对模型存在的过拟合问题,提出优化调节Dropout置零率,使模型的正确率从91.16%提高到92.5%,有效防止过拟合。
②利用准确率评价指标对Typhoon-CNNs和传统模型评价。实验结果表明在现有的样本基础上,Typhoon-CNNs平均正确率达到92.5%,优于传统分类方法,为后续的台风强度等级分类奠定基础。
③基于卫星云图及深度学习的台风等级研究目前还处在初期,还有几个方面需要做进一步研究,如对卫星云图分割预处理、采用变尺寸卷积核增强模型特征提取能力、考虑台风时间序列因素对分类的影响。