吳仁彪,李佳怡,屈景怡
(中國民航大學(xué) 天津市智能信號與圖像處理重點(diǎn)實(shí)驗(yàn)室,天津 300300)(*通信作者電子郵箱qujingyicauc@163.com)
隨著航空業(yè)的迅速發(fā)展,航班延誤問題日益嚴(yán)重。由航班延誤引發(fā)的旅客與機(jī)場、航空公司之間的矛盾已經(jīng)成為一種嚴(yán)重的社會問題,引起極大反響。航班延誤預(yù)測可通過已知信息進(jìn)行到港延誤等級預(yù)測,使相關(guān)部門提前作好應(yīng)對措施,提升旅客滿意水平。同時(shí),通過預(yù)測可提前知曉航班到達(dá)序列,可進(jìn)一步改進(jìn)航班調(diào)度和機(jī)位指派,對航班延誤的治理具有重要意義[1-2]。
國內(nèi)外相關(guān)學(xué)者針對航班延誤預(yù)測問題已展開大量研究[3-6],已有方法中多采用決策樹、貝葉斯網(wǎng)絡(luò)、神經(jīng)網(wǎng)絡(luò)等機(jī)器學(xué)習(xí)算法[7-10]。程華等[8]研究基于決策樹方法的到港延誤預(yù)測問題,通過實(shí)驗(yàn)發(fā)現(xiàn)使用C4.5決策樹進(jìn)行延誤等級預(yù)測可得到80%的正確率;曹衛(wèi)東等[9]考慮同一架飛機(jī)的連續(xù)航班情況,利用貝葉斯網(wǎng)絡(luò)進(jìn)行航班延誤波及分析,可反映連續(xù)航班延誤原因分布及波及分布;Khanmohammadi等[10]采用二進(jìn)制編碼航班特征后輸入神經(jīng)網(wǎng)絡(luò),在實(shí)現(xiàn)延誤預(yù)測的同時(shí)可獲得延誤原因。以上模型較少考慮氣象信息對航班延誤的影響,而且傳統(tǒng)機(jī)器學(xué)習(xí)算法仍是針對小數(shù)據(jù)集的信息獲取和挖掘,處理能力有限。為使正確率進(jìn)一步提高則需加入專家知識或通過聚類算法等方式擴(kuò)展信息[11],因此,有學(xué)者提出將大數(shù)據(jù)技術(shù)應(yīng)用于航班延誤預(yù)測[12-13],可使模型自動進(jìn)行特征提取,無需人為干預(yù),并可以提升數(shù)據(jù)處理能力。
Kim等[13]率先采用大數(shù)據(jù)方法預(yù)測機(jī)場延誤狀態(tài),使用長短時(shí)記憶法(Long Short Term Memory, LSTM)考慮時(shí)間維度特征,并通過實(shí)驗(yàn)證明了模型的可擴(kuò)展性;但全連接神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提取最多只能訓(xùn)練五層網(wǎng)絡(luò)模型,沒有克服深度加深時(shí)模型無法收斂的缺點(diǎn)。深度卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)通過權(quán)值共享,可減少訓(xùn)練參數(shù),訓(xùn)練更深的模型,從而最大限度從海量數(shù)據(jù)中提取信息。近幾年,在圖像分類與識別、語音識別等領(lǐng)域已取得突破性進(jìn)展[14-16]。其中,Highway網(wǎng)絡(luò)[17]和殘差網(wǎng)絡(luò)(Residual Network, ResNet)[18]通過對卷積神經(jīng)網(wǎng)絡(luò)傳統(tǒng)結(jié)構(gòu)的改進(jìn),進(jìn)一步增加了網(wǎng)絡(luò)的深度,可取得更好的特征提取效果。
本文分?jǐn)?shù)據(jù)預(yù)處理、特征提取和分類預(yù)測三部分構(gòu)建航班延誤預(yù)測模型。在數(shù)據(jù)預(yù)處理部分考慮到氣象因素對航班延誤的重要影響,進(jìn)行了航班數(shù)據(jù)和氣象數(shù)據(jù)的融合。在特征提取部分考慮到傳統(tǒng)機(jī)器學(xué)習(xí)算法處理大數(shù)據(jù)的困難,以及網(wǎng)絡(luò)深度對模型性能的影響,參考ResNet網(wǎng)絡(luò)結(jié)構(gòu),提出了一種雙通道卷積神經(jīng)網(wǎng)絡(luò)(Dual-Channel Convolutional Neural Network, DCNN)結(jié)構(gòu)。該網(wǎng)絡(luò)結(jié)構(gòu)可克服梯度消失的缺陷,訓(xùn)練深度網(wǎng)絡(luò),增強(qiáng)數(shù)據(jù)處理性能,從而進(jìn)一步提升模型預(yù)測能力。
傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)主要由卷積層和池化層構(gòu)成,如要訓(xùn)練深層網(wǎng)絡(luò)則需進(jìn)行如圖1(a)所示的卷積層堆疊。每個(gè)卷積層后接激活函數(shù)進(jìn)行非線性變換,如式(1)所示:
A=f(W?X)
(1)
其中:A表示輸出特征矩陣;W表示需要學(xué)習(xí)的卷積核;X表示卷積層的輸入特征矩陣;?表示Hadamard乘積運(yùn)算,即矩陣對應(yīng)元素相乘求和,是一種相關(guān)運(yùn)算;f代表使用激活函數(shù)進(jìn)行非線性變換。本文選用線性整流單元(Rectified Linear Unit,ReLU)[19]作為激活函數(shù),函數(shù)定義如下:
f(x)=max(x,0)
(2)
依據(jù)式(1)~(2),圖1(a)的非線性映射函數(shù)可表示為:
Y=f(W(L)?(…f(W(1)?X)…))
(3)
其中L表示卷積層堆疊層數(shù)。
雙通道卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1(b)所示,由多個(gè)Block堆疊而成,每個(gè)Block中包含直通通道和卷積通道。
直通通道是對數(shù)據(jù)的簡單線性映射變換,以保證數(shù)據(jù)的無損傳輸,其函數(shù)定義為:
Y=X
(4)
參考ResNet網(wǎng)絡(luò),DCNN同樣進(jìn)行了特征矩陣的累加;但不同于ResNet網(wǎng)絡(luò)中的一次累加[18],DCNN每個(gè)Block進(jìn)行了兩次累加,即每個(gè)Block中包含兩個(gè)卷積模塊,且分別和直通通道進(jìn)行一次累加。其目的在于融合不同網(wǎng)絡(luò)深度提取的特征,可同時(shí)考慮底層至高層的數(shù)據(jù)特征。出于保持兩個(gè)通道輸出數(shù)據(jù)完整性的考慮,每次累加前后不接激活函數(shù)。則卷積通道的輸出Yn1、Yn2可由式(5)進(jìn)行計(jì)算:
(5)
其中:Yn1和Yn2分別代表兩個(gè)卷積模塊的輸出特征矩陣,W(1)、W(2)、W(3)和W(4)分別代表4個(gè)卷積層的卷積權(quán)值矩陣。更一般的情況,每個(gè)Block可包含m(m≥2)個(gè)卷積模塊,每個(gè)卷積模塊可包含l(l≥2)層卷積層,故卷積模塊的非線性映射函數(shù)可表示為:
H(X,{W(l)})=W(l)?(…f(W(2)?f(W(1)?X))…)
(6)
為保證信息在網(wǎng)絡(luò)中傳輸?shù)臅惩ㄐ?,引入卷積衰減因子對卷積通道輸出的特征矩陣進(jìn)行稀疏性限制。卷積衰減因子的作用類似于Highway網(wǎng)絡(luò)中的控制門[17],但Highway網(wǎng)絡(luò)中控制門的參數(shù)需要進(jìn)行大量計(jì)算,且當(dāng)網(wǎng)絡(luò)深度加深時(shí)參數(shù)學(xué)習(xí)變得困難。本文模型直接引入卷積衰減因子,無需增加格外計(jì)算,同時(shí)也起到了控制門的作用。出于以直通通道為主、卷積通道為輔的原則,將直通通道輸出權(quán)值設(shè)置為1;同時(shí)出于以淺層特征為主、深度特征用于微調(diào)的目的,另卷積衰減因子0≤λ2≤λ1≤1,增大淺層網(wǎng)絡(luò)貢獻(xiàn)率,維持網(wǎng)絡(luò)的穩(wěn)定性。
圖1 網(wǎng)絡(luò)結(jié)構(gòu)
由圖1(b)可看出,第n(n≥2)個(gè)Block的映射函數(shù)可表示為:
Yn=λ1Yn1+λ2Yn2+Yn-1
(7)
其中λ1和λ2分別表示兩個(gè)卷積模塊的卷積衰減因子。
每個(gè)Block的輸出為下一個(gè)Block的輸入,若以第n個(gè)Block的輸出作為整個(gè)網(wǎng)絡(luò)的結(jié)果,則由級聯(lián)的Block構(gòu)成的DCNN的非線性映射函數(shù)可表示為:
Y=λ1Yn1+λ2Yn2+λ1Y(n-1)1+λ2Y(n-1)2+…+
λ1Y11+λ2Y12+X
(8)
由式(8)可看出,DCNN可等效于對不同深度網(wǎng)絡(luò)的“投票”,通過自身的學(xué)習(xí)選擇不同深度網(wǎng)絡(luò)的特征組合,且賦予相應(yīng)的權(quán)值,控制不同輸出特征的比例。
在卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí),首先進(jìn)行前向傳播計(jì)算各層輸出特征矩陣并計(jì)算損失函數(shù)J,然后依據(jù)BP(Back Propagation)鏈?zhǔn)椒▌t反向計(jì)算各層誤差項(xiàng)δ(l),并根據(jù)誤差項(xiàng)計(jì)算權(quán)值梯度,計(jì)算公式如下:
(9)
最后,按照式(10)和式(11)更新網(wǎng)絡(luò)權(quán)值參數(shù),反復(fù)訓(xùn)練直至更新后的權(quán)值參數(shù)使網(wǎng)絡(luò)收斂:
(10)
W(t+1):=W(t)+V(t+1)
(11)
其中:t表示迭代次數(shù);μ為動量因子(momentum),決定了歷史權(quán)重修正量對本次權(quán)重修正的貢獻(xiàn)大?。籚(t)是動量項(xiàng)(momentum variable);η為學(xué)習(xí)率(learning rate);λ為權(quán)重衰減系數(shù)(weight decay)。
在計(jì)算各層誤差項(xiàng)時(shí),傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)按式(12)反向計(jì)算各隱藏層誤差項(xiàng):
(12)
由于ReLU激活函數(shù)的導(dǎo)數(shù)值為1,權(quán)值矩陣W中元素的絕對值普遍小于1,具有較強(qiáng)的稀疏性。因而在式(12)中,δ(1)?δ(L),且L越大,傳至第一層時(shí)所乘小于1的因子越多,δ(1)越小。此時(shí),按式(9)計(jì)算權(quán)值梯度值越小。當(dāng)網(wǎng)絡(luò)不斷加深,就容易出現(xiàn)梯度消失現(xiàn)象。
雙通道卷積神經(jīng)網(wǎng)絡(luò)由于加入直通通道,可通過對誤差項(xiàng)反向傳播時(shí)的調(diào)控,弱化梯度消失現(xiàn)象。取m=2,l=2,其誤差項(xiàng)計(jì)算過程如下:
(13)
其中:δ(1)、δ(2)、δ(3)和δ(4)代表各卷積層誤差項(xiàng),δ(n)和δ(n+1)代表相鄰兩個(gè)Block的誤差項(xiàng),δ(n2)和δ(n1)分別代表第n個(gè)Block中兩個(gè)卷積模塊的誤差項(xiàng)。
若令式(12)中L=4,即CNN和DCNN具有相同的深度,對比式(12)、(13)可知:
δn≥δn+1≥δ(L)?δ(1)
(14)
由此可見,相比CNN,DCNN反向傳播時(shí)誤差項(xiàng)衰減變緩,從而保證了梯度的穩(wěn)定性,使深度網(wǎng)絡(luò)的權(quán)值參數(shù)得到更加充分的訓(xùn)練和學(xué)習(xí)。
航班延誤預(yù)測模型如圖2所示,主要由數(shù)據(jù)預(yù)處理、特征提取和分類預(yù)測三部分組成。特征提取使用深層DCNN完成,以訓(xùn)練更深層網(wǎng)絡(luò),提煉更多有效信息?,F(xiàn)對數(shù)據(jù)預(yù)處理和分類預(yù)測部分進(jìn)行描述。
圖2 模型描述
為方便后文敘述,現(xiàn)對數(shù)據(jù)定義如下。
定義1 航班數(shù)據(jù)F中包含〈C,Sd,Sa,Ad,Aa,tsd,tad,tsa,taa〉。其中:C代表航空器型號;Sd代表起飛機(jī)場所在州;Sa代表目的機(jī)場所在州;Ad代表起飛機(jī)場;Aa代表目的機(jī)場;tsd代表計(jì)劃起飛時(shí)間;tad代表實(shí)際起飛時(shí)間;tsa代表計(jì)劃到達(dá)時(shí)間;taa代表實(shí)際到達(dá)時(shí)間。
定義2 氣象數(shù)據(jù)O中包含〈As,ts,T,H,Wd,Ws,P,S,V〉。其中:As代表觀測站所在機(jī)場;ts代表觀測時(shí)間;T代表溫度;H代表濕度;Wd代表風(fēng)向;Ws代表風(fēng)速;P代表氣壓;S代表天空狀況;V代表能見度。
定義3 航班到港延誤時(shí)間Dt定義為實(shí)際到達(dá)時(shí)間和計(jì)劃到達(dá)時(shí)間的差值,另f為單條航班數(shù)據(jù),則:
Dt=f.taa-f.tsa
(15)
數(shù)據(jù)預(yù)處理過程主要完成數(shù)據(jù)編碼、數(shù)據(jù)融合和特征矩陣的構(gòu)造。由于航班數(shù)據(jù)F和氣象數(shù)據(jù)O分別具有不同的量綱和標(biāo)識方式,因此對名義變量進(jìn)行編碼。編碼采用頻次統(tǒng)計(jì)的方式,每一變量中出現(xiàn)頻次最高的變量值編碼為0,其次為1,依此類推。這種編碼方式可保證特征矩陣的稀疏性,增強(qiáng)魯棒性。
由于本文只關(guān)注延誤數(shù)據(jù),因此對數(shù)據(jù)集中的取消和改航數(shù)據(jù)進(jìn)行過濾處理,同時(shí)依據(jù)Sd和Sa進(jìn)行各州州時(shí)轉(zhuǎn)換,保證全部時(shí)間的時(shí)區(qū)一致性。為探討目的機(jī)場氣象數(shù)據(jù)對航班延誤的影響,通過Spark并行化平臺[20]實(shí)現(xiàn)航班數(shù)據(jù)和氣象數(shù)據(jù)的融合,輸出總的航班延誤數(shù)據(jù)。
數(shù)據(jù)融合流程如下:
步驟1 輸入航班數(shù)據(jù)F和氣象數(shù)據(jù)O,使兩份數(shù)據(jù)均以彈性數(shù)據(jù)集的形式均勻分布于集群的各個(gè)節(jié)點(diǎn)上。
步驟2 建立Map1階段。將單條航班數(shù)據(jù)f從F中提取,設(shè)定目的機(jī)場Aa和計(jì)劃到達(dá)時(shí)間tsa為關(guān)聯(lián)主鍵join_key1,輸出數(shù)據(jù)〈join_key1,f〉。
步驟3 建立Map2階段。將單條氣象數(shù)據(jù)o從O中提取,設(shè)定觀測站所在機(jī)場As和觀測時(shí)間ts為關(guān)聯(lián)主鍵join_key2,輸出數(shù)據(jù)〈join_key2,o〉。
步驟4 進(jìn)行數(shù)據(jù)的重新緩存。將各個(gè)彈性分布式數(shù)據(jù)集中的〈join_key1,f〉和〈join_key2,o〉進(jìn)行重新分區(qū),具有相同關(guān)聯(lián)主鍵的數(shù)據(jù)緩存于相同節(jié)點(diǎn)的數(shù)據(jù)集中。
步驟5 建立Reduce1階段。將緩存于同一分區(qū)的f和o進(jìn)行合并構(gòu)建〈f,o〉,即相同主鍵數(shù)據(jù)進(jìn)行銜接,輸出融合后數(shù)據(jù)w。
步驟6 建立Reduce2階段。將輸出的w從各節(jié)點(diǎn)中獲取,構(gòu)建融合后的輸出矩陣W。
將航班延誤時(shí)間Dt按表1進(jìn)行延誤等級劃分,從而將預(yù)測問題轉(zhuǎn)化為分類問題。根據(jù)文獻(xiàn)[21]的要求,將延誤時(shí)間為15 min以內(nèi)的航班設(shè)定為不延誤航班,其他等級參考文獻(xiàn)[8]進(jìn)行劃分。
分類過程中使用全局平均池化進(jìn)行數(shù)據(jù)降維,使用全連接層將最后輸出的特征矩陣轉(zhuǎn)換為(1×1)×q維,q為分類類別數(shù)。最后,采用softmax進(jìn)行分類。每一個(gè)類別j的輸出概率值為p(y=j|x),則函數(shù)為:
(16)
(17)
表1 航班延誤等級劃分
批歸一化(Batch Normalization, BN)技術(shù)[22]一定程度上可提高網(wǎng)絡(luò)的訓(xùn)練速度。其基本思想是在利用每一批樣本對網(wǎng)絡(luò)進(jìn)行訓(xùn)練時(shí),分別對各層網(wǎng)絡(luò)的輸出數(shù)據(jù)進(jìn)行歸一化處理。
假設(shè)某一層網(wǎng)絡(luò)輸入數(shù)據(jù)的集合為{x1,x2,…,xk},該批樣本的數(shù)量為k,則BN技術(shù)首先對該批次數(shù)據(jù)按式(18)進(jìn)行歸一化處理:
(18)
其中:E[x]表示該批次輸入的樣本均值;Var[x]代表該批次輸入的樣本方差;ε為一個(gè)加到方差上的數(shù)值常量,一般取一個(gè)接近于零的正數(shù),用來保證重構(gòu)變換響應(yīng)數(shù)值的穩(wěn)定性。
歸一化后的數(shù)據(jù)符合均值為0、方差為1的分布,大部分落在激活函數(shù)的非飽和區(qū)域,防止了梯度消失,加速訓(xùn)練;但進(jìn)行歸一化后不可避免地破壞了上一層網(wǎng)絡(luò)的原始表達(dá),因此引入重構(gòu)參數(shù)γ和β對批歸一化后的數(shù)據(jù)按重構(gòu)函數(shù)(19)進(jìn)行變換,得到最終該層輸出數(shù)據(jù){y1,y2,…,yk}:
(19)
利用BN技術(shù)對網(wǎng)絡(luò)內(nèi)部數(shù)據(jù)進(jìn)行歸一化處理,等效于在網(wǎng)絡(luò)當(dāng)中引入一個(gè)BN網(wǎng)絡(luò)層。按文獻(xiàn)[22]的實(shí)驗(yàn)結(jié)果,BN層加在激活函數(shù)之前效果更佳,因此在本文模型中,將BN層直接加在卷積通道的每個(gè)卷積操作之后。同時(shí)為保證直通通道的暢通性,不在直通通道上加入該操作。
Padding技術(shù)[23]通過在特征矩陣外圍補(bǔ)零,控制卷積層輸入、輸出特征矩陣維度。Padding可增強(qiáng)對邊緣數(shù)據(jù)的特征提取,同時(shí)對航班延誤數(shù)據(jù)進(jìn)行維度控制,使特征提取部分的深層網(wǎng)絡(luò)得以訓(xùn)練。
設(shè)輸入特征矩陣(input)、卷積核(convolution kernel)、Padding、步長(stride)、輸出特征矩陣(output)在不同軸上長度相等,分別為i、c、p、s、out,則在是否采用Padding時(shí),各長度關(guān)系如式(20)所示:
out=
(20)
由于航班延誤數(shù)據(jù)具有先驗(yàn)信息較少的特點(diǎn),經(jīng)數(shù)據(jù)預(yù)處理后維度較小,在不采用Padding技術(shù)時(shí),特征提取部分維度會迅速下降,無法訓(xùn)練深層網(wǎng)絡(luò),因此在本模型中采用p=1的Padding技術(shù),同時(shí)和c=3、s=1的卷積核相結(jié)合,可保證特征矩陣維度不變。
實(shí)驗(yàn)運(yùn)行的軟件環(huán)境是在64位Ubuntu14.04操作系統(tǒng)下搭建的Spark開源框架[20]和Caffe[24]深度學(xué)習(xí)開源框架,本文對官方版本的Caffe進(jìn)行了部分修改,并使用GPU加速計(jì)算。實(shí)驗(yàn)計(jì)算機(jī)配置:Inter Xeon處理器,16 GB內(nèi)存,GeForce GTX TITAN X顯卡。
本文模型所用數(shù)據(jù)為美國交通運(yùn)輸統(tǒng)計(jì)局(Bureau of Transportation Statistics, BTS)提供的航班準(zhǔn)點(diǎn)數(shù)據(jù)(Airline On-Time Performance data, AOTP)和美國國家氣象數(shù)據(jù)中心(National Climatic Data Center, NCDC)提供的本地質(zhì)量控制氣象數(shù)據(jù)(Quality Controlled Local Climatological Data, QCLCD)。其中AOTP包含從1987年至今的航班數(shù)據(jù),QCLCD包含美國1 600個(gè)氣象觀測站的氣象數(shù)據(jù),氣象數(shù)據(jù)每小時(shí)進(jìn)行一次更新。實(shí)驗(yàn)中使用兩數(shù)據(jù)源中2015—2016年數(shù)據(jù),輸入數(shù)據(jù)源包含航班數(shù)據(jù)103 405 986條,44維特征;氣象數(shù)據(jù)11 235 340條,48維特征。融合后數(shù)據(jù)為103 402 300條,編碼為217維特征。最終經(jīng)矩陣變換輸入網(wǎng)絡(luò)中的數(shù)據(jù)維度為103 405 986×15×15。按表1進(jìn)行等級劃分時(shí),類別1到5的比例為46∶6∶2∶2∶1,其中不延誤的比例很大,為偏分類問題。為使數(shù)據(jù)盡量均衡,在網(wǎng)絡(luò)訓(xùn)練迭代時(shí)對類別1的數(shù)據(jù)進(jìn)行隨機(jī)抽樣,抽取與類別2相同個(gè)數(shù),使輸入樣本比例變?yōu)?∶6∶2∶2∶1。
航班延誤預(yù)測模型采用文獻(xiàn)[25]提出的權(quán)值初始化策略。使用隨機(jī)梯度下降法對模型進(jìn)行訓(xùn)練,批處理數(shù)量(min-batch size)為512,動量因子為0.9,權(quán)重衰減系數(shù)為0.000 1,訓(xùn)練時(shí)總的迭代次數(shù)為5 000,初始學(xué)習(xí)率為0.1。DCNN中選用尺寸為3×3、步長為1的卷積核進(jìn)行卷積,選用尺寸為3×3、步長為2的濾波器進(jìn)行池化。為探索網(wǎng)絡(luò)深度對特征提取的影響分別使用16,24,32,40,48和56層模型結(jié)構(gòu),網(wǎng)絡(luò)層數(shù)配置如表2所示。在實(shí)驗(yàn)對比時(shí),DCNN與傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)均采用softmax分類方法,以保證實(shí)驗(yàn)條件的一致性。
表2 網(wǎng)絡(luò)層數(shù)配置
從式(13)可以看出卷積衰減因子的取值影響了反向傳播時(shí)梯度的大小,從而控制網(wǎng)絡(luò)收斂。若卷積衰減因子設(shè)置較大則會導(dǎo)致梯度爆炸現(xiàn)象,違背了設(shè)置雙通道卷積神經(jīng)網(wǎng)絡(luò)的初衷;若設(shè)置過小則會導(dǎo)致返回的梯度值減小,使網(wǎng)絡(luò)收斂變慢,增加了模型的訓(xùn)練時(shí)間。實(shí)驗(yàn)中,采用如表3所示的卷積衰減因子進(jìn)行訓(xùn)練,以探索設(shè)置的最佳準(zhǔn)則。其中,NAN表示網(wǎng)絡(luò)未收斂。
表3 卷積衰減因子對正確率影響
從表3可以看出:在淺層網(wǎng)絡(luò)時(shí),設(shè)置λ1=0.2,λ2=0.1預(yù)測效果較好;而網(wǎng)絡(luò)加深時(shí),同樣的設(shè)置正確率卻下降。原則上,越深的網(wǎng)絡(luò)結(jié)構(gòu)應(yīng)該對應(yīng)越小的卷積衰減因子,但設(shè)置過小會使網(wǎng)絡(luò)在有限的迭代次數(shù)內(nèi)沒有收斂,實(shí)驗(yàn)結(jié)果無法達(dá)到最好。在深層網(wǎng)絡(luò)中,設(shè)置為λ1=0.1,λ2=0.05,達(dá)到最優(yōu),因此本文后續(xù)實(shí)驗(yàn)將卷積衰減因子設(shè)置為λ1=0.1,λ2=0.05。
文獻(xiàn)[21]顯示,我國上海、深圳、南京等重要城市航班延誤因素中氣象因素占比高達(dá)40%以上。從實(shí)際情況分析,風(fēng)速和風(fēng)向的變化會引起風(fēng)切變等極端氣象情況,使飛機(jī)無法起降;降雨、降雪等極端惡劣天氣也都伴隨著風(fēng)向、風(fēng)速和濕度的改變;風(fēng)暴天氣則會大幅影響能見度,因此,本文在模型的數(shù)據(jù)預(yù)處理過程進(jìn)行了航班數(shù)據(jù)和氣象數(shù)據(jù)的融合。為驗(yàn)證數(shù)據(jù)融合的重要性,首先取60 min作為判斷是否延誤的閾值,作二分類預(yù)測。以刪除某個(gè)氣象特征時(shí),延誤召回率較不刪除時(shí)的下降值表征此氣象特征對延誤預(yù)測的影響程度。分別去掉某個(gè)氣象特征后,召回率下降值如圖3所示。
從實(shí)驗(yàn)結(jié)果可以看出,風(fēng)向、風(fēng)速和能見度對延誤預(yù)測影響較大,濕度和氣壓其次,天空狀況對預(yù)測影響最小。DCNN具有很強(qiáng)的大數(shù)據(jù)處理能力,因此本著盡可能提高正確率的思路,不對特征作降維處理。
對航班數(shù)據(jù)和融合后數(shù)據(jù)分別進(jìn)行延誤預(yù)測。表4給出了航班數(shù)據(jù)和融合后數(shù)據(jù)的預(yù)測準(zhǔn)確率。融合后數(shù)據(jù)預(yù)測準(zhǔn)確率在各層均增加,增加范圍基本保持在1個(gè)百分點(diǎn),由此可見氣象數(shù)據(jù)是航班延誤預(yù)測時(shí)重要的先驗(yàn)信息。
表4 數(shù)據(jù)融合前后正確率對比
為驗(yàn)證直通通道對模型“暢通性”的影響,對使用傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)和使用直通通道改進(jìn)后的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行實(shí)驗(yàn)對比。使用傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)時(shí),為保證可對比性,除最后一層卷積層,其他各層也相應(yīng)增加ReLU激活函數(shù)進(jìn)行非線性變換并相應(yīng)加入BN層和Padding技術(shù)進(jìn)行優(yōu)化。
由表5可知,傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)在32層時(shí)效果達(dá)到最佳,正確率為0.912;但從40層開始,傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)正確率呈下降趨勢,到56層時(shí),正確率已降至0.790。而雙通道卷積神經(jīng)網(wǎng)絡(luò)隨深度的增加預(yù)測正確率逐漸提升,當(dāng)網(wǎng)絡(luò)達(dá)到56層時(shí),其預(yù)測正確率已達(dá)到0.921。
表5 不同網(wǎng)絡(luò)結(jié)構(gòu)正確率對比
為進(jìn)一步探索模型可訓(xùn)練深度,對72,104和136層網(wǎng)絡(luò)進(jìn)行訓(xùn)練,訓(xùn)練結(jié)果如表6所示。由結(jié)果可知,在深層網(wǎng)絡(luò)模型中,傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)性能進(jìn)一步下降,而雙通道卷積神經(jīng)網(wǎng)絡(luò)性能一直保持穩(wěn)定。
表6 深層網(wǎng)絡(luò)正確率對比
由表5可知不同網(wǎng)絡(luò)結(jié)構(gòu)的差異性在深度為40層時(shí)開始凸顯,現(xiàn)著重討論40層以后兩種網(wǎng)絡(luò)結(jié)構(gòu)的損失值變化。圖4所示為損失值隨迭代次數(shù)變化示意圖。對比可知本文模型訓(xùn)練時(shí)損失值可減小至0.3以下,而傳統(tǒng)模型一直維持在0.5以上,說明DCNN相比傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)能夠更好地對深層網(wǎng)絡(luò)進(jìn)行訓(xùn)練。
圖4 不同網(wǎng)絡(luò)結(jié)構(gòu)的損失值隨迭代次數(shù)變化示意圖
采用DCNN結(jié)構(gòu)進(jìn)行特征提取的航班延誤預(yù)測模型之所以能夠得到更高的準(zhǔn)確率,得益于正向信息的無損傳輸和反向梯度的穩(wěn)定性,從而使式(10)和式(11)更好地進(jìn)行卷積權(quán)值更新。
圖5所示為40、48和56層網(wǎng)絡(luò)結(jié)構(gòu)第一層對應(yīng)梯度值(簡稱梯度)隨迭代次數(shù)變化示意圖。圖5(a)為傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)梯度變化,可以明顯看出隨深度的增加,梯度銳減且梯度隨迭代次數(shù)變化極不穩(wěn)定,最小時(shí)可達(dá)到10-14左右。這說明傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)模型在權(quán)值更新時(shí)存在梯度消失問題,難以進(jìn)行充分的特征提取。圖5(b)中相應(yīng)梯度基本穩(wěn)定在0.01至0.001之間,由此可見本文的DCNN模型可克服梯度消失缺陷,進(jìn)行更加完備的信息表達(dá)。
文獻(xiàn)[8]和文獻(xiàn)[13]均與本文一樣采用分類預(yù)測的方式進(jìn)行延誤等級判斷。其中:文獻(xiàn)[8]采用國內(nèi)31 613條航班數(shù)據(jù)建模,使用C4.5決策樹算法預(yù)測,并與樸素貝葉斯(Native Bayes)算法進(jìn)行對比;文獻(xiàn)[13]采用與本模型相同數(shù)據(jù)源的單個(gè)機(jī)場數(shù)據(jù)進(jìn)行預(yù)測,利用傳統(tǒng)神經(jīng)網(wǎng)絡(luò)與LSTM組合的方式構(gòu)建淺層模型。表7所示為本文深層模型與這兩種模型中所提算法的正確率對比。
C4.5決策樹和樸素貝葉斯算法都是傳統(tǒng)機(jī)器學(xué)習(xí)算法的典型代表,兩種算法均具有較好的分類性能且計(jì)算簡單,但當(dāng)數(shù)據(jù)量增長時(shí)兩個(gè)算法都會遇到計(jì)算瓶頸,無法充分利用大數(shù)據(jù)優(yōu)勢,因此它們做的是在小樣本情況下的航班延誤預(yù)測,正確率較低。文獻(xiàn)[13]中,作者同樣采用了加深深度的方式提高正確率,這使得該文中基于LSTM算法建立的模型與基于C4.5決策樹和樸素貝葉斯算法建立的模型相比,預(yù)測正確率得到大幅提升;但是由于沒有克服深度網(wǎng)絡(luò)中梯度消失的缺點(diǎn),基于LSTM的模型在加深深度時(shí)難以收斂,最終只是采用了淺層的網(wǎng)絡(luò)結(jié)構(gòu)。
圖5 不同網(wǎng)絡(luò)結(jié)構(gòu)的梯度值隨迭代次數(shù)變化示意圖
Tab. 7 Correct rate comparison of different algorithms
對比可知,與傳統(tǒng)算法相比,深度卷積神經(jīng)網(wǎng)絡(luò)可進(jìn)行基于大數(shù)據(jù)的信息挖掘,因此在處理數(shù)據(jù)量與維度上具有較強(qiáng)優(yōu)勢。同時(shí)與淺層的LSTM算法相比,深度雙通道卷積神經(jīng)網(wǎng)絡(luò)的正確率更高。實(shí)驗(yàn)表明采用本文模型進(jìn)行基于大數(shù)據(jù)的航班延誤等級預(yù)測可有效提高正確率。
本文創(chuàng)新性地提出使用數(shù)據(jù)融合和深度雙通道卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建航班延誤預(yù)測模型。通過將延誤時(shí)間進(jìn)行等級劃分,將預(yù)測問題轉(zhuǎn)化為分類問題,分?jǐn)?shù)據(jù)預(yù)處理、特征提取和分類預(yù)測三步完成航班延誤等級預(yù)測,并采用批歸一化和Padding技術(shù)進(jìn)行模型優(yōu)化。經(jīng)實(shí)驗(yàn)驗(yàn)證,結(jié)論如下:
1)融合氣象數(shù)據(jù)后,CNN和DCNN進(jìn)行特征提取后的模型性能都有所提升,證明氣象數(shù)據(jù)對于航班延誤預(yù)測十分重要。
2)當(dāng)特征提取部分的網(wǎng)絡(luò)加深時(shí),使用CNN的模型性能變差,而利用DCNN的模型仍保持穩(wěn)定,證明傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)難以訓(xùn)練深度模型,而改進(jìn)后的網(wǎng)絡(luò)結(jié)構(gòu)可以保證深度網(wǎng)絡(luò)的訓(xùn)練。
3)深度DCNN算法與傳統(tǒng)算法相比具有更強(qiáng)的數(shù)據(jù)處理能力,使數(shù)據(jù)量和維度大幅提升,最終可得到更高的正確率。
本文的預(yù)測結(jié)果與傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)相比有較大提升,有利于進(jìn)一步改善空管、航空公司等部門的決策,提升民航綜合服務(wù)能力;但受數(shù)據(jù)來源限制,本模型在構(gòu)建時(shí)未使用國內(nèi)航班數(shù)據(jù),目前正與國內(nèi)空管部門爭取合作,希望下一步使用國內(nèi)數(shù)據(jù)進(jìn)行建模。后續(xù)還將結(jié)合混淆矩陣分析預(yù)測結(jié)果,使實(shí)驗(yàn)數(shù)據(jù)更加完善。