屈景怡,叶萌,渠星
(中国民航大学天津市智能信号与图像处理重点实验室,天津 300300)
随着国民经济和航空运输业的迅猛发展,空中交通流量日益增加,但空域资源和地面保障能力不足的问题依然突出,导致机场延误问题日益严重。机场延误会对乘客、航空公司、机场运行人员等造成严重影响,给民航的正常运转带来挑战。而机场延误预测算法的研究,不仅可以提前预知机场拥堵时间点,为相关的运行决策提供理论依据[1-2],还可以间接反映未来机场航班需求量和容量的关系[3-4],为机场建设提供参考,具有非常重要的现实意义。
针对机场延误的预测问题,国内外相关学者已经开展了一些研究。已有方法中多采用线性回归、支持向量机、决策树等传统算法[5-14]。文献[6]基于非线性物理假设和机场动态特性知识,提出了基于边界条件的机场延误预测方法,通过对不同机场数据的实验验证,最高预测准确率为75.2%。文献[7]针对机场航班数据不断更新的特点,利用增量式排列支持向量机算法进行延误预警,其准确率可达80%。文献[9]利用逻辑回归和决策树这2个机器学习模型,预测机场地面延迟的发生。通过实验对比,逻辑回归可比决策树取得更好的预测结果,但其准确率也仅达到 84%。文献[11]尝试利用浅层的人工神经网络(ANN, artificial neural network)对机场空域进行延误预测,但是该模型不能准确学习时间维度上的延误传播特性,在面对严重且持续性延误状况时,模型的预测结果并不理想。
虽然国内外学者在机场延误预测方面取得了一定成果,但仍存在以下3个问题。1) 这些方法大多针对小数据集样本进行训练,面对大量且高维的机场延误数据,往往需要进行降维处理,造成原始数据信息的缺失。2) 这些方法没有考虑机场状态信息的时间相关性,实际上,前一时刻机场的延误对后续机场延误状态的影响很大。3) 这些方法较少考虑气象信息对延误预测的影响。根据《2017年全国民航航班运行效率报告》统计结果,天气原因是造成延误的主要原因之一。
近年来,面向大数据的深度学习方法在计算机视觉、语音识别、自然语言处理等方面得到了广泛应用,其性能明显优于传统算法[15]。在众多深度学习方法中,循环神经网络[16](RNN, recurrent neural network)将时序的概念引入网络结构设计中,使其在时序数据分析中表现出更强的适应性。长短时记忆[17](LSTM, long short term memory)网络作为RNN的改进,解决了RNN的梯度消失、长期记忆能力不足等问题,使循环神经网络能够真正有效地利用长距离时序信息。然而,在实际应用中发现,由于网络中全连接结构的存在,使LSTM网络无法继续加深,预测精度无法进一步提高,并且大规模LSTM网络的训练对硬件要求比较高。
为解决上述问题,本文提出了基于区域残差和LSTM(RR-LSTM, region residual-long short term memory)网络的机场延误预测模型。该模型利用LSTM 网络来充分提取机场延误数据的时间相关性,并在LSTM基础上增加了区域残差网络模块和单向池化模块。其中,区域残差网络模块是对残差网络(ResNet, residual network)[18]的改进,以代替LSTM层间全连接的功能,解决深层LSTM的梯度消失问题;单向池化模块的设计是为了保证区域残差网络模块和LSTM网络模块的特征维度一致性。此外,本文提出的基于 RR-LSTM网络的模型综合考虑了机场的属性信息、气象信息和相关运行航班信息影响,融合气象和航班信息后,预测准确率得到了一定程度提高。
图1(a)为文献[11]的网络结构,图1(b)为本文提出的RR-LSTM网络结构。通过对比可以看出,一条待分类机场延误数据在RR-LSTM网络中的训练框架主要由3个部分组成,分别是区域残差网络模块、单向池化模块和LSTM网络模块。
1) 区域残差网络模块:分别对不同区域的输入数据进行卷积,获取输入数据的空间局部特征,同时保证输入数据的时间顺序。
2) 单向池化模块:将区域残差网络的输出进行维度转换,保证网络输入数据在区域残差模块和多层LSTM网络中的维度一致性。
3) LSTM网络模块:接收单向池化模块的输出作为LSTM模块的序列化输入,获取机场延误数据在时间维度上的依赖关系。
LSTM网络可以充分利用机场延误信息的时间相关特性。对于LSTM网络来说,其时间步长越多,记忆能力越强;但是随着网络深度的增加,LSTM会出现梯度消失的问题,文献[19]通过实验验证了增加LSTM的层次反而会使其性能下降。为进一步说明此问题,本文给出深层LSTM梯度消失的理论证明。
如图2所示,LSTM网络通过一个记忆单元来存储输入数据的重要特征信息。每一个网络神经元包含核心元素cell和3个门单元,分别是输入门、遗忘门和输出门。
LSTM 单元的前向传播过程如式(1)~式(6)所示。其中分别为l层t时刻LSTM单元输入门、遗忘门和输出门的输出;表示l-1层网络在t时刻的输出,而则表示l层网络在t-1时刻的输出;Wi、Wf和Wo为t时刻l-1层网络与该单元输入门、遗忘门、输出门的权重矩阵;同样地,Ui、Uf和Uo为t-1时刻l层网络与该单元各个门的权重矩阵为核心元素cell的输出,从图2和式(4)可以看出,包含以下2个部分:第一部分是t-1时刻cell状态和遗忘门输出的乘积,第二部分是输入门输出的乘积。Wc为t时刻l-1层网络与cell连接的权重矩阵,Uc为t-1时刻l层网络cell连接的权重矩阵。则为最终LSTM的输出。式(1)~式(6)中的和h(⋅)均为激活函数。
图1 网络结构
图2 LSTM单元结构
LSTM误差项的反向传播包括2个方向:1) 沿时间维度的反向传播,即从当前t时刻开始,计算前面每个时刻的误差项;2) 将误差向前一层进行传播。对于后者,目前的相关研究还不多,故根据误差反向传播原理,推导得出误差项沿网络层数的反向传播过程为
其中,f(⋅)为激活函数,f′(⋅)为激活函数的导函数,LSTM单元中的激活函数多采用tanh和sigmoid函数,即f( ⋅)≤ 1 ,f′(⋅)≤ 1 。并且权值矩阵中元素的绝对值均小于1。另外需要解释的是,由于式(7)中进行相加的四项存在正负号,加法并不能使的值增大,因此当LSTM层数增加时,根据链式法则(的组成形式和相似),式(7)中会出现多个小于1的项进行连乘,梯度在向前传播时会不停衰减,从而导致梯度消失的问题。
为解决深层LSTM的梯度消失问题,根据后续实验结果,本文提出的RR-LSTM网络只保留了两层LSTM,单条机场延误数据的特征提取则由深层区域残差网络来代替完成。
ResNet中的卷积操作通过权值共享可减少训练参数,与LSTM相比,更适于数据的空间局部特征提取。通过对传统卷积神经网络结构的改进,ResNet解决了深层网络结构的梯度消失问题,具有更强大的特征学习和表达能力,图 3(a)为文献[18]提出的 ResNet结构块,但是常规的卷积操作会破坏输入数据的时间顺序,无法将 ResNet结构直接增加至LSTM网络中。为此,本文提出了区域残差网络,区域残差网络的单个模块结构如图3(b)所示,不同层数的网络均由其堆叠而成。
设X为输入,经过批归一化(BN, batch normalization)[20]和整流线性单元ReLU[21]操作后,得到。图3(b)中卷积模块的非线性映射函数H(⋅)的定义如式(12)所示。
其中,F(⋅)表示ReLU激活函数和BN操作的计算过程;分别为同一个结构块中3个卷积层的权值矩阵,m1、m2和m3代表3个不同卷积层。单个结构块的非线性映射函数为
图3 残差学习结构块
区域残差网络是为了解决 ResNet中常规卷积操作会破坏数据时序信息的问题。由图3可以看出,其根本区别是根据机场延误的数据集特点,将残差网络结构块中的卷积核尺寸由3×3替换为3×1。此外,实际卷积操作时将步长由原来的二维移动变为单向移动,这样可以使卷积操作仅覆盖单独一个时间区域内的数据,即单独对输入数据的不同区域进行局部特征提取,进而实现空间特征深层提取,同时保留机场延误数据的时序关系。为使网络更加容易训练,采用了以下3个优化方法:将直连通道中的激活函数ReLU去掉,在每一卷积层前都进行BN操作,对输入进行前置激活[22-23]。
为了将 LSTM 与区域残差模块有效地贯穿融合,本文设计了单向池化模块,如图4所示,图中t代表时间步长数。该模块首先利用尺寸为1× 1、步长为1、数量为128的卷积核,对区域残差网络模块的输出特征图进行降维操作,再进行单向全局池化。池化方程为
其中,ai,j表示上一层神经网络输出特征图中坐标为(i,j)的神经元,si表示最大池化层中坐标为i的神经元,ave(⋅)表示求矩阵中所有元素的均值。
图4 单向池化模块
本文设计上述单向池化的方式是出于以下3点考虑。
1) 区域残差网络的输出特征图维度需要符合LSTM输入特征维度的要求,传统方法只是直接进行维度重塑操作,即将三维的数据压缩为二维,再使用全连接的方式进行维度变换。由于全连接的引入,不仅会使计算量增长,而且会增加网络梯度消失问题出现的概率。而单向池化方法通过卷积神经网络的权值共享,可实现维度变换的同时,有效控制网络中增加的训练参数数量。
2) 如图4所示,区域残差网络的输出特征图数量为 1 024,若直接进行单向全局池化操作,则会得到维度为t×1 024的数据作为LSTM输入,由于LSTM网络各单元之间的连接均是全连接方式,在实际实现过程中,会出现网络不收敛的情况,因此在实现维度转换之前进行了1×1的卷积处理,以减少特征图的数量。
3) 单向全局池化的特征处理过程是,将不同卷积核输出的特征图,映射到与LSTM相连接的不同神经元,这样做的好处是保存了每个卷积核特征表达的独立性。
基于RR-LSTM网络的机场延误预测模型如图5所示,主要包括以下3个部分:数据预处理、特征提取和特征分类。特征提取部分介绍详见第2节,下面主要对数据预处理和特征分类展开介绍。图 5给出了各个网络结构的输出特征图维度,以(t×102)×16为例,其中,t表示循环的时间步长,102表示每个时刻需要处理的一维向量大小,16表示输出特征图的个数。
图5 基于RR-LSTM网络的机场延误预测模型
机场属性数据定义为A,包括日期、时间、机场ID等5个特征属性。
机场运行航班数据定义为F,包括起飞日期、起飞/降落机场ID、起飞/降落城市ID、航班号、计划起飞/降落时间、起轮/放轮时间、航程等22个特征属性。
机场天气数据定义为W,包括时间、机场天气状态、风向、风速、能见度、温度、气压等 18个特征属性。
数据预处理的步骤如下。
Step1 以日期、航班起飞/降落时间、天气观测时间这3个特征作为键值,对机场属性数据F、航班数据A和天气数据W进行融合。
Step2 将原始数据特征属性分为离散性和连续性2种。首先对连续性特征进行min-max归一化编码[23]。然后将离散性特征以100为阈值分为高低基数2类,特征的基数是指该特征类别的穷举数。最后,对低基数离散性数据采用独热编码,即one-hot编码[24];对高基数离散特征进行 meanencoder编码[25]。
Step3 将编码后的数据E按照起飞和降落时间进行排序,然后以长度为L、步长为1的分割窗口在时间维度上进行滑动分割,得到模型输入Et。分割后每个输入数据的时间序列长度为L,对应于机场延误预测模型中的时间步长t。
根据模型中机场延误时间的定义,将延误时间在15 min以内的情况划分为不延误状态,反之划分为延误状态,从而将机场延误预测问题转化为二分类问题。
如图5所示,特征分类部分共有两层:全连接层和 Softmax[26]分类器层。其中,全连接层输出的特征图维度为(1×1)×q,q为分类类别数,本文涉及的是二分类问题,所以q=2。对于每类有r个样本的集合,可以表示为其中,每一个类别j的输出概率值为p(y=j|x),如果用q个向量表示q个输出概率值,则函数为
其中, hθ(x)为神经网络的输出,θ为网络参数,i为样本序号,为归一化因子。网络训练使用交叉熵作为代价函数,其表达式为
为了更好地评估LSTM网络在机场延误预测问题上的有效性,本文采用准确率作为评价准则,如式(18)所示。
其中,N为测试集中总的数据量,C为模型预测的延误状态与实际延误状态相同的记录数。
本节首先介绍了实验环境、参数配置和实验数据,然后基于机场延误数据对比验证了所提模型的性能,并对机场延误数据特征进行了分析。
实验所使用计算机的配置如下:处理器为Intel至强Xeon E5-1620,CPU频率为3.60 GHz;内存为16.00 GB;操作系统为Ubuntu14.04(64 bit);图形加速卡为GeForce GTX TITAN Xp;深度学习开发平台为Tensorflow 1.3.0。
为了方便重复实验和后续研究,这里给出本文实验中所设置的参数名称与对应的参数值供研究参考:权值初始方式为正交初始化;最大迭代次数为 8.5万次;训练时的批处理数量为 512,测试时为 128;训练的优化方法为随机梯度下降法;初始学习率为0.1,训练时分别在迭代4万次和8万次时进行衰减,每次衰减10倍。
本文模型实验数据为2016年~2017年美国亚特兰大机场的航班运行数据和天气数据,其中航班运行数据来自交通运输统计局(BTS, bureau of transportation statistics)的航班准时性数据(AOTP ,airline on-time performance data),天气数据来自美国国家海洋和大气管理局(NOAA, national oceanic and atmospheric administration)提供的本地气候质量监控数据(QCLCD, quality controlled local climatological data)。将原始数据特征进行预处理后,得到维度为1 781 045×203×t×1的网络输入数据,其中,1 781 045为所有数据的数量,203为编码后每条数据的特征维度,t为每条数据的时间序列长度,由于计算能力有限,本文只对t=30进行了实验验证。
将本文所提网络模型与其他经典神经网络在机场延误数据上进行对比,验证本文所提方法的有效性。
1) ANN。传统前馈型神经网络不同隐藏层之间采取全连接方法。本文设计了层数为1、2、4、6的网络结构,对应网络名称为ANN1、ANN2、ANN4、ANN6。当神经网络深度增加时,模型对计算机性能的要求越来越高,模型的收敛也越来越困难。
2) VGG。VGG网络作为经典卷积神经网络,包括了反复堆叠3×3的小型卷积核和2×2的最大池化层,本文基于机场延误数据实现了 VGG16和VGG19。对于数据集由于卷积神经网络没有考虑时间维度上数据的关联性,因此在具体实现策略上,需要将其映射到空间维度上进行卷积,这样的操作必定会丢失一部分数据信息,特别是长时间距离的信息。
3) ResNet。为了增加可对比性,该部分ResNet的网络配置与本文所提RR-LSTM中的相应模块均一致,实现了 ResNet18、ResNet34和 ResNet50。与VGG相同,ResNet也需要将其时间的数据映射到空间维度上进行卷积。
4) ANN-LSTM。该网络模型是文献[13]提出的一种模型思想,但是文中的实验数据与本文并不相同,为了保证对比实验的严谨性,需要使用本文数据对模型重新训练。另外在文献[13]的基础上,对隐藏层 ANN的层数进行了讨论,分别包括ANN1-LSTM、ANN2-LSTM 和 ANN4-LSTM,其中LSTM的层数均为2层。
5) VGG-LSTM。与ANN-LSTM模型类似,实现了VGG16-LSTM和VGG19-LSTM。
6) RR-LSTM。本文所提网络模型,实现的网络配置有RR18-LSTM、RR34-LSTM和RR50-LSTM。
4.3.1 引入时序信息对预测结果的影响
为验证前续机场延误状态对当前预测结果的影响,本部分将不同神经网络模型在数据集E和Et进行了对比实验。根据数据预处理步骤,E代表单个时刻的数据集,Et代表不同时刻数据组成的时间序列集。需要说明的是,由于数据集E为单独时刻的特征信息,无法使用LSTM网络进行时序关联的学习,因此涉及LSTM网络的模型没有对数据集E进行训练和测试。
表1为ANN、VGG和ResNet网络在不同数据集E和Et上的预测结果对比,可以看出增加数据的时间特征信息可以使模型测试准确率提高0.91%~1.8%。由此可得,考虑引入机场延误数据的时序特征能有效提高模型最终的预测精度。
表1 时序信息引入对分类准确率的影响
表2为不使用LSTM模块与使用LSTM模块的所有网络结构在数据集Et上的预测结果对比。由表2数据可以看出,总体趋势上,增加LSTM模块使模型测试准确率提高了0.67%~1.92%。这表明利用LSTM来进一步提取特征的时间维度信息,使网络具有更强大的数据抽象能力。ANN在层数增加到6层时出现了梯度消失的现象,测试准确率随着网络层数的增减不升反降,同样地,ANN4-LSTM 和ANN6-LSTM网络与对应的ANN4和ANN6网络相比,也出现了预测精度下降的情况,这是因为LSTM层与层之间是全连接的关系,增加LSTM模块也相当于是增加了ANN的层数。
表2 LSTM网络模块对分类准确率的影响
根据以上2个实验结果对比,说明了时序性特征的引入以及相应的LSTM模块能够有效提高模型的预测性能。
4.3.2 区域残差网络模块性能分析
为证明传统多层LSTM网络的梯度消失现象,并验证引入区域残差网络模块对模型的影响,使用传统LSTM网络和RR-LSTM网络进行实验对比。
首先给出传统LSTM网络的预测准确率,实验结果如表3所示,其中,LSTM-n表示该网络包括n层LSTM和一层全连接。
表3 传统LSTM网络的预测准确率
从表 3中可以看出,对于传统 LSTM 网络,LSTM-3效果达到最佳,分类正确率为93.20%,但是与LSTM-2相比,只多了0.01%。通过进一步加深网络,LSTM-4的测试准确率反而下降到了84.93%,说明仅增加LSTM层数已不能提高模型分类的准确率。
根据以上实验结果分析,将RR-LSTM网络中的LSTM网络层数均设为2层,没有选择分类效果最好的LSTM-3是由于RR-LSTM网络中已存在大量的卷积神经网络,可以充分学习机场延误数据的空间特征,并且LSTM-2网络与LSTM-3网络的准确率仅仅相差0.01%,相对于再增加一层参数较多的全连接LSTM网络来说,选择2层的LSTM网络更为合适。
表4给出了RR-LSTM网络的预测准确率,其中,RRm-LSTM表示m层区域残差网络、2层LSTM网络、单向池化模块和 2层全连接。从实验结果可以看出,RR-LSTM网络随深度的增加预测准确率逐步提升,当网络层数为 54层时,其预测准确率为95.52%,可训练网络深度远远超过传统LSTM网络。
图 6(a)和图 6(b)分别表示 LSTM 和RR-LSTM网络随迭代次数变化的损失值大小。损失值越小,说明模型预测值与真实值大小越接近。由图6(a)可知,LSTM-4和LSTM-2收敛后的损失值相差不大,大致分布在0.2~0.4。但是随着网络层数的增加,LSTM-6增加到了0.5附近。图6(b)中RR-LSTM网络从 22层、38层到 54层,随着模型网络层数的不断增加,损失值不断减少,当网络为 54层时,损失值分布在0.1左右。这说明RR-LSTM比 LSTM 模型能够更好地对深层神经网络模型进行训练。
图6 损失值随迭代次数变化
神经网络模型在反向传导过程中进行隐藏层权重以及误差项的更新,如果网络第一个隐藏层的梯度值随迭代次数变化能一直保持稳定,则表征该网络其他隐藏层均能保证信息有效传递。图7为不同LSTM和RR-LSTM网络结构第一层梯度值随迭代次数的变化曲线。
表4 RR-LSTM网络的预测准确率
图7 隐藏层梯度值随迭代次数变化
由图7(a)中可以明显看出,随着深度的增加,梯度值锐减,当网络增至6层时,梯度值减小到10-8左右,且仍随着迭代次数逐渐衰减。这说明深层LSTM网络在权重更新时存在梯度消失问题,符合上文的理论分析和式(7)~式(11)的推导结论。图7(b)中的相应梯度值基本稳定在10-1~10-5,且随着网络层数的增加,没有出现明显的数值变化。由此可见,RR-LSTM 网络可以进行更深层网络的训练,从而更加完备地表达数据信息。
4.3.3 单向池化结构性能分析
利用图4所示的单向池化模块来代替传统的维度重塑方式,可以保证区域残差网络模块输出和LSTM模块输入的维度一致性,同时可尽量减少网络中引入参数的数量。使用机场延误数据,根据数据维度转换方式的不同分别训练了 RR18-LSTM、RR34-LSTM和RR50-LSTM这3个模型。
从表5的数据可以看出,使用单向池化模块比维度重塑方式拥有更高的分类准确率,当网络为22层、38层和54层时,准确率分别提高了0.53%、0.45%、0.46%。
表5 不同维度转换方式对分类准确率的影响
为了验证单向池化模块对模型反向传播过程的影响,图8给出了不同模型第一层网络梯度值随迭代次数的变化曲线。可以看出,随着网络层数的增加,单向池化方式的梯度值没有明显变化,而维度重塑方式中,22层、38层、54层网络的梯度值出现了逐一减少的现象。实验结果证明了利用单向池化模块进行维度转换的有效性。
图8 隐藏层梯度值随迭代次数变化
为研究机场延误数据特征中融合的气象信息W和相关运行航班信息F对延误结果的影响,分别将仅考虑机场属性信息的数据集A、增加天气因素数据集A+W和综合三者信息的数据集A+W+F输入 RR-LSTM 模型中进行延误预测,实验结果如表6所示。
表6 测试准确率
由表6可以看出,与仅考虑机场本身属性相比,融合天气因素和航班运行数据后,不同网络结构的预测准确率均增加了11%左右。其中,如果只考虑天气因素预测精度增加约 9%,进一步增加机场的运行航班数据后,预测结果准确率又增加了 2%。因此,综合考虑上述2种因素能有效提高模型最终的预测精度。
文献[24]采用与本文同样的数据来研究不同信息对机场延误的影响。但是由于 RR-LSTM模型具有高效的特征提取及数据处理能力,因此不需对数据特征按影响力进行降维,能够尽量全面地考虑可能对延误产生影响的因素,以增加模型最终的预测性能。
本文通过分析机场延误预测问题的特点,提出了RR-LSTM网络模型,并且通过大量的实验验证了该模型的有效性,结论如下。
1) 增加机场延误数据的时序信息,并且利用LSTM网络学习数据的时间依赖关系,使模型的物理含义更加符合机场延误事件特点,可得到更高的预测准确率。
2) 当传统多层 LSTM 网路加深时,模型性能开始变差,而增加区域残差网络模块进行特征提取时,模型的性能保持稳定,证明改进后的网络结构可以保证深度网络的训练。
3) 与传统维度变换方式相比,单向池化方法可以减少网络训练参数的数量,进而降低网络梯度消失的概率。
4) 融合气象信息和航班运行信息后,模型预测准确率均有所提高,相比之下,机场内的气象信息对预测结果的影响较大。
本文的预测结果与传统算法相比有较大提升,有利于进一步改善空管、航空公司等部门的决策,提升民航综合服务能力。