馬蕓婷,張 超,王宇晨
(1.內蒙古包鋼鋼聯股份有限公司軌梁軋鋼廠,內蒙古 包頭 014010;2.內蒙古科技大學機械工程學院,內蒙古 包頭014010;3.內蒙古北方重工業集團有限公司技術中心產品研究院,內蒙古 包頭 014010)
監測運行狀態下的齒輪箱的振動信號可以觀測出齒輪箱運行中所受的沖擊特征,從而可以根據振動信號提取出齒輪箱運行狀態下的故障特征,并進行特征提取從而進行故障診斷方法的研究[1]。因運行中的齒輪箱的振動信號中含有大量的特征,故需要對監測到的振動信號進行降維處理,以增加故障診斷的效率已成為研究點。
普遍使用的降維方法有遺傳算法(Genetic Algorithm,GA)[2]Relie(f Relevant Features)系 列 算 法[3-4]和 主 成 分 分 析(Prin‐ciple Component Analysis,PCA)[5-6],這3種算法都存在一定的局限。GA收斂速度太快,降低了運行的效率;應用ReliefF算法進行數據降維后,數據仍然具有線性相關性無法去除多余信息[7]。而應用PCA主成成分分析對齒輪箱振動信號數據進行降維后數據各類數據的特征可以具有線性無關的特性。
在齒輪箱故障診斷的實際應用中,面對齒輪振動信號的大數據問題,提出把PCA和堆疊自動編碼機(Stacking Automatic En‐coder,SAE)兩種方法相結合,提出一種PCA-SAE的風機齒輪箱故障診斷方法。首先使用PCA從齒輪箱振動信號中消除各個故障特征之間的相關性,將不同工況下的特征用于SAE中進行故障特征提取、分類。
主成分分析的主要作用是用少數的若干新變量(原變量的線性組合)替代原變量,新變量要盡可能多地反映原變量的數據信息,同時,新變量之間相互正交,可以消除原變量中相互重疊的信息。其主要思想是將原始的數據矢量映射為高維空間的數據矢量以使數據可分。在所得的高維坐標系下各數據點之間線性無關,將這組變換了坐標系的數據點稱為數據主成分。因主成分中包含了大量的原始信號信息,同時各信息之間線性無關,不會出現信息重復的現象,故可以應用分析后的主成分替代原始信號,因此便降低輸入數據的維度,使得信號的數據處理復雜程度降低。主成成分分析的具體運算過程如下:
(1)將原始信號數據進行歸一化處理,歸一化公式如下:

(2)設歸一化后樣本的輸入矩陣為:

(3)構造一個變量P1,使其滿足:

同時,使得變量P1能攜帶歸一化化輸入變量矩陣Xnxk的信息。
(4)將上述問題可以轉化為要求變量P1的方差最大。因為從概率統計觀點可知,變量的方差越大,該變量包含的信息越多。P1的方差為:

(5)構造拉格朗日函數:

式中:λ1—拉格朗日系數。
(6)分別計算L對λ1和t1的偏導數,并令其為零,則有:

式中:Vt1=λ1t1
由此可得t1是V的一個標準化特征向量,λ1為其對應的特征值。此時:

由此可得,所要求的t1是矩陣V的最大特征值λ1所對應的標準化特征向量。此時所對應的構造變量P1=Xt1稱為第一主成分。
(7)重復上面步驟,以此類推,求出X的第m個主成分Pm=Xtm。
(8)計算前m個主成分攜帶的信息總和為:

1986年Rumelhar提出了一種單隱層的神經網絡即自動編碼器網絡(Auto Encoder,AE)[8]。這是一種在無監督情況下提取數據中蘊含特征與參數學習的方式,其基本工作原理即是將輸出層重構的數據盡量逼近于輸入的數據,其從輸入到隱藏層、隱藏層到輸出的過程分別被稱為編碼和解碼。將輸入層到隱含層組成的結構稱為編碼器,隱含層與輸出層組成的結構稱為解碼器[9]。編碼過程中輸入層與隱含層采用全連接的方式進行連接,輸入層中節點求加權和并加上偏置后輸入進隱含層各神經元中的激活函數得到隱含層數據。解碼過程中將隱含層數據作為輸入數據以同樣的方式輸入輸出層中得到重構數據。解碼之后將重構數據與輸入層數據進行比較,以其差值最小為目標反向調整其權值與偏置等參數。將AE的數學模型可以表示為如下公式:


式中:X=(x1,x2...xn)、Y=(y1,y2...yn)—輸入層、輸出層的數值—隱藏層神經元的值;Wa,Ws,ba,b s—各神經元連接權值與偏置;fa、fs—兩種激活函數。
堆疊自動編碼機是由大量AE堆疊組合而成的深度學習網絡,該網絡中具有很多層隱含層[10]。將AE中的編碼器進行堆疊連接,即將前一個編碼器的隱含層作為當前AE的輸入層,依次堆疊后在最終一個AE的隱含層后加分類器,最終便構成堆疊自動編碼機網絡。在網絡的訓練過程中,網絡將應用貪婪逐層算法逐個訓練其中的AE以此避免網絡在訓練過程中陷入局部最優問題,網絡中的AE被逐個訓練以完成整個網絡的訓練[11]。網絡訓練的具體過程如下:
(1)應用輸入數據集作為輸入層數據訓練第一個AE,并隨即初始化AE的權值與偏置,通過第一個AE的編碼器將輸入數據集解析為其隱含層所得數據,其具體數學過程如下:

式中:W1=W11,W12,...,W1n—當前訓練AE的權值;b1—當前訓練A E的偏置;h(1)i—經過隱含層所得數據。
(2)將h(1)i作為解碼器的輸入,將數據進行重構得到重構數據如式(13)計算重構數據與原始輸入數據的重構誤差,以重構誤差最小為目標應用誤差反向傳播放光不斷的調整當前AE的權值與偏置以此完成當前第一層A E的訓練。

(3)僅保留本次訓練完成的AE的編碼部分,將隱含層所得數據h(1)i作為下一個AE的輸入層數據以同樣的方式繼續訓練下一個AE,最終完成下一個A E的訓練,并將下一個A E的隱含層輸出數據作為再下一層A E的輸入數據。
(4)重復以上步驟直至將堆疊自動編碼機中的全部A E訓練完成,則網絡訓練完成并且最后一個AE的隱含層輸出數據即為堆疊自動編碼機提取的特征向量。
堆疊自動編碼器的訓練過程中并不需要大量的有標簽數據集,屬于無監督學習的一種,其僅需要少量的有標簽數據對最終訓練完成的網絡進行微調已達到更好的效果,并且網絡的訓練過程是逐個A E進行訓練,而每個A E均是一個淺層學習神經網絡,故此網絡可以克服在訓練過程中產生的局部最優現象[12]。確定最終實驗方案,如圖1所示。

圖1 方案流程圖Fig.1 Program Flow Chart
為驗證所提方法的可行性,以直齒圓柱齒輪的5種故障狀態為例。將使用Spectra Quest公司設計的動力傳動故障診斷模擬實驗臺,如圖2所示。所得的數據進行方法驗證,該實驗臺由1個電動機、1個二級減速行星齒輪箱、1個二級增速行星齒輪箱、一個可編程的磁力制動器組成實驗臺,如圖3所示。共用3個加速度傳感器,并將3個加速度傳感器分別安裝在垂直、徑向、軸向3個方向上,并采用Zonic Book∕618E測試系統采集振動數據。實驗裝置采樣頻率為5120Hz,采樣1s,采樣的點數是2560。分別采集齒輪正常、斷齒、磨損、缺齒、齒根裂紋五種故障狀態的振動信號,如表1所示。每種狀態卻30組樣本,共150組樣本,因此共得齒輪箱狀態樣本數據矩陣為1500×5120,其中1500為樣本數,5120為樣本維數。其中五種故障狀態下的樣本數據各取其一的時域波形圖,如圖3所示。

圖2 動力傳動故障診斷模擬實驗臺Fig.2 Power Transmission Fault Diagnosis Simulation Bench

圖3 各故障狀態時域波形圖Fig.3 Time Domain Waveform Diagram of Each Fault State

表1 數據集Tab.1 Data Set
將所得數據矩陣按照輸入到主成成份分析模型中,采用PCA模型對數據集進行降維處理,降維結果取前600維主元成分作為初始數據集的敏感特征,如圖4所示。從圖中可以看到各列的主成分貢獻率依次下降,故提取前600列為初始數據集的敏感特征,重新構造為1500×600的數據集輸入到SAE模型中進行特征學習與故障分類。

圖4 主貢獻率柱狀圖Fig.4 Main Contribution Rate Histogram
根據輸入數據維度設定輸入層神經元個數為600,共設定4層隱含層,因輸出共5種狀態故輸出層神經元個數設定為5,最終將網絡模型設定為600-1200-1200-500-400-5其中隱含層采用激活函數選擇sigmoid函數,如式(14),輸出層采用softmax函數,如式(15)。

式中:j=1,........,k
其中網絡輸出對應著每種故障狀態的概率,取概率最高的類別作為診斷結果。這些數據有對應的真實故障狀態作為其標簽,如果診斷結果與真實標簽一致,則分類正確;若不一致,則分類錯誤。測試準確率為測試數據集上的一組數據分類正確的樣本數量與整組樣本數量的比值。
網絡模型中學習率設定為0.1,每次訓練更新權重后從測試集中隨機選取10組進行測試,每個自動編碼機網絡訓練150次整體堆疊自動編碼機網絡模型訓練50次最終訓練完成需要30min的時間,四層隱含層網絡每層迭代150次,最終堆疊迭代50次,網絡訓練過程中共經過650次迭代過程,平均每次迭代耗時2.7s,其中取樣本數據的75%為訓練集,25%為測試集則隨機選取1300組樣本作為作為訓練集,取370組樣本作為測試集,用1130個樣本數據訓練網絡,在訓練完成后,用全部370組測試集數據對模型進行測試最終得到準確率變化曲線,如圖5所示。

圖5 準確率變化圖Fig.5 Accuracy Rate Change Chart
從訓練中可以得出網絡層數決定著深度學習網絡的準確率與訓練時間這兩大重要方面,為確定適當的網絡層數,在固定其余參數不變的情況下,在數據集中對不同層數的網絡模型進行準確率與時間上的對比,對比結果,如圖6所示。從圖中可以發現四層隱含層的準確率明顯高于三層,而五層,六層隱含層的準確率卻下降,說明針對這里的數據集過多的隱含層容易使網絡陷入過擬合與局部最優的問題中,從而導致網絡的準確率降低。故根據實際情況這里選取四層隱含層的網絡。

圖6 隱含層與準確率變化圖Fig.6 Implicit Layer and Accuracy Change Graph
為驗證所提方法與傳統故障診斷方法的區別,將原始數據集1500×1936的數據信息采用兩種信號分解方法:EMD算法與ELMD算法進行信號分解與特征提取。經EMD算法分解后得到8個本征模態分量,同樣經ELMD算法分解后得到8個乘積函數,將所得的本征模態分量與乘積函數分別作為提取出的數據特征輸入淺層神經網絡BP網絡中,其中1130組數據樣本作為訓練數據進行網絡訓練,其余370組數據樣本作為測試數據進行分類準確度測試。最終網絡分類精確度,如表2所示。

表2 各網絡分類精度對照表Tab.2 Comparison Table of Each Network Classification Accuracy
提出了一種將采集到的大量振動信號先進行降維處理,再進入深度學習網絡(SAE)網絡中進行特征提取,與數據分類的模式識別方法,該方法可以自動的從原始數據中學習故障特征,并自動完成分類,并減少了訓練時間,采用SpectraQuest公司設計的動力傳動故障診斷模擬實驗臺(DDS)對這里所提方法PCA-SAE模型。
(1)與傳統的故障診斷方法相比PCA-SAE方法真正實現了將原始振動信號數據直接輸入網絡進行自動特征提取與故障分類的功能。從根本意義上改變了以往先應用信號處理方法進行人工的提取故障特征,再進入淺層學習網絡進行分類的方法,真正實現了端到端的故障診斷方法。(2)訓練好的網絡模型可以將采集到的振動信號直接輸入到網絡模型中,最終獲得高準確率(98.6%)。