曾浩然, 馮蘊雯, 路 成, 潘維煌
(西北工業大學航空學院, 陜西 西安 710072)
目前,全球民用飛機領域儲存了大約600億美元的航材,約占航空公司庫存資金的70%[1]。現代航空業庫存管理落后于歐美國家,存在緊急缺貨和庫存長時間積壓問題,這直接造成飛機停場和資金積壓浪費問題,導致航空公司運營成本常年居高不下[2],由此凸顯航材精確化保障在降低庫存管理成本、優化資金分配、提高飛行安全等方面的重要作用。而航材消耗預測準確性是實現精確化保障的基礎。
隨著計算機性能跨越式提升和計算機科學的快速發展,機器學習預測技術逐漸表現出相較前兩種預測方法在高維數據分析與挖掘方面的優勢,越來越多的學者對比展開相關研究與應用。支持向量機和神經網絡作為典型的機器學習方法在預測問題上已取得了大量研究成果。文獻[3]利用粗糙集理論在處理不完備信息系統問題上的優勢,剔除了冗余的航材消耗影響因素,建立融合了粒子群優化算法的支持向量機航材消耗預測模型。文獻[4]利用灰色關聯度分析影響因素并引入活性因子和非線性慣性的改進粒子群算法,用以優化支持向量機,實現航材消耗預測。文獻[5]利用Adam優化神經網絡模型并輸入與航材消耗量相關的9個影響因素(共22組原始數據)訓練模型,取得了較好的預測精度。文獻[6]針對航材消耗數據樣本量較少的問題提出使用B樣條擬合數據以增加樣本數,再根據航材消耗特點建立基于反向傳播(back propagation, BP)神經網絡的備件消耗模型,并驗證了模型的可行性。文獻[7]利用灰色系統模型的特點優化神經網絡模型,提高了神經網絡的魯棒性和學習性能。飛機備件非計劃拆換數據是一種典型的時間序列數據,上述研究主要集中在建立消耗量與其影響因素的關系模型,未能充分挖掘時間序列數據在時間維度的潛在相關性。循環神經網絡(recurrent neural network, RNN)理論的不斷發展以及生成對抗網絡(gene-rative adversarial network, GAN)[8]的提出,為深入挖掘數據時間維度的相關性信息提供了理論基礎。GAN由兩個神經網絡模型交替訓練并且不斷博弈,從而實現生成十分逼近真實樣本的數據,同時也可應用于數據回歸預測,已在各個領域得到廣泛應用,如圖像超分辨率重建、醫療數據生成[9]、金融序列預測、信息安全、異常檢測[10]等。一些GAN衍生模型中也包含了學習時間序列潛在信息的結構:連續RNN-GAN(continuous RNN-GAN, C-RNN-GAN)的生成器與判別器的構建使用了長短時記憶(long short-term memory, LSTM)網絡進行,以提高模型對時間序列數據的泛化能力[11]。循環條件GAN(recurrent conditional GAN, RCGAN)同樣采用類似的思想以增加潛在逐步依賴分布的學習能力[12-13]。
本文在以上研究的基礎上,從挖掘航材消耗數據潛在時間相關性的角度出發,以提高航材消耗量預測精度為目標,將時序數據特征分為靜態特征與時態特征,提出一種基于改進時間序列GAN(Time-sequence GAN)的生成模型和RNN預測模型的航材消耗預測方法。本文充分考慮了航材消耗特點,生成模型用實際消耗時序數據集進行監督訓練以學習時間依賴關系,再使用合成消耗時序數據集和實際消耗時序數據集進行無監督訓練,以學習時序數據整體分布,引入了聯合訓練損失,使該方法能夠協調無監督訓練和有監督訓練,能更好地捕捉數據中的逐步依賴條件分布[14],提高模型生成接近真實數據的能力,從而提高了RNN預測模型的預測準確度。本文主要闡述基于改進時間序列生成網絡的消耗數據生成模型方面的研究,通過算例分析對所提出的方法進行了有效性驗證。
飛機機隊航材消耗數據通常由飛機使用方進行統計,通常包括機隊飛行數據、維修數據。飛行數據包含各架飛機的空中飛行時間、累計飛行小時數、累計飛行循環等。維修數據包括部件拆換時間、拆換地點、故障描述、處理措施等,各項數據均為典型的時間序列數據,且部件拆換與該部件可靠性設計指標和累計使用時間密切相關。某一部件消耗影響因素主要包含兩個維度。
(1) 機隊飛機運行架數。飛機運行架數主要受飛機計劃停產和定期檢查影響,其數值不隨時間波動、較為穩定,故可將機隊運行架數劃分為航材消耗數據的靜態特征和時態特征。靜態特征和時態特征共同包含了影響航材消耗量的主要信息。
(2) 飛行小時和飛行循環。機隊飛行小時、飛行循環隨時間的波動變化具有季節性、周期性等特點,故將飛行小時、飛行循環劃分為航材消耗數據的時變特征。時變特征中包含了影響航材消耗量的周期性、累計性信息,這些信息是靜態特征不具備的。
本文以航材消耗數據的靜態特征和時變特征為出發點,分別挖掘消耗總體分布與時間逐步依賴分布,航材消耗靜態特征和時態特征如圖1所示。

將Time-sequence GAN模型的學習目標分解為整體分布學習目標與時態逐步依賴分布學習目標[15]。
整體分布學習目標為:
(1)
逐步依賴分布學習目標:
(2)
Time-sequence GAN模型由嵌入網絡、恢復網絡、時間序列生成網絡和時間序列判別網絡構成。將自編碼網絡(前兩個)與GAN(后兩個)進行聯合訓練,使得模型實現整體分布、逐步條件學習、靜態時態特征生成以及交替訓練[16]。其模型結構和各部分功能及聯系如圖2所示。

圖2 模型架構、各部分功能和聯系Fig.2 Model architecture, functions and connections of each part
嵌入網絡和恢復網絡的作用,一是對航材消耗數據特征降維,形成低維潛在空間;二是獲得特征和隱含空間之間的映射關系;三是在低維特征空間中學習消耗數據集的潛在逐步依賴分布[17]。本文分別使用RNN和帶有前饋輸出層的雙向RNN[18]構建嵌入網絡和恢復網絡。
HJ,HS表示J,S對應的隱含向量空間,嵌入函數e:J×∏tS將靜態特征和時態特征變換為隱含空間編碼hJ,h1:T=e(J,S1:T),eJ:J→HJ和eS:HJ→HJ×HS×S→HJ分別為靜態特征嵌入函數和時態特征嵌入函數。
(3)

(4)
嵌入網絡和恢復網絡的訓練目標是從隱含空間編碼hS,h1:T中更加精確地重建原始數據J,S1:T。嵌入網絡和恢復網絡的目標函數定義為重建損失:
(5)
生成網絡生成無限接近真實數據整體分布和逐步依賴分布的合成數據,而判別網絡則努力區分其輸入是否是真實數據。生成網絡和判別網絡分別通過RNN和帶有前饋輸出層的雙向循環網絡實現。
ZJ,ZS表示高斯分布的向量空間,從ZJ和ZS中隨機取一個靜態特征向量和時態特征向量,輸入生成函數g:ZJ×tZS→HJ×tHS后生成潛在空間編碼gJ:ZJ→HJ是靜態特征生成網絡,gS:HJ→HJ×HS×ZS→HS為時態特征生成網絡。
(6)
判別函數d:HJ×tHS→[0,1]×t[0,1]輸入潛在空間靜時態編碼,輸出分類結果和分別表示前向和后向隱藏狀態序列,為循環函數,dJ,dS為輸出層分類函數。
(7)
判別網絡,則最大化判別輸入數據是否真實的準確性[19]:
(8)

(9)
圖3描述了模型訓練的機制。訓練過程采用Adam優化器更新網絡參數[21],學習率取0.000 1,訓練次數為5 000,取λ=1,η=10。

圖3 Time-sequence GAN聯合訓練流程Fig.3 Time-sequence GAN joint training process
Time-sequence GAN模型主要由門控循環單元(gated recurrent units, GRU)[22]構成,GRU單元相比LSTM單元簡化了網絡參數量,提高了網絡訓練速度[23],其模型結構詳細設置如表1和表2所示。

表1 嵌入網絡、恢復網絡、生成網絡結構Table 1 Structures of embedding networks, recovering networks and generating network

表2 判別網絡結構Table 2 Discriminating network structure
基于改進Time-sequence GAN的航材消耗預測實現流程如圖4所示,具體步驟如下。

圖4 基于改進Time-sequence GAN的航材消耗預測實現流程Fig.4 Implementation process of spare parts consumption forecast based on improved Time-sequence GAN
步驟 1收集整理航材歷史消耗數、飛行小時數、飛行循環,使用位移采樣劃分出訓練樣本,對訓練樣本進行歸一化處理;
步驟 2設置網絡超參數,將訓練樣本輸入模型進行訓練;
步驟 3模型輸出航材消耗預測數據;
步驟 4采用評估指標對預測結果進行評價分析。
無監督訓練模型測試常因生成數據沒有對應的真實標簽而難以用常規指標評價模型性能。本文使用TSTR(train on synthetic, test on real)思想建立定量評價方法,輔以可視化降維t-SNE(t-distributed stochasitc neighbor embedding)方法作為定性分析方法,綜合評估Time-sequence GAN模型,解決民機航材消耗預測的時間順序數據預測問題的性能。
(1) t-SNE
t-SNE是一種可視化非線性降維方法,在二維或三維的低維空間中表示高維數據集,主要用于驗證無監督學習算法的有效性以及實現可視化[24]。
(2) 預測分數
使用TSTR評價方法,向幾種不同模型輸入同一訓練樣本,分別得到幾組生成數據,然后將各組生成數據分別訓練一個同架構同初始參數的RNN,再分別向各個訓練后的RNN輸入真實樣本預測下一時間步長的值,計算得到幾組預測值絕對誤差的均值和方差,共同作為表征模型學習航材消耗數據整體分布和逐步依賴分布能力的評分,評分用μ±σ表示。
絕對誤差:
(10)
絕對誤差均值:
(11)
絕對誤差方差:
(12)
(1) 劃分訓練樣本
某型國產民機機隊維修數據包含2016年1月至2020年10月期間機隊飛機架數、月飛行小時數、月飛行循環數和主起機輪月拆換次數共58期數據,部分數據展示如表3所示。

表3 前起機輪消耗數據Table 3 Front landing gear wheels consumption data
為使嵌入網絡恢復網絡學習逐步依賴條件分布,采用位移采樣法將維修數據劃分訓練樣本。以表3展示數據為例,各樣本設置12時間步長,單次位移量為1,以2018.07期數據為位移采樣起始點,經過3次位移采樣處理得到4組訓練樣本,分別對應圖5中黃、綠、藍和紫框數據。

圖5 位移采樣法示意圖Fig.5 Diagram of displacement sampling method
(2) 數據歸一化
將航材消耗訓練樣本進行最大、最小歸一化處理,將訓練樣本數值轉化為[0,1]范圍內的無量綱值。
(13)
(1) t-SNE
圖6中,藍點和紅點分別表示模型訓練某型國產民機前起機輪消耗樣本后生成數據的二維空間映射數據和真實數據。通過圖6可知,模型的紅點集與藍點集有大量重合,表明模型生成數據的分布與真實分布非常接近,具有一定適用性。

圖6 Time-sequence GAN模型t-SNE分析結果Fig.6 Results of t-SNE analysis of Time-sequence GAN model
(2) 預測分數
本文選用原理類似的RCGAN[25]模型和C-RNN-GAN模型作為對比對象。向Time-sequence GAN、RCGAN和C-RNN-GAN模型輸入某型國產民機前起機輪訓練樣本,分別得到3組生成數據,用3組生成數據分別訓練3個雙層LSTM構成的RNN預測模型,分別向預測輸入真實樣本預測下一時間步長的值,計算得到3組預測值絕對誤差的均值和方差,如表4所示,加粗項表示性能最好。

表4 不同模型預測分數Table 4 Forecast scores of different models
通過表4可知,與C-RNN-GAN以及RCGAN相比,Time-sequence GAN模型在預測上都有著更好的分數,平均絕對誤差降低了3%,模型學習數據整體分布和潛在逐步依賴分布的能力相比其他模型均有所提高,符合定性分析t-SNE的結果,表明Time-sequence GAN模型在航材消耗時間序列數據潛在信息利用方面有更高的效率。同時,該實驗驗證了該模型在時間序列預測問題,特別是航材消耗預測問題上有更好的精度。
本文從時間序列預測的角度對航材消耗預測問題進行了建模,針對航材消耗預測問題影響因素多,常用模型難以捕捉航材消耗數據在時間順序上逐步依賴關系等問題,提出基于改進Time-sequence GAN模型,用于民用飛機航材消耗預測,主要特點如下:
(1) 融合了自回歸模型有監督訓練與對抗學習無監督訓練的靈活性。
(2) 基于TSTR驗證思想,以RCGAN和C-RNN-GAN為對比對象,分別從定性與定量的角度對Time-sequence GAN模型解決航材消耗預測問題的性能進行評價。
(3) 在某型國產民機機隊的前起機輪歷史消耗數據集上進行實驗驗證,Time-sequence GAN模型生成數據集分布與真實數據集分布較為接近,預測性能評估分數相較RCGAN和C-RNN-GAN的平均絕對誤差降低了3%,表明其有著更好的預測精度。
本文通過實驗驗證了Time-sequence GAN模型解決航材消耗預測問題的有效性,可為民用飛機航材精確化保障工作提供理論支撐,以達到降低庫存管理成本、優化資金分配、提高飛行安全的目的。