張雅婷,楊蒲,孟憲鋒,陸寧云,文琛萬
1.南京航空航天大學,江蘇 南京 210016
2.航空工業(yè)西安飛行自動控制研究所,陜西 西安 710065
四旋翼飛行器是一種能實現(xiàn)垂直起降的非共軸式多旋翼飛行器[1],具有結(jié)構(gòu)簡單、成本低和操作簡便等優(yōu)點,廣泛應用于軍事、民用生產(chǎn)和消防等不同領域。由于受工作環(huán)境惡劣及部分零部件結(jié)構(gòu)損傷的影響,四旋翼飛行器不可避免地會出現(xiàn)各種故障,對人們的生產(chǎn)生活造成巨大的經(jīng)濟損失。 因此,研究四旋翼飛行器的故障診斷方法,對保證四旋翼飛行器的安全性和可靠性具有重要意義。
四旋翼飛行器通常采用對其中某零件進行仿真破壞的方法來獲取其結(jié)構(gòu)損傷性的故障數(shù)據(jù),但在實際操作中,由于四旋翼飛行器飛行環(huán)境復雜多變、飛行器結(jié)構(gòu)損傷性失效數(shù)據(jù)尺寸較小等,采集到的有效數(shù)據(jù)樣本非常有限。當下以信號處理與深度學習為核心的主流故障診斷方法大多依賴于完整的故障樣本進行故障診斷,在小樣本情形下,往往難以獲得充足的訓練數(shù)據(jù)來構(gòu)建有效的深度學習模型[2],以往性能良好的故障診斷算法也會出現(xiàn)診斷準確率低、泛化能力差等問題。如何在少量樣本條件下提高故障診斷精度,改善模型泛化能力,降低過擬合,可以歸結(jié)為小樣本學習問題[3]。在小樣本條件下進行故障診斷是當今研究熱點之一。其中,元學習中基于度量學習的孿生網(wǎng)絡在小樣本問題中表現(xiàn)出一定的優(yōu)越性[4],現(xiàn)已取得不少研究成果。朱瑞金等[5]提出了一種基于卷積孿生網(wǎng)絡的故障診斷方法,在小樣本條件下實現(xiàn)變壓器的故障分類,但沒有明確解決多工況數(shù)據(jù)診斷問題。徐卓飛等[6]針對在小樣本和強噪聲條件下對滾動軸承進行故障診斷的問題,提出了一種基于孿生網(wǎng)絡的診斷模型。高浩寒等[7]針對深度神經(jīng)網(wǎng)絡在小樣本條件下準確率低的問題,提出了基于孿生神經(jīng)網(wǎng)絡的小樣本故障診斷方法,建立了孿生子網(wǎng)絡提取低維特征,利用距離度量得到特征的相似度作為分類依據(jù)。以上文獻的研究方法雖在特征提取與故障診斷準確率兩個方面取得了較好的效果,但也存在明顯的不足:在特征提取方法上存在局限性,并不能充分挖掘時序數(shù)據(jù)的相關性;故障數(shù)據(jù)單一化,方法泛化能力較差。
結(jié)合上述研究,針對四旋翼飛行器結(jié)構(gòu)損傷性故障復雜工況多樣、有效故障數(shù)據(jù)有限等問題,本文建立了一種基于CNLS-MMD 孿生混合網(wǎng)絡四旋翼飛行器故障診斷模型,采用卷積神經(jīng)網(wǎng)絡和長短時記憶網(wǎng)絡構(gòu)建混合模型對小樣本數(shù)據(jù)進行特征提取,SHNN 模型擴充數(shù)據(jù)樣本。通過最大均值差異來度量數(shù)據(jù)樣本對的差異,計算不同樣本對的特征距離實現(xiàn)樣本分類。最終實現(xiàn)在小樣本、多工況條件下對四旋翼飛行器結(jié)構(gòu)損傷性故障的診斷。
孿生神經(jīng)網(wǎng)絡(SNN)[8]是一種衡量特征相似度的小樣本學習方法。SNN的網(wǎng)絡結(jié)構(gòu)主要由兩個網(wǎng)絡結(jié)構(gòu)完全相同的子網(wǎng)絡和一個相似度計算模塊組成,如圖1 所示。從訓練集中隨機抽取兩個樣本數(shù)據(jù)分別輸入子網(wǎng)絡,當兩個樣本為同類樣本時標簽為1,反之則為0。經(jīng)過兩個權值共享子網(wǎng)絡的相關特征提取之后,由相似度模塊計算樣本數(shù)據(jù)之間的相似度距離,當其距離越近,二者數(shù)據(jù)的相似度越高。最終SNN 通過對比損失函數(shù)評價兩個樣本的相似程度,通過同一特征空間下樣本數(shù)據(jù)的相似度判斷樣本是否為同一類別,實現(xiàn)對SNN模型的訓練。
圖1 孿生神經(jīng)網(wǎng)絡結(jié)構(gòu)圖Fig.1 Structure diagram of SNN
在SNN 訓練階段,為了減小相同樣本之間的損失值,增大不同樣本之間的損失值,采用對比損失函數(shù)來優(yōu)化模型的訓練目標,如式(1)所示
式中,ε為孿生網(wǎng)絡的共享參數(shù);ai和aj為輸入數(shù)據(jù)樣本對;b為兩個樣本對判別是否為同類的結(jié)果,b= 1 表示二者為同類,b= 0 表示二者為不同類;K表示模型訓練階段的batch size;m為樣本之間距離的最大值。在計算損失值時,當只計算不相似樣本距離在0~m范圍的樣本對,若樣本相似距離超過m時,表示樣本間的損失值很低,被視為0。反之,只考慮相似樣本對時,當相似距離較大時,需要增加損失函數(shù)值,實現(xiàn)對模型內(nèi)部參數(shù)的優(yōu)化,提高模型性能。
利用 SNN不直接學習數(shù)據(jù)的特征,而是通過數(shù)據(jù)之間的相似性來解決分類問題的特點,降低了SNN模型對數(shù)據(jù)數(shù)量的要求。同時,通過把原本的訓練樣本轉(zhuǎn)換為樣本對的過程在一定程度上起到了擴充樣本數(shù)量的作用,增強了樣本數(shù)據(jù)。
卷積神經(jīng)網(wǎng)絡(CNN)[9]因擁有強大的特征自主提取的能力,廣泛應用于圖像識別和故障診斷等領域。
卷積層由多個卷積核構(gòu)成,主要作用是提取信號的特征。若卷積神經(jīng)網(wǎng)絡的層數(shù)為n,那么卷積層的運算公式如下
式中,ynm表示網(wǎng)絡的輸出;Xnm表示第m個卷積核;xnm是偏置值;Nj為輸入數(shù)據(jù)的集合;f(?) 為自主選擇的激活函數(shù)。
池化層的主要作用是對提取出的特征進行采樣來降低緯度,減少計算量,加快訓練速度。
全連接層的主要作用是將池化層中展開的一維矢量輸入,將前一層和該層的神經(jīng)單元相連,從而獲取全局信息[10]。
長短時記憶網(wǎng)絡(LSTM)是一種被改進的循環(huán)神經(jīng)網(wǎng)絡(RNN),其主要作用是改善RNN中出現(xiàn)的梯度消失和梯度爆炸問題[11]。相比于RNN,LSTM 網(wǎng)絡結(jié)構(gòu)多增加三個控制門和一個記憶門。在LSTM 單元中,門控機制主要分為輸入門、遺忘門和輸出門[12]。
LSTM 單元對信息的選擇主要通過門控機制中的sigmoid函數(shù)和逐點乘法運算來實現(xiàn),其計算過程主要如式(3)~式(7)所示。
輸入門It的主要作用是決定t時刻輸入值xt在上一時刻隱藏層輸出Ht-1中保存的比例,其計算公式如下
式中,wxi為輸入層到輸入門的權重矩陣;whi為隱藏層到輸入門的權重矩陣;bi為輸入門的偏置;σ為sigmoid 激活函數(shù)。
遺忘門Ft的作用是處理上一刻的輸入信息,選擇哪些數(shù)據(jù)需要被丟棄,具體計算公式如下
式中,wxf為輸入層到遺忘門的權重矩陣;whf為隱藏層到遺忘門的權重矩陣;bf為遺忘門的偏置;σ為sigmoid 激活函數(shù)。
輸出門Ot的主要作用是與記憶單元Ct一起共同決定LSTM 單元的輸出Ht。其中,記憶單元Ct由上一刻的記憶單元Ct-1和經(jīng)歷sigmoid函數(shù)、tanh函數(shù)共同處理的輸入量xt計算可得,具體計算公式如下
式中,o和c為輸出門和記憶單元;w和b為網(wǎng)絡的權重矩陣和偏置;σ為sigmoid 激活函數(shù);tanh 表示非線性激活函數(shù);⊙表示向量的點乘。
最大均值差異(MMD)最早提出時是用于雙樣本檢測問題,用于判斷兩個分布是否相同[13]。MMD將兩組分布數(shù)據(jù)集X和Y采用相同的映射函數(shù)f(?)到同一樣本空間中,計算不同分布在映射后的平均值差異。若數(shù)據(jù)集X和Y的大小為m和n,則MMD的表達式為
式中,f(?) 為高斯核函數(shù);H表示樣本映射到同一樣本空間再生希爾伯特空間(RKHS)。當MMD的值越小,則兩個分布越相似,兩個樣本屬于同一類別的概率越大,反之,MMD的值越大,兩個樣本屬于同一類別的概率越小。
本文提出了基于CNLS-MMD 的孿生混合網(wǎng)絡(SHNN)四旋翼飛行器故障診斷模型結(jié)構(gòu),如圖2所示。模型由上下兩個子網(wǎng)絡和一個相似度計算模塊三部分組成,在每個子網(wǎng)絡中包含著一個1D-CNN模型和一個LSTM模型,并均連接一個全連接層。其中,1D-CNN模型主要由4個卷積層和4個池化層構(gòu)成,按照式(2)自適應提取數(shù)據(jù)特征,且n取值為4,LSTM 網(wǎng)絡由128 個神經(jīng)元構(gòu)成,按照式(3)~式(7),結(jié)合數(shù)據(jù)上下文信息進一步提取特征,結(jié)合二者共同完成SHNN 整體對輸入樣本數(shù)據(jù)的特征編碼,提高了數(shù)據(jù)利用率。然后對經(jīng)過網(wǎng)絡模型編碼后的特征矢量按照式(8)計算樣本對的MMD,通過MMD 來衡量兩個矢量間的相似度,實現(xiàn)輸入數(shù)據(jù)樣本標簽的分類預測。
圖2 SHNN模型結(jié)構(gòu)圖Fig.2 Structure diagram of SHNN model
基于CNLS-MMD的孿生混合網(wǎng)絡四旋翼飛行器故障診斷流程由圖3所示,具體操作流程如下。
圖3 模型故障診斷流程Fig.3 Model fault diagnosis flowchart
(1) 實驗室開展了四旋翼飛行器飛行試驗,采集了不同運行狀態(tài)和不同失效情況下的飛行數(shù)據(jù),將數(shù)據(jù)歸一化和標準化后構(gòu)造了模型訓練集及測試集合。
(2)構(gòu)建SHNN 模型(見圖2),對模型中參數(shù)進行初始化。在訓練數(shù)據(jù)集中每隨機抽取兩個故障樣本構(gòu)成一個樣本對輸入SHNN模型,訓練SHNN模型中特征編碼網(wǎng)絡,輸入輸出標記形式為Dtrain={(ai,bi)}Ntraini=1,其中xi∈XT是模型的訓練集輸入數(shù)據(jù);bi∈[0,1]為輸入數(shù)據(jù)對應的標簽。然后,按照式(1)計算比較損失函數(shù)值,通過迭代最小化孿生網(wǎng)絡的損失函數(shù)值反向更新模型參數(shù)。當?shù)螖?shù)為給定最大輪次時保存模型參數(shù)。
本文采集的數(shù)據(jù)集為QBall-X4 四旋翼飛行器在實驗室環(huán)境下采集的飛行數(shù)據(jù)。QBall-X4四旋翼飛行器如圖4所示。四旋翼飛行器4 個電機分別產(chǎn)生F1、F2、F3和F4共4個升力,飛行器4個旋翼編號與電機編號順序相同。
圖4 四旋翼飛行器及其簡圖Fig.4 Quadrotor aircraft and its schematic diagram
試驗以25Hz 頻率采集了三種不同旋翼狀態(tài)的飛行數(shù)據(jù),分別是無故障、旋翼槳葉損傷故障和旋翼槳葉裂紋故障,其中旋翼裂紋故障有三個級別,依次是輕微、中等和嚴重;旋翼損傷故障從輕微到嚴重有4 個故障級別。四旋翼飛行器8種不同故障損傷如圖5所示。
圖5 四旋翼飛行器不同故障損傷圖Fig.5 Damage diagram of different faults of quadrotor aircraft
在故障發(fā)生后,四旋翼飛行器的姿態(tài)角會發(fā)生較大幅度的擺動。四旋翼飛行器的3 號槳葉發(fā)生輕微斷裂損傷時,發(fā)生故障時的四旋翼飛行器姿態(tài)角輸出和無故障時的姿態(tài)角輸出如圖6所示。由圖6(a)和圖6(b)可得,相比于無故障的姿態(tài)角數(shù)據(jù),發(fā)生故障后的無人機姿態(tài)角數(shù)據(jù)出現(xiàn)了明顯的噪聲,但通過肉眼很難對故障進行判別。本文將對采集的多旋翼無人機飛行數(shù)據(jù)進行分析處理,并建立相應的診斷模型以完成四旋翼飛行器結(jié)構(gòu)損傷性故障診斷。
圖6 四旋翼飛行器各姿態(tài)角輸出Fig.6 Each attitude angle output of quadrotor aircraft
對飛行數(shù)據(jù)進行預處理,隨機選取部分數(shù)據(jù)建立不同工況條件下的試驗訓練集和測試集。其中,訓練集是分別在無負載條件下選擇每種單一故障樣本數(shù)為10、30、60、100和500 個的不同數(shù)據(jù)集。測試數(shù)據(jù)集由樣本數(shù)均為500 個的三個不同工況的數(shù)據(jù)集組成。數(shù)據(jù)集具體劃分見表1。
表1 數(shù)據(jù)集具體劃分Table 1 Data set specific division
本文在Ubuntu 18.04 操作系統(tǒng)下,采用Pytorch 搭建試驗模型,SHNN模型中的CNLS網(wǎng)絡主要由一個4層網(wǎng)絡結(jié)構(gòu)的一維卷積神經(jīng)網(wǎng)絡和128 個LSTM 單元組成。SHNN模型在訓練時采用Adam 算法來進行參數(shù)優(yōu)化,學習率設置為0.0015,最大迭代輪次為100 次。輸入樣本的尺寸為35 × 10,其中10 表示輸入單時序的輸入尺寸,35 表示處輸入的總時序總數(shù)。模型的輸出為長度為64 的一維矢量。SHNN模型的主要網(wǎng)絡結(jié)構(gòu)參數(shù)見表2。
表2 SHNN模型主要網(wǎng)絡結(jié)構(gòu)Table 2 Main network structure of SHNN model
本文選取表1 中的無負載條件下5 個訓練集作為模型的訓練數(shù)據(jù),選取無負載條件下的測試集1來驗證模型的性能。SHNN模型的訓練集準確率曲線和測試準確率曲線如圖7所示。可以看出,SHNN 模型在不同訓練集的準確率迅速達到了98%左右并趨于平穩(wěn),這表明了SHNN 模型在小樣本的條件下可以依賴自身網(wǎng)絡結(jié)構(gòu)從樣本中學習到有效信息。
圖7 不同訓練樣本數(shù)的訓練集和測試集準確率曲線圖Fig.7 Accuracy curves diagram of training set and test set under different training samples
由圖7(a)中可知,SHNN 模型在測試樣本規(guī)格為10個的條件下,測試集的準確率穩(wěn)定在84%左右,遠低于訓練集的準確率,此時模型產(chǎn)生了較強的過擬合;在圖7(b)中,樣本規(guī)格增加到30個,SHNN模型在測試數(shù)據(jù)上的診斷準確率超過了90%,與圖7(a)相比,模型過擬合問題得到了明顯改善;在圖7(c)和圖7(d)中,隨著訓練集的規(guī)模不斷增大,模型在測試集的準確率分別達到了 93%和 97%。直到圖7(e),模型的訓練集準確率和測試集準確率基本相同,實現(xiàn)了對四旋翼飛行器的故障診斷??傮w而言,當樣本數(shù)量不斷增加時,SHNN模型的泛化能力逐漸提高,模型訓練過程也更加平穩(wěn)。
SHNN模型采用不同規(guī)模的訓練集得到的模型在測試集1的診斷準確率如圖8所示。可以看出,樣本數(shù)量的增加對模型訓練集準確率的提高效果顯著,而且模型診斷準確率隨樣本數(shù)增加而逐漸提高。
圖8 SHNN在不同訓練集下的訓練集和測試集1的準確率Fig.8 SHNN’s accuracy of training set and test set 1 under different training sets
為了分析本文提出的SHNN中特征提取網(wǎng)絡對故障模型故障診斷性能的影響,對比三種不同的特征提取方法:只使用1D-CNN 進行特征提取、只利用LSTM 進行特征提取和采用本文提出的CNLS網(wǎng)絡進行特征提取。在不同的樣本數(shù)的訓練集下測試了各個特征提取方法的診斷準確率,結(jié)果見表3。
表3 不同特征提取方法的故障診斷準確率(單位:%)Table 3 Fault diagnostic accuracy of different featureextraction methods(Unit:%)
分析結(jié)果可得,每類樣本數(shù)據(jù)量只有 10 個時,采用CNLS為特征提取網(wǎng)絡的模型診斷準確率可達到84.2%,高于LSTM模型的診斷準確率(10.1%),而采用1D-CNN模型的診斷準確率只有52.8%??梢钥闯?,在模型中的訓練樣本數(shù)特別少的情況下,1D-CNN 的特征提取能力最差。不同訓練模型的診斷準確率均隨著樣本數(shù)量的增加而升高,但是在不同規(guī)模的訓練樣本條件下,本文提出的CNLS 網(wǎng)絡作為模型的特征提取網(wǎng)絡時,模型的準確率在不同樣本規(guī)模的數(shù)據(jù)集下均達到84%以上,診斷準確率明顯優(yōu)于1D-CNN 和LSTM。這說明了本文所提CNLS 網(wǎng)絡在數(shù)據(jù)特征提取上的優(yōu)越性。
為了驗證本文提出的模型中相似度度量方法對模型診斷的性能,在本文提出的孿生網(wǎng)絡框架下,依次采用歐氏距離、余弦距離和 MMD 來度量樣本對之間的差異。三種不同相似度度量方法分別在不同的數(shù)據(jù)樣本規(guī)格下對模型診斷準確率進行驗證,結(jié)果見表4。
表4 不同相似度度量方法的故障診斷準確率(單位:%)Table 4 Fault diagnosis accuracy of different similaritymeasurement methods(Unit:%)
當樣本量為10 個時,采用MMD 度量方式的模型診斷準確率為84.2%,遠高于采用歐氏距離和余弦距離度量方式模型的診斷準確率。隨著訓練樣本數(shù)量的增加,采用三種度量方式的模型的診斷準確率均有所上升。當采用訓練集5進行訓練時,采用MMD度量方式的模型診斷準確率為98.1%,同時比歐氏距離高出1.8%,比余弦距離高出1.2%。從整體來看,在不同規(guī)模的訓練集下,采用MMD度量方式的模型診斷性能均優(yōu)于其他兩種相似度度量方法。
為了進一步驗證SHNN模型在小樣本條件下對飛行器故障診斷的性能,選擇了不同子模型組合的孿生網(wǎng)絡模型和原型網(wǎng)絡作為對比方法。孿生網(wǎng)絡使用1D-CNN作為模型的特征提取網(wǎng)絡,以歐氏距離度量樣本對之間的相似度。原型網(wǎng)絡[14]是小樣本學習方法之一,通過將訓練數(shù)據(jù)集劃分為支持集和查詢集,計算待測樣本與類原型之間的距離來完成最近鄰分類。
三種方法采用不同樣本規(guī)格訓練集進行訓練,分別使用相同工況的測試集1和兩種不同工況的測試集2、測試集3進行驗證分析與測試,診斷結(jié)果如圖9~圖11所示。由圖9可得,在相同工況條件下,樣本數(shù)量對識別準確率有明顯的影響,隨著樣本數(shù)量的增加,不同模型的診斷準確率越高。但本文提出的SHNN 方法在5 種不同規(guī)格的訓練集下,診斷準確率明顯高于另兩種方法,尤其是當訓練樣本數(shù)量設置為30個時,SHNN模型診斷準確率為90.6%,遠高于孿生網(wǎng)絡的69.2%和原型網(wǎng)絡的71.3%。由圖10 和圖11 可得,飛行器負載變化越大,其故障診斷的準確率越低。面對不同樣本數(shù)量的訓練集,孿生網(wǎng)絡和原型網(wǎng)絡的診斷性能均較差,如當訓練樣本數(shù)量設置為10 個時,二者在兩種工況下的診斷準確率均低于47%;當訓練樣本數(shù)量設置為500個時,二者在兩種工況下的診斷準確率均低于73%。然而,本文所提出的SHNN模型在訓練樣本數(shù)量設置為10個時,兩種工況下的診斷準確率分別為70.3%和66%;當訓練樣本數(shù)量設置為500個時,SHNN模型在兩種工況下的診斷準確率分別為84.1%和89.1%,其診斷性能明顯優(yōu)于孿生網(wǎng)絡和原型網(wǎng)絡方法。
圖9 各類故障診斷方法在測試集1診斷準確率Fig.9 Diagnostic accuracy of various fault diagnosis methods in test set 1
圖10 各類故障診斷方法在測試集2診斷準確率Fig.10 Diagnostic accuracy of various fault diagnosis methods in test set 2
圖11 各類故障診斷方法在測試集3診斷準確率Fig.11 Diagnostic accuracy of various fault diagnosis methods in test set 3
綜上所述,在變工況的條件下,孿生網(wǎng)絡和原型網(wǎng)絡模型的診斷準確率逐漸降低,模型的泛化能力較弱。本文提出的SHNN 算法在變工況條件下訓練測試不同規(guī)格的小樣本數(shù)據(jù)集,仍得到較佳的故障診斷性能。因此,相較于其他方法,SHNN診斷模型表現(xiàn)出了優(yōu)異的泛化能力。
本文對多工況小樣本數(shù)據(jù)集的四旋翼飛行器故障診斷方法進行了深入研究,提出了一種基于CNLS-MMD 的孿生混合網(wǎng)絡四旋翼飛行器故障診斷方法,采用將CNN對空間特征的提取能力與LSTM對時域數(shù)據(jù)信號特征的提取能力相結(jié)合的特征提取網(wǎng)絡來改進診斷模型的特征提取網(wǎng)絡,利用MMD 優(yōu)化網(wǎng)絡相似度的度量方法,構(gòu)建了SHNN故障診斷模型,實現(xiàn)了對四旋翼飛行器的故障診斷。利用實驗室采集的四旋翼飛行器飛行數(shù)據(jù)進行了相關試驗,結(jié)果表明,與原型網(wǎng)絡和孿生網(wǎng)絡兩種方法相比,本文提出的基于CNLS-MMD的孿生混合網(wǎng)絡四旋翼飛行器故障診斷方法在多種小樣本條件下均具有更高的故障診斷準確率,同時在小樣本與變工況條件疊加的場景下,表現(xiàn)出了較佳的故障診斷性能和優(yōu)秀的泛化能力。