吴仁彪 赵娅倩 屈景怡* 高爱国 陈文秀
①(中国民航大学天津市智能信号与图像处理重点实验室 天津 300300)
②(中国民用航空华东地区空中交通管理局 上海 200335)
由于航空网络内部航班之间具有相关性,所以当某一航班发生延误时往往会波及网络内的其他航班,从而造成大面积的航班延误波及现象。因此,有必要深入研究航班延误发生后在航空网络内的传播路径,对航班延误波及时间进行预测,为延误波及的预防和控制提供理论依据与数据支持。
针对航班延误波及预测问题,国内外学者展开了大量研究,早先从延误传播特性入手,构建航班延误波及模型来分析延误波及效应[1-7]。其中,文献[1]构造了机场多航班的有色-时间Petri网模型,根据所提算法可以预测当初始机场发生航班延误后的下游机场是否也会发生航班延误;文献[2]提出基于贝叶斯网络的航班延误波及预测模型;并从复杂航空运输网络方面研究枢纽机场在大型网络中的延误波及现象;文献[3]基于排队论机制,提出解析排队和网络分解模型,构造了一个近似网络延误模型来研究美国34个繁忙机场的延误情况;文献[4]提出基于复杂网络理论的航班延误波及分析预测方法,给出了延误波及的具体分类。以上方法均是通过对已有历史数据分析建模来研究航班延误波及的演变状况,未考虑如何预测到未来一段时间内的航班延误波及状况。随着民航业大数据的发展,面对大量航空公司和管制部门数据,越来越多的机器学习方法[8,9]用于民航延误预测中。文献[8]提出采用机器学习的方法预测空中交通延误,并利用浅层的人工神经网络对航班延误进行预测;文献[9]基于空中交通管制延误可控问题,综合考虑天气、飞机导航与控制等影响因素,采用机器学习的方法对单个飞机的延误进行预测。
目前,卷积神经网络(Convolutional Neural Networks, CNN)特征提取能力明显优于传统的机器学习算法,实际应用效果显著[10-12]。文献[10]提出的CondenseNet较一般CNN能有效解决深层网络训练时梯度消失的现象,计算效率更高而且参数存储更少;文献[11]提出一种全新卷积模块注意力机制模块(Convolutional Block Attention Module,CBAM),从空间维度和特征维度进行双重特征权重标定来提升网络准确率。本文采用基于大数据的深度学习方法来研究航班延误波及预测问题,结合CondenseNet和CBAM的设计思想提出一种CBAMCondenseNet算法,针对航班延误波及预测问题,构建基于CBAM-CondenseNet的航班延误波及预测模型,实现预测同一航空器执行多任务时,首班航班延误引起的其他航班离港延误等级。
航线安排以枢纽机场为中心,以干线形式满足空中运输需要,以支线形式由枢纽机场辐射至其他中小机场,干支线间有严密的航班时刻衔接计划的航线网络称为枢纽航线网络。枢纽航线网络由多条航班链组成。在实际运行过程中,同一航空器在同一天中往往会被指派执行多个连续的航班任务,如图1所示。某一航空器产生的航班延误,会通过航班链将上游航班的延误影响至下游航班,使航班延误的波及范围在整条航班链中扩大。通常,枢纽机场的航班延误更容易直接传播至其他中小型机场,故将航空网络中的枢纽机场定义为1级机场,与1级机场航班往来的机场定义为2级机场,与2级机场航班往来的机场定义为3级机场,以此类推,多个机场由于某一航班的联系从而构成航班链。
首先,本文对航班延误波及链式模型建模,构造航班链数据集;其次,对航班链数据集进行数据预处理与数据融合;最后,通过深度CBAMCondenseNet模型分别对1级机场首班航班离港延误等级进行预测,对由1级机场离港航班延误波及的2级机场离港航班延误等级进行预测,对由1级机场和2级机场离港航班延误波及的3级机场的离港航班延误等级进行预测。提前预测能够为相关部门提供精准有效的干预方案,从而降低延误波及程度、减小延误损失。
传统的CondenseNet网络结构如图2(a)所示,每个结构块内的每层网络均以稠密连接的方式连接到后续所有层,不同的结构块之间也采用稠密连接的方式连接。本文提出的CBAM-CondenseNet是在每个结构块的3×3卷积层后增加CBAM模块,如图2(b)所示。CondenseNet和CBAM模块经过融合,网络可以根据通道、空间的不同重要程度去增强有用特征并抑制无用特征,从而增强网络的特征表达能力。
图1 航班链式预测模型
CBAM主要包含2个步骤:在空间维度上使用全局最大池化和全局平均池化将信息压缩为一个信道描述符,并标定压缩操作中聚合的权重矩阵;在上述操作的基础上建模像素点之间的重要程度,在通道维度上使用全局最大池化和全局平均池化得到2个不同的信道描述符,并按其通道维度将2个信道描述符合并,之后使用一个包含单个卷积核的隐藏层对特征映射进行卷积操作,生成最终的权重标定。其结构如图3所示。对于一个中间层的输入特征矩阵 F ∈ RC×H×W, CBAM经过1维通道压缩操作并与输入的特征矩阵相乘得到 F′,随后经过2维空间压缩操作计算 F′∈ RC×H×W的空间权值矩阵得到 F′′。 其中⊙ 表示矩阵元素依次相乘。
图2 网络结构示意图
图3 CBAM结构图
CBAM-CondenseNet模型的训练主要通过反向传播(Back Propagation, BP)算法[13]将训练样本的误差消息传回到隐藏层,实现隐藏层之间权重矩阵的不断迭代更新,直至网络收敛。根据BP算法,以CBAM-CondenseNet的前两个网络结构块为例对各隐藏层间的梯度值进行推导。假设每个结构块包含2组非线性变换,第1个结构块每组变换有1个卷积层,1个CBAM;第2个结构块每组变换有2个卷积层,1个CBAM。如图5所示。则该结构块内各隐藏层的误差项计算如式(4)-式(13)所示。
图4 CBAM-CondenseNet单个结构块
图5 CBAM-CondenseNet反向传播
基于CBAM-CondenseNet的航班延误波及预测主要包括以下3个部分:数据预处理与数据集构造、特征提取和分类预测。如图6所示。特征提取部分详见第2节,下面主要对数据预处理与数据集构造、分类预测展开介绍。
考虑航班延误波及的复杂性与不确定性,即随着时间推移,延误波及的过程中除去航班首次发生延误根源的影响,延误向外扩散可能受人为因素、机械故障等行为作用程度更高,影响更深。故本文主要研究在航班链中受1级机场航班延误发生影响最大的2级、3级机场延误波及状况。
4.1.1 数据预处理
本文所使用的国外数据为美国交通运输统计局(Bureau of Transportation Statistics, BTS)提供的2014-2018年航班数据(Airline On-Time Performance data, AOTP)。其中,模型所需特征属性定义如下。
定义1 航班数据 Ff,包括起飞日期、起飞/降落机场ID、起飞/降落城市ID、航班号、计划起飞/降落时间、轮挡/抡起时间、航程等24个特征属性。
定义2 机场数据 Fa, 包括日期、时间、机场ID等5个特征属性。
定义3 航班链数据Fc,同一起飞日期的时间范围内某一航空器分别从1级机场到2级机场再到3级机场执行不同的飞行任务,时间上顺序相关,此为一条航班链。多条航班链数据构成航班链数据集,同时包括航班数据特征属性和机场数据特征属性。
为解决实际中航班不延误比例较大、数据不均衡的问题,首先在构造数据集时采用重采样的方法,通过增加稀有类训练样本的上采样和减少大类样本数的下采样使不均衡的样本分布变得比较均衡。重采样前数据集中延误航班与不延误航班之比约为3:7,重采样之后数据集中延误航班与不延误航班之比约为4:6;其次在训练阶段采用数据平衡策略进行小批量抽样,通过这两种方法尽可能消除类别分布不均匀。
4.1.2 数据集构造
图6 航班延误波及预测模型
综合上述特征属性,根据定义3构造航班链数据集。首先,选定某一个枢纽机场为1级机场;按与该1级机场往来航班量的机场从高到低依次排序,选取排名前20的机场为2级机场;直接选取与每个2级机场有往来航班的机场为3级机场。由此确定以该1级机场为中心,呈辐射状向外扩散的航空运输网络;其次,以时间、航班尾号为键值,从航空网络中抽取每条航班链,构成航班链数据集。再次,对原始数据中的离散数据和连续数据采用不同的方法进行编码,避免对网络内部训练机制产生误导;最后,处理完的数据转换成适宜输入到CNN中的特征矩阵。数据预处理与数据集构造步骤如下:
步骤 1 对原始航班数据、机场数据进行清洗,选取有用特征。
步骤 2 根据定义3进行信息筛选,依次选定1级机场ID、2级机场ID、3级机场ID,将 Ff,Fa中的时间属性按照其所在州进行州时转换,确保全部时间的时区一致。
步骤 3 选定日期、航班尾号、1级机场ID这3个特征属性为关联主键key1,对航班数据 Ff,机场数据Fa进行第1次融合,构建融合数据F′。
步骤 4 选定日期、航班尾号、2级机场ID、3级机场ID这4个特征属性为关联主键key2,对航班数据 Ff,机场数据Fa,融合数据 F′进行第2次融合,构建航班链数据集F1。
步骤 5 选定航班链数据集 F11级机场中航班延误时间特征属性,去除1级机场所有未延误航班数据,仅保留含有1级机场航班发生延误的数据,构建链数据集F2。
步骤 6 首先选定航班链数据集F11级机场中航班延误时间特征属性;其次选定航班链数据集2级机场航班延误时间特征属性,随后去除1级机场、2级机场所有未延误航班数据,仅保留含有1级机场、2级机场航班发生延误的数据,构建链数据集F3。
步骤 7 将原始数据特征属性分为离散性和连续性两种,对连续性特征进行min-max归一化编码,将其特征值映射到[0,1];将离散型特征进行mean-encoder编码[14]。
对1级机场首班航班离港延误等级进行预测时,使用航班链数据集 F1;对由1级机场航班起飞延误波及的2级机场离港航班延误等级进行预测时,使用航班链数据集F2;对由1级机场和2级机场航班起飞延误波及的3级机场的离港航班延误等级进行预测时,使用航班链数据集F3。
分类预测模块由全连接层、Softmax分类器两层网络组成,将 n×n×q维度的矩阵转换为5个类别出现的概率。根据航延误的定义,将延误时间划分为5个时间段,如表1所示。分别对航班链模型中的各级机场航班进行延误波及预测。
表1 航班延误等级划分
本文使用深度CBAM-CondenseNet模型分别对1级机场离港航班延误等级进行预测;对由1级机场离港航班延误波及的2级机场离港航班延误等级进行预测;对由1级机场和2级机场离港航班延误波及的3级机场离港航班延误等级进行预测。在此本文提供对由1级机场和2级机场航班起飞延误波及的3级机场的离港航班延误等级进行预测的实验结果,使用数据集 F3,故使用3级机场的延误时长作为标签。同理,进行其余两次预测时分别使用1级机场的延误时长和2级机场的延误时长作为标签。首先介绍实验环境、参数配置,然后通过各项指标对比验证算法改进前后所提升的模型性能。
实验所使用计算机硬件配置为:处理器Intel®Xeon® E5-2630, CPU频率为1.80 GHz,GPU加速显卡为Matrox MGA-G200eR2,操作系统为Ubuntu16.04.3操作系统,深度学习开发平台为Pytorch0.4框架。本文实验最终使用数据集总计633336条,特征维度为81,最终输入网络中的数据维度为9×9×633336。这里给出本文实验中所设置的参数名称与对应的参数值以供参考:采用权值正交初始化;优化器引入Momentum的随机梯度下降方法,其中动量因子设为0.9;分组卷积中凝聚因子设为4;学习率设为0.1,且采用余弦退火调整学习率;训练时批处理数量为128,最大迭代次数为6.9×104次。
算法复杂度体现在算法可执行程序运行时资源损耗程度,体现在以下两方面:(1)空间复杂度。算法越复杂,计算资源损耗越多,模型参数越多。可用参数数量Params衡量。(2)时间复杂度。算法越复杂,模型训练和预测时间越多,无法快速验证和改善模型。可用浮点运算次数FLOPs衡量。一次浮点运算可以定义为1次乘法和1次加法。假设采用滑动窗实现卷积且忽略非线性计算开销,卷积核的FLOPs为式(15)所示特征图的高度,宽度和通道数; K为核宽度;Cout为输出通道数。全连接层网络的FLOPs为式(16)所示,其中, I为输入维数;O为输出维数。
表2、表3分别列出不同层数的CondenseNet和CBAM-CondenseNet模型参数及其对比情况。通过对比可知,相同数据输入量情况下,不同网络层数的相同算法模型复杂度不同,随着网络层数增加,复杂度增加;相同网络层数的不同算法模型计算量增长较小,改进后的网络模型参数相比增长不明显。因此CBAM的嵌入导致模型整体的参数和计算量增长基本可以忽略不计,其算法复杂度与改进前基本持平。
通过对训练集损失值大小来衡量模型预测的好坏,损失值越小,模型收敛,说明预测结果与真实值越为接近,模型的鲁棒性越好。图7(a)和图7(b)分别表示18, 28, 44层的CBAM-CondenseNet和CondenseNet随迭代次数变化的损失值大小。可以看出,随着迭代次数的增加,模型逐渐趋于收敛,在每个损失下降周期内,层数越多,损失减少越多。当达到44层时,在第3个周期内改进后的CBAM-CondenseNet损失降至0.1, CondenseNet降至0.13;在第4个周期内,损失最终减少至一定范围,改进后的CBAM-CondenseNet损失值比CondenseNet更低且更趋于平缓,且下降速度更快。说明CBAM-CondenseNet较CondenseNet能更好地对深层神经网络模型进行训练。
在神经网络的训练过程中,数据集分为两类:训练集和测试集。使用训练集训练模型,使用测试集考查训练模型的泛化能力。表4分别列出不同层数的CBAM-CondenseNet和CondenseNet算法在数据集F3上的准确率。从实验结果可以看出改进后的CBAM-CondenseNet算法在相同层数下,模型准确率均高于CondenseNet算法。当网络达到44层时,准确率为97.55%。为进一步验证改进后算法模型的稳定性以及可训练深度,对网络进行更深层训练测试,当网络层数分别为70层、102层、126层时,试验结果表明CBAM-CondenseNet网络可以保持良好的稳定性,随着网络加深,准确率在97%左右维持稳定。
表2 算法改进前后FLOPs(M)
表3 算法改进前后Params(M)
为验证CBAM-CondenseNet算法在数据处理和预测精度方面更具优势,将不同层数的CBAMCondenseNet和CondenseNet算法与文献[15]所提算法模型在数据集F3上的准确率进行分析比较,如表5所示。当网络分别为18层、36层、44层时,CondenseNet算法模型准确率均高于DenseNet和SEDenseNet算法模型,CBAM-CondenseNet算法模型准确率均高于CondenseNet算法模型。当网络达到44层时,CBAM-CondenseNet算法模型比SEDenseNet算法模型准确率高4.41%。说明CBAMCondenseNet算法网络性能更好,分类准确率更高。
图7 改进前后损失值对比
表4 分类准确率对比(%)
表5 不同算法模型分类准确率对比(%)
本文通过分析航班延误波及的链式传播特点,提出了一种基于CBAM-CondenseNet的航班延误波及预测模型,经过大量实验验证了该模型的有效性,结论如下:
(1) 通过对航班延误传播特性的研究,构建航班延误波及链式模型,实现对首班离港航班延误波及的后续离港航班延误等级预测。
(2) 改进后的CBAM-CondenseNet既能解决深层网络梯度消失的问题,又能结合空间和通道的注意力机制实现自适应权重标定,经过多次实验,改进后的网络预测精度有所提升。
综上,本文提出的基于CBAM-CondenseNet的航班延误波及预测模型,实现了对航班延误波及预测,可以为民航、空管等部门提供有力决策。后续研究工作重点将针对国内数据进行延误波及分析研究以及对航班延误波及程度的评估。