張 鵬 劉穎欣 段照斌 王 力
1(中國(guó)民航大學(xué)適航學(xué)院 天津 300300)2(中國(guó)民航大學(xué)電子信息與自動(dòng)化學(xué)院 天津 300300)3(中國(guó)民航大學(xué)工程技術(shù)訓(xùn)練中心 天津 300300)4(中國(guó)民航大學(xué)職業(yè)技術(shù)學(xué)院 天津 300300)
FCS是現(xiàn)代飛機(jī)中最重要的安全關(guān)鍵系統(tǒng)之一,由于其系統(tǒng)的高度集成性和復(fù)雜性[1],因此在飛機(jī)飛行過(guò)程中對(duì)FCS的狀態(tài)進(jìn)行監(jiān)測(cè)并保障其飛行安全具有重要意義和挑戰(zhàn)性。
FCS中的舵面作動(dòng)筒、舵面位置傳感器、駕駛員控制器、作動(dòng)筒控制電子設(shè)備(Actuator Control Electro-nics,ACE)、主飛行計(jì)算機(jī)(Primary Flight Computer,PFC)、電源系統(tǒng)、PFC接口、地面維護(hù)接口等都有可能在飛行過(guò)程中發(fā)生故障,如姿態(tài)控制系統(tǒng)中的俯仰控制過(guò)程是敏感和脆弱的,它的失敗可能導(dǎo)致飛機(jī)墜毀等災(zāi)難性的事故[1];執(zhí)行器故障會(huì)對(duì)飛行控制系統(tǒng)的穩(wěn)定性和性能產(chǎn)生不利影響[2];操縱面偏轉(zhuǎn)失控可能會(huì)導(dǎo)致不希望的俯仰機(jī)動(dòng),也可能會(huì)要求飛機(jī)增加局部結(jié)構(gòu)載荷[3];飛機(jī)電傳操縱系統(tǒng)出現(xiàn)自檢故障影響及時(shí)的飛行[4]等。在實(shí)際排故中,維修人員很大一部分根據(jù)經(jīng)驗(yàn)和手冊(cè)上對(duì)應(yīng)的故障隔離程序進(jìn)行故障排除,這種排除方法不僅需要維修人員對(duì)各個(gè)系統(tǒng)及其之間的交聯(lián)關(guān)系原理非常了解,還需要花費(fèi)大量的時(shí)間。
近年來(lái),在學(xué)術(shù)界和工業(yè)界上深度學(xué)習(xí)顯示了其高超的識(shí)別復(fù)雜任務(wù)的能力,大批專家學(xué)者對(duì)其理論及其應(yīng)用表現(xiàn)出極大的興趣,并且許多領(lǐng)域的專家開(kāi)始嘗試?yán)蒙疃葘W(xué)習(xí)理論知識(shí)來(lái)解決本領(lǐng)域的一些復(fù)雜問(wèn)題[5]。
Hinton等[6]提出的深度學(xué)習(xí)理論起源于對(duì)人工神經(jīng)網(wǎng)絡(luò)的研究,它是一種更深層次的神經(jīng)網(wǎng)絡(luò),可以通過(guò)它免除繁復(fù)冗雜的人工選取特征的過(guò)程和高維數(shù)據(jù)的維度災(zāi)難問(wèn)題,從而得到數(shù)據(jù)更深層次的特征表示[7],并且將其應(yīng)用在工業(yè)領(lǐng)域中取得了不小的進(jìn)步[8-10]。文獻(xiàn)[8]提出了一種深度量子啟發(fā)神經(jīng)網(wǎng)絡(luò)(Deep Quantum Inspired Neural Network,DQINN)方法,它是經(jīng)典深度信任網(wǎng)絡(luò)(Deep Belief Nets,DBN)和量子啟發(fā)神經(jīng)網(wǎng)絡(luò)(Quantum Inspired Neural Network,QINN)的結(jié)合,將其應(yīng)用于飛機(jī)燃油系統(tǒng)的故障診斷,結(jié)果表明DQINN對(duì)復(fù)雜系統(tǒng)進(jìn)行故障診斷有很好的效果;文獻(xiàn)[9]提出了一種基于CNN的旋轉(zhuǎn)機(jī)械狀態(tài)監(jiān)測(cè)模型,在幾種類型的軸承故障上做了實(shí)驗(yàn),診斷精度可達(dá)93.61%;文獻(xiàn)[10]提出了基于時(shí)空LSTM的軌跡預(yù)測(cè)模型(ST-LSTM)用于預(yù)測(cè)密集交通中的車(chē)輛軌跡,并在NGSIM I-80 and US-101數(shù)據(jù)集上驗(yàn)證了其比現(xiàn)有的最新模型M-LSTM具有更高的軌跡預(yù)測(cè)精度。這些傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)都保持著卷積層、池化層和全連接層的基本結(jié)構(gòu),而其中的最大池化層只處理了平移變化,如果一個(gè)特征稍微移動(dòng)一下,只要它仍然在池化窗口中,就可以被檢測(cè)到,并且這種方法只保留最大的特征(最主要的)而丟棄其他的特征,會(huì)給結(jié)果帶來(lái)一定的偏差。
Sabour等[11]提出的膠囊神經(jīng)網(wǎng)絡(luò)輸入輸出均為向量,向量不僅能夠表達(dá)信息的有無(wú),還能表示信息的精確位置,并且使用動(dòng)態(tài)路由協(xié)議動(dòng)態(tài)地決定耦合系數(shù)體現(xiàn)父節(jié)點(diǎn)與子膠囊節(jié)點(diǎn)之間的耦合關(guān)系,不同于以往的全連接層,膠囊網(wǎng)絡(luò)已經(jīng)在一些領(lǐng)域展現(xiàn)出其獨(dú)特的優(yōu)勢(shì)[12-14]。文獻(xiàn)[12]提出了另一種矩陣膠囊網(wǎng)絡(luò),該矩陣膠囊網(wǎng)絡(luò)可以用變換矩陣對(duì)實(shí)體和觀察者之間的關(guān)系進(jìn)行編碼,從而使模型具有視點(diǎn)等方差的特性;文獻(xiàn)[13]使用模糊聚類的膠囊網(wǎng)絡(luò)在MNIST和CIFAR-10上測(cè)試得出具有比傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)更高的識(shí)別率,并且在隨機(jī)拼接的兩幅MNIST測(cè)試集的圖片上也進(jìn)行了驗(yàn)證,結(jié)果表明其具有更高的泛化能力;文獻(xiàn)[14]提出了復(fù)值密集頂點(diǎn)網(wǎng)(cv-頂點(diǎn)網(wǎng))和復(fù)值多樣頂點(diǎn)網(wǎng)(cv-頂點(diǎn)網(wǎng)++),將膠囊網(wǎng)絡(luò)推廣到復(fù)數(shù)域,使其可以在復(fù)雜數(shù)據(jù)集上具有更好的泛化能力,實(shí)驗(yàn)證明這兩種結(jié)構(gòu)在MNIST和CIFAR10數(shù)據(jù)集上與原始CapsNet相比,可訓(xùn)練的參數(shù)更少,性能更好且迭代次數(shù)更少。
上述研究表明,雖然目前膠囊網(wǎng)絡(luò)提出不久,但是基于膠囊網(wǎng)絡(luò)的方法要比傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)在圖像識(shí)別上具有更高的識(shí)別準(zhǔn)確率,這表明膠囊網(wǎng)絡(luò)有廣闊的應(yīng)用前景。本文將膠囊網(wǎng)絡(luò)應(yīng)用在飛控系統(tǒng)參數(shù)預(yù)測(cè)上,免除了繁復(fù)冗雜的人工選取特征的過(guò)程,在未使用預(yù)測(cè)參數(shù)(飛行航跡角)歷史值的情況下,預(yù)測(cè)飛行航跡角在未來(lái)500 s內(nèi)的變化,實(shí)驗(yàn)結(jié)果表明,膠囊網(wǎng)絡(luò)在長(zhǎng)時(shí)間的預(yù)測(cè)當(dāng)中要比CNN、LSTM的準(zhǔn)確率都要高。
膠囊網(wǎng)絡(luò)由Sabour等[11]在2017年首次提出,膠囊網(wǎng)絡(luò)在飛控參數(shù)預(yù)測(cè)上的具體架構(gòu)如圖1所示。
圖1 膠囊網(wǎng)絡(luò)架構(gòu)
可以看到,輸入的是與飛行航跡角相關(guān)的21個(gè)參數(shù)在連續(xù)的21個(gè)時(shí)間點(diǎn)的數(shù)據(jù)。首先對(duì)其做與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)一樣的卷積操作,得到ReLU Conv1;然后再對(duì)ReLU Conv1做一次卷積操作,并將其輸出調(diào)整成適用于CapsNet的向量神經(jīng)元層PrimaryCaps的輸入,而不是以往的標(biāo)量神經(jīng)元;最后,使用動(dòng)態(tài)路由算法進(jìn)行從PrimaryCaps到DigitCaps層的傳播,這也是CapsNet相比傳統(tǒng)神經(jīng)網(wǎng)絡(luò)最明顯的特征。DigitCaps層中輸出21個(gè)向量,最后再經(jīng)過(guò)一層Dense層輸出預(yù)測(cè)參數(shù)飛行航跡角的值。
CapsNet最大的特征就在于使用動(dòng)態(tài)路由算法完成從PrimaryCap到DigitCaps的轉(zhuǎn)變。以圖2(假設(shè)PrimaryCaps層有4個(gè)膠囊要傳遞到DigitCaps層的2個(gè)膠囊中)來(lái)詳細(xì)解釋一下動(dòng)態(tài)路由算法。
(1)
(2)
(3)
(4)
耦合系數(shù)cij由bij的Softmax計(jì)算得到:
(5)
bij初始值為0,故在前向傳播求sj的過(guò)程中,把Wij設(shè)計(jì)成隨機(jī)值,bij初始化為0可以得到cij,ui是上一層膠囊網(wǎng)絡(luò)的輸出,有了這三個(gè)值,就可以得到下一層的sj。
動(dòng)態(tài)路由并不能完全替代反向傳播。權(quán)重矩陣Wij仍然使用成本函數(shù)通過(guò)反向傳播訓(xùn)練,我們只是使用動(dòng)態(tài)路由來(lái)計(jì)算膠囊的輸出。通過(guò)計(jì)算cij來(lái)量化子膠囊與其父膠囊之間的連接,這個(gè)值很重要,但生命周期很短暫。對(duì)于每一個(gè)數(shù)據(jù)點(diǎn),在進(jìn)行動(dòng)態(tài)路由計(jì)算之前,都將它重新初始化為0。在計(jì)算膠囊輸出時(shí),無(wú)論是訓(xùn)練或測(cè)試,都需要重新做動(dòng)態(tài)路由計(jì)算。
高品質(zhì)的FCS可以穩(wěn)定操縱飛機(jī),改善飛行性能,增加飛行安全性,同時(shí)也可以減輕駕駛員飛行負(fù)擔(dān),是民機(jī)安全飛行必不可少的重要系統(tǒng)。而為了實(shí)現(xiàn)以上功能,F(xiàn)CS通常采用容錯(cuò)冗余控制系統(tǒng),這就使得FCS交聯(lián)設(shè)備眾多,結(jié)構(gòu)復(fù)雜,很難實(shí)時(shí)定位故障,導(dǎo)致排故時(shí)間長(zhǎng)、延誤率高。本文將融合與預(yù)測(cè)參數(shù)(飛行航跡角)相關(guān)的21個(gè)參數(shù)數(shù)據(jù)作為CapsNet的輸入來(lái)實(shí)時(shí)預(yù)測(cè)飛行航跡角的變化,為的是可以在其航跡發(fā)生偏移時(shí)提前進(jìn)行干預(yù),從而保證飛機(jī)的正常飛行。
基于CapsNet的思想,建立的多參數(shù)融合的模型結(jié)構(gòu)如圖3所示。將融合的與航跡角變化相關(guān)的21個(gè)參數(shù)輸入后經(jīng)過(guò)卷積層提取出最初的特征,然后將其輸入到初級(jí)膠囊層進(jìn)行再一次的卷積操作,將卷積之后的結(jié)果調(diào)整成適合高級(jí)膠囊層輸入的向量形式,在初級(jí)膠囊向高級(jí)膠囊的過(guò)渡過(guò)程中采用動(dòng)態(tài)路由對(duì)特征進(jìn)行整合,整合的過(guò)程中修正下層膠囊與上層膠囊之間的權(quán)重矩陣和耦合系數(shù)等參數(shù),以形成最優(yōu)整合結(jié)果。最后,在高級(jí)膠囊層后連一個(gè)全連接層,預(yù)測(cè)出航跡角在t+d時(shí)刻之后的值。
圖3 多參數(shù)融合的膠囊網(wǎng)絡(luò)模型結(jié)構(gòu)
為了證明CapsNet在預(yù)測(cè)飛控參數(shù)變化上的有效性,本文使用Windows 10的軟件環(huán)境系統(tǒng),TensorFlow 1.13.1深度學(xué)習(xí)框架下的keras 2.2.4,開(kāi)發(fā)語(yǔ)言為Python 3.7,來(lái)驗(yàn)證該模型的有效性。
本文以B777客機(jī)FCS中的姿態(tài)控制系統(tǒng)為例,選取與飛行航跡角相關(guān)的一些參數(shù)來(lái)進(jìn)行對(duì)其在飛行過(guò)程中變化的預(yù)測(cè)。根據(jù)姿態(tài)控制系統(tǒng)的工作原理[15],從飛行數(shù)據(jù)記錄設(shè)備快速存取記錄器(Quick Access Recorder,QAR)中選取了22個(gè)參數(shù),采樣間隔為1 s,各參數(shù)含義如表1所示。
表1 相關(guān)參數(shù)表
其中,飛行航跡角(FLIGHT PATH ANGLE)是需要模型預(yù)測(cè)出的參數(shù),其余數(shù)據(jù)為模型輸入的訓(xùn)練參數(shù)。
圖4為樣本構(gòu)造方式。給定與飛行航跡角相關(guān)的n-1個(gè)飛控參數(shù)在一個(gè)時(shí)間段內(nèi)的運(yùn)行數(shù)據(jù),預(yù)測(cè)飛行航跡角在一定時(shí)間間隔d之后的參數(shù)值。具體構(gòu)造方法如下:(1) 首先將數(shù)據(jù)進(jìn)行歸一化處理并將其按照時(shí)間序列展開(kāi)。(2) 以大小為w的窗口向下以一個(gè)固定步長(zhǎng)s滑動(dòng)截取數(shù)據(jù),構(gòu)造訓(xùn)練集。(3) 截取數(shù)據(jù)時(shí),把窗口最后一個(gè)時(shí)刻t在時(shí)間間隔d之后的值作為預(yù)測(cè)參數(shù)在間隔d之后的標(biāo)簽。本文構(gòu)造的模型中選取w的大小為訓(xùn)練參數(shù)的個(gè)數(shù),即w=21,考慮到是一個(gè)時(shí)間序列的預(yù)測(cè)任務(wù),故選取s=1。即構(gòu)造的樣本輸入為相關(guān)的21個(gè)飛行參數(shù)在連續(xù)21個(gè)時(shí)間點(diǎn)內(nèi)的飛行數(shù)據(jù)。同時(shí),為了驗(yàn)證本文模型在單步以及多步預(yù)測(cè)上都具有良好的效果,分別選取d=1、5、10、15并將樣本按照上述方式構(gòu)造獲得相應(yīng)的數(shù)據(jù)集S1、S2、S3、S4。
圖4 樣本構(gòu)造方式
在各個(gè)數(shù)據(jù)集中,訓(xùn)練集與驗(yàn)證集按4∶1的比例劃分,最后500個(gè)數(shù)據(jù)作為測(cè)試集,最終各個(gè)數(shù)據(jù)集劃分好的樣本情況如表2所示。
表2 數(shù)據(jù)集劃分
為驗(yàn)證所提CapsNet在預(yù)測(cè)飛行航跡角的效果,實(shí)驗(yàn)在基于TensorFlow的Keras深度學(xué)習(xí)平臺(tái)上實(shí)現(xiàn),首先對(duì)CapsNet中的迭代次數(shù)進(jìn)行了探索,以數(shù)據(jù)集S1為例,分別比較了迭代次數(shù)為1、3、5的模型誤差,然后用誤差最小的模型分別與CNN、LSTM在數(shù)據(jù)集S1、S2、S3、S4上進(jìn)行對(duì)比實(shí)驗(yàn)。各模型結(jié)構(gòu)參數(shù)如圖5所示。
以其中的單步預(yù)測(cè)數(shù)據(jù)集S1為例,詳細(xì)說(shuō)明模型結(jié)構(gòu)。首先數(shù)據(jù)輸入形式是(?,21,21,1),其中?表示batch_size,取batch_size為50,epochs為100,在CapsNet模型中,數(shù)據(jù)矩陣首先通過(guò)Sklearn的MinMaxScaler簡(jiǎn)單歸一化到[0,1]范圍之后經(jīng)過(guò)一層卷積層(Conv2),含有32個(gè)3×3的卷積核,激活函數(shù)為ReLU,張量形狀變?yōu)??,19,19,32);再經(jīng)過(guò)一個(gè)2×2的卷積層(PrimaryCaps),步長(zhǎng)為2,張量形狀變?yōu)??,9,9,32),把其中的4個(gè)輸出神經(jīng)元組合在一起構(gòu)成一個(gè)膠囊,激活函數(shù)為Squash,此時(shí)張量形狀變?yōu)??,324,8);經(jīng)過(guò)路由算法傳到DigitCaps,激活函數(shù)為Squash,此時(shí)輸出的張量為(?,21,1),經(jīng)過(guò)Flatten層之后將張量“壓平”,由全連接層輸出維度為1的張量,此時(shí)維度為(?,1)。在模型訓(xùn)練的過(guò)程中,優(yōu)化器選用Adam,在整個(gè)訓(xùn)練過(guò)程中使用動(dòng)態(tài)變化的學(xué)習(xí)率,每次以0.9的速率衰減,并且使用keras.callbacks.EarlyStopping(patience=4)提前停止訓(xùn)練,防止產(chǎn)生過(guò)擬合現(xiàn)象。
為衡量模型性能,采用回歸模型常用的評(píng)價(jià)指標(biāo)[16](平均絕對(duì)誤差(MAE)、平均絕對(duì)百分比誤差(MAPE)、均方根誤差(RMSE)、均方根對(duì)數(shù)誤差(RMSLE))對(duì)模型性能進(jìn)行評(píng)估,計(jì)算公式如式(6)-式(9)所示。
(6)
(7)
(8)
(9)
式中:yi為預(yù)測(cè)值;xi為真實(shí)值。式(6)-式(9)計(jì)算出來(lái)的值越小說(shuō)明預(yù)測(cè)值與真實(shí)值相差越小,也可以表明模型搭建得很好,預(yù)測(cè)準(zhǔn)確度高。
表3為數(shù)據(jù)集S1上不同迭代次數(shù)的誤差比較。
表3 不同迭代次數(shù)實(shí)驗(yàn)結(jié)果
可以看出,當(dāng)?shù)螖?shù)為3時(shí),誤差最小,即預(yù)測(cè)越準(zhǔn)確。然后用迭代次數(shù)為3的CapsNet模型分別與CNN、LSTM在數(shù)據(jù)集S1、S2、S3、S4上做了對(duì)比實(shí)驗(yàn),其測(cè)試結(jié)果如圖6所示,評(píng)價(jià)指標(biāo)計(jì)算如表4所示。
(a) S1單步預(yù)測(cè)結(jié)果
(b) S2預(yù)測(cè)結(jié)果
(c) S3預(yù)測(cè)結(jié)果
(d) S4預(yù)測(cè)結(jié)果圖6 各個(gè)模型預(yù)測(cè)結(jié)果對(duì)比
表4 誤差對(duì)比結(jié)果
比較圖6的結(jié)果可知:在單步預(yù)測(cè)中LSTM誤差最小,在更長(zhǎng)時(shí)間間隔的預(yù)測(cè)中,CapsNet的誤差最小。在單步預(yù)測(cè)數(shù)據(jù)集S1上,CapsNet模型稍遜于LSTM,誤差平均比LSTM高29.1%,比CNN低42.2%;在五步預(yù)測(cè)集S2上,CapsNet比LSTM誤差降低16.0%,比CNN誤差降低51.2%;在十步預(yù)測(cè)集S3上,CapsNet比LSTM誤差降低23.9%,比CNN誤差降低30.4%;在十五步預(yù)測(cè)集S4上,CapsNet比LSTM誤差降低21.6%,比CNN誤差降低24.5%。綜合而言,CapsNet在單步及多步預(yù)測(cè)上誤差比LSTM平均降低8.1%,相比CNN平均降低37.1%。
根據(jù)上述結(jié)果可知,LSTM在短時(shí)間內(nèi)預(yù)測(cè)效果很好,而CapsNet在長(zhǎng)時(shí)間間隔的預(yù)測(cè)效果更佳。
FCS的實(shí)時(shí)性故障診斷及其故障預(yù)測(cè)對(duì)飛機(jī)航班運(yùn)行效率有重要作用。由于FCS是一個(gè)高動(dòng)態(tài)的、子系統(tǒng)強(qiáng)耦合的復(fù)雜系統(tǒng),傳統(tǒng)的基于模型的方法難以適用。膠囊網(wǎng)絡(luò)是一種新型網(wǎng)絡(luò)結(jié)構(gòu),它將特征的表示由標(biāo)量提升為向量,這種表示方式極大地提升了特征的表達(dá)能力,使得膠囊網(wǎng)絡(luò)具有很好的泛化能力。本文將膠囊網(wǎng)絡(luò)用于飛控參數(shù)預(yù)測(cè)上,在故障發(fā)生之前可以提前預(yù)知,為故障排除提供良好的預(yù)見(jiàn)性。實(shí)驗(yàn)結(jié)果表明,CapsNet模型比傳統(tǒng)的CNN和LSTM模型誤差都要低,具有很高的應(yīng)用價(jià)值。