毛冠通,洪流王景霖
1.武漢理工大學(xué)機電工程學(xué)院,湖北 武漢 430070
2.航空工業(yè)上海航空測試技術(shù)研究所 故障診斷與健康管理技術(shù)航空科技重點實驗室,上海 201601
現(xiàn)代機械設(shè)備廣泛應(yīng)用在電力、航空、冶金、交通、生產(chǎn)生活等各個領(lǐng)域,機械設(shè)備正朝著復(fù)雜化、精密化、智能化方向發(fā)展,通常會在復(fù)雜、嚴峻的工作場景中使用。一旦發(fā)生故障損壞,所造成的后果可能是災(zāi)難性的,因此機械故障暗藏著巨大的經(jīng)濟損失和安全風(fēng)險。為了避免和預(yù)防事故的發(fā)生,就必須建立科學(xué)、高效的故障診斷系統(tǒng)。由于可觀的效益提升和安全保障,機械故障診斷技術(shù)逐漸成為提升設(shè)備工作效率和企業(yè)生產(chǎn)資料現(xiàn)代化管理的關(guān)鍵技術(shù)[1,2]。
傳統(tǒng)機械故障檢測技術(shù)是知識驅(qū)動的方法,其診斷過程側(cè)重于通過數(shù)值計算或信號處理技術(shù)提取有效的信號特征,旨在通過數(shù)學(xué)建模分析、診斷、定位故障狀態(tài)。雖然知識驅(qū)動的方法在機械故障診斷領(lǐng)域取得了一些研究成果,但這些方法需要依靠大量的知識儲備以及專家的經(jīng)驗,很難做到普及應(yīng)用。
近年來,深度學(xué)習(xí)技術(shù)蓬勃發(fā)展,其引發(fā)的人工智能熱潮席卷各行各業(yè),這也給故障診斷領(lǐng)域帶來了新的曙光。基于深度學(xué)習(xí)的故障診斷技術(shù)已經(jīng)在很多方面取得了比傳統(tǒng)故障診斷技術(shù)更好的結(jié)果。因此傳動設(shè)備故障診斷技術(shù)從側(cè)重研究信號處理的技術(shù),正逐漸過渡到側(cè)重研究數(shù)據(jù)智能驅(qū)動方法。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)[3]是有監(jiān)督深度學(xué)習(xí)算法的一種,被廣泛應(yīng)用在故障診斷領(lǐng)域,它能從原始數(shù)據(jù)中提取出有效的特征。魏東等[4]提出了基于卷積神經(jīng)網(wǎng)絡(luò)的輸電線路內(nèi)外故障的模式識別方法。Lu 等[5]將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用到滾動軸承的故障診斷中,并驗證了該方法的有效性。
盡管深度學(xué)習(xí)在故障診斷研究中取得了實質(zhì)性進展,對故障的分類達到了很高的準(zhǔn)確率,但訓(xùn)練有效的深度學(xué)習(xí)模型既復(fù)雜又費時。此外,現(xiàn)有深度學(xué)習(xí)故障診斷方法大多都是直接使用采集到的一維信號進行截取和拼接,進而二維信號構(gòu)建,此方法并不能有力地說明它們在空間上具有很強的結(jié)構(gòu)特征。因此,開發(fā)一種數(shù)據(jù)驅(qū)動的在線故障診斷方法,能夠消除建模的復(fù)雜性,表征數(shù)據(jù)中的空間結(jié)構(gòu),在有限的訓(xùn)練周期內(nèi)達到預(yù)期的診斷精度,具有十分重要的意義。
本文提出了一種基于遷移學(xué)習(xí)的深度學(xué)習(xí)模型。首先使用短時傅里葉變換(Short-Time Fourier Transform,STFT)把采集到的一維時域信號轉(zhuǎn)換為頻域的二維信號,考慮了時域和頻域信息,增加了數(shù)據(jù)輸入的信息量,避免了傳統(tǒng)數(shù)據(jù)拼接方法中空間結(jié)構(gòu)沒有關(guān)聯(lián)的問題,可解釋性更強。其次,結(jié)合遷移學(xué)習(xí)和集成學(xué)習(xí),提出基于卷積神經(jīng)網(wǎng)絡(luò)的遷移融合方法,降低了建模的復(fù)雜性,提高了深度學(xué)習(xí)模型的訓(xùn)練速度和泛化能力。
時頻分析得到的時頻圖表示的是時域和頻域的聯(lián)合分布信息,直觀地反映了信號的各頻率成分隨時間變化的關(guān)系。時頻圖包含了豐富的設(shè)備狀態(tài)信息。短時傅里葉變換是針對時變、非平穩(wěn)信號的一種聯(lián)合時頻分析方法。短時傅里葉變換能將一維的振動信號變換成適應(yīng)于卷積處理的特征圖:一種包含時域和頻域信息的特征譜。
短時傅里葉變換是通過給連續(xù)的時域信號x(t)加窗,將信號分成可以看成是短暫平穩(wěn)的小段信號,對每一小段信號分別進行傅里葉變換。短時傅里葉變換的定義式為:
式中:x(t)為時域信號;w(t-τ)為加窗函數(shù);τ為加窗函數(shù)的中心。由此可以看出,STFT 就是將信號x(t)乘以一個以τ為中心的窗函數(shù)w(t-τ)所做的傅里葉變換。本研究中使用海明窗作為窗函數(shù),窗的長度為256。
一維的振動信號在經(jīng)過短時傅里葉變換之后變?yōu)楹袝r頻特征的時頻圖。雖然時頻圖包含了很多的信號特征,但是由于變換后二維圖像的大小遠大于一維數(shù)據(jù)的數(shù)據(jù)量,因此,圖像壓縮勢在必行。在圖像縮放處理中有很多方法,包括最鄰近插值法、雙線性內(nèi)插法和雙三次插值法等。最鄰近插值法雖然計算量較小,但可能會造成插值生成的圖像灰度上的不連續(xù),在灰度變化的地方可能出現(xiàn)明顯的鋸齒狀。雙三次插值法雖然能夠解決灰度變化后出現(xiàn)鋸齒狀的問題,但是需要進行大量計算。因此本研究使用雙線性插值來計算圖像壓縮后的灰度值。
卷積神經(jīng)網(wǎng)絡(luò)作為深度學(xué)習(xí)算法中的一種,是一種多層的人工神經(jīng)網(wǎng)絡(luò)。它所采用的權(quán)值共享結(jié)構(gòu)使得模型復(fù)雜度大大降低,減小了計算量。
卷積神經(jīng)網(wǎng)絡(luò)由輸入層、交替連接的卷積層和降采樣層、全連接層及輸出層幾部分組成。輸入層為原始輸入信號的二維圖形;卷積層和降采樣層均由多個二維平面組成,每個平面為卷積層或者降采樣層處理后輸出的特征圖形,卷積層和降采樣層的層數(shù)可根據(jù)實際需求來確定。
在卷積神經(jīng)網(wǎng)絡(luò)的卷積層,輸入層圖像作為輸入,與卷積核進行卷積運算,然后經(jīng)過非線性變換得到這一層卷積后的特征圖,每一個卷積核對應(yīng)一個特征圖。隨著卷積層數(shù)的增加,卷積核的數(shù)量也會隨之增加。在通過卷積層的運算獲得特征圖之后,若直接使用這些獲得的特征圖去進行分類,將會面臨巨大的計算量,對計算機硬件要求較高,而且還容易出現(xiàn)過擬合的現(xiàn)象。因此,有必要通過降采樣層對上一個卷積層得到的特征圖進行抽樣,以降低特征圖維度,減小計算復(fù)雜度。對特征圖進行矩形劃分,對每個矩形區(qū)域取最大值的運算稱為最大池化,取均值的運算則稱為均值池化。將通過降采樣后得到的所有特征圖的每個像素按一定順序展開,排成一列,構(gòu)成一個特征矢量。特征矢量與輸出層之間進行全部連接,作為全連接層。全連接層位于卷積神經(jīng)網(wǎng)絡(luò)的尾端,用來計算整個網(wǎng)絡(luò)的輸出。使用卷積神經(jīng)網(wǎng)絡(luò)進行分類任務(wù)時,會在全連接層訓(xùn)練出一個分類器。分類器通常會選擇關(guān)于權(quán)值可微的分類方式,使得卷積神經(jīng)網(wǎng)絡(luò)可以使用基于梯度的學(xué)習(xí)方法來進行訓(xùn)練。輸出層輸出的是一個矢量,其設(shè)置的節(jié)點數(shù)與所需類別數(shù)一致,每個節(jié)點的輸出值表示該樣本屬于對應(yīng)類別的概率。
遷移學(xué)習(xí)是機器學(xué)習(xí)的一個新分支,這里僅僅介紹遷移學(xué)習(xí)的基本概念。遷移學(xué)習(xí)是把已經(jīng)訓(xùn)練好的模型參數(shù)遷移到新的模型來幫助新模型訓(xùn)練。考慮數(shù)據(jù)或任務(wù)是存在相關(guān)性的,所以通過遷移學(xué)習(xí),可以將已經(jīng)訓(xùn)練好的模型參數(shù)通過某種方式來分享給新模型從而加快并優(yōu)化模型的學(xué)習(xí)效率。
遷移學(xué)習(xí)分為樣本遷移、特征遷移、模型遷移、關(guān)系遷移等幾種遷移方法。為了進一步提高深度學(xué)習(xí)模型在解決實際故障診斷問題時的實用性和靈活性。曹等[6]提出了一種基于CNN的深度遷移學(xué)習(xí)方法,用于齒輪的早期故障診斷,該方法所需的訓(xùn)練數(shù)據(jù)相對較少。溫等[7]提出了一種基于稀疏自編碼算法(SAE)的軸承故障診斷的遷移學(xué)習(xí)方法,該方法利用SAE提取原始數(shù)據(jù)的特征,并采用最大平均偏差來最小化特征空間的差異懲罰。綜合考慮各種損失函數(shù)的優(yōu)缺點,本文使用交叉熵函數(shù)來最小化特征空間的差異懲罰,并且采用的是CNN 的融合遷移,而不是簡單地進行遷移學(xué)習(xí)。使用融合遷移提高了模型的性能和泛化能力,能夠更好地適應(yīng)所需解決的問題。
提出的在線故障診斷算法首先將采集到的原始信號進行STFT變換,接著把圖像預(yù)處理為壓縮的灰度圖像,然后利用這些灰度圖像來實現(xiàn)本研究提到的基于遷移學(xué)習(xí)的在線故障診斷方法。隨著遷移學(xué)習(xí)的使用,所提出的方法能夠及時地實現(xiàn)令人滿意的診斷準(zhǔn)確性。
從工業(yè)設(shè)備采集的狀態(tài)監(jiān)測數(shù)據(jù)一般包括圖像數(shù)據(jù)和波形信號數(shù)據(jù)。圖像數(shù)據(jù)通過圖像處理技術(shù)直接用于故障診斷,波形信號數(shù)據(jù)也可以通過信號處理技術(shù)在圖像中顯示。本文采用數(shù)據(jù)預(yù)處理算法將采集到的信號數(shù)據(jù)通過STFT轉(zhuǎn)換為灰度圖像,同時通過圖像壓縮技術(shù)對圖像進行壓縮,來減少數(shù)據(jù)的存儲量,壓縮后的灰度圖像數(shù)據(jù)是CNN的理想輸入。
圖1顯示了所提出的數(shù)據(jù)預(yù)處理算法的處理過程。從原始信號中隨機選取一段連續(xù)數(shù)據(jù)信號x(i),包含4096 個連續(xù)信號點。對所選擇的4096 個連續(xù)信號點進行歸一化處理,然后對歸一化后的數(shù)據(jù)進行STFT轉(zhuǎn)換為圖像,其次對圖像信號進行灰度化處理,最后把灰度圖像進行壓縮。
在本節(jié)中,提出了一種新的TCNN框架,該框架由基于Lenet-5 的在線CNN 和具有淺層結(jié)構(gòu)的幾個離線CNN 組成,如圖2所示。一旦獲得了包含足夠故障信息的圖像,則在線CNN被訓(xùn)練,然后通過對這些圖像進行分類來診斷故障。以前的幾項研究得出兩個結(jié)論:(1)用從相關(guān)數(shù)據(jù)集或任務(wù)中學(xué)習(xí)到的遷移特征初始化深度神經(jīng)網(wǎng)絡(luò),可以提高網(wǎng)絡(luò)的泛化性能,提高網(wǎng)絡(luò)的效率;(2)淺層的低級特征對于不同但相關(guān)的任務(wù)是適用的,而最后一層的高級特征提取通常是針對于特定任務(wù)的。在此基礎(chǔ)上,為了提高在線CNN的實時性,還對多個離線CNN進行了相關(guān)任務(wù)或數(shù)據(jù)集的預(yù)訓(xùn)練,并將其淺層卷積層遷移到在線CNN。因此,在離線CNN 中使用相應(yīng)卷積濾波器的權(quán)值和偏差直接初始化在線CNN的淺層。
圖1 數(shù)據(jù)預(yù)處理過程Fig.1 Data preprocessing process
在線CNN:LeNet-5 是一種經(jīng)典有效的卷積網(wǎng)絡(luò)結(jié)構(gòu),已成功地應(yīng)用于多種圖像分類任務(wù)中。在線CNN 網(wǎng)絡(luò)是在LeNet-5 基礎(chǔ)上,設(shè)計并優(yōu)化了網(wǎng)絡(luò)CNN 模型。研究表明CNN中較小的卷積濾波器尺寸有利于提高模型性能,因此所有卷積濾波器尺寸為5×5或3×3,圖3給出了在線CNN的結(jié)構(gòu)。其中有一個輸入層、4個卷積層、4個最大池化層、一個全連接層和一個Softmax[8]輸出層。每一個卷積層都使用ReLU 函數(shù)[9]來激活以增加模型的非線性??梢愿鶕?jù)不同情況下輸入圖像的大小來改變?yōu)V波器的數(shù)量和尺寸。此外,在線CNN模型中,采用零填充技術(shù),使得特征映射的大小在每層中保持不變。
離線CNN:離線CNN首先被用來從相關(guān)任務(wù)或數(shù)據(jù)集中提取淺層的底層特征,然后將其中的淺層遷移到在線CNN 中進行初始化。通過從不同的離線CNN 中獲取不同的淺層特征,可以提高在線CNN的可擴展性和效率。在本文中,為了簡單起見,幾個離線CNN 在相同情況下共享相同的結(jié)構(gòu)和參數(shù)。然而,通過隨機梯度下降的網(wǎng)絡(luò)監(jiān)督訓(xùn)練,也可以獲得不同的離線CNN。
為了更有效地提取低層特征,離線CNN的結(jié)構(gòu)應(yīng)該比在線CNN的結(jié)構(gòu)更淺,如圖4所示。離線CNN中只有一個輸入層、三個卷積層、三個池化層、一個全連接層和一個Softmax輸出層。此外,在提出的TCNN框架設(shè)計過程中,還需要進一步考慮影響方法性能的兩個重要因素。第一個是離線CNN的數(shù)量,它決定了網(wǎng)絡(luò)CNN的淺層由多少個不同的離線CNN組成。第二種是用于訓(xùn)練離線CNN的數(shù)據(jù)集,這些數(shù)據(jù)集決定了傳輸給在線CNN獲取的不同知識。
圖2 TCNN框架結(jié)構(gòu)Fig.2 TCNN frame structure
圖3 在線CNN框架結(jié)構(gòu)Fig.3 Online CNN frame structure
圖4 離線CNN框架結(jié)構(gòu)Fig.4 Offline CNN frame structure
在成功設(shè)計了在線和離線CNN 結(jié)構(gòu)后,在算法1 中給出了TCNN 框架模型訓(xùn)練過程。在該框架中所有CNN 模型中訓(xùn)練所使用的損失函數(shù)Softmax交叉熵損失函數(shù)。定義如下:
當(dāng)i為確定分類時,y為1,其他情況下y為0,p為概率,i屬于某個具體的類別,N為訓(xùn)練集的數(shù)量。值得注意的是,微調(diào)和凍結(jié)傳輸層可以用來訓(xùn)練在線CNN 模型。在本文中,當(dāng)訓(xùn)練集較大時,微調(diào)效果更好。
通過對電機軸承故障數(shù)據(jù)集的實例研究,對所提出的在線故障診斷方法進行了驗證。檢驗所提出的在線故障診斷方法的準(zhǔn)確性和有效性。所有的試驗都是在Tensorflow框架下進行的,并運行在一個配有英特爾6 核2.9GHz CPU、GTX1080 GPU和16GB內(nèi)存的深度學(xué)習(xí)工作站上。
在CWRU 軸承數(shù)據(jù)中心提供的軸承故障數(shù)據(jù)集上對所提出的在線故障診斷方法進行評估[10]。如圖5 所示,試驗臺由2hp 的電機、扭矩傳感器和測功機組成。采用電火花加工的方法,將單點故障引入到試驗軸承中,軸承振動信號數(shù)據(jù)由安裝在電機驅(qū)動端的扭矩傳感器測量。采樣頻率為12kHz,負載范圍為0~3。軸承數(shù)據(jù)集中有10 個運行狀況,分別為內(nèi)滾道故障(IF)、外滾道故障(OF)和滾珠故障(BF),均具有三種不同的損壞尺寸(0.18mm、0.36mm 和0.54mm)以及正常工況。
算法:TCNN框架訓(xùn)練過程TCNN框架訓(xùn)練算法。
圖5 CWRU軸承數(shù)據(jù)集測試試驗臺Fig.5 CWRU bearing dataset test bench
輸入:給定用于訓(xùn)練離線CNN 的數(shù)據(jù)集Xs{xs,ys},用于訓(xùn)練在線CNN的數(shù)據(jù)集Xt{xt,yt}。
輸出:訓(xùn)練后的TCNN框架和診斷結(jié)果。
(1)建立TCNN 框架結(jié)構(gòu),首先建立在線CNN 和離線CNN的結(jié)構(gòu)和超參數(shù),同時給出了離線CNN的數(shù)量。
(2)初始化和預(yù)訓(xùn)練離線CNN,在給定的數(shù)據(jù)集Xs上對離線CNN進行隨機初始化和預(yù)訓(xùn)練,用隨機梯度下降法來求解Softmax 交叉熵的最小值,獲得離線CNN 的權(quán)值W和偏置b。
(3)使用離線CNN 傳輸?shù)膶映跏蓟诰€CNN,在線CNN的淺層由傳輸層的卷積濾波器的權(quán)值W和偏置b來初始化,而其他層則有隨機權(quán)值和偏差初始化。
(4)微調(diào)在線CNN,使用步驟(2)中相同的方法利用Xt數(shù)據(jù)集對在線CNN進行微調(diào)。
(5)輸出經(jīng)過訓(xùn)練的TCNN 框架和診斷結(jié)果,驗證經(jīng)過訓(xùn)練的TCNN框架的準(zhǔn)確性和有效性,并輸出診斷結(jié)果。
在每種負載條件下,隨機選取2000個時域信號樣本進行訓(xùn)練,隨機選取400 個樣本進行測試。在本次試驗中生成并使用了5 個數(shù)據(jù)集,詳情見表1。每個信號樣本包含4096 個數(shù)據(jù)點,并通過數(shù)據(jù)預(yù)處理方法轉(zhuǎn)換成100×100 灰度圖像。圖6中給出在0負載工況下10種運行狀況的灰度圖像。
使用所提出的CNN 模型對預(yù)處理后的灰度圖像進行分類,可以對故障進行診斷。通過觀察可以看出,圖6中不同運行狀況的灰度圖像是有差別的,說明數(shù)據(jù)預(yù)處理方法的有效性。為了滿足在線故障診斷應(yīng)用的實時性要求,提高圖像分類任務(wù)的效率是關(guān)鍵問題。
表1 5個數(shù)據(jù)集的詳細描述Table 1 Detailed description of five datasets
圖6 CWRU軸承數(shù)據(jù)集10種齒輪狀態(tài)圖像Fig.6 Converted images of ten health conditions
在此次試驗研究中,在線CNN 模型和離線CNN 模型的兩種結(jié)構(gòu)都在表2 中進行說明。為了簡單起見,所有的離線CNN 都使用相同的結(jié)構(gòu)和參數(shù)。在這里,卷積層1(16@5×5)表示在卷積1層中有16個大小為5×5的卷積濾波器,而池化層1(2×2)表示在池化 1 層執(zhí)行 2×2 的最大池化操作。所有CNN 模型的超參數(shù),包括初始學(xué)習(xí)率、每批量大小和迭代次數(shù)都是以啟發(fā)的方式選擇的。
使用數(shù)據(jù)集Ⅴ對在線CNN 模型進行訓(xùn)練,初始學(xué)習(xí)率設(shè)置為0.0005,批量大小設(shè)置為100,并且迭代次數(shù)設(shè)置為20。
電機軸承數(shù)據(jù)是在4 種負載條件下采集的,因此離線CNN模型為4個。4個離線CNN分別使用數(shù)據(jù)集I~Ⅳ進行訓(xùn)練。由數(shù)據(jù)集在不同負載下訓(xùn)練的離線CNN 可以為在線CNN 提供不同的知識。對于離線CNN,初始學(xué)習(xí)率為0.001,批量大小為50,迭代次數(shù)為20。在這種情況下學(xué)習(xí)得到的離線CNN模型,其中的卷積1層被傳輸以初始化在線CNN的卷積1層,卷積2層被傳輸以初始化在線CNN的卷積2 層,而在線CNN 則被微調(diào)以使用數(shù)據(jù)集Ⅴ更新所有網(wǎng)絡(luò)參數(shù)。
表2 在線和離線CNN模型的結(jié)構(gòu)Table 2 Structure of online and offline CNN models
該方法的目的是在滿足在線故障診斷應(yīng)用準(zhǔn)確性要求的同時,加快訓(xùn)練過程,提高TCNN模型的效率。
為了驗證本文提出方法的有效性,本文還對傳統(tǒng)機器學(xué)習(xí)、深度學(xué)習(xí)方法(SVM、ANN、CNN、PCA+SVM)的準(zhǔn)確性進行了比較。TCNN框架和上述方法的訓(xùn)練和測試過程全部進行了10次,使用的數(shù)據(jù)集為數(shù)據(jù)集V,平均診斷精度比較結(jié)果顯示在表3中??梢钥闯鏊岢龅姆椒ㄅc傳統(tǒng)機器學(xué)習(xí)相比至少高10%以上,比常規(guī)CNN 提高2%左右。所提出的方法準(zhǔn)確率最高,驗證了提出方法的有效性。
表3 各種方法準(zhǔn)確率試驗結(jié)果Table 3 Accuracy test results of various methods
本文提出了一種在線故障診斷方法。主要貢獻包括:(1)引入一種簡單而有效的方法,將測量的傳感器信號轉(zhuǎn)換為故障圖像,這消除了對專家經(jīng)驗和信號處理知識的依賴;(2)提出了一種新的TCNN 框架,提高在線CNN 的效率和可擴展性,從多個離線CNN 中進行卷積層的遷移;(3)將TCNN 框架應(yīng)用到在線故障診斷中,以改善所提出的方法的實時性。
為了驗證所提出方法的有效性,在CWRU軸承數(shù)據(jù)中心提供的軸承故障數(shù)據(jù)集上進行了驗證,準(zhǔn)確率達到99.52%。結(jié)果表明,該方法能夠有效滿足數(shù)據(jù)驅(qū)動在線故障診斷領(lǐng)域的精度要求,加快在線故障診斷的訓(xùn)練過程。
雖然在線故障診斷方面取得了一定的成果,但今后仍有兩個問題有待解決。首先,所提出的TCNN 框架只有離線CNN的淺層特征被傳到在線CNN中;其次,利用GPU加速成功地訓(xùn)練所提出的TCNN框架仍然是耗時的。因此我們未來的工作將側(cè)重兩個方向:(1)在處理不同的故障診斷任務(wù)時,要驗證離線網(wǎng)絡(luò)的所有層中的特征的可轉(zhuǎn)移性,以提高在線網(wǎng)絡(luò)的性能;(2)將引入諸如MapReduce 和Spar的并行計算平臺,以進一步提高訓(xùn)練效率。