陈 艳,李永利,马志强,3,王洪彬,张 立
(1.内蒙古工业大学 数据科学与应用学院,内蒙古 呼和浩特 010080; 2.内蒙古自治区气象局 内蒙古自治区气象信息中心,内蒙古 呼和浩特 010051; 3.内蒙古工业大学 内蒙古自治区基于大数据的软件服务工程技术研究中心,内蒙古 呼和浩特 010080)
风向自记图是我国气象领域保存的珍贵气象数据资料之一,将风向自记图信息提取加以利用有利于灾害防治、能源利用。1971年到2010年内蒙古自治区气象监测站使用自行研制的EL型电接风向风速计(EL type electric wind direction anemometer)通过风向标摆动信号来记录24小时内风向风速的变化信息。由于保存的风向自记图过于庞大不利于查阅某一时刻的风向信息,使得这部分宝贵的气象数据资料得不到有效的开发利用。通过对风向自记图识别技术的改进和完善使得风向自记图可以充分利用。这对气象工作者与资料信息化建设都具有重要的应用价值。
然而,国内很少有人对风向自记图识别进行研究。近十年国内对珍贵的气象资料的研究取得了显著进步,屈志毅等[1]通过对自记曲线分割、跟踪,识别出风向自记纸上的曲线所表征的数据。叶闯等[2]通过对自记曲线进行人工标记,采用区域分割和投影的方法,将风向自记图中的风向曲线进行量化。但是这些方法容易受到墨迹污染、断裂等干扰因素的影响,且需要耗费大量的人力。我们在研究初期采用最基本的卷积神经网络(convolutional neural networks,CNN)对自记图进行风向识别,但是由于自记图存在有背景文字干扰、特征所在区域固定,以及卷积神经网络存在提取局部近邻区域特征等问题,导致了识别准确率较低,在top-1上仅有50%的准确率。研究表明自注意力机制(self-attention mechanism)能够实现特征的加权表示[3]。国内外均已对自注意力机制进行了研究并成功地应用于自然语言处理等研究中。目前,自注意力机制在图像识别领域也得到了很多的应用。
本文以内蒙古自治区气象信息中心风向自记图数据为基础,分别采用一维与二维表示形式作为模型不同阶段的输入数据,提出在残差网络中引入自注意力机制,构建残差网络和自注意力机制相结合的风向自记图识别模型。风向自记图识别模型的提出能够有效提取风向特征,降低风向自记图的背景干扰、网络局部近邻等问题带来的不良影响,提高模型的识别效果。
气象上把风吹来的方向确定为风的方向[4]。风向测量用方位来表示,常采用16个方位表示(即16个类别)。使用角度表示方位,以北风(N)为0度,顺时针风向每转过22.5度为一个方位,其余依此类推。
风向自记图通过EL型风向风速计记录每隔10 min的风向方位。风向方位记录从整点开始,记录结果为纸质资料,如图1所示。图1中展示了内蒙古某观察站某天0时到24时的风向记录结果。
图1 风向自记图纸
图1中有145条竖直线和4条水平线,竖线一格表示10 min,横线表示风向参照线。自记图中从上到下风向参照线为:南风(S)/北风(N)、东北风(EN)/西南风(WS)、东风(E)/西风(W)、东南风(EN)/西北(WN)。另外8个风向 (NNE、ENE、ESE、SSE、SSW、WSW、WNW、NNW) 由南风(S)/北风(N)、东风(E)/西风(W)两条风向参照线和东北风(EN)/西南风(WS)、东南风(EN)/西北(WN)两条风向参照线组合得到。气象观察员根据某时刻自记图中风向方位空间上的记录痕迹确定风向方位。若某一时刻的风向曲线位于南/北风向参照线的上方,就代表是南风;位于此南/北风向照线的下方,就代表是北风;同时出现在西风参照线和西北风参照线,则此时刻风向为西北西。如图1中方框标出10 min片段,观察风向方位空间中的记录痕迹,则确定该时刻的风向为西北风(WN)。
K.He等[5]提出一种深度残差网络(deep residual network,ResNet),该方法在ILSVRC(large scale visual reco-gnition challenge 2015)图像分类任务上获得第一名,是卷积神经网络的一个里程碑。ResNet是一种易优化且计算负担小的残差学习框架,主要优点是可以利用更深层次的网络解决训练误差随网络层数的增加而增大的问题[6]。因此,以ResNet为基线模型实现对自记图的风向识别。
ResNet网络的关键结构是在传统的网络中增加了恒等映射(identity mapping),如图2所示,使某一层的速出可以直接跨越中间几层作为后面一层的输入。图中的x为输入向量,H(x)为网络的理想输出向量,F(x)为待训练的残差映射。随着网络的不断加深,残差网络将拟合F(x),此时实际映射为H(x)=F(x)+x。当模型达到较饱和状态时F(x)=0,此时H(x)=x。这样ResNet网络只需要学习输入和输出的差别部分,解决了输入输出之间信息丢失、使训练过程简单化,从一定程度上可以解决深度卷积神经网络的梯度消失等问题。
图2 残差块结构
自注意力机制(self-attention mechanism)的概念由Vaswani等[7]针对机器翻译问题提出,又称为内部注意力机制,是注意力机制的一种特殊情况。自注意力机制在注意力机制模型的基础上进行了改进,提出了一种缩放点积注意力(scaled dot-product attention)。自注意力机制的本质是学习不同特征之间的交互信息,为不同的特征分配不同的权重,使得分类特征更具有表达能力。自注意力机制如图3所示。
图3 自注意力机制
其中X∈RF×d为Query、Key和Value对应的矩阵,通过非线性变化将Query、Key映射到同一个空间中(如式(1),式(2)所示),得到对应参数矩阵,然后进行相似度计算,为每个特征分配不同得权重,得到相似度矩阵s(如式(3)所示)。最后,相似度矩阵s和Value按位相乘,得到带有自注意力机制权重得输出矩阵a(如式(4)所示)
Q′=ReLU(XWQ)
(1)
K′=ReLU(XWK)
(2)
(3)
a=sV
(4)
由于自记图中存在字迹涂抹、风向记录痕迹不清的问题,如果直接将原始的风向自记图输入风向自记图识别模型中,会影响模型对风向特征的提取,降低风向自记图识别模型准确率。因此,我们在ResNet残差网络的基础上,通过在数据处理的不同阶段分别输入自记图的一维与二维数据,并且引入自注意力机制,设计了一种基于残差网络的自注意力风向自记图识别模型(self-attention deep resi-dual network,SAT-ResNet)。
基于残差网络的自注意力风向自记图识别模型由卷积模块、残差模块、自注意力模块以及分类器模块构成,如图4所示。
图4 SAT-ResNet模型结构
卷积模块由卷积层、批归一化层组成,提取一维风向自记图中风向幅值变化特征。残差模块通过堆叠预激活方式连接的残差单元加深网络深度,残差单元把输入信息直接作为输出信息,保护信息的完整性,减少模型参数量,抽取丰富的风向自记图信息。残差模块和自注意力模块间有批归一化层,用于残差模块和自注意力模块的过渡,防止梯度爆炸或消失、更好保留风向自记图的纹理信息。自注意力模块通过增加自注意力机制,只通过自身更新学习的参数,对给定的风向特征进行修正。另外将自注意力权重值固定在[0,1]之间,根据风向特征中每个像素位置的贡献分配不同的权重,生成关注有用图像信息的自注意力矩阵。分类器模块包括全连接层和softmax层,对特征进行重新拟和,计算风向类别概率。风向自记图识别模型实现了卷积与自注意力的交互,更关注目标区域的分类特征,使风向自记图分类特征更具区别性。
模型中风向图的输入包括风向自记图一维和二维数据。风向自记图一维数据是将原始的风向自记图进行一维化,能够将不同区域位置处风向记录量化,弥补风向自记图字迹涂抹、部分信息缺失的问题,有效转换风向幅值变化。但是单纯使用一维风向自记图数据,会忽略风向自记图中内在的相对空间位置特征。风向自记图二维数据就是原始的风向自记图格式数据。
下文将详细介绍风向自记图一维化的表示方法。
首先采用二值化算法对风向自记图进行颜色过滤。假设f(x,>y)表示风向自记图的像素值,T表示阈值,则
(5)
(6)
其中,Pmax为最大像素值,Pmin为最小像素值,0表示风向痕迹的像素,255表示背景的像素和不存在记录风向痕迹的像素。然后对原始风向自记图矩阵X使用滑动窗口进行分块,组成新的风向自记图矩阵X′
(7)
(8)
(9)
计算出每一块子风向自记图矩阵的均值后,将每一块子风向自记图矩阵的均值拼接构成表征原始风向自记图信息的特征向量[b1,>b2,>…,>bn]。
通过以上步骤就可以得到风向自记图一维化数据(B1,B2,>…,>Bm)。
风向自记图识别模型采用风向自记图一维数据{B1,B2,>…,>Bm}作为输入,输入信息经卷积模块得到初步卷积输出dj,如式(10)所示
(10)
其中,Mj表示输入风向自记图的特征图,ki表示输入数据与卷积核连接权重,f(>•>)表示激活函数,b表示偏置向量。然后将原始的风向自记图Z={z1,>z2,>…,>zn}和卷积模块输出信息dj一起输入残差模块,经多个残差块进行了2次卷积操作,残差单元同时更新Wi和F(g(dj,>zj)i)参数,如式(11)、式(12)所示
g(dj,zj)=[dj;zj]
(11)
(12)
其中,[dj;>zj]表示经卷积模块提取的风向特征拼接原始风向自记图,F(g(dj,>zj)i)表示残差模块输入的恒等映射,L(>•>)表示残差函数,hI表示经残差模块后经激活函数处理后的特征图矩阵,Wi表示权重参数。之后经残差模块的特征输入到自注意力模块,在隐变量的基础上产生相似度矩阵,得到带有自注意力机制权重得输出矩阵(如式(13)~式(15)所示)
ri=Ftran(hI)
(13)
(14)
Yi=Self-Attention=Attention(ci-1,ci,ci+1)
(15)
其中,Ftran表示过渡层,Y表示自注意力矩阵,WQ、WK、WV表示参数矩阵。最后经分类器模块进行的计算类别概率,采用的损失函数是交叉熵,得到最终的风向值(如式(16)所示)
(16)
其中,Fout表示模型分类器模块。
SAT-ResNet风向自记图识别模型的详细识别算法过程见表1。
表1 SAT-ResNet风向自记图识别模型识别算法
实验数据采用内蒙古自治区某气象监测站连续3年(1991-1993)观测到的地面风场的逐时数据,并切割成单独的风向自记图,模式为RGB三通道图像,存储格式为JPG格式,固定大小为615×27像素(高615像素,宽27像素)。使用只有二维风向自记图数据与一维与二维相结合的风向自记图数据对所提方法可行性进行验证。风向自记图共有26 208张,将数据整体混洗打乱后,划分为训练集(80%)和测试集(20%)两个部分,训练集共有20 967张,测试集共有5241张。实验风向自记图初始数据统计如图5所示。
图5 风向自记图初始数据统计
风向自记图识别模型训练超参数设置,批训练样本数(batch_size)为64,模型迭代次数(iteration)为256,学习率采用动态调整策略,初始值为0.001,采用自适应矩阵估计(adaptive moment estimation,Adam)优化算法进行训练。为保存模型参数,每轮迭代训练完成之后,通过观察损失值是否下降来决定是否保存当前训练模型,得到模型参数用于测试集风向自记图识别。
为了增加实验的对比性,将SAT-ResNet模型和下列图像识别模型在相同的数据集下进行对比分析实验。
(1)CNN模型。CNN模型是一类包含卷积计算且具有深度结构的前馈神经网络。采用CNN-4,CNN-6,CNN-8作为对比实验。
(2)ResNet模型。采用K.He等[5]描述的ResNet网络模型。采用ResNet-18,ResNet-34,ResNet-50作为对比实验。
在自记图风向识别中,使用top-1识别准确率(accuracy)来评价风向识别模型的实验结果,即使用训练的识别模型对测试集进行分类预测,每一数据只能预测一个类别标签,若预测准确则准确,否则反之。也就是将分类正确的风向自记图与参加测试的风向自记图总数相除,可以表示为
(17)
式中:tp表示被分类正确的自记图数,fp表示被分类错误的自记图数。准确率的值越大,表示风向识别模型的识别率越高,模型性能越好。
模型损失值用来衡量模型收敛速度和模型对训练风向自记图数据分布的拟合程度。图6表示各模型在100轮迭代过程中一维和二维风向自记图训练集上损失值的变化。
图6 模型训练损失率变化
图6的结果表明,各模型在训练集上损失值随着迭代次数的增加出现明显的波动,但整体呈现下降趋势。随着迭代次数增加CNN、ResNet模型的收敛过程波动较大,SAT-ResNet-18模型的收敛速度较其它模型收敛速度较快且较平缓。由此可看出SAT-ResNet模型较其它模型收敛过程更加平稳,收敛效果更好。
图7(a)、图7(b)表示一维和二维风向自记图数据的风向自记图训练集、测试集上各模型在50轮迭代过程中准确率的变化。从图7可以看出,不同的模型在迭代过程中训练准确率变化呈现不同特点。CNN、ResNet模型在中途迭代过程中准确率出现波动较大的情况。对于SAT-ResNet模型中途虽出现波动情况,随着训练深入,准确率趋于平缓且呈上升趋势。但是在测试集上各模型的准确率随着迭代次数增加总体呈上升趋势,最终趋于稳定。说明SAT-ResNet-18模型能够提高对重点区域特征的学习,增大重点区域对分类结果的贡献,更有效地去拟合预测错误的样本,提高风向自记图识别任务的准确率。本文提出的模型在不同的数据下与其它对比模型的实验结果,见表2。
图7 模型准确率变化
表2为不同模型在不同的数据、不同深度下的风向自记图识别准确率结果。从上面表格可以看出,随着CNN网络深度的加深,模型的准确率开始下降,说明单一的增加卷积神经网络的深度,对风向自记图识别任务的效果不显著。在单一的二维风向自记图数据下,随着ResNet网络深度的加深,模型的准确率有0.21%的提升,而SAT-ResNet-18模型准确率相对于ResNet-50模型提高了1.56%,而相对于同等深度模型准确率提高了1.77%。可见,提出的模型与普通的ResNet相比具有更高准确率。在一维和二维风向自记图数据下,随着ResNet网络深度的加深,模型的准确率有1.72%的提升,而SAT-ResNet-18模型准确率相对于ResNet-50模型提高了0.91%,相对于同等深度模型准确率提高了2.63%。一维和二维风向自记图数据与只有二维风向自记图数据相比,SAT-ResNet-18模型有1.07%的提升。可见,在一维和二维风向自记图数据下自注意力机制能充分提取自记图的关键特征,提高风向自记图识别模型的准确率。
表2 不同的数据下不同模型实验结果对比
一维和二维风向自记图数据充分发挥数据的互补性,弥补单一数据所包含信息不完整的缺点。另外,风向自记图识别模型中自注意力模块可以通过关联单个单元的不同位置来获得更加准确的自记图图像内部关键特征,结合ResNet网络输入、输出之间路径更短的优点,提取不同维度的数据异构信息,使得风向自记图识别模型优于CNN、ResNet等单一表达域的模型。
基于风向自记图识别过程存在的风向自记图本身有背景文字干扰、特征所在区域固定以及卷积神经网络局部区域近邻等问题,提出了一种残差网络和自注意力机制相结合的风向自记图识别模型。模型将一维数据风向自记图输入残差模块完成初步特征提取,然后风向特征和二维数据有效融合后输入自注意力模块将提取的特征赋予不同的权重,最后输出到分类器完成风向自记图分类识别。
实验结果表明:①使用一维和二维风向自记图数据,可以有效地解决风向自记图字迹涂抹、部分信息缺失等问题;②通过与对比实验进行对比,验证了SAT-ResNet模型拥有更高的准确率,解决了风向特征所在区域固定,以及跨越图像区域的长距离、多层的依赖关系等问题,验证了所提出方法能够有效实现风向自记图识别。
然而,目前对于风向自记图识别模型的研究仍然存在不足,模型对于同一张图片中存在两种风向的风向自记图识别仍然不准确,未来可以对此类风向自记图进一步研究,提升风向自记图识别模型的准确率。另外,只研究了风向自记图的识别任务,电接风向风速计还记录了风速自记图,因此在以后的研究中,可以加入风速识别,风向风速相结合的识别任务,可以为气象研究人员提供更加便捷、直观的历史资料。