姜 婕,楊 威,馮俊濤,姜 帥
(1.北京交通大學(xué) 機(jī)械與電子控制工程學(xué)院,北京 100044; 2.北京航天自動控制研究所,北京 100854; 3.北京航天航空大學(xué) 軟件學(xué)院,北京 100191)
復(fù)雜系統(tǒng)在運行過程中,各傳感器隨時間及工況將產(chǎn)生不同的數(shù)字信號及模擬信號,根據(jù)信號時序特征及閾值,可以反映系統(tǒng)的運行狀態(tài),在系統(tǒng)運行異常時及時對其進(jìn)行干預(yù)。傳統(tǒng)的信號處理及數(shù)據(jù)分析方法往往基于規(guī)則及案例,并不適用于復(fù)雜系統(tǒng)。機(jī)器學(xué)習(xí)領(lǐng)域的發(fā)展推動特征識別領(lǐng)域的發(fā)展,使用機(jī)器學(xué)習(xí)解決此類問題成為可能[1]。
根據(jù)復(fù)雜系統(tǒng)(本文以飛行器為例)運行過程中產(chǎn)生的數(shù)據(jù)特點,模型需要著重對數(shù)據(jù)的時序特征進(jìn)行識別。RNN及其衍生模型雖然可以對時序數(shù)據(jù)進(jìn)行專業(yè)的處理,但是仍然存在計算量大處理效率低且數(shù)據(jù)量大時存在梯度彌散或梯度爆炸的可能,對于復(fù)雜系統(tǒng)實時性要求高且運行時間長、數(shù)據(jù)量大的情況存在難以彌補(bǔ)的缺陷。
本方法通過將時序特征映射至圖像,使用CNN對時序特征圖進(jìn)行分類識別實現(xiàn)對時序數(shù)據(jù)的處理,處理速度快,且在復(fù)雜系統(tǒng)長時間運行產(chǎn)生的大量數(shù)據(jù)進(jìn)行時序處理時效果依然穩(wěn)定。

圖1 研究路線圖
本文第一章對目前常用的識別模型進(jìn)行了概述與對比,結(jié)合需求特點最終確定復(fù)雜系統(tǒng)在時序特征識別時所用模型的類型。
第二章使用ECharts將飛行器運行時的二進(jìn)制流數(shù)據(jù)進(jìn)行可視化處理實現(xiàn)了時序特征的映射。
第三章結(jié)合前兩章的飛行器數(shù)據(jù)流的時序特征提取方法,補(bǔ)充了圖像預(yù)處理方法及TFRecord數(shù)據(jù)集的制作方法,將大量的飛行器歷史測試數(shù)據(jù)制作成飛行器運行過程中各信號時序變化的時序特征數(shù)據(jù)集。
第四章構(gòu)建Sample模型、修改Inception模型的同時,使用第三章制作的數(shù)據(jù)集在Tensorflow環(huán)境下進(jìn)行模型的訓(xùn)練及調(diào)參,完成CNN模型的構(gòu)建。
第五章使用第三章制作的數(shù)據(jù)集,對第四章構(gòu)建的CNN模型進(jìn)行了驗證及分析,最終在第六章通過總結(jié)與概括得出結(jié)論。本文的研究路線如圖1所示。
在對飛行器各系統(tǒng)數(shù)據(jù)進(jìn)行處理及分析時,主要考慮其時序變化特征及故障數(shù)據(jù)分類的準(zhǔn)確性。現(xiàn)在常用的時序識別方法主要集中在語義識別、語音識別及預(yù)測等方面。與此相關(guān)的神經(jīng)網(wǎng)絡(luò)主要有具有記憶功能的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN,recurrent neural network),解決RNN長期依賴問題的長短期記憶網(wǎng)絡(luò)(LSTM,long short-term memory)及其它衍生網(wǎng)絡(luò)[2]。CNN對于一對一映射關(guān)系規(guī)則嚴(yán)謹(jǐn),尤其對于圖像的識別及分類有良好的效果,因此從RNN、LSTM及CNN三種神經(jīng)網(wǎng)絡(luò)進(jìn)行對比研究。
文獻(xiàn)[3]優(yōu)化了一種RNN方法,用來預(yù)測短時間內(nèi)特定海洋的區(qū)域碰撞風(fēng)險,該方法的預(yù)測精度較高且效果良好。
文獻(xiàn)[4]使用LTSM作為準(zhǔn)確估算鋰離子電池SOC的方法,其估計誤差小且均方根誤差低于1%,驗證方法可行。
文獻(xiàn)[5]融合了兩個二維的CNN神經(jīng)網(wǎng)絡(luò),對超聲波心動圖進(jìn)行了時域特征及空域特征,實現(xiàn)了對超聲波心動圖的視點分類,在心臟病診斷方面輔助優(yōu)勢明顯。
文獻(xiàn)[6]使用改進(jìn)后的Inception-v3模型進(jìn)行乳腺病理圖像的二分類及多分類,取得了良好的識別精度,提高了識別效率。
根據(jù)RNN、LSTM及CNN的特點,結(jié)合復(fù)雜系統(tǒng)運行過程中關(guān)鍵信號的識別需求分析如下:
1)RNN對于時序處理效果較好,但是在模型訓(xùn)練時易出現(xiàn)由于共享參數(shù)導(dǎo)致的梯度彌散或梯度爆炸。
2)LSTM解決了RNN的梯度問題,但是計算費時,且對于量級較大的長序列表現(xiàn)不佳。由于飛行器數(shù)據(jù)變化幅度一般較小,且飛行時間長、數(shù)據(jù)量大,使用LSTM存在明顯的限制約束。
3)CNN的輸入輸出長度固定,便于實現(xiàn)確定的映射到確定的輸出,且識別性能普遍良好。
基于上述考慮,采用CNN作為復(fù)雜系統(tǒng)信號時序特征的識別的基本模型。選擇使用可視化技術(shù)將信號的時序特征映射至圖像,通過CNN對時序特征圖像的識別實現(xiàn)復(fù)雜系統(tǒng)信號時序特征的識別的方法進(jìn)行時序特征識別。
在系統(tǒng)運行過程中,采集不同時序狀態(tài)下的特征信號(電壓、電流、角度變化、速度變化及位移等),按照產(chǎn)生的時間順序存儲至數(shù)據(jù)庫中。使用數(shù)據(jù)可視化工具,將信號數(shù)據(jù)按照時序(以時間為橫坐標(biāo))進(jìn)行二維圖像化處理,實現(xiàn)信號時序特征的圖像映射,可以更直觀地反映其時序變化趨勢及特征。
如圖2所示,表示轉(zhuǎn)臺轉(zhuǎn)動角度隨時間變化的部分可視化圖像。因為本文的目的為對信號圖像時序特征的處理,所以在可視化時對其進(jìn)行去單位化的處理,統(tǒng)一橫、縱坐標(biāo)尺度,只保留其時序特征曲線形狀的有效性。

圖2 部分轉(zhuǎn)動角度信號的可視化圖像
使用echarts可以將時序數(shù)據(jù)可視化為二維圖表,通過對圖表進(jìn)行分析歸納其時序特征。由于神經(jīng)網(wǎng)絡(luò)構(gòu)建使用Python語言,因此使用Pyecharts將時序特征映射至圖像[7]。
時序數(shù)據(jù)圖表繪制的代碼邏輯如表1所示,以時間(timestamp)為橫坐標(biāo),信號數(shù)據(jù)(data)為縱坐標(biāo)進(jìn)行曲線繪制。

表1 Pyecharts曲線繪制代碼
可視化處理后的數(shù)據(jù)圖像按照故障源進(jìn)行分類,為了加快處理速度,提高模型的識別及訓(xùn)練效率,對圖像進(jìn)行以下操作:
1)統(tǒng)一圖像尺寸及分辨率。由于模型識別主要針對曲線的時序趨勢特征進(jìn)行研究與識別,并不在意從圖像的度量單位及時間單位,因此在圖像預(yù)處理時對曲線坐標(biāo)進(jìn)行模糊處理。且為加快圖像處理速度,降低圖像分辨率,只保留曲線特征像素。
2)按照類別進(jìn)行編號。按照圖像的分類對圖像文件進(jìn)行分類編號。
以如圖3所示的六種時序特征為例進(jìn)行時序特征識別說明,預(yù)處理前信號時序特征圖像及其分類如3所示,預(yù)處理后信號時序特征圖像及其分類如4所示。因本文的目的為對信號圖像時序特征的處理,因此在可視化時對其進(jìn)行去單位化的處理,統(tǒng)一橫、縱坐標(biāo)尺度,只保留其時序特征曲線形狀的有效性。

圖3 可視化后信號時序特征圖

圖4 預(yù)處理后的信號時序特征圖
圖像預(yù)處理后,需要將其制作成數(shù)據(jù)集,以便后續(xù)進(jìn)行模型訓(xùn)練測試及驗證。在此采用TFRecord作為數(shù)據(jù)集文件生成的方法及格式。
在構(gòu)建模型時,為了體現(xiàn)模型對時序特征的識別效果,使用了兩種模型:構(gòu)建了Sample模型作為基礎(chǔ)識別模型,運用遷移學(xué)習(xí)思想,使用Inception-v3模型及其預(yù)訓(xùn)練參數(shù)。
由于示例的時序特征及數(shù)據(jù)集較簡單,構(gòu)建一個八層的CNN網(wǎng)絡(luò)的以利用數(shù)據(jù)集進(jìn)行訓(xùn)練。CNN網(wǎng)絡(luò)結(jié)構(gòu)包含兩個卷積層,兩個池化層,兩個全連接層,一個分類層,使用ReLU作為激活函數(shù)。大致過程為:“初始化權(quán)值參數(shù)—>計算損失值—>調(diào)制權(quán)值參數(shù)”過程的循環(huán)。
在對Sample模型完成結(jié)構(gòu)設(shè)計及修改后,在tensorflow環(huán)境下使用根據(jù)歷史試驗數(shù)據(jù)制作好的飛行器時序特征數(shù)據(jù)集進(jìn)行模型訓(xùn)練及調(diào)參,完成Sample模型的訓(xùn)練。其訓(xùn)練的最終參數(shù)如表2所示。
由于Sample模型簡單,層級較淺且參數(shù)較少,數(shù)據(jù)集的數(shù)據(jù)量不大且時序特征少,因此設(shè)定訓(xùn)練次數(shù)為500此即可獲得收斂度較高的模型,其訓(xùn)練過程中的準(zhǔn)確率曲線如圖5所示,損失曲線如圖6所示。

圖5 Sample模型準(zhǔn)確率曲線

圖6 Sample模型損失曲線
分析訓(xùn)練過程中的準(zhǔn)確率曲線,在迭代150次以后準(zhǔn)確率在99.5%左右收斂穩(wěn)定。
分析訓(xùn)練過程中的誤差損失曲線,在150次左右時誤差損失穩(wěn)定在0.1以下,且仍具有收斂趨勢,在迭代200次左右時基本收斂穩(wěn)定。
Google Inception Net在大量數(shù)據(jù)的處理,尤其是內(nèi)存或計算資源有限制的場合具有計算效率高且分類準(zhǔn)確的特點,采用全局平均池化層取代全連接層,一般稱之為Inception-v1。后續(xù)優(yōu)化的Inception-v2中加快了收斂速度[10-11]。在Inception-v3中為了降低參數(shù)量,減輕過擬合,將二維卷積層拆分成兩個一維卷積層[12]。
為充分利用訓(xùn)練好的Inception-v3模型結(jié)構(gòu)及預(yù)訓(xùn)練參數(shù),僅對Inception-v3模型瓶頸層的輸出來訓(xùn)練一個新的全連接層,以處理時序特征圖像的分類問題,完成模型的適配。
在對Inception-v3Sample模型完成結(jié)構(gòu)設(shè)計及修改后,在tensorflow環(huán)境下使用根據(jù)歷史試驗數(shù)據(jù)制作好的飛行器時序特征數(shù)據(jù)集進(jìn)行模型訓(xùn)練及調(diào)參,完成Inception-v3模型的訓(xùn)練其訓(xùn)練的最終參數(shù)如表3所示。

表3 Inception-v3模型訓(xùn)練參數(shù)表
由于Inception-v3模型較為復(fù)雜,層級較深參數(shù)較多,因此設(shè)定訓(xùn)練次數(shù)為1 000次可獲得收斂度較高的模型,其訓(xùn)練過程中的準(zhǔn)確率曲線如圖7所示,損失曲線如圖8所示。

圖7 Inception-v3模型準(zhǔn)確率曲線

圖8 Inception-v3模型損失曲線
分析訓(xùn)練過程中的準(zhǔn)確率曲線,在迭代100次以內(nèi)時雖然波動較大但是收斂迅速,900次以后基本穩(wěn)定在97%以上,收斂效果較好。
分析訓(xùn)練過程中的誤差損失曲線,在100次之前收斂速度較快,100次以后收斂速度變緩但收斂趨勢良好,在迭代900次以后基本收斂至0.1以下。
模型訓(xùn)練結(jié)束后,需要對模型的識別率、準(zhǔn)確率進(jìn)行驗證分析。使用訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)在驗證集中隨機(jī)讀取一張圖像進(jìn)行識別,將讀取圖像及其識別結(jié)果進(jìn)行打印輸出。步驟如下所述。
Step1:讀取一張圖片,對圖片進(jìn)行預(yù)處理操作。
Step2:應(yīng)用API中的結(jié)構(gòu)構(gòu)建新的網(wǎng)絡(luò)結(jié)構(gòu)。
Step3:載入模型,對模型結(jié)構(gòu)的輸出結(jié)果進(jìn)行softmax,即為預(yù)測值。
Step4:圖像讀取與識別,打印準(zhǔn)確率及識別的圖像。
識別結(jié)果示例如圖9所示;對六種時序特征波形,使用Sample模型及Inception-v3模型分別進(jìn)行識別測試100次,統(tǒng)計測試結(jié)果如表4所示。

圖9 識別結(jié)果打印示意圖

表4 Sample模型及Inception-v3模型識別結(jié)果測試統(tǒng)計表
根據(jù)以上測試識別結(jié)果,Sample模型的識別準(zhǔn)確率為99.667%,識別效果要優(yōu)于識別準(zhǔn)確率為98.167%的Inception-v3模型,但是經(jīng)過實際的訓(xùn)練與識別,Inception-v3的識別速度普遍比Sample模型快。
從識別分類來看,正常數(shù)據(jù)階梯波形的識別概率為100%,但是異常數(shù)據(jù)階梯波形的識別概率僅為98.5%,由于正常數(shù)據(jù)及異常數(shù)據(jù)的階梯波形相似、Sample模型及Inception-v3模型識別結(jié)果的統(tǒng)一性說明識別差距的原因可定位為正常數(shù)據(jù)及異常數(shù)據(jù)階梯波形數(shù)據(jù)集的差距不大,兩類階梯波形數(shù)據(jù)采集的樣本問題導(dǎo)致Sample模型及Inception-v3模型對階梯波形正常、異常的識別結(jié)果存在誤差。
本文提供了一種基于數(shù)據(jù)可視化的復(fù)雜系統(tǒng)信號時序特征識別的方法。不需要深入了解復(fù)雜系統(tǒng)的運行及控制原理,即可對時序特征進(jìn)行識別。通過采集信號數(shù)據(jù)進(jìn)行可視化處理,將信號時序特征映射至圖像生成數(shù)據(jù)集;構(gòu)建、訓(xùn)練、測試和驗證模型,形成最終的時序特征識別模型,然后通過此模型以模型預(yù)測的形式對信號數(shù)據(jù)的可視化時序特征進(jìn)行識別。
文中選取了復(fù)雜系統(tǒng)中特征參數(shù)隨時間變化的周期波形、階梯波形、一次函數(shù)波形三種典型波形在正常及異常情況下的時序特征進(jìn)行了研究及驗證,證實本文所述方法對單一特征波形的故障有良好的識別效果。下一步可以針對復(fù)雜特征波形及多特征融合波形的識別進(jìn)行研究及改進(jìn),增強(qiáng)本文所述模型識別方法的適用性及實用性。
本文研究基于數(shù)據(jù)可視化的復(fù)雜系統(tǒng)信號時序特征識別的方法對大型復(fù)雜系統(tǒng)的信號時序特征識別具有一定的適用性,不僅可以應(yīng)用在飛行器在飛行過程中的故障診斷,還可以應(yīng)用于態(tài)勢感知與態(tài)勢評估、智能指揮決策等等方向。