王俊 吳子軒 董杰 蔡哲立 張凱 許喬若
關鍵詞:航班配餐備份數(shù);編解碼器;注意力機制;殘差設計;深度學習
中圖分類號:TP39 文獻標識碼:A
1 引言(Introduction)
航班旅客配餐是民航領域的子業(yè)務,是航空產(chǎn)業(yè)鏈的重要環(huán)節(jié)。配餐備份量受到航班運行情況、旅客訂座情況、特殊日期等因素的影響,業(yè)內(nèi)使用人工經(jīng)驗確定配餐備份量容易導致餐食浪費,從而增加企業(yè)的成本。因此,準確預測航班配餐備份數(shù)有助于航空公司的配餐部門對餐食備份數(shù)量的決策提供支持,提升服務質(zhì)量。航班配餐備份數(shù)預測,本質(zhì)上是一個時間序列預測問題,一直以來受到國內(nèi)外學者的廣泛研究[1],傳統(tǒng)數(shù)學統(tǒng)計學方法要求數(shù)據(jù)滿足某些假設,故難以達到預期目標,傳統(tǒng)機器學習方法則需要做極其復雜的特征工程工作。近年,深度學習方法如循環(huán)神經(jīng)網(wǎng)絡(RNN)[2],采用編碼器-解碼器結構的Seq2Seq模型[3]以及注意力機制[4]等應用在時間序列預測問題上取得了很大的成功。本文提出了一種基于注意力機制,并融合編解碼器結構和殘差設計的模型(ARSeq-Net),用于解決航班配餐備份數(shù)的預測問題。
2 研究現(xiàn)狀及本文貢獻(Related work andcontribution)
以民航為研究對象的文獻,例如:林友芳等[6]使用時空長短期記憶網(wǎng)絡對出發(fā)地—目的地間的客運需求進行預測。鄧玉婧等[5]使用基于多粒度時間注意力機制的循環(huán)神經(jīng)網(wǎng)絡模型對未來航班的離港人數(shù)進行預測。然而,這些研究中針對的具體問題與本文有較大區(qū)別,例如林友芳等[5]預測的是未來出發(fā)地—目的地間的客運需求,鄧玉婧等[6]專注于用歷史起飛時刻的客座率預測航線未來的客座率,而本文則是采用航班起飛前的歷史訂座數(shù)據(jù)預測起飛時的客座人數(shù),即配餐備份數(shù)。在交通領域的其他時間序列預測問題的研究中,早期主要采用傳統(tǒng)數(shù)學統(tǒng)計學方法。STEPHANEDES[7]將歷史平均(Historic Average, HA)方法應用于城市交通控制系統(tǒng)。陳楊等[8]將指數(shù)平滑(Exponential Smoothing, ES)法應用于交通流數(shù)據(jù)預測。HAMED等[9]使用差分自回歸移動平均(AutoRegressive Integrated Moving Average, ARIMA)模型對交通流量進行預測。WILLIAMS等[10]使用季節(jié)性差分自回歸移動平均(Seasonal AutoRegressive IntegratedMoving Average, SARIMA)模型通過差分將不平穩(wěn)時間序列轉變?yōu)槠椒€(wěn)時間序列進行交通流量預測。ZIVOT等[11]考慮空間相關性對交通流量的影響,使用向量自回歸(VectorAutoRegression, VAR)模型在交通流量預測上取得了更好的預測精度。
需要注意的是,由于實際中影響航班離港數(shù)量的外部條件和因素過于復雜,因此在本文研究的問題中,往往無法滿足此類傳統(tǒng)數(shù)學統(tǒng)計學方法的平穩(wěn)性假設限定,并且這些方法適用于相對較小的數(shù)據(jù)集,對于海量的航班數(shù)據(jù),無法達到預期的目標。
隨著人工智能的發(fā)展,傳統(tǒng)機器學習方法能夠更靈活地刻畫交通數(shù)據(jù)。ALAM等[12]使用線性回歸對交通流量進行預測。姚智勝等[13]使用支持向量回歸方法對交通流量、占有率、平均速度等特征進行訓練,用于解決交通數(shù)據(jù)預測問題。DAVIS等[14]利用k近鄰模型解決交通數(shù)據(jù)的預測問題。HAMNER等[15]使用隨機森林訓練移動和停止的車輛數(shù)量、路段平均速度等特征對未來交通流量進行預測。這些傳統(tǒng)機器學習方法雖然已經(jīng)能夠處理高維數(shù)據(jù),并能捕獲其復雜的非線性關系,但是仍然需要人工構造復雜的特征工程,以提升模型的性能。
近幾年,隨著深度學習的快速發(fā)展,深度學習被更多地應用于時空交通數(shù)據(jù)的學習與預測任務中。例如,HUANG等[16]使用深度信念網(wǎng)絡(Deep Belief Networks, DBN)和YANG等[17]使用堆疊自編碼器(Stacked AutoEncoder, SAE)模型自動學習交通數(shù)據(jù)的特征,不需要像機器學習模型那樣采用煩瑣的特征工程。MA等[18]和ZHAO等[19]使用長短期記憶網(wǎng)絡(Long Short-Term Memory, LSTM)預測短期的交通速度和流量。SHI等[20]針對時空數(shù)據(jù)預測問題,用卷積操作替換傳統(tǒng)LSTM模型中的線性變換操作,使得模型可以同時捕獲數(shù)據(jù)在時間和空間維度上的特征。ZHANG等[21]提出了ST-ResNet模型,通過卷積層和殘差結構的組合,建模了城市范圍內(nèi)的人群流量的空間相關性。YU等[22]提出時空圖卷積網(wǎng)絡(Spatio-Temporal Graph Convolutional Network,STGCN)模型,使用一維卷積刻畫了時間動態(tài)相關性,使用圖卷積神經(jīng)網(wǎng)絡(GCN)獲取路網(wǎng)的局部空間相關性。
Seq2Seq作為RNN的變種,包括編碼器(Encoder)和解碼器(Decoder)兩部分,在自然語言處理和時間序列任務中都取得了良好的效果。路寬等[23]使用多層Bi-GRU神經(jīng)元為基本單位構建Seq2seq對短期電力負荷進行預測。陶濤等[24]使用基于雙向LSTM的Seq2Seq模型對加油站時序數(shù)據(jù)進行異常檢測。朱墨儒等[25]使用Seq2Seq模型對于云資源負載進行預測。王濤等[26]使用Seq2Seq模型并融合外部特征對港口進出口貨物量進行預測。RNN采用類似遞歸的方式捕獲序列的信息,無法并行化處理信息,并且存在梯度爆炸和梯度消失的問題。VASWANI等[4]提出的Transformer模型采用注意力機制解決了該問題,該模型能夠更好地捕獲時間間隔較長的系列信息。ZHOU等[27]在Transformer模型的基礎上進行了改進,提出了Informer,降低了注意力機制的計算復雜度,提升了在長序列時間預測問題上的預測效果,但此類方法的時間復雜度依然很高。
對于航班配餐備份數(shù)預測問題,研究人員希望模型能夠自適應學習航班歷史訂票人數(shù)對最終離港人數(shù)的影響程度,同時捕獲外部復雜因素與航班旅客訂票序列間的關系,因此本文提出了一種基于注意力機制和殘差設計的編解碼器深度模型用于解決這一問題。本文的創(chuàng)新點和具體貢獻總結如下。
(1)通過注意力機制能有效捕獲航班歷史訂票人數(shù)對最終離港人數(shù)的影響程度,從而提高模型的預測精度。此外,本文僅在最后一步隱藏狀態(tài)以及歷史隱藏狀態(tài)應用了注意力機制,其時間復雜度僅與序列長度呈線性關系,較Transformer和Informer相比,時間復雜度更低。
(2)通過編解碼器結構能有效捕獲外部復雜因素與航班旅客訂票序列間的關系。
(3)在真實數(shù)據(jù)集上進行了實驗,證明了方法的有效性和先進性。
3問題描述(Problem formulation)
本節(jié)對航班配餐備份數(shù)預測問題進行形式化描述和定義,并對相關數(shù)據(jù)特征進行描述。某航班訂票人數(shù)的變化曲線如圖1所示,其中橫軸代表時間(STD代表起飛時刻,STD-3h則代表起飛前3 h),縱軸代表航班人數(shù)。航班訂票人數(shù)在時間軸上變化趨勢具有連續(xù)特性,是典型的時間序列,而航班配餐備份數(shù)的預測問題,本質(zhì)上是預測該航班實際離港人數(shù),所以本文研究的問題為典型的時間序列預測問題。
(1)序列數(shù)據(jù)輸入:本文使用航班起飛前96 h到起飛前2 h的訂票人數(shù)作為序列輸入數(shù)據(jù) {Xt=96,95,…,2}。
(2)外部復雜因素輸入:本文使用航班起飛及降落時間、起飛及降落機場、飛機型號、各艙型座位總數(shù),以及航班起飛當日是周幾、是否處于法定節(jié)假日期間、是否為補班、是否處于春運和暑運期間拼接作為外部復雜因素輸入?Xother。
本文的目標:將序列數(shù)據(jù)和外部復雜因素共同輸入模型,以預測離港人數(shù)F(X,Xother)→Y。
4基于注意力機制和殘差的深度編解碼器網(wǎng)絡(Deep encoder-decoder network based onattention mechanism and residual)
本節(jié)將詳細介紹基于注意力機制和殘差設計的編解碼器深度模型(ARSeq-Net)的結構。該模型將注意力機制、殘差設計以及編解碼器結構應用于航班配餐備份數(shù)預測問題,旨在自適應地提取序列中的隱藏信息以及外部因素的影響,通過神經(jīng)網(wǎng)絡的記憶能力、容錯能力、自學習能力擬合預測函數(shù),從而進行高效、準確的預測。其中,注意力機制是一種對不同特征信息計算不同權重,并按權重值融合特征信息的方法,能夠有效捕獲到關鍵的信息;殘差設計能有效解決梯度爆炸和梯度消失問題,加速模型收斂;編解碼器結構可以很有效地對輸入序列進行特征表示,并捕獲到外部因素的影響。
4.1編解碼器
編解碼器(Encoder-Decoder)的提出基于Seq2Seq模型,是一種循環(huán)神經(jīng)網(wǎng)絡的變種,最早應用于自然語言處理領域。編碼器部分的主要作用是將任意長度的序列信息編碼到傳遞向量中;解碼器的作用主要是將傳遞向量中所蘊含的上下文信息進行解碼,并輸出新的序列;其結構圖如圖2所示。
4.2注意力機制
注意力機制能夠在大量的信息中有效地捕獲較為關鍵的信息,以此提高網(wǎng)絡的效率。具體來說,注意力機制就是要對特征信息計算權重,并對所有信息按權重進行合并。注意力機制的計算過程分為兩步,第一步是計算歷史時間步輸出向量表示和最后一步隱藏狀態(tài)表示的注意力分布,第二步是根據(jù)注意力權重的分布情況計算歷史時間步向量表示的加權平均。本文中所用到的注意力機制是參考VASWANI等[4]設計的;具體公式如式(1)所示,具體結構示意圖如圖3所示。
本文中Q 編碼器最后一步的隱藏狀態(tài)的線性變換向量, K和V均是編碼器每一步輸出的線性變換向量。首先通過Q和K 的點乘,即可計算編碼器最后一步(即當前步)的隱藏狀態(tài)與歷史時間步輸出的相似度。其次通過縮放和SoftMax操作,即可計算出注意力權重矩陣,即序列歷史時間步對當前步的影響程度,此時各歷史時間步的影響程度數(shù)加和為1。最后將注意力權重與V 進行點乘操作,所得輸出即為考慮了不同歷史時間步對當前的不同影響后的融合信息表示。這樣就能通過模型自適應地學習不同歷史時間對于當前隱藏狀態(tài)的影響,提升模型的預測效果。
4.3殘差設計
殘差網(wǎng)絡(Residual Network, ResNet)是為了解決卷積神經(jīng)網(wǎng)絡隱藏層過多時的網(wǎng)絡退化問題而提出的,但是它并不局限于卷積神經(jīng)網(wǎng)絡,其通過給非線性變換層增加直連邊提高信息的傳播效率,防止梯度爆炸和梯度消失,以及加快模型收斂速度。
當輸入為x時,假設神經(jīng)網(wǎng)絡學習到的特征為H(x),此時通過殘差單元學習的內(nèi)容可記作F(x) = H(x) ? x,可以使網(wǎng)絡更容易學習。
本文將殘差設計引入編解碼器結構,旨在防止梯度爆炸,加快模型的收斂速度,提升模型預測的精度。
相比其他模型,ARSeq-Net在捕獲歷史依賴關系的基礎上,通過注意力機制,能夠自適應地學習歷史對當前的不同影響程度,通過殘差設計,有效提升了模型的收斂速度,并很好地解決了梯度爆炸等問題,使得預測結果更準確。
5實驗結果與分析(Experimental results andanalysis)
5.1數(shù)據(jù)集
本文實驗使用的數(shù)據(jù)集來自某航空公司提供的真實航班旅客訂座數(shù)據(jù)集,數(shù)據(jù)集中共計涉及的機場數(shù)量為105個,其中同時作為起飛機場和降落機場的84 個,僅作為起飛機場的10 個,僅作為降落機場的11個,共計存在的機場對為377個,一共有5,021 個不同的航班;時間跨度從2018年3月16日到2020年12月31日,共計11,109,789 條訂座數(shù)據(jù)。
5.2數(shù)據(jù)預處理
(1)劃分訓練集將原始數(shù)據(jù)處理為序列數(shù)據(jù)起飛前96 h到起飛前2 h的訂座人數(shù)為序列特征、起飛后的訂座人數(shù)為標簽值,共得到序列數(shù)據(jù)432,029 條,按每條航班的7∶2∶1的比例劃分訓練集、驗證集、測試集,其中訓練集包含85,786 條數(shù)據(jù),驗證集包含24,739 條數(shù)據(jù),測試集包含13,482 條數(shù)據(jù)。
(2)數(shù)據(jù)標準化。對航班訂座人數(shù)進行z-score標準化,通過標準化可以加快模型收斂速度,提升模型精度。
5.3 基準方法與評價指標
經(jīng)過調(diào)研,目前與本文研究解決同一類問題的方法極少?;诖耍疚倪x定了時間序列預測的經(jīng)典方法以及近年來先進的代表性方法,共計12 個基準方法與ARSeq-Net進行了實驗和比較。
HA:歷史平均值模型(Historical Average),是一種使用歷史平均值對未來進行預測的統(tǒng)計學方法。
ES:指數(shù)平滑預測法模型(Exponential Smoothing),是一種引入計算權重,并將計算權重由近到遠按指數(shù)規(guī)律遞減的一種特殊的加權平均的統(tǒng)計學方法。
LR:線性回歸模型(Linear Regression),是一種利用線性回歸方程的最小平方函數(shù)對多個自變量和因變量之間關系進行建模和預測的機器學習方法。
KNR:K近鄰回歸模型(K-Neighbors Regressor),是一種利用K 個最近訓練樣本的目標數(shù)值,對待測樣本的回歸值進行決策的機器學習方法。
DTR:決策樹回歸模型(Decision Tree Regressor),是一種以信息熵為度量構造下降最快的樹的自頂向下的遞歸的機器學習方法。
SVR:支持向量回歸模型(Support Vector Regression),是一種運用支持向量機(SVM)擬合曲線并進行回歸分析的機器學習方法。
RFR:隨機森林回歸模型(Random Forest Regressor),是一種利用生成多決策樹的方式對樣本進行訓練并預測的機器學習方法。
XGBoost:是一種利用多個梯度提升決策樹(GBDT)進行訓練并計算每個子樹的權重進行累加的機器學習集成模型。
LSTM:長短期記憶模型,是一種更適合處理長時間序列數(shù)據(jù)的循環(huán)神經(jīng)網(wǎng)絡模型。
GRU:門控循環(huán)單元,是一種參數(shù)量較少,更容易收斂的循環(huán)神經(jīng)網(wǎng)絡模型。
Transformer:是一種基于多頭注意力機制的編碼解碼長序列預測模型。
Informer:是一種基于Transformer改進得更為高效的長序列預測模型,專門適用于時間序列預測問題。
本文采用平均絕對誤差(MAE)、均方根誤差(RMSE)和平均絕對百分比誤差(MAPE)作為評價指標,具體計算如式(2)至式(4)所示:
5.4實驗結果
在真實航班旅客數(shù)據(jù)集上,驗證了ARSeq-Net模型的預測效果。模型的超參設置如表1所示,預測結果如表2所示。
表2顯示了不同模型在數(shù)據(jù)集上的預測結果,本文的ARSeq-Net模型的MAE、RMSE和MAPE都優(yōu)于其他模型。以MAPE為例,ARSeq-Net較傳統(tǒng)的統(tǒng)計學方法中最佳的ES,誤差降低了2.19%;較機器學習方法中最佳的XGBoost,誤差降低了0.42%;較深度學習方法中最佳的LSTM,誤差降低了3.02%。其中,HA和ES的效果較差,這是由于統(tǒng)計學方法并不能很好地建模序列預測問題;LR、KNR、DTR、SVR等模型的效果有所提升,但是它們不能很好地捕獲時間序列的特征;LSTM和GRU作為循環(huán)神經(jīng)網(wǎng)絡模型,雖然效果有所提升,但是對于長時間序列建模的效果不是很好;而Transformer和Informer雖然采用了注意力機制,但是此類方法在編碼器中采用自注意力機制進行計算,再通過注意力機制與解碼器進行連接,需要對兩兩時間步進行注意力權重計算,時間復雜度較高,信息也容易出現(xiàn)的過度冗余,導致預測效果不佳。
5.5消融實驗
為了進一步驗證模型中每個組件的有效性,研究人員對ARSeq-Net的三種變體進行了實驗。
(1)GRU:不使用編解碼器結構的模型。
(2)Seq2Seq:僅使用編解碼器結構的模型。
(3)ASeq-Net:使用了編解碼器結構和注意力機制的模型。
實驗結果如表3所示。
從表3的實驗結果可以看出,ARSeq-Net模型的三個評價指標都是最好的,GRU模型的效果最差。實驗結果可以證明,在加入了編解碼器結構后,模型效果有了一定提升;加入注意力機制后,效果又有了進一步提升;殘差的進一步引入,使得模型效果達到最好,由此可以證明ARSeq-Net模型的有效性。
6結論(Conclusion)
本文提出了一種基于注意力機制和殘差設計的Seq2Seq深度網(wǎng)絡模型,用于解決航班配餐備份數(shù)預測問題,研究人員將本文提出的模型同處理時間序列預測的傳統(tǒng)數(shù)學統(tǒng)計學方法、經(jīng)典的機器學習方法以及經(jīng)典和先進的深度學習方法在相同數(shù)據(jù)集上進行了實驗,實驗結果表明,本文提出的模型在預測效果上達到了最優(yōu),證明了本方法的有效性。但是,該方法還存在一些優(yōu)化空間,比如可以考慮其他外部因素如疫情等特殊時期的影響、天氣、經(jīng)濟形勢變化等對航班配餐備份數(shù)的影響,此部分因素難以合理量化,可作為未來模型優(yōu)化的方向。
作者簡介:
王俊(1988-),男,碩士,工程師.研究領域:信息技術,企業(yè)數(shù)字化,軟件測試.
吳子軒(1991-),男,博士,工程師.研究領域:數(shù)據(jù)科學與人工智能,企業(yè)數(shù)字化.本文通信作者.
董杰(1996-),男,本科,工程師.研究領域:軟件開發(fā),產(chǎn)品管理.
蔡哲立(1989-),男,本科,工程師.研究領域:軟件開發(fā),信息技術,項目管理.
張凱(1994-),男,本科,工程師.研究領域:軟件開發(fā),信息技術.
許喬若(1992-),男,碩士,高級工程師.研究領域:信息技術,數(shù)據(jù)開發(fā),數(shù)據(jù)管理.