APP下载

基于双通道卷积神经网络的航班延误预测模型

2018-08-27吴仁彪李佳怡屈景怡

计算机应用 2018年7期
关键词:正确率特征提取梯度

吴仁彪,李佳怡,屈景怡

(中国民航大学 天津市智能信号与图像处理重点实验室,天津 300300)(*通信作者电子邮箱qujingyicauc@163.com)

0 引言

随着航空业的迅速发展,航班延误问题日益严重。由航班延误引发的旅客与机场、航空公司之间的矛盾已经成为一种严重的社会问题,引起极大反响。航班延误预测可通过已知信息进行到港延误等级预测,使相关部门提前作好应对措施,提升旅客满意水平。同时,通过预测可提前知晓航班到达序列,可进一步改进航班调度和机位指派,对航班延误的治理具有重要意义[1-2]。

国内外相关学者针对航班延误预测问题已展开大量研究[3-6],已有方法中多采用决策树、贝叶斯网络、神经网络等机器学习算法[7-10]。程华等[8]研究基于决策树方法的到港延误预测问题,通过实验发现使用C4.5决策树进行延误等级预测可得到80%的正确率;曹卫东等[9]考虑同一架飞机的连续航班情况,利用贝叶斯网络进行航班延误波及分析,可反映连续航班延误原因分布及波及分布;Khanmohammadi等[10]采用二进制编码航班特征后输入神经网络,在实现延误预测的同时可获得延误原因。以上模型较少考虑气象信息对航班延误的影响,而且传统机器学习算法仍是针对小数据集的信息获取和挖掘,处理能力有限。为使正确率进一步提高则需加入专家知识或通过聚类算法等方式扩展信息[11],因此,有学者提出将大数据技术应用于航班延误预测[12-13],可使模型自动进行特征提取,无需人为干预,并可以提升数据处理能力。

Kim等[13]率先采用大数据方法预测机场延误状态,使用长短时记忆法(Long Short Term Memory, LSTM)考虑时间维度特征,并通过实验证明了模型的可扩展性;但全连接神经网络进行特征提取最多只能训练五层网络模型,没有克服深度加深时模型无法收敛的缺点。深度卷积神经网络(Convolutional Neural Network, CNN)通过权值共享,可减少训练参数,训练更深的模型,从而最大限度从海量数据中提取信息。近几年,在图像分类与识别、语音识别等领域已取得突破性进展[14-16]。其中,Highway网络[17]和残差网络(Residual Network, ResNet)[18]通过对卷积神经网络传统结构的改进,进一步增加了网络的深度,可取得更好的特征提取效果。

本文分数据预处理、特征提取和分类预测三部分构建航班延误预测模型。在数据预处理部分考虑到气象因素对航班延误的重要影响,进行了航班数据和气象数据的融合。在特征提取部分考虑到传统机器学习算法处理大数据的困难,以及网络深度对模型性能的影响,参考ResNet网络结构,提出了一种双通道卷积神经网络(Dual-Channel Convolutional Neural Network, DCNN)结构。该网络结构可克服梯度消失的缺陷,训练深度网络,增强数据处理性能,从而进一步提升模型预测能力。

1 双通道卷积神经网络

1.1 传统卷积神经网络

传统卷积神经网络主要由卷积层和池化层构成,如要训练深层网络则需进行如图1(a)所示的卷积层堆叠。每个卷积层后接激活函数进行非线性变换,如式(1)所示:

A=f(W⊗X)

(1)

其中:A表示输出特征矩阵;W表示需要学习的卷积核;X表示卷积层的输入特征矩阵;⊗表示Hadamard乘积运算,即矩阵对应元素相乘求和,是一种相关运算;f代表使用激活函数进行非线性变换。本文选用线性整流单元(Rectified Linear Unit,ReLU)[19]作为激活函数,函数定义如下:

f(x)=max(x,0)

(2)

依据式(1)~(2),图1(a)的非线性映射函数可表示为:

Y=f(W(L)⊗(…f(W(1)⊗X)…))

(3)

其中L表示卷积层堆叠层数。

1.2 双通道卷积神经网络

双通道卷积神经网络结构如图1(b)所示,由多个Block堆叠而成,每个Block中包含直通通道和卷积通道。

直通通道是对数据的简单线性映射变换,以保证数据的无损传输,其函数定义为:

Y=X

(4)

参考ResNet网络,DCNN同样进行了特征矩阵的累加;但不同于ResNet网络中的一次累加[18],DCNN每个Block进行了两次累加,即每个Block中包含两个卷积模块,且分别和直通通道进行一次累加。其目的在于融合不同网络深度提取的特征,可同时考虑底层至高层的数据特征。出于保持两个通道输出数据完整性的考虑,每次累加前后不接激活函数。则卷积通道的输出Yn1、Yn2可由式(5)进行计算:

(5)

其中:Yn1和Yn2分别代表两个卷积模块的输出特征矩阵,W(1)、W(2)、W(3)和W(4)分别代表4个卷积层的卷积权值矩阵。更一般的情况,每个Block可包含m(m≥2)个卷积模块,每个卷积模块可包含l(l≥2)层卷积层,故卷积模块的非线性映射函数可表示为:

H(X,{W(l)})=W(l)⊗(…f(W(2)⊗f(W(1)⊗X))…)

(6)

为保证信息在网络中传输的畅通性,引入卷积衰减因子对卷积通道输出的特征矩阵进行稀疏性限制。卷积衰减因子的作用类似于Highway网络中的控制门[17],但Highway网络中控制门的参数需要进行大量计算,且当网络深度加深时参数学习变得困难。本文模型直接引入卷积衰减因子,无需增加格外计算,同时也起到了控制门的作用。出于以直通通道为主、卷积通道为辅的原则,将直通通道输出权值设置为1;同时出于以浅层特征为主、深度特征用于微调的目的,另卷积衰减因子0≤λ2≤λ1≤1,增大浅层网络贡献率,维持网络的稳定性。

图1 网络结构

由图1(b)可看出,第n(n≥2)个Block的映射函数可表示为:

Yn=λ1Yn1+λ2Yn2+Yn-1

(7)

其中λ1和λ2分别表示两个卷积模块的卷积衰减因子。

每个Block的输出为下一个Block的输入,若以第n个Block的输出作为整个网络的结果,则由级联的Block构成的DCNN的非线性映射函数可表示为:

Y=λ1Yn1+λ2Yn2+λ1Y(n-1)1+λ2Y(n-1)2+…+

λ1Y11+λ2Y12+X

(8)

由式(8)可看出,DCNN可等效于对不同深度网络的“投票”,通过自身的学习选择不同深度网络的特征组合,且赋予相应的权值,控制不同输出特征的比例。

1.3 误差项计算

在卷积神经网络训练时,首先进行前向传播计算各层输出特征矩阵并计算损失函数J,然后依据BP(Back Propagation)链式法则反向计算各层误差项δ(l),并根据误差项计算权值梯度,计算公式如下:

(9)

最后,按照式(10)和式(11)更新网络权值参数,反复训练直至更新后的权值参数使网络收敛:

(10)

W(t+1):=W(t)+V(t+1)

(11)

其中:t表示迭代次数;μ为动量因子(momentum),决定了历史权重修正量对本次权重修正的贡献大小;V(t)是动量项(momentum variable);η为学习率(learning rate);λ为权重衰减系数(weight decay)。

在计算各层误差项时,传统卷积神经网络按式(12)反向计算各隐藏层误差项:

(12)

由于ReLU激活函数的导数值为1,权值矩阵W中元素的绝对值普遍小于1,具有较强的稀疏性。因而在式(12)中,δ(1)≪δ(L),且L越大,传至第一层时所乘小于1的因子越多,δ(1)越小。此时,按式(9)计算权值梯度值越小。当网络不断加深,就容易出现梯度消失现象。

双通道卷积神经网络由于加入直通通道,可通过对误差项反向传播时的调控,弱化梯度消失现象。取m=2,l=2,其误差项计算过程如下:

(13)

其中:δ(1)、δ(2)、δ(3)和δ(4)代表各卷积层误差项,δ(n)和δ(n+1)代表相邻两个Block的误差项,δ(n2)和δ(n1)分别代表第n个Block中两个卷积模块的误差项。

若令式(12)中L=4,即CNN和DCNN具有相同的深度,对比式(12)、(13)可知:

δn≥δn+1≥δ(L)≫δ(1)

(14)

由此可见,相比CNN,DCNN反向传播时误差项衰减变缓,从而保证了梯度的稳定性,使深度网络的权值参数得到更加充分的训练和学习。

2 模型描述

航班延误预测模型如图2所示,主要由数据预处理、特征提取和分类预测三部分组成。特征提取使用深层DCNN完成,以训练更深层网络,提炼更多有效信息。现对数据预处理和分类预测部分进行描述。

图2 模型描述

2.1 数据预处理

为方便后文叙述,现对数据定义如下。

定义1 航班数据F中包含〈C,Sd,Sa,Ad,Aa,tsd,tad,tsa,taa〉。其中:C代表航空器型号;Sd代表起飞机场所在州;Sa代表目的机场所在州;Ad代表起飞机场;Aa代表目的机场;tsd代表计划起飞时间;tad代表实际起飞时间;tsa代表计划到达时间;taa代表实际到达时间。

定义2 气象数据O中包含〈As,ts,T,H,Wd,Ws,P,S,V〉。其中:As代表观测站所在机场;ts代表观测时间;T代表温度;H代表湿度;Wd代表风向;Ws代表风速;P代表气压;S代表天空状况;V代表能见度。

定义3 航班到港延误时间Dt定义为实际到达时间和计划到达时间的差值,另f为单条航班数据,则:

Dt=f.taa-f.tsa

(15)

数据预处理过程主要完成数据编码、数据融合和特征矩阵的构造。由于航班数据F和气象数据O分别具有不同的量纲和标识方式,因此对名义变量进行编码。编码采用频次统计的方式,每一变量中出现频次最高的变量值编码为0,其次为1,依此类推。这种编码方式可保证特征矩阵的稀疏性,增强鲁棒性。

由于本文只关注延误数据,因此对数据集中的取消和改航数据进行过滤处理,同时依据Sd和Sa进行各州州时转换,保证全部时间的时区一致性。为探讨目的机场气象数据对航班延误的影响,通过Spark并行化平台[20]实现航班数据和气象数据的融合,输出总的航班延误数据。

数据融合流程如下:

步骤1 输入航班数据F和气象数据O,使两份数据均以弹性数据集的形式均匀分布于集群的各个节点上。

步骤2 建立Map1阶段。将单条航班数据f从F中提取,设定目的机场Aa和计划到达时间tsa为关联主键join_key1,输出数据〈join_key1,f〉。

步骤3 建立Map2阶段。将单条气象数据o从O中提取,设定观测站所在机场As和观测时间ts为关联主键join_key2,输出数据〈join_key2,o〉。

步骤4 进行数据的重新缓存。将各个弹性分布式数据集中的〈join_key1,f〉和〈join_key2,o〉进行重新分区,具有相同关联主键的数据缓存于相同节点的数据集中。

步骤5 建立Reduce1阶段。将缓存于同一分区的f和o进行合并构建〈f,o〉,即相同主键数据进行衔接,输出融合后数据w。

步骤6 建立Reduce2阶段。将输出的w从各节点中获取,构建融合后的输出矩阵W。

2.2 分类预测

将航班延误时间Dt按表1进行延误等级划分,从而将预测问题转化为分类问题。根据文献[21]的要求,将延误时间为15 min以内的航班设定为不延误航班,其他等级参考文献[8]进行划分。

分类过程中使用全局平均池化进行数据降维,使用全连接层将最后输出的特征矩阵转换为(1×1)×q维,q为分类类别数。最后,采用softmax进行分类。每一个类别j的输出概率值为p(y=j|x),则函数为:

(16)

(17)

表1 航班延误等级划分

3 模型优化

3.1 批归一化

批归一化(Batch Normalization, BN)技术[22]一定程度上可提高网络的训练速度。其基本思想是在利用每一批样本对网络进行训练时,分别对各层网络的输出数据进行归一化处理。

假设某一层网络输入数据的集合为{x1,x2,…,xk},该批样本的数量为k,则BN技术首先对该批次数据按式(18)进行归一化处理:

(18)

其中:E[x]表示该批次输入的样本均值;Var[x]代表该批次输入的样本方差;ε为一个加到方差上的数值常量,一般取一个接近于零的正数,用来保证重构变换响应数值的稳定性。

归一化后的数据符合均值为0、方差为1的分布,大部分落在激活函数的非饱和区域,防止了梯度消失,加速训练;但进行归一化后不可避免地破坏了上一层网络的原始表达,因此引入重构参数γ和β对批归一化后的数据按重构函数(19)进行变换,得到最终该层输出数据{y1,y2,…,yk}:

(19)

利用BN技术对网络内部数据进行归一化处理,等效于在网络当中引入一个BN网络层。按文献[22]的实验结果,BN层加在激活函数之前效果更佳,因此在本文模型中,将BN层直接加在卷积通道的每个卷积操作之后。同时为保证直通通道的畅通性,不在直通通道上加入该操作。

3.2 Padding

Padding技术[23]通过在特征矩阵外围补零,控制卷积层输入、输出特征矩阵维度。Padding可增强对边缘数据的特征提取,同时对航班延误数据进行维度控制,使特征提取部分的深层网络得以训练。

设输入特征矩阵(input)、卷积核(convolution kernel)、Padding、步长(stride)、输出特征矩阵(output)在不同轴上长度相等,分别为i、c、p、s、out,则在是否采用Padding时,各长度关系如式(20)所示:

out=

(20)

由于航班延误数据具有先验信息较少的特点,经数据预处理后维度较小,在不采用Padding技术时,特征提取部分维度会迅速下降,无法训练深层网络,因此在本模型中采用p=1的Padding技术,同时和c=3、s=1的卷积核相结合,可保证特征矩阵维度不变。

4 实验

实验运行的软件环境是在64位Ubuntu14.04操作系统下搭建的Spark开源框架[20]和Caffe[24]深度学习开源框架,本文对官方版本的Caffe进行了部分修改,并使用GPU加速计算。实验计算机配置:Inter Xeon处理器,16 GB内存,GeForce GTX TITAN X显卡。

本文模型所用数据为美国交通运输统计局(Bureau of Transportation Statistics, BTS)提供的航班准点数据(Airline On-Time Performance data, AOTP)和美国国家气象数据中心(National Climatic Data Center, NCDC)提供的本地质量控制气象数据(Quality Controlled Local Climatological Data, QCLCD)。其中AOTP包含从1987年至今的航班数据,QCLCD包含美国1 600个气象观测站的气象数据,气象数据每小时进行一次更新。实验中使用两数据源中2015—2016年数据,输入数据源包含航班数据103 405 986条,44维特征;气象数据11 235 340条,48维特征。融合后数据为103 402 300条,编码为217维特征。最终经矩阵变换输入网络中的数据维度为103 405 986×15×15。按表1进行等级划分时,类别1到5的比例为46∶6∶2∶2∶1,其中不延误的比例很大,为偏分类问题。为使数据尽量均衡,在网络训练迭代时对类别1的数据进行随机抽样,抽取与类别2相同个数,使输入样本比例变为6∶6∶2∶2∶1。

航班延误预测模型采用文献[25]提出的权值初始化策略。使用随机梯度下降法对模型进行训练,批处理数量(min-batch size)为512,动量因子为0.9,权重衰减系数为0.000 1,训练时总的迭代次数为5 000,初始学习率为0.1。DCNN中选用尺寸为3×3、步长为1的卷积核进行卷积,选用尺寸为3×3、步长为2的滤波器进行池化。为探索网络深度对特征提取的影响分别使用16,24,32,40,48和56层模型结构,网络层数配置如表2所示。在实验对比时,DCNN与传统卷积神经网络均采用softmax分类方法,以保证实验条件的一致性。

表2 网络层数配置

4.1 卷积衰减因子影响分析

从式(13)可以看出卷积衰减因子的取值影响了反向传播时梯度的大小,从而控制网络收敛。若卷积衰减因子设置较大则会导致梯度爆炸现象,违背了设置双通道卷积神经网络的初衷;若设置过小则会导致返回的梯度值减小,使网络收敛变慢,增加了模型的训练时间。实验中,采用如表3所示的卷积衰减因子进行训练,以探索设置的最佳准则。其中,NAN表示网络未收敛。

表3 卷积衰减因子对正确率影响

从表3可以看出:在浅层网络时,设置λ1=0.2,λ2=0.1预测效果较好;而网络加深时,同样的设置正确率却下降。原则上,越深的网络结构应该对应越小的卷积衰减因子,但设置过小会使网络在有限的迭代次数内没有收敛,实验结果无法达到最好。在深层网络中,设置为λ1=0.1,λ2=0.05,达到最优,因此本文后续实验将卷积衰减因子设置为λ1=0.1,λ2=0.05。

4.2 气象数据影响分析

文献[21]显示,我国上海、深圳、南京等重要城市航班延误因素中气象因素占比高达40%以上。从实际情况分析,风速和风向的变化会引起风切变等极端气象情况,使飞机无法起降;降雨、降雪等极端恶劣天气也都伴随着风向、风速和湿度的改变;风暴天气则会大幅影响能见度,因此,本文在模型的数据预处理过程进行了航班数据和气象数据的融合。为验证数据融合的重要性,首先取60 min作为判断是否延误的阈值,作二分类预测。以删除某个气象特征时,延误召回率较不删除时的下降值表征此气象特征对延误预测的影响程度。分别去掉某个气象特征后,召回率下降值如图3所示。

从实验结果可以看出,风向、风速和能见度对延误预测影响较大,湿度和气压其次,天空状况对预测影响最小。DCNN具有很强的大数据处理能力,因此本着尽可能提高正确率的思路,不对特征作降维处理。

对航班数据和融合后数据分别进行延误预测。表4给出了航班数据和融合后数据的预测准确率。融合后数据预测准确率在各层均增加,增加范围基本保持在1个百分点,由此可见气象数据是航班延误预测时重要的先验信息。

表4 数据融合前后正确率对比

4.3 正确率

为验证直通通道对模型“畅通性”的影响,对使用传统卷积神经网络和使用直通通道改进后的卷积神经网络进行实验对比。使用传统卷积神经网络时,为保证可对比性,除最后一层卷积层,其他各层也相应增加ReLU激活函数进行非线性变换并相应加入BN层和Padding技术进行优化。

由表5可知,传统卷积神经网络在32层时效果达到最佳,正确率为0.912;但从40层开始,传统卷积神经网络正确率呈下降趋势,到56层时,正确率已降至0.790。而双通道卷积神经网络随深度的增加预测正确率逐渐提升,当网络达到56层时,其预测正确率已达到0.921。

表5 不同网络结构正确率对比

为进一步探索模型可训练深度,对72,104和136层网络进行训练,训练结果如表6所示。由结果可知,在深层网络模型中,传统卷积神经网络性能进一步下降,而双通道卷积神经网络性能一直保持稳定。

表6 深层网络正确率对比

4.4 损失值

由表5可知不同网络结构的差异性在深度为40层时开始凸显,现着重讨论40层以后两种网络结构的损失值变化。图4所示为损失值随迭代次数变化示意图。对比可知本文模型训练时损失值可减小至0.3以下,而传统模型一直维持在0.5以上,说明DCNN相比传统的卷积神经网络能够更好地对深层网络进行训练。

图4 不同网络结构的损失值随迭代次数变化示意图

4.5 梯度值

采用DCNN结构进行特征提取的航班延误预测模型之所以能够得到更高的准确率,得益于正向信息的无损传输和反向梯度的稳定性,从而使式(10)和式(11)更好地进行卷积权值更新。

图5所示为40、48和56层网络结构第一层对应梯度值(简称梯度)随迭代次数变化示意图。图5(a)为传统卷积神经网络梯度变化,可以明显看出随深度的增加,梯度锐减且梯度随迭代次数变化极不稳定,最小时可达到10-14左右。这说明传统卷积神经网络模型在权值更新时存在梯度消失问题,难以进行充分的特征提取。图5(b)中相应梯度基本稳定在0.01至0.001之间,由此可见本文的DCNN模型可克服梯度消失缺陷,进行更加完备的信息表达。

4.6 算法对比

文献[8]和文献[13]均与本文一样采用分类预测的方式进行延误等级判断。其中:文献[8]采用国内31 613条航班数据建模,使用C4.5决策树算法预测,并与朴素贝叶斯(Native Bayes)算法进行对比;文献[13]采用与本模型相同数据源的单个机场数据进行预测,利用传统神经网络与LSTM组合的方式构建浅层模型。表7所示为本文深层模型与这两种模型中所提算法的正确率对比。

C4.5决策树和朴素贝叶斯算法都是传统机器学习算法的典型代表,两种算法均具有较好的分类性能且计算简单,但当数据量增长时两个算法都会遇到计算瓶颈,无法充分利用大数据优势,因此它们做的是在小样本情况下的航班延误预测,正确率较低。文献[13]中,作者同样采用了加深深度的方式提高正确率,这使得该文中基于LSTM算法建立的模型与基于C4.5决策树和朴素贝叶斯算法建立的模型相比,预测正确率得到大幅提升;但是由于没有克服深度网络中梯度消失的缺点,基于LSTM的模型在加深深度时难以收敛,最终只是采用了浅层的网络结构。

图5 不同网络结构的梯度值随迭代次数变化示意图

Tab. 7 Correct rate comparison of different algorithms

对比可知,与传统算法相比,深度卷积神经网络可进行基于大数据的信息挖掘,因此在处理数据量与维度上具有较强优势。同时与浅层的LSTM算法相比,深度双通道卷积神经网络的正确率更高。实验表明采用本文模型进行基于大数据的航班延误等级预测可有效提高正确率。

5 结语

本文创新性地提出使用数据融合和深度双通道卷积神经网络构建航班延误预测模型。通过将延误时间进行等级划分,将预测问题转化为分类问题,分数据预处理、特征提取和分类预测三步完成航班延误等级预测,并采用批归一化和Padding技术进行模型优化。经实验验证,结论如下:

1)融合气象数据后,CNN和DCNN进行特征提取后的模型性能都有所提升,证明气象数据对于航班延误预测十分重要。

2)当特征提取部分的网络加深时,使用CNN的模型性能变差,而利用DCNN的模型仍保持稳定,证明传统卷积神经网络难以训练深度模型,而改进后的网络结构可以保证深度网络的训练。

3)深度DCNN算法与传统算法相比具有更强的数据处理能力,使数据量和维度大幅提升,最终可得到更高的正确率。

本文的预测结果与传统卷积神经网络相比有较大提升,有利于进一步改善空管、航空公司等部门的决策,提升民航综合服务能力;但受数据来源限制,本模型在构建时未使用国内航班数据,目前正与国内空管部门争取合作,希望下一步使用国内数据进行建模。后续还将结合混淆矩阵分析预测结果,使实验数据更加完善。

猜你喜欢

正确率特征提取梯度
磁共振梯度伪影及常见故障排除探讨
个性化护理干预对提高住院患者留取痰标本正确率的影响
空间目标的ISAR成像及轮廓特征提取
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于特征提取的绘本阅读机器人设计方案
一个具梯度项的p-Laplace 方程弱解的存在性
基于Daubechies(dbN)的飞行器音频特征提取
基于AMR的梯度磁传感器在磁异常检测中的研究
基于两种LSTM结构的文本情感分析
基于数字虚拟飞行的民机复飞爬升梯度评估