改进残差网络及时序气象卫星云图的台风等级分类研究
2023-11-07郑宗生傅泽平胡晨雨姜晓轶
郑宗生,傅泽平,刘 敏,胡晨雨,卢 鹏,姜晓轶
(1.上海海洋大学 信息学院,上海 201306;2.国家海洋信息中心,天津 300171)
台风是一种对人们的生活、生产等带来较大影响的灾害性天气,我国受这一灾害较为严重,它每年给我国东南沿海各省市的工农业生产、交通运输和人民生命财产安全造成严重威胁和巨大损失,所以对台风的准确监测和预报一直是海洋气象界关注的热点。
深度卷积神经网络的表征学习为其在自然语言处理、大气科学、物理学,特别是语音识别[1]、机器翻译[2]、自动汽车驾驶[3]、目标追踪[4]和生物信息学[5]等等领域的应用提供了算法基础。深度卷积神经网络涉及到池化、非线性操作,能通过卷积层叠加连接层的方式完成卷积运算。在图像处理领域,网络可以直接输入原始图像,避免因为图像过度预处理造成图像隐含特征丢失的问题。网络深度受到行业的关注与AlexNet[6]获得ILSVRC冠军有直接关系[7]。VGGNet[8]对19层网络深度计算发现,top-5的误差率降至7.3%。GoogleNet[9]优化了算法,将网络深度叠加至22层。经计算,发现top-5误差率降至6.67%。虽然网络深度的增加对多层特征的表达起到了促进作用,但会随之增大模型复杂度,且会引起网络退化[10]。文献[10]指出,在网络深度叠加至某个临界点后,继续增加深度将会造成梯度爆炸或消失,并增大误差,进而无法满足训练收敛的标准。He 等[10]将恒等映射引入至神经元,并得到残差网络,进而使得训练收敛难度有所下降。残差网络可让深度网络变得更加准确,使得超神经网络训练速度有所提升。
残差网络设计有跳跃连接的残差块,能在深度增加的基础上缓解梯度消失问题。郭东岳等[11]提出构建两路多尺度卷积残差网络,提取路空通话声纹识别特征更加准确,降低了信道差异带来的影响。管珊珊等[12]设计时空图卷积神经网络,更好的学习了骨骼数据中的时空信息。徐胜军等[13]指出,遥感图像建筑物分割时长受到树木、道路、电线杆的影响,提取特征难度大。为此,把空洞卷积增大特征提取的感受也逐步地引入到残差网络,进而让特征细节变得更加丰富,捕捉的范围扩大。Nibali[14]做了大量的肺结节良恶性分类实验,发现残差网络的优化性较强。Haijun Lei[15]等在HEp-2细胞图分类中做了算法创新,通过深度残差网络、深度监督学习算法的联合应用,发现可以提取到更为详细、丰富的判别特征。即使各领域专家均进行了残差网络改进尝试,但因该算法的残差块存在恒等映射特点,反向传播的梯度并不会流经分支权重层。所以,必然会出现特征重用现象。卫星云图中的云系无时无刻不在运动,且云系十分复杂。特别是台风云系的空间边界,其灰度值也能在短时间实现大范围变化。此外,台风云图还表现出了明显的时序特点。所以,在中高层图像特征信息提取中,台风云图的时序变化与螺旋云带会减少信息的细节特征,从而无法精准的划分云系边界[16-17]。
将多个卷积层嵌入残差块分支,在扩展网络结构基础上,能减少低效率卷积,保留时序特征提取更为丰富的中高层特征,解决特征重用问题。针对传统残差神经网络对气象卫星云图进行分类时因数据样本较小造成残差网络参数冗余,训练开销大的问题,本文构建了一种新的残差块结构,减少模型参数,降低网络复杂度。最后本文在多个网络深度上对传统残差网络与改进后的宽残差网络进行对比实验。同时为了验证模型的泛化性能,在MNIST通用数据集上进行残差网络与宽残差网络的验证试验。
1 数据获取及研究方法
1.1 数据集的构建与预处理
以日本国立情报学研究所(national institute of informatics,NII)发布的数据作为自建台风数据。这些台风云图分辨率高,在西北太平洋上空拍摄而成,跟踪拍摄卫星为Himawari-8、GMS-5、GOES-9等,共有8 000多景。参考国际台风分类标准,表1给出了基于台风中心风速而划分的台风级别。
表1 台风等级标准
台风由热带低压而来,并在风力、风速达到一定级别之后才能形成台风。自建数据集共有8 000张,使用了4类标签,各2 000张。训练集有6 400张,测试集有1 600张,双方比重为4∶1。因内容差异、样本数量可导致过拟合,为此对8 000张图像作了归一化处理。经一系列数据扩展技术(偏移、旋转、翻转、缩放),使样本数量得以增加。图1为部分云图样本。
图1 台风过程
1.2 研究方法与模型构建
1.2.1 研究方法
残差网络指明了“退化现象”,以残差单元为基本构建层。残差单元由ReLu层、BN层、Conv层叠加而来。单个参差单元结构可见图2所示。假设xl为第l个残差单元的输入,则输出是:
图2 残差单元
xl+1=f(xl+F(xl,wl)).
(1)
式中:残差函数为F(xl,wl),其相应权重参数是wl,而f是非线性激活函数ReLu。
式(1)中,xl和F(xl,wl)具有相同维度。若输入/输出通道被改变,二者维度随之变化。此时,需执射ws线性映射维持二者的维度的一致性。
xl+1=f((wlxl+F(xl,wl)).
(2)
F(残差函数)的形式并不固定。常见的有两层卷积层,此外也可以将卷积层叠加至三层。
图3为残差网络标准架构。输入、输出的流程为:假设此时向模型输入1个数据,那么输入数据将依次流经Conv层、ReLu层、BN层,并向相应残差单元发送处理结果;重新经过BN层、数个全连接层才能有输出结果。
图3 残差网络结构
1.2.2 基于恒等映射的残差块
研究结果表明,在加深模型深度后,因残差块存在恒等映射特点,反向传播的梯度并不会流经分支权重层,无法到达每个残差单元,使得学习效果难以达到理想状态。训练发现,获得有用特征的权重残差单元非常少。为了改变这种缺陷,对残差结构进行改进。即将1个1×1的卷积、2个3×3的卷积加入到恒等映射内,并按照Conv3×3-Conv3×3-Conv1×1的顺序叠加。其中,升维的卷积层为1×1。观察改进后的结果可以发现,残差块中的卷积层数量得以增加,容易全面提取出相关的特征。在特征面增加后,卷积核数量、卷积层宽度都得到了一定程度的改善。Inception v4、VGG[8]指出,在多数情况下,小卷积核可带来更高的识别效率。为此,文中的卷积核尺寸均在3×3以内。
网络宽度有所加大之后,网络训练反向传播的整个过程中,梯度会以随机的形式向主或分支通路流入,详细情况见图4。在梯度反向传播时,因分支通路的卷积层数量偏多,所以分支通路卷积核权重所能保留的台风在上一过程的图像特征的数量也会偏多。加上网络记忆的存在,必然会增加时序特征的数量,并增加学习次数,从而使得残差块的利用效率得以提高。研究发现,如果网络深度达到一定临界值后扩宽宽度,则有可能出现过拟合,并制约分类效果。综合考虑后,设计3种深度较浅宽度较宽的残差网络模型。比较各模型实验数据,发现在深度较浅时,扩宽宽度会随之增强模型分类性能。
图4 残差块
1.2.3 W-ResNet的构建
在同一台风卫星云图中,各强度的螺旋云系特征存在极高的关联相似性[25]。为了提取台风云图的细微特征,本文基于提出的新残差块构建W-ResNet模型。为了验证不同深度对模型性能的影响,构建了3种深度的对比网络。每卷积一次,图像会随之缩小。因文中的灰度图像尺寸为224×224,考虑到提取的特征图在维度上的要求,最终确定了16层、19层和25层等3种深度。网络结构对照如表2~4所示。
表2 CNN_16,ResNet_16,W-ResNet_16结构
表3 CNN_19,ResNet_19,W-ResNet_19结构
表4 CNN_25,ResNet_25,W-ResNet_25结构
第1层的卷积核为3×3,Stride=2。针对底层特征,扩大提取范围。然后,通过最大池化层,滤波器的大小为2×2,步长为2进行下采样。进一步减小特征图大小,简化运算复杂度,然后输入残差块。层数的增加由残差块的数量决定。通过残差块之后连接一个均值下采样层,以此完成对气象卫星云图的特征提取。
2 实验结果及分析
收集NII数据,加快模型处理速度,兼顾实验器材经济性要求,确定了实验环境:计算机采用酷睿i5-8600K @3.6GHz CPU,显卡NIDIA GeForce GTX1050Ti,内存16G,系统Win10;实验框架TensorFlow2.0;编程环境python3.6。
实验的主要成分,包括了三个方面:①在自建的台风数据集上,分析对不同深度的残差网络以及在与残差网络同等深度下的CNN模型网络对台风云图的等级分类精度的影响;②对于相同深度的残差网络,使用新的残差块结构,与传统残差网络对台风云图的分类精度对比;③验证改进的残差网络有一定的泛化能力,在MNIST数据集上对16层的宽残差网络与残差网络做对比实验。
2.1 残差网络与CNN的对比与分析
本实验建立了6组模型进行对比与分析,其中CNN中分别为16层、19层、25层。对应的残差网络使用了主干网络及其残差网络,层数为16层、19层、25层。实验中16层的CNN具有13个卷积层,2个池化层,1个全连接层。19层的具有16个卷积层,2个池化层,1个全连接层。25层的具有22个卷积层,2个池化层,1个全连接层。卷积核尺寸参照VGG网络均采用3×3,步长为2的滤波器对台风卫星云图的特征进行提取。训练的参数设定是每次实验迭代了100次,每批为32张,通过引入Adam作为优化模型,更新神经网络权重的方法。实验结果采用最优权值下的结果,表5中网络参数为网络总共使用的参数个数。实验1中3组CNN与3组对应层数的残差网络的对比实验的详细参数以及在自建台风数据集的训练和测试精度见表5。
表5 不同深度的CNN与相对应深度残差网络的分类性能
通过表5,容易发现8 000张自建台风云图上训练出的2类网络因为层数和结构的差异,进而使得训练效果有所不同。CNN模型随着深度的增加,模型的分类精度首先会有所增加,这证明了适当的增加网络的深度与复杂度明显强化了CNN提取到原始台风图像中不同螺旋云系的差别。但是,随着深度到达一定程度时,模型的分类测试精度反而降低了。这证明了卷积神经网络确实存在退化现象。而在残差网络模型中,随着深度的加深,台风云图的分类测试精度一直在提高,证明残差网络的确有效的解决了传统卷积神经网络随着深度的增加,分类精度反而会下降,也就是退化问题。通过将相同层数的残差网络与CNN相比可以看出,16层时残差网络测试精度比CNN高了7.08%,19层时高了5.61%,25层时高了11.35%,证明了相同层数的CNN与残差网络,残差网络在自建台风数据集上具有更佳的性能。从网络参数上看16层时残差网络比CNN多了47 520位参数,19层时残差网络却比CNN少了1 047 776位参数,到了25层时少了4 892 228位参数。证明了深度越深,残差网络网络参数量比较与CNN的优势越明显。
2.2 改进的残差网络与传统残差网络的对比与分析
针对实验1中残差网络存在的随着模型深度加深,模型在反向传播过程中存在不能保证每个神经单元的权值都被更新的问题,实验2对比了改进之后的宽残差网络与原残差网络在自建台风数据集分类性能。实验设置了3个对照组。W-ResNet-16,W-ResNet-19,W-ResNet-25分别与ResNet-16,ResNet-19,ResNet-25对比。实验的详细参数以及在台风自建数据集的训练和测试精度详见表6,其中最优模型W-ResNet-19训练过程的loss曲线如图7所示。
图7 W-Resnet-19训练loss变化曲线
表6 不同深度的残差网络与宽残差网络的分类性能
对比表5与表6,可以看出残差网络16层训练精度为99.84%,而19层的训练精度为99.79%,有一定程度的下降,而在宽残差网络中16层训练精度为99.84%,19层为99.90%反而有了提升,这是因为使用了本文提出的宽残差网络结构,通过分支学习到图像的多维信息,提升了模型的拟合能力。
通过表6,容易发现16层的宽残差网络相较于16层的原残差网络训练精度相平而测试精度高了1.9%左右,尽管网络参数得以提升,然而这些批次的时间也只增加了1s。19层的宽残差网络比较于原残差网络增加了2.87%。但是,在25层的残差网络增加了相同比例的宽度后,测试精度减少了2.04%,这显示了完全通过增加宽度也难以达到预期要求,要增加一定的深度,否则可能会出现过拟合。相比较于原始的残差网络模型,同等深度下,网络模型参数有一定程度的增加,但是训练时间在本文的实验环境中每一个批次只增加了1 s至3 s,而精度提升了1.88%至2.87%,改进之后的宽残差网络模型在台风云图的自建数据集上具有更好的性能。这主要是因为改进的宽残差网络模型可以提高模型在残差单元的利用情况,从而让模型的性能有所提升,促进了分类的正确性。
2.3 基于MNIST数据集对比实验
本节将通过使用MNIST数据集进行残差网络与宽残差网络对比实验的方式,验证改进的残差块的泛化性。本节采用的MNIST数据集共50 000张28×28维的阿拉伯数字手写样本输入到对比网络当中,设置训练条件为迭代80次。实验结果如图8所示。
图8 MNIST数据集上验证集准确率变化曲线
从图8中看出,在MNIST数据集上做的对比实验,宽残差网络较于残差网络有更好的训练效果,训练效果也更为稳定。在测试集上,宽残差网络的正确率达到98.786%,残差网络达到98.577%,宽残差网络提高了约0.2%,由此可以看出宽残差网络的泛化能力相对较强。
3 结束语
文中提到了一种改进的残差网络台风等级分类方法,通过加宽的方式改进构成残差网络的残差块,构建出一种新的残差网络,辅助完成台风强度等级分类,解决了在台风数据集样本小的情况下台风等级分类问题,为台风预测预报提供了一种新的决策方法。
1)将原残差网络与CNN 3种源模型在台风自建数据上训练、比较。实验表明,残差网络有效的解决了在传统卷积神经网络存在的退化问题,并且分类精度高于CNN。
2)通过加宽网络的方式,改进了残差块。构建同等深度的宽残差网络模型。在台风数据集上训练学习。实验表明,宽残差网络分类的性能优于原残差网络。
3)文中提出适用于自建台风数据集的宽残差网络模型,由于未对数据集做更加优异的预处理,如对云图进行分割、提取螺旋云带等,或者可能提出的模型并不是网络深度和宽度的最佳平衡点。然而,文中提到的加宽残差块可用来指导特定领域小样本数据集。在后续开展的研究里,研究的重点是通过优异数据集预处理来找到宽度和深度最好的平衡点,可能会发挥残差神经网络模型在台风等级分类上更好的网络性能。