于 地
(長春光華學院,吉林 長春 130033)
隨著信息技術的快速發展,機械設備愈加復雜化、智能化,使設備具有更完善、精確的性能[1]。但在機械設備愈加復雜的過程中,增大了機械設備運行狀態的不確定性,需要在機械設備運行過程中對機械設備的零件性能、設備精度、部件磨損程度等進行檢測,以提升機械設備運行的安全性與可靠性。但現有故障診斷工作以假設故障樣本為同分布的方式進行,樣本數量較少,難以對多工況機械故障進行精準診斷。據此,本文提出具有域自適應能力的基于少參數CNN網絡LiNet算法的機械故障診斷方法,并對該方法進行驗證,旨在為提升機械故障診斷實效提供方法借鑒與參考。
卷積神經網絡(Convolutional Neural Network,CNN)由卷積層、池化層、激活層構成,具有較強的特征提取能力,被廣泛應用于工業生產、科學研究等領域[2]。在CNN網絡運行過程中,全連接層可以接收壓縮信號特征,經過多個卷積池化處理后,輸出到全連接層,并對輸出數據信息進行分類和更新。
CNN算法流程如下:
第一,對特征圖、激活函數進行點積計算,利用非線性激勵函數映射輸入,公式表示為:
卷積層運行中,需要利用激活函數增強網絡表達能力,激活函數公式表示為:
卷積層操作如圖1所示。

圖1 卷積層操作示意圖
第二,在池化層,對提取到的特征進行向下采樣,公式表示為:
第三,利用全連接,對特征進行分類,分類使用softmax激活函數[3]。全連接公式表示為公式(4),softmax函數表示為公式(5)。
為有效對多工況機械故障進行檢測,應用LiNet算法對CNN的批歸一化層進行優化,挖掘其自適應能力,使算法更適用于圖像識別[4]。
首先,輸入信號,對批歸一化層的神經元進行表達,公式表示為:
式中,j表示目標信號;表示目標信號j在批歸一化層中第i個神經元的表達。
其次,應用目標域計算批歸一化層的統計量,確保CNN網絡的算法更適用于目標域數據計算。
LiNet算法總體結構與CNN網絡部分結構相似,包括特征提取和模式識別。特征提取是應用2個light_module、1×1結構卷積核進行特征提取;模式識別是參數壓縮后,將提取特征輸入到池化層進行識別[5]。
在LiNet算法具體應用中,主要包括數據準備、方法訓練、方法測試[6]。數據準備方面,需要收集足夠的數據樣本,將樣本按照比例劃分為測試集、訓練集。為保證算法具有輕量化特征,能夠更精準地診斷機械故障,在LiNet算法中引入疊加light_module模塊[7]。該模塊可以用1×1結構卷積核代替3×3卷積核,有效減少了參數的總數量。同時,壓縮light_module模塊中的輸入通道數量,進一步減少參數總量。方法訓練方面,對訓練集參數進行訓練,若訓練集、測試集的負載工況不同,則對批歸一化層進行更換,保證訓練集和測試集的輸入參數分布呈對齊的狀態。方法測試即對方法的應用結果進行診斷。
基于CNN網絡LiNet算法的損失函數是輸出概率分布與目標類概率分布間的交叉熵Loss(θ)[8],公式表示為:
式中,θ表示參數集;yi表示目標分布;hθ(xi)表示模型輸出的分布;m表示樣本個數。
在訓練過程中,需要對CNN網絡中的不同層的反向傳播進行描述。
卷積層反方向傳播描述δl-1,公式表示為:
式中,δl表示第l層的誤差矩陣;rot180(WL)表示對WL(權重矩陣)反轉180°;zl表示第l層的輸出特征圖。
池化層反方向傳播描述ρl-1,公式表示為:
式中,upsample(δl)表示降采樣函數。
需要指出的是,在卷積層反方向傳播描述后,需要對批歸一化層進行反方向傳播描述,該描述過程如下:
式中,ki表示歸一化處理后的樣本值;yi表示ki縮放后的輸出;γ、β均表示尺度因子;σ表示方差;xi表示批歸一化層輸入;μ表示樣本均值;表示歸一化處理的方差。
通過多次樣本訓練,可以提升算法的泛化能力。為擴大訓練樣本數量,本研究在數據增強技術中引入LiNet,并設置不同機械故障類型下的機械設備振動信號,應用算法對不同振動信號進行重疊采樣分析,在增加數據集數量的基礎上,提升算法的精準性[9]。
為驗證算法的可行性、有效性,采集工業齒輪箱的模擬運行數據,提取數據中有關齒輪、軸承的多類型故障信息。其中,齒輪故障類型包括齒輪缺損、汽輪斷齒、齒面磨損、齒根磨損,軸承故障類型包括滾動體故障、軸承內圈故障、軸承外圈故障、軸承內外圈聯合故障[10]。
為保證驗證的可靠性,將試驗工況分為1 200 r/min且無負載工況、1 800 r/min且有負載工況(負載的力矩為7.34 N·m)。
為對兩種工況下的故障進行充分檢測分析,在驗證前,設置了4個數據集,具體如表1所示。

表1 數據集
需要指出的是,每個數據集中含有4種不同故障狀態,在故障診斷過程中,應用LiNet對神經元輸出層進行替換[11]。
通過測試,基于CNN網絡LiNet算法的故障診斷方法的檢測結果為:工況1狀態下,能夠100%檢測出數據集1中的軸承故障,且能夠99.51%檢測出數據集2中的齒輪故障;工況2狀態下,能夠100%檢測出數據集3中的軸承故障,且能夠99.84%檢測出數據集4中的齒輪故障。由此可以看出,基于CNN網絡LiNet算法的故障診斷方法對于軸承的故障診斷精度達到100%,對于齒輪的故障診斷精度達到95%以上。同時,數據集1檢測時間為6 s、數據集2檢測時間為80 s、數據集3檢測時間為20 s、數據集4檢測時間為84 s。綜合來看,基于CNN網絡LiNet算法的故障診斷方法用時較短、精度較高,且具有較高的穩定性,實現了算法的輕量化目標。另外,通過算法訓練發現,LiNet算法的收斂速度較快,并具有一定泛化能力、域自適應能力[12]。驗證結果表明,基于CNN網絡LiNet算法的故障診斷方法能夠精準提取到故障信息數據,可以在實際機械故障檢測中進行深度應用。
綜上所述,故障診斷系統的應用能夠為機械設備安全、高質量運行提供保障。為了對多工況機械故障進行精準診斷,本文提出了基于少參數CNN的多工況機械故障診斷方法。在機械設備運行數據特征提取過程中,設計light_module模塊,減少參數量,同時應用目標域樣本計算的方式,保證數據分布對齊,實現系統的域自適應設計,使故障診斷系統的應用范圍更加廣泛。算法驗證結果表明,基于CNN網絡LiNet算法的故障診斷方法能夠精準提取到故障信息數據,可以在實際機械故障檢測中進行深度應用。但整體而言,本文未對故障位置、故障原因進行細致分析,未以故障模式分類為視角,對故障檢測系統進行設計,需要在后續研究中補充和完善。