高 偉,李福勝,張鐵竹
(鄭州鐵路職業(yè)技術(shù)學(xué)院機(jī)車(chē)車(chē)輛學(xué)院,河南 鄭州 451460)
模擬電路作為工業(yè)電子設(shè)備的重要組成部分,廣泛應(yīng)用于工業(yè)控制、信號(hào)分析等領(lǐng)域[1-3]。模擬電路的失效會(huì)導(dǎo)致系統(tǒng)性能退化、失效等,造成財(cái)產(chǎn)損失和人員傷亡。因此,研究模擬電路故障診斷方法對(duì)于工業(yè)電子設(shè)備安全可靠運(yùn)行具有重要意義[4-5]。
由于復(fù)雜模擬電路很難精確建模,因此基于數(shù)據(jù)驅(qū)動(dòng)的方法得到了廣泛應(yīng)用。數(shù)據(jù)驅(qū)動(dòng)方法一般包括特征提取和故障模式分類(lèi)2 部分。特征提取主要是利用現(xiàn)代信號(hào)處理技術(shù)來(lái)提取故障特征,故障模式分類(lèi)通常采用人工神經(jīng)網(wǎng)絡(luò)ANN(Artificial Neural Network)、支持向量機(jī)SVM(Support Vector Machine)等淺層機(jī)器學(xué)習(xí)方法來(lái)識(shí)別不同故障模式。Yuan L F 等[6]選擇輸出信號(hào)的熵和峰度作為故障特征,提出一種基于ANN 的模擬電路故障診斷方法。Song D 等[7]將輸出信號(hào)經(jīng)過(guò)分?jǐn)?shù)階傅里葉變換后提取多種統(tǒng)計(jì)特征,采用核主成分分析KPCA(Principle Component Analysis)進(jìn)行特征降維后輸入SVM 進(jìn)行模型訓(xùn)練,利用訓(xùn)練好的SVM 模型進(jìn)行故障模式分類(lèi)。Arabi A 等[8]提出一種基于多分類(lèi)自適應(yīng)神經(jīng)模糊推理系統(tǒng)ANFIS(Adaptive Neuro-Fuzzy Inference System)的故障診斷方法,提取信號(hào)多種時(shí)頻域特征進(jìn)行模型訓(xùn)練。然而,這些方法依賴(lài)于信號(hào)處理技術(shù)和專(zhuān)家經(jīng)驗(yàn),難以處理故障根源與信號(hào)特征之間的復(fù)雜非線性關(guān)系。
近年來(lái),CNN、深度信念網(wǎng)絡(luò)DBN(Deep Belief Network)等深度學(xué)習(xí)算法已經(jīng)廣泛應(yīng)用在故障診斷領(lǐng)域,能夠直接提取深層故障特征,同時(shí)提高故障診斷準(zhǔn)確率[9]。Zhang G Q 等[10]提出了一種基于深度信念網(wǎng)絡(luò)的故障診斷方法,采用DBN 模型對(duì)輸出信號(hào)進(jìn)行自動(dòng)特征提取。此外,相比于2D CNN 網(wǎng)絡(luò)主要處理圖像數(shù)據(jù),1D CNN 由于能夠高效處理一維時(shí)間序列數(shù)據(jù),已經(jīng)廣泛應(yīng)用于心電監(jiān)護(hù)、軸承故障診斷、結(jié)構(gòu)健康檢測(cè)等領(lǐng)域[11],并取得了不錯(cuò)的效果。然而,傳統(tǒng)的1D CNN 一般采用多層全連接網(wǎng)絡(luò)作為分類(lèi)器,因其參數(shù)過(guò)多容易造成模型過(guò)擬合,造成模型訓(xùn)練失敗,對(duì)于未知樣本的故障診斷準(zhǔn)確率較低。因此,提出一種基于1D CNN 的模擬電路故障診斷方法,直接從原始輸出信號(hào)中提取深層故障特征。同時(shí),采用全局平均池化層代替多層全連接網(wǎng)絡(luò),從而減少模型參數(shù),提高訓(xùn)練效率,避免模型過(guò)擬合。
采用的網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示,1D CNN 主要由3個(gè)1D 卷積層、2 個(gè)最大池化層、1 個(gè)全局平均池化層和1 個(gè)Softmax 分類(lèi)器組成。卷積層將輸入的局部區(qū)域與多個(gè)濾波器核進(jìn)行卷積操作,然后送入神經(jīng)元產(chǎn)生輸出特征。每個(gè)過(guò)濾器采用相同的卷積核來(lái)提取輸入局部區(qū)域的特征,這通常稱(chēng)為權(quán)重共享。卷積操作可以定義為:
圖1 1D CNN 模型結(jié)構(gòu)
在卷積操作后,采用激活函數(shù)來(lái)得到輸入信號(hào)的非線性表示。近年來(lái),修正線性單元ReLU(Rectified Linear Unit)通常用作CNN 的激活函數(shù)來(lái)加速模型收斂。ReLU 函數(shù)可以表示為:
在卷積層后一般接池化層來(lái)實(shí)現(xiàn)降采樣操作,從而減少特征空間和網(wǎng)絡(luò)參數(shù)。通常池化層采用最大池化,其可以表示為:
傳統(tǒng)的CNN 模型一般采用多個(gè)全連接層來(lái)實(shí)現(xiàn)故障分類(lèi),但是全連接層會(huì)增加CNN 模型的參數(shù),容易造成模型過(guò)擬合。全局平均池化層由于其具有不增加模型參數(shù)、能夠加速模型訓(xùn)練等優(yōu)點(diǎn),目前已經(jīng)用于GoogleNet,MobileNet,ShuffleNet 等CNN模型中,并取得了很好的效果[12]。因此,采用全局平均池化層取代全連接層,將最后一層卷積輸出的所有n個(gè)通道進(jìn)行全局池化操作,從而得到長(zhǎng)度為n的向量,輸入Softmax 分類(lèi)器。Softmax 分類(lèi)器可以表示為:
式中:zj表示第j個(gè)輸出神經(jīng)元,m表示輸出神經(jīng)元總數(shù)。
所提出的模擬電路故障診斷方法采用1D CNN直接從電路輸出電壓信號(hào)中提取具有良好可分性的故障特征,采用全局池化層代替全連接層來(lái)減少模型參數(shù),后接Softmax 分類(lèi)器實(shí)現(xiàn)故障模式分類(lèi),能夠避免模型過(guò)擬合,提高模型分類(lèi)準(zhǔn)確率,提高模型訓(xùn)練效率,主要流程包括以下幾個(gè)步驟:
(1)針對(duì)被測(cè)電路,通過(guò)靈敏度分析確定故障模式,定義元件參數(shù)和容差;
(2)選取合適的激勵(lì)源,通過(guò)時(shí)域暫態(tài)分析和蒙特卡洛分析法得到不同故障模式下的原始時(shí)間序列信號(hào),每次蒙特卡洛分析得到一個(gè)原始輸出信號(hào),每個(gè)原始輸出信號(hào)看作一個(gè)樣本;
(3)對(duì)數(shù)據(jù)進(jìn)行歸一化處理,數(shù)值限定在[0,1]范圍內(nèi),并將每個(gè)故障模式的數(shù)據(jù)平均隨機(jī)地劃分為訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集;
(4)設(shè)置1D CNN 的網(wǎng)絡(luò)層數(shù)和類(lèi)型、卷積核的大小和滑動(dòng)窗口寬度、池化層窗口大小、學(xué)習(xí)率等參數(shù),利用訓(xùn)練數(shù)據(jù)集訓(xùn)練1D CNN 模型;
(5)將測(cè)試數(shù)據(jù)集輸入訓(xùn)練好的模型,進(jìn)行故障數(shù)據(jù)分類(lèi),驗(yàn)證模型的診斷性能,選用診斷準(zhǔn)確率作為評(píng)價(jià)指標(biāo)。
以四運(yùn)放雙二階高通濾波器電路為實(shí)驗(yàn)電路,采用Candence16.6 軟件進(jìn)行電路仿真實(shí)驗(yàn)來(lái)獲取故障模式數(shù)據(jù),算法編程由Python3.6 實(shí)現(xiàn),采用Keras 架構(gòu)搭建1D CNN 模型。所有程序運(yùn)行于處理器為Intel core i7-7500U、內(nèi)存為8G 的計(jì)算機(jī)上。
實(shí)驗(yàn)電路如圖2 所示,激勵(lì)源選擇峰值為5 V,持續(xù)時(shí)間為10 μs 的單脈沖信號(hào),電阻和電容的容差均設(shè)置為5%。
圖2 四運(yùn)放雙二階高通濾波器電路
圖3 為不同故障模式下被測(cè)電路輸出電壓,選取0~280 μs 內(nèi)的被測(cè)電路輸出電壓直接作為模型輸入。通過(guò)蒙特卡洛分析,每個(gè)模式得到500 個(gè)脈沖響應(yīng)數(shù)據(jù),每個(gè)模式隨機(jī)選取50%的脈沖響應(yīng)數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),其余50%作為測(cè)試數(shù)據(jù)。
圖3 不同故障模式下被測(cè)電路輸出電壓
對(duì)被測(cè)電路進(jìn)行靈敏度分析,選取C1、C2、R1、R2、R3、R4作為被測(cè)元件,故障碼、故障類(lèi)別、標(biāo)稱(chēng)值和故障值如表1 所示,共得到12 個(gè)故障模式和1 個(gè)正常工作模式,其中↑和↓分別表示故障值高于和低于標(biāo)稱(chēng)值。
表1 實(shí)驗(yàn)電路故障代碼及模式
為了獲得更好的訓(xùn)練模型,采用自適應(yīng)矩估計(jì)Adam(Adaptive moment estimation)優(yōu)化器,其非常適合解決數(shù)據(jù)或參數(shù)較大的問(wèn)題,具有較高的計(jì)算效率和較低的內(nèi)存需求。作為模型訓(xùn)練的重要參數(shù),學(xué)習(xí)率的選取直接影響到訓(xùn)練效果。不同學(xué)習(xí)率下的模型訓(xùn)練結(jié)果如圖4 所示,當(dāng)學(xué)習(xí)率為0.005 時(shí),訓(xùn)練過(guò)程能夠最快收斂,得到的模型性能最好。
圖4 不同學(xué)習(xí)率對(duì)比
為了直觀展示1D CNN 模型的特征提取過(guò)程,選擇t 分布隨機(jī)近鄰嵌入t-SNE(t-Distributed Stochastic Neighbor Embedding)進(jìn)行特征降維,將測(cè)試數(shù)據(jù)集的輸入層數(shù)據(jù)和卷積層輸出特征降至2 維空間。
如圖5 所示為原始測(cè)量數(shù)據(jù)和卷積神經(jīng)網(wǎng)絡(luò)不同層輸出特征的二維分布。由圖5(a)所示,F2 和F10 故障模式、F3 和F11 故障模式之間分布幾乎完全重疊,F0、F4 和F12 故障模型之間有明顯的重疊分布,無(wú)法準(zhǔn)確地進(jìn)行故障模式分類(lèi)。采用1D CNN 模型進(jìn)行特征提取后,圖5(b)~(d)分別為第1~第3 卷積層輸出特征的二維分布。由圖5(c)可得,經(jīng)過(guò)2 次卷積操作,F2 和F10 故障模式分布已無(wú)明顯重疊,易于進(jìn)行故障模式分類(lèi)。由圖5(d)可見(jiàn),經(jīng)過(guò)第3 次卷積操作后,除了F0、F2 和F6 故障模式有輕微重疊分布外,其他故障模式均無(wú)重疊,邊界清晰可分,聚集性較好,便于后續(xù)分類(lèi)器故障模式分類(lèi)。實(shí)驗(yàn)結(jié)果表明,提出的方法能夠有效地從原始時(shí)間序列數(shù)據(jù)中提取深度故障特征。
圖5 特征可視化
圖6 為1D CNN 測(cè)試集故障分類(lèi)結(jié)果的混淆矩陣,F0、F2 和F6 故障模式的分類(lèi)結(jié)果較差,這與圖5(d)中不同故障類(lèi)型特征的2 維分布情況對(duì)應(yīng)。F0、F2 和F6 故障模式的分類(lèi)準(zhǔn)確率均大于0.96,其余故障模式分類(lèi)準(zhǔn)確率均為1,每個(gè)故障模式的分類(lèi)準(zhǔn)確率相差不超過(guò)0.04。實(shí)驗(yàn)結(jié)果說(shuō)明,所提出的故障診斷方法有較高的故障診斷準(zhǔn)確率,且對(duì)不同故障模式的診斷性能穩(wěn)定。
圖6 診斷結(jié)果混淆矩陣
對(duì)四運(yùn)放雙二階高通濾波器電路進(jìn)行故障診斷對(duì)比實(shí)驗(yàn),對(duì)比實(shí)驗(yàn)均以電路中C1,C2,R1,R2,R3,R4 為被測(cè)元件,故障值均為偏離元件標(biāo)稱(chēng)值±50%。實(shí)驗(yàn)結(jié)果如表2 所示,所提出的基于1D CNN 的故障診斷方法的診斷準(zhǔn)確率明顯高于NN、SVM 等傳統(tǒng)淺層網(wǎng)絡(luò),說(shuō)明該方法能夠更有效地提取深層故障特征,更容易實(shí)現(xiàn)準(zhǔn)確故障模式分類(lèi)。與基于DBN 的深度學(xué)習(xí)故障診斷方法相比,該方法在不對(duì)輸出信號(hào)進(jìn)行人工處理以及更大測(cè)試集下診斷準(zhǔn)確率提升了0.08%,表現(xiàn)出了更好的性能。
表2 故障診斷方法結(jié)果對(duì)比
同時(shí),所提出的1D CNN 模型由于直接將原始信號(hào)作為模型輸入,未進(jìn)行人工特征提取,因此其模型訓(xùn)練時(shí)間為61.75 s,大于Yuan L F 等[6]和Song D等[7]中淺層模型的訓(xùn)練時(shí)間。但是,本文方法的測(cè)試時(shí)間為0.266 5 s,能夠滿(mǎn)足應(yīng)用要求。
提出了一種基于1D CNN 的模擬電路故障診斷方法,能夠直接高效地提取原始輸出信號(hào)的深度故障特征,無(wú)需專(zhuān)家經(jīng)驗(yàn)和信號(hào)處理技術(shù)。采用全局平均池化層取代傳統(tǒng)CNN 模型的全連接層,減少了模型參數(shù),避免了模型過(guò)擬合,提高了模型訓(xùn)練效率和診斷準(zhǔn)確率。實(shí)驗(yàn)結(jié)果表明,相比于傳統(tǒng)方法,所提出的故障診斷方法能夠有效提取故障特征,提高了故障診斷準(zhǔn)確率,適用于模擬電路故障診斷領(lǐng)域。