屈景怡,曹 磊,陳 敏,董 樑,曹燁琇
(1. 天津市智能信號與圖像處理重點實驗室(中國民航大學(xué)),天津300300; 2. 中國民用航空華東地區(qū)空中交通管理局,上海200335)
近年來,隨著航空運輸需求量增大,由于空域和天氣等因素的限制,航班延誤問題日益突出。另一方面,為貫徹全國交通工作會議精神,推進民航高質(zhì)量發(fā)展,中國民用航空局空中交通管理局在2019 年提出了圍繞質(zhì)量變革、效率變革的發(fā)展需求[1],圍繞大數(shù)據(jù)、云計算、人工智能等數(shù)字信息化、智能化技術(shù)謀求發(fā)展空間已經(jīng)成為行業(yè)普遍共識。目前,國內(nèi)外學(xué)者在對航班延誤預(yù)測、預(yù)警和維護航班正常運行等方面進行了大量針對性研究[2]?,F(xiàn)有方法中多采用貝葉斯網(wǎng)絡(luò)(Bayesian Network,BN)[3-4]、支 持 向 量 機(Support Vector Machine,SVM)[5]、隨機森林[6-7]、人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)[8]等傳統(tǒng)的機器學(xué)習(xí)算法。文獻[3-4]中利用BN參數(shù)學(xué)習(xí)理論,從不確定和概率性知識信息的航班數(shù)據(jù)中通過推理得出規(guī)律結(jié)論,對關(guān)聯(lián)機場的銜接航班延誤影響進行分析,提出了基于BN 的航班延誤傳播模型;結(jié)合實際數(shù)據(jù)測試得到的結(jié)果表明該模型可以有效地分析航班延誤從局部到全局的傳播。文獻[5]中使用SVM 給出了到港延誤預(yù)測模型,采用空間重構(gòu)理論計算到港延誤的延誤時間、嵌入維度和最大Lyapunov 指數(shù)等指標,發(fā)現(xiàn)到港延誤時間序列存在的混沌特性;實驗結(jié)果表明,該方法的預(yù)測結(jié)果明顯優(yōu)于粒子群優(yōu)化和差分進化等預(yù)測算法。文獻[6]中針對航空數(shù)據(jù)呈現(xiàn)高維化、海量化趨勢,提出利用Spark 并行化方式進行隨機森林的特征劃分和樹的生成:前者以快速的方式進行航班延誤預(yù)測;后者對噪聲和異常值具有更好的容忍性,克服了決策樹過擬合問題。文獻[7]中同時考慮時空延遲狀態(tài)作為模型的解釋變量,并且使用隨機森林算法預(yù)測未來2~24 h 的起飛延誤。網(wǎng)絡(luò)中除了描述最有影響的機場和鏈路(始發(fā)—目的地對)的到達或離開延遲狀態(tài)的局部延遲變量外,還描述了整個國家空域系統(tǒng)在預(yù)測時的全局延遲狀態(tài)的延遲變量。該模型在2007和2008年運行數(shù)據(jù)上進行了訓(xùn)練和驗證,并對系統(tǒng)中100 個最延遲的鏈路進行了評估,結(jié)果顯示其預(yù)測性能遠優(yōu)于單一因素的預(yù)測模型。但是上述幾個航班延誤模型針對的數(shù)據(jù)樣本相對較少,在面對高維度的樣本時不能很好地擬合。
文獻[8]中以肯尼迪國際機場(John F Kennedy International Airport,JFK)為例將ANN 應(yīng)用到航班延誤預(yù)測,在1/N 編碼方式的基礎(chǔ)之上介紹了新型的多級輸入層神經(jīng)網(wǎng)絡(luò),在某種意義上可以更容易得出輸入變量和輸出變量之間的關(guān)系。以肯尼迪機場為例,將該方法應(yīng)用于航班延誤預(yù)測,輸入層各子層神經(jīng)元代表系統(tǒng)不同層次的延誤源,而各神經(jīng)元的激活則代表系統(tǒng)整體延誤源的可能性。ANN 雖然可以較好地擬合“延誤源”等客觀規(guī)律,但全連接神經(jīng)網(wǎng)絡(luò)沒有克服模型加深無法收斂的問題,且預(yù)測準確率相對較低。
因此,針對上述問題,本文提出一種基于大數(shù)據(jù)的深度學(xué)習(xí)方法進行延誤預(yù)測。目前,類腦智能研究[9]和神經(jīng)網(wǎng)絡(luò)在計算機視覺、自動駕駛、模式識別等領(lǐng)域均得到了廣泛的應(yīng)用,其性能遠優(yōu)于傳統(tǒng)的統(tǒng)計學(xué)習(xí)算法。其中,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)[10]取得了較大突破。殘差網(wǎng)絡(luò)(Residual Network,ResNet)[11]的提出,則很好地解決了訓(xùn)練深層網(wǎng)絡(luò)產(chǎn)生的梯度消失的問題,真正意義上實現(xiàn)了“深度”學(xué)習(xí)。神經(jīng)網(wǎng)絡(luò)中仿生大腦的循環(huán)網(wǎng)絡(luò)結(jié)構(gòu)[12]是一種高效的信息傳遞網(wǎng)絡(luò)結(jié)構(gòu)。受其啟發(fā),團簇網(wǎng)絡(luò)(Clique Network,CliqueNet)[13]以團簇連接方式最大限度地提高特征層之間的信息傳遞效率;并且對網(wǎng)絡(luò)轉(zhuǎn)換層中的通道[14]以及空間維度[15]進行特征重標定,可以有效提高網(wǎng)絡(luò)的準確率。
本文在深入研究上述文獻后,提出了一種更高效的隨機連接CliqueNet 的仿生網(wǎng)絡(luò)模型,用以提高對航班數(shù)據(jù)的處理能力;并針對不同的轉(zhuǎn)換層進行討論,充分結(jié)合其雙重標定的優(yōu)勢,增強特征層傳播的有用信息,抑制無用信息,提高預(yù)測準確率;最后在融合氣象信息的航班數(shù)據(jù)上進行有效性的驗證。
本文所設(shè)計的CliqueNet 的基本結(jié)構(gòu)如圖1 所示,輸入的數(shù)據(jù)經(jīng)過模型特征提取之后給出預(yù)測結(jié)果。模型則由團簇和轉(zhuǎn)換層(Transition)組成:團簇作信息的交互傳遞;轉(zhuǎn)換層則嵌入在團簇之間,用于標定特征信息并且增加網(wǎng)絡(luò)健壯性。
下面分別對模型中團簇和轉(zhuǎn)換層進行介紹。
圖1 CliqueNet的基本結(jié)構(gòu)Fig.1 Basic structure of CliqueNet
考慮到航班延誤預(yù)測模型需要更強的數(shù)據(jù)處理能力來擬合高維度的海量數(shù)據(jù),對全連接團簇進行隨機團簇連接的改進,因為某種意義上,隨機連接的仿生網(wǎng)絡(luò)結(jié)構(gòu)能更好地擬合數(shù)據(jù)背后的客觀規(guī)律。
全連接團簇的環(huán)狀結(jié)構(gòu)如圖2(a)所示,將其展開,會呈現(xiàn)出兩個階段。第一階段:仿照密集型連接卷積網(wǎng)絡(luò)(Densely connected convolutional Network,DenseNet)[16]的連接方式,即每一層輸入均來自前面所有層的輸出,對整個網(wǎng)絡(luò)進行初始化;第二階段:每層的輸入來自其他所有底層的輸出??紤]到全連接方式[13]具有能進行最大化信息傳遞的優(yōu)勢以及網(wǎng)絡(luò)參數(shù)隨著層數(shù)增加而呈現(xiàn)倍數(shù)增長帶來的缺陷,本文將團簇中的全連接方式改成隨機連接,如圖2(b)給出的連接實例,即第二階段的頂層特征隨機來自其他底層的特征輸入。較之全連接方式,即省略虛線連接部分,這樣的網(wǎng)絡(luò)既可以實現(xiàn)特征層之間信息的有效傳輸,又可以降低網(wǎng)絡(luò)的參數(shù)量;而且后期實驗結(jié)果也表明,網(wǎng)絡(luò)依然能保持較高的預(yù)測準確率。
表1給出了5層的團簇傳播參數(shù)說明。在第一階段,輸入層X0對所有層進行初始化,且每個更新層與下一層相連,準備更新下一層。在第二階段,各層的網(wǎng)絡(luò)之間進行隨機的傳遞(表1中展示了一個實例),如式(1)所示:
其中:分別表示相對于第i層)的前、后層的特征;k值表示第幾階段;Wli和Whi依次表示和前后層做卷積操作的參數(shù),本文中卷積操作均用*表示。隨機函數(shù)[17]g(θ,s)的參數(shù)θ表示輸入特征值,參數(shù)s表示隨機種子,U為網(wǎng)絡(luò)提取后的特征值,例如:U=g(X0,3)表示初始化特征由頂層隨機對3個底層做出特征傳遞。實驗中為了繼承CliqueNet中全連接中最大化信息傳遞的優(yōu)勢,將s從2 計數(shù),即保證每層輸入至少來自其他2 層的輸入,最大取值為團簇中設(shè)置的層數(shù),即s= range[2,layer_num]。f(·)表示非線性激活函數(shù),用于參數(shù)傳遞的非線性映射。實驗中由兩層循環(huán)實現(xiàn):第一層循環(huán)控制頂層的切換;第二層循環(huán)用于頂層與隨機給出的底層之間的連接,并做信息傳遞。
除了上述結(jié)構(gòu)之外,為了滿足民航業(yè)高精度延誤預(yù)測的要求和提高網(wǎng)絡(luò)魯棒性,本文還對圖1 中的轉(zhuǎn)換層進行優(yōu)化以提高網(wǎng)絡(luò)性能?;趬嚎s激勵(Squeeze and Excitation,SE)模塊[14]可以有效地對特征通道進行權(quán)重分配,而且其權(quán)重分配在反向傳播時,網(wǎng)絡(luò)會自適應(yīng)調(diào)整參數(shù),進而達到對融合航班和天氣的數(shù)據(jù)集進行學(xué)習(xí)的目的,如圖3 通道維度所示。此外,考慮到客觀事實中航班延誤可能受天空狀況、能見度、濕度等局部維度數(shù)據(jù)影響較大,部分字段,例如航班尾號等對航班延誤影響不是很大,故引入了能自適應(yīng)調(diào)整局部維度數(shù)據(jù)的通道和空間注意力殘差(Channel-wise and Spatial Attention Residual,CSAR)模塊[18],該模塊在SE 模塊的基礎(chǔ)上對通道特征和空間特征進行雙重標定,對不同的局部維度數(shù)據(jù)標定不同的特征權(quán)重,并利用非線性激活函數(shù)組成的門控機制學(xué)習(xí)通道和空間上的非線性交互,其結(jié)構(gòu)設(shè)計(如圖3所示)會使網(wǎng)絡(luò)具有更多非線性,可以更好地擬合目標函數(shù)。
表1 五層團簇參數(shù)傳播信息表Tab. 1 Propagation information table of 5-layer clique parameters
圖2 團簇拓撲結(jié)構(gòu)Fig.2 Topology of clique
圖3 轉(zhuǎn)換層拓撲結(jié)構(gòu)Fig. 3 Topology of transition layer
CSAR 模塊中,U=[u1,u2,…,uC]是輸入特征單元,表示尺寸為H×W、通道數(shù)為C的特征圖層。分兩個分支傳播:通道維度和空間維度。在通道維度中對每個特征通道進行全局池化,得到信道描述符z∈ RC×1×1,如式(2)所示。其中:uC(i,j)表示通道uC第(i,j)位置上的數(shù)值,并且使用Sigmoid和線性整流單元(Rectified Linear Unit,ReLU)作為門控機制在傳播過程中學(xué)習(xí)特征通道間的非線性交互,分別用σ(·)和δ(·)表示,如式(3)所示。最后通過fC(·)將信道描述符和特征圖相乘得到最終的輸出特征UC,如式(4)所示。
通道維度中使用全局池化將全局的空間信息壓縮到信道描述符中,可以對融合天氣和航班數(shù)據(jù)的特征圖進行權(quán)重分配。
與通道維度互補的空間維度的特征重標定可以更有效地“關(guān)注”到局部維度的數(shù)據(jù)。網(wǎng)絡(luò)前向結(jié)構(gòu)設(shè)計中,將輸入特征U經(jīng)過兩層卷積神經(jīng)網(wǎng)絡(luò)得到空間標定因子β∈ R1×H×W,第一層卷積產(chǎn)生每層的特征圖隨后與第二層1*1 卷積神經(jīng)網(wǎng)絡(luò)相連接(參數(shù)為W2S,b2S)。然后使用 Sigmoid 函數(shù)σ(·)對第一層網(wǎng)絡(luò)產(chǎn)生的特征圖元素映射到區(qū)間[0,1]中,得到空間標定因子β,如式(5)所示。最后與輸入特征U作乘積運算,其中,fS(·)表示將特征圖空間位置上的元素與對應(yīng)的空間標定因子β相乘,如式(6)所示。輸入特征經(jīng)過雙重標定后,經(jīng)過卷 積 層 得 到 最 終 輸 出 特 征UO=[u1,u2,…,uC′],如 式(7)所示。
1.3.1 配置信息
表2 中給出了S0和S1兩種網(wǎng)絡(luò)配置信息,分別表示不同轉(zhuǎn)換層和不同網(wǎng)絡(luò)結(jié)構(gòu)。其中團簇包含兩個網(wǎng)絡(luò)參數(shù):每個團簇中網(wǎng)絡(luò)的層數(shù)以及每層中卷積核的個數(shù)。在團簇中均使用3× 3 的卷積層進行連接,并采用p= 1 的padding 技術(shù)以保證特征圖在傳輸過程中維度不變。卷積層在執(zhí)行前都經(jīng)過由批 歸 一 化(Batch Normalization,BN)[19]、線 性 整 流 單 元(Rectified Linear Unit,ReLU)和卷積層所組成的執(zhí)行單元。轉(zhuǎn)換層連接在團簇之后,如果沒有特殊說明(如“—”),則表示以卷積核為1× 1的卷積層和2 × 2平均池化作為轉(zhuǎn)換層。
表2 網(wǎng)絡(luò)模型配置信息Tab. 2 Configuration information of network model
1.3.2 網(wǎng)絡(luò)訓(xùn)練
本次對神經(jīng)網(wǎng)絡(luò)的訓(xùn)練采用反向傳播(Back Propagating,BP)的方法,即定義標簽和預(yù)測值之間的誤差函數(shù),通過隨機梯度下降不斷調(diào)整網(wǎng)絡(luò)的權(quán)重和偏置,使網(wǎng)絡(luò)不斷擬合目標函數(shù),進而得到學(xué)習(xí)的目的。反向傳播中,主要為梯度值和誤差項的計算,梯度由誤差項推導(dǎo)得出。以下對CliqueNet 中一個4 層隨機連接團簇的實例進行梯度計算推導(dǎo),如圖2 第二階段。第一階段進行網(wǎng)絡(luò)初始化過程,不參與反向傳播。首先,依據(jù)BP算法[20]計算各隱藏層的誤差項以及第l層第i幅特征圖的誤差項(如式(8)),然后利用誤差項公式計算出網(wǎng)絡(luò)各隱藏層梯度(如式(9))。
其中:J 表示定義的損失函數(shù);ξl+1i 為第l + 1 層中第i 幅特征圖;表示第l + 1 層與第l 層中第i 幅特征圖到第j 幅特征圖的映射矩陣;表示第l卷積層中第i幅特征圖,f′()表示為該層激活函數(shù)的導(dǎo)數(shù);“?”類似卷積核操作,區(qū)別在于它將卷積核進行翻轉(zhuǎn)后再與對應(yīng)的誤差特征作滑動乘積并累加的運算。
同理由式(10)可以逐個求出隱藏層的誤差項迭代關(guān)系,其中,Ul表示第l 層的輸出特征值表示損失函數(shù)對輸出特征值的導(dǎo)數(shù)。結(jié)合式(8)~(10)可以得出Stage-Ⅱ的各隱藏層的誤差項計算,結(jié)果如式(11)~(14)所示。
根據(jù)式(10)~(14),網(wǎng)絡(luò)的首個隱藏層梯度值可由式(15)表示,式中U表示輸入特征圖。
從反向傳播的推導(dǎo)過程中可以看出,由于團簇隨機連接方式,在計算激活函數(shù)導(dǎo)數(shù)時,其特征值輸入不僅僅來自前面級聯(lián)網(wǎng)絡(luò)層,也會隨機包含其他網(wǎng)絡(luò)層傳入的特征數(shù)值。各隱藏層梯度計算完成之后需要調(diào)用隨機梯度下降函數(shù),如式(16)所示,以不斷更新權(quán)重參數(shù),直到網(wǎng)絡(luò)收斂。
后文中將對梯度值前的系數(shù)η(學(xué)習(xí)率)展開談?wù)?,引入退化學(xué)習(xí)率,以更好地訓(xùn)練模型。
從航班延誤預(yù)測模型整體結(jié)構(gòu)(圖4)可以直觀地看到6層團簇和轉(zhuǎn)換層(Transition)之間的邏輯關(guān)系:團簇采用隨機連接方式模擬大腦中復(fù)雜網(wǎng)絡(luò)的結(jié)構(gòu)和功能特征[21]。如果類比于神經(jīng)元,其特征層和信息傳遞的連接相當于胞核和軸突部分,某種意義上能更好地模擬大腦皮層的電信號交互的方式[22]。本文首先對航班、天氣的數(shù)據(jù)進行融合,然后輸入模型進行特征提取,最后給出航班延誤程度的預(yù)測。
圖4 航班延誤預(yù)測模型整體結(jié)構(gòu)Fig. 4 Overall framework of flight delay prediction model
本文模型使用的實驗數(shù)據(jù)來自于2017—2018 年美國交通運輸統(tǒng)計局(Bureau of Transportation Statistics,BTS)的航班數(shù)據(jù)和美國國家海洋和氣候管理局(National Oceanic and Atmospheric Administration,NOAA)提供的本地氣候質(zhì)量監(jiān)控數(shù)據(jù)。為了方便敘述,將兩塊數(shù)據(jù)集整理為航班數(shù)據(jù)、機場數(shù)據(jù)、氣象數(shù)據(jù)三個數(shù)據(jù)集并給出以下定義:
1)航班數(shù)據(jù):F ={ f1,f2,…,fl,…,fn1},其中:f1表示單個樣本,即一條航班數(shù)據(jù);n1 表示樣本總量(以下類似)。每條樣本主要包括起飛日期、航空公司ID、起飛/降落機場ID、起飛/降落城市代碼、起飛/降落城市ID、航班號、計劃起飛/降落時間、滑出時間、起輪/放輪時間、滑入時間等27個特征。
2)機場數(shù)據(jù):A ={a1,a2,…,al,…,an2}。本文主要針對起飛延誤作數(shù)據(jù)分析,機場數(shù)據(jù)選取自延誤影響較大的機場,每條樣本包括日期、起飛延誤時長、機場ID、機場代碼、機場所在航空區(qū)域等8個屬性特征。
3)氣象數(shù)據(jù):W ={w1,w2,…,wl,…,wn3},包括日期、具體觀測時間、氣象觀測站類型/所在機場、機場天氣狀態(tài)、天空狀況、風(fēng)向、風(fēng)速、能見度、溫度、相對濕度、海平面氣壓、海拔高度等19個特征。
對數(shù)據(jù)清洗是整個預(yù)處理過程中必不可少且較為重要的環(huán)節(jié)。上述數(shù)據(jù)集的異常數(shù)據(jù)主要包括異常值和缺省值兩類。本文針對異常值使用SQL 語句直接進行刪除;而針對較少比例的缺省值則直接采用均值進行填充。數(shù)據(jù)集中涉及改航班和取消航班兩個維度數(shù)據(jù)缺省率達到95%以上,考慮到這兩個特征對延誤的影響不是很大,后期對這兩個維度數(shù)據(jù)直接進行了刪除。
數(shù)據(jù)融合部分主要目的是為了讓三個數(shù)據(jù)集建立關(guān)聯(lián),為保證時空一致性,在空間維度上通過機場ID、航班起飛/到達機場ID和觀測站所在機場ID進行關(guān)聯(lián),并通過各個數(shù)據(jù)集的時間戳進行關(guān)聯(lián)以確保三部分的數(shù)據(jù)集保持時間上的一致性。具體操作步驟如下所示:
1)讀入航班數(shù)據(jù)F、機場數(shù)據(jù)A、天氣數(shù)據(jù)W。
2)讀取一條航班數(shù)據(jù)f,對機場ID、日期/時間設(shè)置關(guān)聯(lián)鍵值,得到flight_key,f。
3)讀取一條機場數(shù)據(jù)a,對起飛/到達機場ID、計劃起飛/降落時間設(shè)置關(guān)聯(lián)鍵值,得到airport_key,a。
4)讀取一條天氣數(shù)據(jù)w,對各觀測站所在機場ID、觀測時間設(shè)置關(guān)聯(lián)鍵值,得到weather_key,w;
5)將上述數(shù)據(jù)中具有相同key的數(shù)據(jù)執(zhí)行merge 操作,即相同主鍵的數(shù)據(jù)進行連接,得到融合后的數(shù)據(jù)集r。
6)將融合后的數(shù)據(jù)集r逐條取出,對每條數(shù)據(jù)中連續(xù)特征字段通過Min-Max 歸一化編碼方式將數(shù)據(jù)映射到[0,1]區(qū)間,消除量綱之間的差異;對于高基數(shù)離散字段按照數(shù)據(jù)出現(xiàn)頻次使用Mean-Encoder 進行編碼。構(gòu)建輸出矩陣R,本次實驗使用航班數(shù)據(jù)共1 505 056 條,編碼后為81 維特征,最終通過矩陣變換輸入到神經(jīng)網(wǎng)絡(luò)中的數(shù)據(jù)維度為1505 056 × 9 ×9。
首先,按照表3 中延誤時間對航班延誤等級[23]進行判定劃分,共5 個等級,并對其進行One-hot 編碼,作為標簽值。然后,矩陣R經(jīng)過模型特征提取后,由分類預(yù)測模塊對其作分類預(yù)測處理。提取的最終特征由全局池化層將維度大小為n×n×c的矩陣轉(zhuǎn)換為一維向量V=[v1,v2,…,vc],全連接后經(jīng)過Softmax 分類器[24],即將V映射成延誤等級預(yù)測的一維概率向量si,如式(17)所示。最后對預(yù)測的一維向量取對數(shù)并與標簽值{y(i)=j}作交叉熵運算作出判定,如式(18)所示,即得到向量空間中兩個向量空間的距離,并根據(jù)結(jié)果中距離最近判定預(yù)測結(jié)果是否準確。
表3 航班延誤等級劃分Tab. 3 Classification of flight delay level
航班延誤的混淆矩陣如表4 所示,其中每一列代表了數(shù)據(jù)的真實歸屬類別,每一行表示實際的預(yù)測結(jié)果值;T、F 分別表示正確和錯誤的預(yù)測結(jié)果,預(yù)測值與標簽值一致時判定為正確,否則判定為錯誤。例如,分類器會給出某條航班數(shù)據(jù)屬于 5 個 類 別 的 概 率 分 別 為[0.979 494 6,0.013 817 06,0.000 327 83,0.000 306 73,0.006 053 79],分類器會選擇概率最大值作為輸出類別,以此判定該航班的延誤等級,所以該例為未延誤。測試中若與航班延誤時間劃分的未延誤標簽值[1,0,0,0,0]一致,則判定正確,否則錯誤。實際航班延誤分析數(shù)據(jù)量較大,后文實驗中使用混淆矩陣中二級指標準確率來衡量模型。
表4 航班延誤預(yù)測的混淆矩陣Tab. 4 Confusion matrix of flight delay prediction
本章主要對實驗中的硬件環(huán)境、模型網(wǎng)絡(luò)的超參數(shù)配置,以及CliqueNet 的不同網(wǎng)絡(luò)結(jié)構(gòu)對實驗結(jié)果產(chǎn)生的影響進行闡述,最后對不同的模型給予比較。
實驗室硬件配置了2 臺工作站,3 臺高性能服務(wù)器:戴爾工作站是 Intel Xeon Sliver 4114 CPU,主頻 2.20 GHz,10 核,NVIDIA TITAN Xp GPU,12 GB 顯存;戴爾 PoweredgeR730 機架式服務(wù)器,Intel XeonE5-2630 雙 CPU,16 GB 內(nèi)存,1 TB SAS,NVIDIA TESLA P100 GPU。 軟 件 運 行 環(huán) 境 為Ubuntu16.04操作系統(tǒng)搭建的Tensorflow深度學(xué)習(xí)框架。
本文對超參數(shù)設(shè)置如下:L2 正則化系數(shù)[25]為 0.000 1,Dropout[26]比例 0.85,可以有效防止過擬合,使用交叉熵作為損失函數(shù),并采用隨機梯度下降(Stochastic Gradient Descent,SGD)[27]的方法加快函數(shù)收斂。訓(xùn)練批次大小設(shè)置為128,默認設(shè)置為2的倍數(shù)。
3.1.1 退化學(xué)習(xí)率
為在訓(xùn)練速度和精度之間找到平衡,對隨機梯度下降優(yōu)化器第一個超參數(shù)學(xué)習(xí)率η進行討論。較大學(xué)習(xí)率會使訓(xùn)練速度會有所提升,但是損失函數(shù)不能很好地收斂至最小值,存在較大的波動;過小的學(xué)習(xí)率會使精度有所提升,但是訓(xùn)練會耗費太多時間。因此,引入退化學(xué)習(xí)率,即對學(xué)習(xí)率進行批次衰減,兼具上述優(yōu)點,以更好地訓(xùn)練模型。如式(19)所示,其中:ηi表示初始學(xué)習(xí)率,ηi+1表示退化后的學(xué)習(xí)率;k表示衰減率,指數(shù)g_step表示當前迭代次數(shù),d_step為自定義的衰減步數(shù)。
即隨著迭代次數(shù)的增加,學(xué)習(xí)率會按照指定衰減率衰減。表5 中,選取初始學(xué)習(xí)率浮點數(shù)后一位、后兩位一共四組典型數(shù)據(jù)進行比較,可以看出初始學(xué)習(xí)率設(shè)置為0.1 時,實驗結(jié)果較為理想,所以本文后續(xù)實驗中將初始學(xué)習(xí)率設(shè)置為0.1。
表5 初始學(xué)習(xí)率對模型準確率與訓(xùn)練時長的影響Tab. 5 Effect of initial learning rate on modelaccuracy and training duration
3.1.2 數(shù)據(jù)均衡和分類準確率
本次訓(xùn)練使用的航班延誤數(shù)據(jù)量較大,可達到百萬級,各延誤等級之間的數(shù)據(jù)樣本數(shù)目差距很大,考慮到實驗中的數(shù)據(jù)不均衡問題,在轉(zhuǎn)換成輸入矩陣時對樣本進行重采樣:通過上采樣增加延誤航班類別的數(shù)據(jù)條目,對正常航班采用下采樣以減少樣本數(shù)量,來適當?shù)馗淖儤颖镜姆植肌5菍嶋H生活中的正常航班和延誤航班數(shù)目差距很大,尤其是表3 中重度延誤情況,即使使用數(shù)據(jù)均衡,其數(shù)據(jù)占比仍然相差較大,但考慮其仍然符合實際的期望,故使用重采樣后的數(shù)據(jù)集作為訓(xùn)練樣本,具體信息如表6 所示。訓(xùn)練使用的測試數(shù)據(jù)集在每種分類中按照1/10的比例隨機挑選。
分類預(yù)測準確率p表示預(yù)測結(jié)果正確(即與標簽值保持一致)的航班樣本與樣本總量的比值:
其中:N表示樣本總量,q為延誤等級數(shù),Pi表示實際延誤等級為i的航班樣本中被預(yù)測正確的航班數(shù)據(jù)條數(shù)。
表7 給出了團簇中不同的連接方式在數(shù)據(jù)集r上測試的準確率,其中:R-conn 表示隨機連接(Random connection),F(xiàn)-conn 表示全連接(Full connection),Ⅰ-Ⅱ表示Stage-Ⅰ的特征傳遞給損失函數(shù),Stage-Ⅱ的特征由轉(zhuǎn)換層傳入到下一個團簇(如圖4 所示)。從表7 和圖5 中可以看出,R-conn-Ⅱ-Ⅱ準確率為92.9%,比F-conn-Ⅱ-Ⅱ高0.5 個百分點,訓(xùn)練時的損失值維持在0.172 左右,比全連接更低,這說明隨機連接在減少連接的同時,網(wǎng)絡(luò)性能依然趨于穩(wěn)定。R-conn-Ⅰ-Ⅱ的準確率也一直保持在92.0%左右,可以看出團簇隨機連接依然保持了較高的預(yù)測準確率。
表7 不同團簇連接的預(yù)測準確率比較Tab. 7 Comparison of prediction accuracy of different clique connections
圖5 不同團簇連接方式實驗結(jié)果變化曲線Fig.5 Variation curves of experimental results for different clique connections
圖6 和表8 是團簇之間不同轉(zhuǎn)換層的實驗結(jié)果比較。如1.2 節(jié)所述,CSAR 模塊分別對通道維度和空間維度作出特征標定,如圖6(a)所示,與SE模塊只對通道維度作出標定相比,CSAR 模塊最后的預(yù)測分類準確率要高出0.9 個百分點。嵌入不同的轉(zhuǎn)換層對網(wǎng)絡(luò)的復(fù)雜程度及參數(shù)量的增長幾乎可以忽略不計,在訓(xùn)練過程中,損失值表示預(yù)測數(shù)值和真實值接近程度,損失值越小表示越接近真實值。從圖6(b)和表8 中可以看出,引入CSAR 模塊將網(wǎng)絡(luò)損失值減小至0.17 左右并趨于穩(wěn)定,表示網(wǎng)絡(luò)擬合度剛好,沒有出現(xiàn)過擬合和欠擬合的現(xiàn)象,這說明對轉(zhuǎn)換層進行改進可以更好地訓(xùn)練模型。對比表8和表7的數(shù)據(jù)可以看出,預(yù)測準確率均有所提升,其中CSAR模塊的引入將網(wǎng)絡(luò)最終準確率維持在93.4%左右。
為了驗證基于大數(shù)據(jù)的深度學(xué)習(xí)方法比傳統(tǒng)的機器學(xué)習(xí)統(tǒng)計算法更具優(yōu)勢,表9 中給出了不同航班延誤預(yù)測模型的準確率結(jié)果。其中:貝葉斯網(wǎng)絡(luò)[3]和支持向量機[5]分別以國內(nèi)的某樞紐機場和某航空公司提供的整年數(shù)據(jù)進行訓(xùn)練,但其只涉及單獨的機場和航班數(shù)據(jù),數(shù)據(jù)維度較小。ANN 模型[8]以2012 年肯尼迪機場的1 099 次入境航班作數(shù)據(jù)分析研究,數(shù)據(jù)樣本量較少。并行化隨機森林[6]特征劃分的數(shù)據(jù)來源于美國航空交通運輸統(tǒng)計局2015—2016 年的歷史數(shù)據(jù),使用的數(shù)據(jù)源和本文保持一致。隨機森林模型[7]使用來自2007 年1月份至2008年12月份航空系統(tǒng)性能度量數(shù)據(jù)庫的數(shù)據(jù),其數(shù)據(jù)字段和本文分析的字段相似,包括到達和離開機場、計劃和實際起飛時間、航空公司代碼和飛機尾號等。雙通道卷積神經(jīng)網(wǎng)絡(luò)(Dual Channel Neural Network,DCNN)[28]與本文使用的數(shù)據(jù)集相同,樣本數(shù)量均為150 萬左右。除此之外,卷積神經(jīng)網(wǎng)絡(luò)DenseNet 同樣屬于密集型連接網(wǎng)絡(luò),與本文模型的可比性較強,所以本文實驗在相同的數(shù)據(jù)集上給出了兩者在不同量級網(wǎng)絡(luò)的預(yù)測結(jié)果比較(見表9,其中:T表示網(wǎng)絡(luò)卷積層數(shù),k表示每層的卷積核個數(shù))。
表 9 中同時還給出了在 CIFAR-10 數(shù)據(jù)集[29]上進行測試的結(jié)果。CIFAR-10 是圖片分類中常用的測試數(shù)據(jù)集,共60 000 張大小為32 × 32的圖片集。相較于傳統(tǒng)的模型算法,隨機連接的CliqueNet 性能有明顯的提升。其中CliqueNet 僅用了12 層網(wǎng)絡(luò)就獲得了與96 層DenseNet 幾乎一致的準確率,說明網(wǎng)絡(luò)的連接方式更為高效,以輕量級網(wǎng)絡(luò)實現(xiàn)了較高的準確率。
圖6 不同轉(zhuǎn)換層實驗結(jié)果變化曲線Fig.6 Variation curves of experimental results for different transition layers
表8 不同轉(zhuǎn)換層的預(yù)測準確率比較Tab. 8 Comparison of prediction accuracy of different transition layers
表9 不同航班延誤預(yù)測模型的準確率比較Tab. 9 Accuracy comparison of different flight delay prediction models
本文提出了一種團簇隨機連接的CliqueNet 航班延誤預(yù)測模型,以隨機密集型連接方式更為有效地讓網(wǎng)絡(luò)之間進行信息流動,以輕量級網(wǎng)絡(luò)獲得了高精度的航班延誤預(yù)測準確率;并且對不同的轉(zhuǎn)換層進行討論,對通道和特征維度進行特征重標定,使預(yù)測準確率最多提升約1 個百分點。為存儲海量數(shù)據(jù),實驗室中搭建了HDFS(Hadoop Distribute File System)[30]為基礎(chǔ)的大數(shù)據(jù)平臺。神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練可以充分利用大數(shù)據(jù)的優(yōu)勢,讓網(wǎng)絡(luò)在充分的資料學(xué)習(xí)基礎(chǔ)上挖掘數(shù)據(jù)背后的客觀規(guī)律,進而達到高精度預(yù)測的目的。本實驗室于2019 年與華東空管局有圍繞航班延誤預(yù)測展開的項目合作。其中華東空管局提供了2018年3月到2019年3月的國內(nèi)航班和氣象數(shù)據(jù),正在進行相關(guān)數(shù)據(jù)預(yù)處理工作,后期工作重點主要放在國內(nèi)數(shù)據(jù)的研究和分析。