毛冠通,洪流王景霖
1.武漢理工大學機電工程學院,湖北 武漢 430070
2.航空工業上海航空測試技術研究所 故障診斷與健康管理技術航空科技重點實驗室,上海 201601
現代機械設備廣泛應用在電力、航空、冶金、交通、生產生活等各個領域,機械設備正朝著復雜化、精密化、智能化方向發展,通常會在復雜、嚴峻的工作場景中使用。一旦發生故障損壞,所造成的后果可能是災難性的,因此機械故障暗藏著巨大的經濟損失和安全風險。為了避免和預防事故的發生,就必須建立科學、高效的故障診斷系統。由于可觀的效益提升和安全保障,機械故障診斷技術逐漸成為提升設備工作效率和企業生產資料現代化管理的關鍵技術[1,2]。
傳統機械故障檢測技術是知識驅動的方法,其診斷過程側重于通過數值計算或信號處理技術提取有效的信號特征,旨在通過數學建模分析、診斷、定位故障狀態。雖然知識驅動的方法在機械故障診斷領域取得了一些研究成果,但這些方法需要依靠大量的知識儲備以及專家的經驗,很難做到普及應用。
近年來,深度學習技術蓬勃發展,其引發的人工智能熱潮席卷各行各業,這也給故障診斷領域帶來了新的曙光。基于深度學習的故障診斷技術已經在很多方面取得了比傳統故障診斷技術更好的結果。因此傳動設備故障診斷技術從側重研究信號處理的技術,正逐漸過渡到側重研究數據智能驅動方法。
卷積神經網絡(CNN)[3]是有監督深度學習算法的一種,被廣泛應用在故障診斷領域,它能從原始數據中提取出有效的特征。魏東等[4]提出了基于卷積神經網絡的輸電線路內外故障的模式識別方法。Lu 等[5]將卷積神經網絡應用到滾動軸承的故障診斷中,并驗證了該方法的有效性。
盡管深度學習在故障診斷研究中取得了實質性進展,對故障的分類達到了很高的準確率,但訓練有效的深度學習模型既復雜又費時。此外,現有深度學習故障診斷方法大多都是直接使用采集到的一維信號進行截取和拼接,進而二維信號構建,此方法并不能有力地說明它們在空間上具有很強的結構特征。因此,開發一種數據驅動的在線故障診斷方法,能夠消除建模的復雜性,表征數據中的空間結構,在有限的訓練周期內達到預期的診斷精度,具有十分重要的意義。
本文提出了一種基于遷移學習的深度學習模型。首先使用短時傅里葉變換(Short-Time Fourier Transform,STFT)把采集到的一維時域信號轉換為頻域的二維信號,考慮了時域和頻域信息,增加了數據輸入的信息量,避免了傳統數據拼接方法中空間結構沒有關聯的問題,可解釋性更強。其次,結合遷移學習和集成學習,提出基于卷積神經網絡的遷移融合方法,降低了建模的復雜性,提高了深度學習模型的訓練速度和泛化能力。
時頻分析得到的時頻圖表示的是時域和頻域的聯合分布信息,直觀地反映了信號的各頻率成分隨時間變化的關系。時頻圖包含了豐富的設備狀態信息。短時傅里葉變換是針對時變、非平穩信號的一種聯合時頻分析方法。短時傅里葉變換能將一維的振動信號變換成適應于卷積處理的特征圖:一種包含時域和頻域信息的特征譜。
短時傅里葉變換是通過給連續的時域信號x(t)加窗,將信號分成可以看成是短暫平穩的小段信號,對每一小段信號分別進行傅里葉變換。短時傅里葉變換的定義式為:

式中:x(t)為時域信號;w(t-τ)為加窗函數;τ為加窗函數的中心。由此可以看出,STFT 就是將信號x(t)乘以一個以τ為中心的窗函數w(t-τ)所做的傅里葉變換。本研究中使用海明窗作為窗函數,窗的長度為256。
一維的振動信號在經過短時傅里葉變換之后變為含有時頻特征的時頻圖。雖然時頻圖包含了很多的信號特征,但是由于變換后二維圖像的大小遠大于一維數據的數據量,因此,圖像壓縮勢在必行。在圖像縮放處理中有很多方法,包括最鄰近插值法、雙線性內插法和雙三次插值法等。最鄰近插值法雖然計算量較小,但可能會造成插值生成的圖像灰度上的不連續,在灰度變化的地方可能出現明顯的鋸齒狀。雙三次插值法雖然能夠解決灰度變化后出現鋸齒狀的問題,但是需要進行大量計算。因此本研究使用雙線性插值來計算圖像壓縮后的灰度值。
卷積神經網絡作為深度學習算法中的一種,是一種多層的人工神經網絡。它所采用的權值共享結構使得模型復雜度大大降低,減小了計算量。
卷積神經網絡由輸入層、交替連接的卷積層和降采樣層、全連接層及輸出層幾部分組成。輸入層為原始輸入信號的二維圖形;卷積層和降采樣層均由多個二維平面組成,每個平面為卷積層或者降采樣層處理后輸出的特征圖形,卷積層和降采樣層的層數可根據實際需求來確定。
在卷積神經網絡的卷積層,輸入層圖像作為輸入,與卷積核進行卷積運算,然后經過非線性變換得到這一層卷積后的特征圖,每一個卷積核對應一個特征圖。隨著卷積層數的增加,卷積核的數量也會隨之增加。在通過卷積層的運算獲得特征圖之后,若直接使用這些獲得的特征圖去進行分類,將會面臨巨大的計算量,對計算機硬件要求較高,而且還容易出現過擬合的現象。因此,有必要通過降采樣層對上一個卷積層得到的特征圖進行抽樣,以降低特征圖維度,減小計算復雜度。對特征圖進行矩形劃分,對每個矩形區域取最大值的運算稱為最大池化,取均值的運算則稱為均值池化。將通過降采樣后得到的所有特征圖的每個像素按一定順序展開,排成一列,構成一個特征矢量。特征矢量與輸出層之間進行全部連接,作為全連接層。全連接層位于卷積神經網絡的尾端,用來計算整個網絡的輸出。使用卷積神經網絡進行分類任務時,會在全連接層訓練出一個分類器。分類器通常會選擇關于權值可微的分類方式,使得卷積神經網絡可以使用基于梯度的學習方法來進行訓練。輸出層輸出的是一個矢量,其設置的節點數與所需類別數一致,每個節點的輸出值表示該樣本屬于對應類別的概率。
遷移學習是機器學習的一個新分支,這里僅僅介紹遷移學習的基本概念。遷移學習是把已經訓練好的模型參數遷移到新的模型來幫助新模型訓練。考慮數據或任務是存在相關性的,所以通過遷移學習,可以將已經訓練好的模型參數通過某種方式來分享給新模型從而加快并優化模型的學習效率。
遷移學習分為樣本遷移、特征遷移、模型遷移、關系遷移等幾種遷移方法。為了進一步提高深度學習模型在解決實際故障診斷問題時的實用性和靈活性。曹等[6]提出了一種基于CNN的深度遷移學習方法,用于齒輪的早期故障診斷,該方法所需的訓練數據相對較少。溫等[7]提出了一種基于稀疏自編碼算法(SAE)的軸承故障診斷的遷移學習方法,該方法利用SAE提取原始數據的特征,并采用最大平均偏差來最小化特征空間的差異懲罰。綜合考慮各種損失函數的優缺點,本文使用交叉熵函數來最小化特征空間的差異懲罰,并且采用的是CNN 的融合遷移,而不是簡單地進行遷移學習。使用融合遷移提高了模型的性能和泛化能力,能夠更好地適應所需解決的問題。
提出的在線故障診斷算法首先將采集到的原始信號進行STFT變換,接著把圖像預處理為壓縮的灰度圖像,然后利用這些灰度圖像來實現本研究提到的基于遷移學習的在線故障診斷方法。隨著遷移學習的使用,所提出的方法能夠及時地實現令人滿意的診斷準確性。
從工業設備采集的狀態監測數據一般包括圖像數據和波形信號數據。圖像數據通過圖像處理技術直接用于故障診斷,波形信號數據也可以通過信號處理技術在圖像中顯示。本文采用數據預處理算法將采集到的信號數據通過STFT轉換為灰度圖像,同時通過圖像壓縮技術對圖像進行壓縮,來減少數據的存儲量,壓縮后的灰度圖像數據是CNN的理想輸入。
圖1顯示了所提出的數據預處理算法的處理過程。從原始信號中隨機選取一段連續數據信號x(i),包含4096 個連續信號點。對所選擇的4096 個連續信號點進行歸一化處理,然后對歸一化后的數據進行STFT轉換為圖像,其次對圖像信號進行灰度化處理,最后把灰度圖像進行壓縮。
在本節中,提出了一種新的TCNN框架,該框架由基于Lenet-5 的在線CNN 和具有淺層結構的幾個離線CNN 組成,如圖2所示。一旦獲得了包含足夠故障信息的圖像,則在線CNN被訓練,然后通過對這些圖像進行分類來診斷故障。以前的幾項研究得出兩個結論:(1)用從相關數據集或任務中學習到的遷移特征初始化深度神經網絡,可以提高網絡的泛化性能,提高網絡的效率;(2)淺層的低級特征對于不同但相關的任務是適用的,而最后一層的高級特征提取通常是針對于特定任務的。在此基礎上,為了提高在線CNN的實時性,還對多個離線CNN進行了相關任務或數據集的預訓練,并將其淺層卷積層遷移到在線CNN。因此,在離線CNN 中使用相應卷積濾波器的權值和偏差直接初始化在線CNN的淺層。

圖1 數據預處理過程Fig.1 Data preprocessing process
在線CNN:LeNet-5 是一種經典有效的卷積網絡結構,已成功地應用于多種圖像分類任務中。在線CNN 網絡是在LeNet-5 基礎上,設計并優化了網絡CNN 模型。研究表明CNN中較小的卷積濾波器尺寸有利于提高模型性能,因此所有卷積濾波器尺寸為5×5或3×3,圖3給出了在線CNN的結構。其中有一個輸入層、4個卷積層、4個最大池化層、一個全連接層和一個Softmax[8]輸出層。每一個卷積層都使用ReLU 函數[9]來激活以增加模型的非線性。可以根據不同情況下輸入圖像的大小來改變濾波器的數量和尺寸。此外,在線CNN模型中,采用零填充技術,使得特征映射的大小在每層中保持不變。
離線CNN:離線CNN首先被用來從相關任務或數據集中提取淺層的底層特征,然后將其中的淺層遷移到在線CNN 中進行初始化。通過從不同的離線CNN 中獲取不同的淺層特征,可以提高在線CNN的可擴展性和效率。在本文中,為了簡單起見,幾個離線CNN 在相同情況下共享相同的結構和參數。然而,通過隨機梯度下降的網絡監督訓練,也可以獲得不同的離線CNN。
為了更有效地提取低層特征,離線CNN的結構應該比在線CNN的結構更淺,如圖4所示。離線CNN中只有一個輸入層、三個卷積層、三個池化層、一個全連接層和一個Softmax輸出層。此外,在提出的TCNN框架設計過程中,還需要進一步考慮影響方法性能的兩個重要因素。第一個是離線CNN的數量,它決定了網絡CNN的淺層由多少個不同的離線CNN組成。第二種是用于訓練離線CNN的數據集,這些數據集決定了傳輸給在線CNN獲取的不同知識。

圖2 TCNN框架結構Fig.2 TCNN frame structure

圖3 在線CNN框架結構Fig.3 Online CNN frame structure

圖4 離線CNN框架結構Fig.4 Offline CNN frame structure
在成功設計了在線和離線CNN 結構后,在算法1 中給出了TCNN 框架模型訓練過程。在該框架中所有CNN 模型中訓練所使用的損失函數Softmax交叉熵損失函數。定義如下:

當i為確定分類時,y為1,其他情況下y為0,p為概率,i屬于某個具體的類別,N為訓練集的數量。值得注意的是,微調和凍結傳輸層可以用來訓練在線CNN 模型。在本文中,當訓練集較大時,微調效果更好。
通過對電機軸承故障數據集的實例研究,對所提出的在線故障診斷方法進行了驗證。檢驗所提出的在線故障診斷方法的準確性和有效性。所有的試驗都是在Tensorflow框架下進行的,并運行在一個配有英特爾6 核2.9GHz CPU、GTX1080 GPU和16GB內存的深度學習工作站上。
在CWRU 軸承數據中心提供的軸承故障數據集上對所提出的在線故障診斷方法進行評估[10]。如圖5 所示,試驗臺由2hp 的電機、扭矩傳感器和測功機組成。采用電火花加工的方法,將單點故障引入到試驗軸承中,軸承振動信號數據由安裝在電機驅動端的扭矩傳感器測量。采樣頻率為12kHz,負載范圍為0~3。軸承數據集中有10 個運行狀況,分別為內滾道故障(IF)、外滾道故障(OF)和滾珠故障(BF),均具有三種不同的損壞尺寸(0.18mm、0.36mm 和0.54mm)以及正常工況。
算法:TCNN框架訓練過程TCNN框架訓練算法。

圖5 CWRU軸承數據集測試試驗臺Fig.5 CWRU bearing dataset test bench
輸入:給定用于訓練離線CNN 的數據集Xs{xs,ys},用于訓練在線CNN的數據集Xt{xt,yt}。
輸出:訓練后的TCNN框架和診斷結果。
(1)建立TCNN 框架結構,首先建立在線CNN 和離線CNN的結構和超參數,同時給出了離線CNN的數量。
(2)初始化和預訓練離線CNN,在給定的數據集Xs上對離線CNN進行隨機初始化和預訓練,用隨機梯度下降法來求解Softmax 交叉熵的最小值,獲得離線CNN 的權值W和偏置b。
(3)使用離線CNN 傳輸的層初始化在線CNN,在線CNN的淺層由傳輸層的卷積濾波器的權值W和偏置b來初始化,而其他層則有隨機權值和偏差初始化。
(4)微調在線CNN,使用步驟(2)中相同的方法利用Xt數據集對在線CNN進行微調。
(5)輸出經過訓練的TCNN 框架和診斷結果,驗證經過訓練的TCNN框架的準確性和有效性,并輸出診斷結果。
在每種負載條件下,隨機選取2000個時域信號樣本進行訓練,隨機選取400 個樣本進行測試。在本次試驗中生成并使用了5 個數據集,詳情見表1。每個信號樣本包含4096 個數據點,并通過數據預處理方法轉換成100×100 灰度圖像。圖6中給出在0負載工況下10種運行狀況的灰度圖像。
使用所提出的CNN 模型對預處理后的灰度圖像進行分類,可以對故障進行診斷。通過觀察可以看出,圖6中不同運行狀況的灰度圖像是有差別的,說明數據預處理方法的有效性。為了滿足在線故障診斷應用的實時性要求,提高圖像分類任務的效率是關鍵問題。

表1 5個數據集的詳細描述Table 1 Detailed description of five datasets

圖6 CWRU軸承數據集10種齒輪狀態圖像Fig.6 Converted images of ten health conditions
在此次試驗研究中,在線CNN 模型和離線CNN 模型的兩種結構都在表2 中進行說明。為了簡單起見,所有的離線CNN 都使用相同的結構和參數。在這里,卷積層1(16@5×5)表示在卷積1層中有16個大小為5×5的卷積濾波器,而池化層1(2×2)表示在池化 1 層執行 2×2 的最大池化操作。所有CNN 模型的超參數,包括初始學習率、每批量大小和迭代次數都是以啟發的方式選擇的。
使用數據集Ⅴ對在線CNN 模型進行訓練,初始學習率設置為0.0005,批量大小設置為100,并且迭代次數設置為20。
電機軸承數據是在4 種負載條件下采集的,因此離線CNN模型為4個。4個離線CNN分別使用數據集I~Ⅳ進行訓練。由數據集在不同負載下訓練的離線CNN 可以為在線CNN 提供不同的知識。對于離線CNN,初始學習率為0.001,批量大小為50,迭代次數為20。在這種情況下學習得到的離線CNN模型,其中的卷積1層被傳輸以初始化在線CNN的卷積1層,卷積2層被傳輸以初始化在線CNN的卷積2 層,而在線CNN 則被微調以使用數據集Ⅴ更新所有網絡參數。

表2 在線和離線CNN模型的結構Table 2 Structure of online and offline CNN models
該方法的目的是在滿足在線故障診斷應用準確性要求的同時,加快訓練過程,提高TCNN模型的效率。
為了驗證本文提出方法的有效性,本文還對傳統機器學習、深度學習方法(SVM、ANN、CNN、PCA+SVM)的準確性進行了比較。TCNN框架和上述方法的訓練和測試過程全部進行了10次,使用的數據集為數據集V,平均診斷精度比較結果顯示在表3中。可以看出所提出的方法與傳統機器學習相比至少高10%以上,比常規CNN 提高2%左右。所提出的方法準確率最高,驗證了提出方法的有效性。

表3 各種方法準確率試驗結果Table 3 Accuracy test results of various methods
本文提出了一種在線故障診斷方法。主要貢獻包括:(1)引入一種簡單而有效的方法,將測量的傳感器信號轉換為故障圖像,這消除了對專家經驗和信號處理知識的依賴;(2)提出了一種新的TCNN 框架,提高在線CNN 的效率和可擴展性,從多個離線CNN 中進行卷積層的遷移;(3)將TCNN 框架應用到在線故障診斷中,以改善所提出的方法的實時性。
為了驗證所提出方法的有效性,在CWRU軸承數據中心提供的軸承故障數據集上進行了驗證,準確率達到99.52%。結果表明,該方法能夠有效滿足數據驅動在線故障診斷領域的精度要求,加快在線故障診斷的訓練過程。
雖然在線故障診斷方面取得了一定的成果,但今后仍有兩個問題有待解決。首先,所提出的TCNN 框架只有離線CNN的淺層特征被傳到在線CNN中;其次,利用GPU加速成功地訓練所提出的TCNN框架仍然是耗時的。因此我們未來的工作將側重兩個方向:(1)在處理不同的故障診斷任務時,要驗證離線網絡的所有層中的特征的可轉移性,以提高在線網絡的性能;(2)將引入諸如MapReduce 和Spar的并行計算平臺,以進一步提高訓練效率。