陳立愛,俞宏艷,汪佳奇,陳松
安徽建筑大學機械與電氣工程學院,安徽 合肥 230601
齒輪作為轉速調(diào)節(jié)和動力傳遞的常用部件,其是否正常運行將影響機電設備的工作狀態(tài)[1-3]。齒輪在工作過程中發(fā)生故障的概率較高,因此對齒輪進行故障診斷尤為重要[4-5]。
齒輪故障診斷方法主要包括信號處理和機器學習兩大類,信號處理方法包括傅里葉變換、譜分析、小波變換、模態(tài)分解[6-9]等,機器學習方法包括人工神經(jīng)網(wǎng)絡、支持向量機、深度學習[10-13]等。如有學者研究發(fā)現(xiàn),通過對經(jīng)驗小波方法進行改進,可有效提高滾動軸承和齒輪箱故障檢測效率[14-15]。徐甜甜等提出了結合變分模態(tài)分解與譜峭度法的齒輪故障診斷方法,并驗證了方法的有效性[16]。Lin et al. 提出了一種基于變分模態(tài)分解和布谷鳥搜索參數(shù)優(yōu)化概率神經(jīng)網(wǎng)絡(PNN)的齒輪箱故障模型,并利用東南大學齒輪箱數(shù)據(jù)集進行了驗證[17]。陳如清等將改進煙花算法與PNN 融合,確定PNN 的參數(shù)最優(yōu)值,從而實現(xiàn)了齒輪箱的故障分類[18]。傳統(tǒng)的PNN 與其他神經(jīng)網(wǎng)絡相比,模型網(wǎng)絡學習過程簡單,學習速度快,并且具有一定的分類準確性和抗噪聲能力[14],但是其關鍵參數(shù)選擇主要根據(jù)經(jīng)驗確定,從而影響了模型對故障診斷的識別率。因此,如何優(yōu)化PNN模型平滑因子,提高對齒輪故障的診斷效率,是PNN 應用的關鍵問題。
主成分分析(PCA)是一種常見的數(shù)據(jù)降維方法[19],韓璞、張洪波等分別應用該方法與貝葉斯網(wǎng)絡、PNN 網(wǎng)絡相結合,進行汽輪機、模擬電路的故障診斷[20-21]。
PCA 方法步驟如下:
(1)輸入樣本集D={ x1, x2,… , xm};
(3)計算協(xié)方差矩陣XXT及所對應的特征值和特征向量;
(4)按照累計貢獻率達到90%確定數(shù)據(jù)最佳維數(shù)d′;
(5)取最佳d′個特征值所對應的特征向量ω1,ω2,…,ωd′,輸 出 投 影 矩 陣W*=(ω1,ω2,…,ωd′)。
PNN 是一種以貝葉斯和Parzen 窗函數(shù)法為數(shù)學基礎的前饋神經(jīng)網(wǎng)絡,其網(wǎng)絡拓撲結構包括輸入層、模式層、求和層和輸出層,如圖1所示。
圖1 PNN 網(wǎng)絡拓撲結構
設有d個網(wǎng)絡輸入向量,表示為X=[x1,x2,…,xd]T;n個輸出向量,表示為Y=[y1,y2,…,yn]T,訓練過程如下。
(1)輸入層完成訓練樣本特征向量X 的接收,并將數(shù)據(jù)向后傳遞。
(2)模式層采用徑向基非線性映射,計算各模式種類與輸入向量的匹配度,并將其輸出至求和層,該層中第i個類別與第k個神經(jīng)元所對應的函數(shù)為:
式中:i= 1,2,…,d為訓練樣本特征值個數(shù);ωik為連接模式層和求和層的權值向量;σ為平滑因子,其取值影響著PNN 分類的正確識別率。
(3)求和層把模式層中類別相同的隱含神經(jīng)元輸出,依據(jù)Parzen 窗方法得到各類別的概率密度函數(shù)估計值,其輸出公式為:
式中:fi(x)為第i種標簽值的輸出;N為第i類神經(jīng)元的數(shù)量。
(4)輸出層把從求和層得到的每一類概率密度函數(shù)通過競爭神經(jīng)元做閾值辨別,在所有輸出種類中選取出匹配度最高的一個輸出,從而完成隸屬類別的判定。
麻雀搜索算法(SSA)提出于2020 年,主要模擬自然界麻雀尋找食物并躲避獵捕的行為[22]。SSA 把麻雀種群分成發(fā)現(xiàn)者、追隨者、警戒者三類。發(fā)現(xiàn)者的任務是覓食并為整個種群進化提供導向,其數(shù)量在整個種群中占比設置為10% ~ 20%。追隨者的任務是緊緊跟隨在發(fā)現(xiàn)者周圍進行覓食,發(fā)現(xiàn)者和追隨者在進化過程中滿足進化規(guī)則條件時可互換角色。其位置重新計算的公式[23]分別為:
為了種群安全,SSA 會在整個種群中隨機選取10% ~ 20%的麻雀作為警戒者,警戒者的任務是作為種群偵察兵,在種群受到外界捕食者威脅時及時提醒其他麻雀[22]。警戒者位置更新公式為:
式中:β為服從標準正態(tài)分布的隨機數(shù),K∈[-1,1],η為最小常數(shù),fm為當前適應度值,fg為最佳適應度值,fω為最差適應度值,Xbest為全局最優(yōu)解。
維度過高的樣本數(shù)據(jù)會增加問題分析的復雜度,并且影響PNN 分類精度。同時,PNN 性能優(yōu)劣與平滑因子σ選取密切相關,傳統(tǒng)做法是根據(jù)經(jīng)驗選取,因缺乏理論依據(jù),不能充分發(fā)揮PNN的作用,從而使得樣本維數(shù)較大時PNN 分類器識別率較低。我們的樣本數(shù)據(jù)維數(shù)較大,對訓練時間和精度影響較大。因此,我們提出采用PCA 方法對數(shù)據(jù)進行降維,然后利用SSA 對PNN 的平滑因子σ進行優(yōu)化,形成自適應概率神經(jīng)網(wǎng)絡,改善PNN 的性能以達到最佳的齒輪故障識別率,即PCA-SSA-PNN 故障診斷模型。具體實現(xiàn)流程如下:
(1)將齒輪故障數(shù)據(jù)導入系統(tǒng);
(2)利用PCA 進行數(shù)據(jù)降維;
(3)設置SSA 算法參數(shù),設置種群大小、意識到危險的麻雀數(shù)量、最大迭代次數(shù)等;
(4)通過公式(4)至(6)迭代計算麻雀種群中各角色位置,并計算在相應位置時的適應度值,以更新全局最優(yōu)個體;
(5)迭代次數(shù)達到最大設定值時,輸出全局最優(yōu)平滑因子σ,將樣本數(shù)據(jù)輸入至優(yōu)化后的模型,并輸出齒輪故障診斷結果。
案例采用康涅狄格大學齒輪實驗平臺及其數(shù)據(jù)集,實驗系統(tǒng)及結構如圖2 所示[10]。齒輪振動信號由加速度計測量,采樣頻率為20 kHz。
圖2 齒輪實驗系統(tǒng)及結構
數(shù)據(jù)集包括兩部分:采用時間同步平均處理后的時域齒輪故障數(shù)據(jù)和角頻域同步分析后的頻域齒輪故障數(shù)據(jù)。齒輪故障包括正常(本文將“正?!币惨暈楣收献R別的一種結果)、斷齒、齒根開裂、剝落、削尖1(最嚴重)、削尖2、削尖3、削尖4、削尖5(最輕微)。對每種齒輪狀態(tài)使用實驗齒輪箱系統(tǒng)采集104 個信號,一共936 個樣本,其中每個樣本包含4 個齒輪振動信號的3 600 維角頻域數(shù)據(jù)和3 維時域數(shù)據(jù),我們使用的所有數(shù)據(jù)均在網(wǎng)站https://doi.org/10.6084/m9.figshare.6127874.v1 上公開。
在每組樣本中隨機選取82 個(共計738 個)樣本作為訓練集,每組剩下的22 個(共計198個)樣本作為測試集。
構建PCA-SSA-PNN 故障診斷模型,對PCA 降維維度,設置不同的維數(shù)d'觀察主成分的累計貢獻率,以得到最佳維數(shù),經(jīng)測試,當d'=200時累計貢獻率為90.6%,因此本文設置d'=200,這樣既將數(shù)據(jù)降維,易于進行故障分類識別,又可減少程序運行時間。降維后數(shù)據(jù)歸一化到0~1 之間,以加快訓練網(wǎng)絡的收斂性。由于PNN 層數(shù)固定,輸入層神經(jīng)元個數(shù)與數(shù)據(jù)維數(shù)一致,不需要設計網(wǎng)絡層數(shù)。我們的樣本數(shù)據(jù)特征原有3 603個,經(jīng)過PCA 降維后為200 個,因此輸入層神經(jīng)元個數(shù)為200。輸出層個數(shù)對應于齒輪故障狀態(tài),故輸出層神經(jīng)元個數(shù)定為9。SSA-PNN 網(wǎng)絡的其他參數(shù)設置如下:種群數(shù)量pop=20,下邊界lb=0.01,上邊界ub=5,適應度函數(shù)為為證明PCA-SSA-PNN 網(wǎng)絡的有效性,我們同時構建了PNN 模型和PCA-PNN 模型,網(wǎng)絡參數(shù)設定完成后,通過MATLAB 進行計算。本文所使用的訓練環(huán)境:CPU 為Intel Core i5_8265U CPU,內(nèi)存4G。
由于SSA 算法最大迭代次數(shù)(M)對預測精度和運行時間影響較大,考慮到計算時間,同時為避免陷入局部最優(yōu),經(jīng)測試后設置M為25,適應度尋優(yōu)曲線如圖3 所示。
圖3 適應度尋優(yōu)曲線
由圖3 可知,優(yōu)化后的PCA-SSA-PNN 診斷模型診斷適應度下降很快。在SSA 優(yōu)化初期,因個體適應度較低,迭代后網(wǎng)絡陷入短暫的局部最優(yōu),隨著種群迭代次數(shù)的不斷增加,與最優(yōu)值的差距不斷縮小。一般在迭代5 次后網(wǎng)絡跳出局部最優(yōu),迅速收斂,快速找到PNN 模型的最佳σ。
PCA-SSA-PNN 模型訓練結束后,其訓練效果和誤差如圖4 所示,可見其分類訓練效果非常好,訓練誤差為0,說明建立的模型分類識別性能優(yōu)越。
圖4 PCA-SSA-PNN 分類訓練結果
由于神經(jīng)網(wǎng)絡運行時存在隨機性,因此每種模型均運行8 次進行對比,如表1 所示。
表1 各模型識別率
為加強對比,將表1 中的識別率以圖形形式對比(見圖5)。
圖5 齒輪故障分類識別率對比
由圖5 可知,在多次運行中,PCA-SSA-PNN模型的分類正確率均高于其余兩個模型。若對所采集的數(shù)據(jù)不進行任何處理,傳統(tǒng)PNN 模型進行故障診斷,其平均識別率僅為74.4%。對數(shù)據(jù)集基于PCA 方法進行特征提取后,PCA-PNN 模型的平均識別率提升到88.3%。經(jīng)SSA 優(yōu)化的PCA-SSAPNN 模型的平均識別率在PCA-PNN 的基礎上進一步提高到92.6%,說明了所提出模型的有效性。
每種模型運行時間不同,與標準的PNN 模型相比,優(yōu)化的PCA-SSA-PNN 比較耗時,平均為93.4s,但在可接受的范圍內(nèi)。若使用計算性能佳的計算機,可有效減少運行時間。
為與PCA-SSA-PNN 故障診斷模型對比,文中同時采用PCA-PNN、PCA-GRNN、PCARBF、PCA-KNN、PNN 模型,訓練網(wǎng)絡最優(yōu)后統(tǒng)計8 次運行的平均值,如表2 所示。
表2 六種模型故障診斷識別率 單位:%
由表2 可知,PCA-SSA-PNN 齒輪故障診斷模型診斷結果最佳,優(yōu)化后的齒輪故障診斷模型正確識別率為92.6%,與PCA-PNN 模型相比故障識別率提高4.3%,且明顯高于其他網(wǎng)絡模型的識別率。這是因為PCA 方法對數(shù)據(jù)集有一定的降噪效果,同時,經(jīng)SSA 優(yōu)化的PNN 模型能找到最佳的σ,因此故障識別率最佳。
圖6 列出了PNN、PCA-PNN、PCA-SSA-PNN模型8 次運行時最接近平均值的一次可視化診斷結果。
圖6 三種模型可視化診斷結果
圖6 中,縱坐標1~9 分別對應齒輪正常、斷齒、齒根開裂、剝落、削尖1(最嚴重)、削尖2、削尖3、削尖4、削尖5(最輕微)9 種狀態(tài)。由圖6 可知,PNN 模型錯誤識別樣本明顯多于其余兩種。PCA-PNN 模型的正確識別率明顯提高,即數(shù)據(jù)經(jīng)PCA 降維后能有效提升識別率。PCA-SSAPNN 模型的故障診斷正確識別率最高,錯誤識別樣本僅有9 個,可見該模型用于齒輪故障診斷可行度較高。
由于傳統(tǒng)PNN 對齒輪故障診斷分類預測效果不佳,后續(xù)分析對比僅針對PCA-PNN 和PCASSA-PNN 模型。統(tǒng)計兩種模型對齒輪每種故障的識別率,如表3 所示。
表3 兩種模型對每種故障的識別率(9 種故障) 單位:%
由表3 可知,PCA-PNN 模型對齒輪各種故障狀態(tài)正確識別率差別較大,其中正常、斷齒、削尖1、削尖4 識別率為100%,齒根開裂和剝落識別率分別為77.2%、59.1%。PCA-SSA-PNN 模型對正常、削尖3、削尖5 的識別率為100%,識別率較低的為剝落和削尖4,分別為77.3%和86.4%。
刪除齒輪故障數(shù)據(jù)集中剝落和齒根開裂的故障樣本,以剩余7 種齒輪故障樣本基于PCA-PNN和PCA-SSA-PNN 模型按前述步驟重新進行齒輪故障診斷,結果如表4 所示。
表4 齒輪故障診斷識別率(7 種故障) 單位:%
由表4 可知,降低樣本集數(shù)量后,PCA-PNN模型中識別率較低的故障仍然存在,削尖2 故障識別率由之前的86.3%降為68.1%,削尖4 故障識別率由100%降為86.3%,但總體平均識別率有所提升,達到92.2%。PCA-SSA-PNN 模型的削尖3 故障識別率由100%降為86.3%,削尖5 由100%降為90.9%,總體平均識別率同樣提升,達到94.2%。即與之前相比,兩種模型診斷正確識別率均有所上升,分別增加了3.9%和1.6%。
抗噪能力對齒輪故障診斷模型的性能評價尤為重要,為了測試我們所建立的PCA-SSA-PNN模型的抗噪性能,在數(shù)據(jù)集中添加隨機分布噪聲,噪聲系數(shù)為原有特征的1%、3%、6%、10%。
每種情況運行5 次取平均值,兩種模型對齒輪故障分類的識別率如表5 所示。
表5 噪聲系數(shù)改變時故障診斷識別率
由表5 可知,齒輪振動數(shù)據(jù)集添加隨機噪聲干擾后,與無噪聲相比,兩種齒輪故障診斷模型的識別率均有所降低,但噪聲程度在10%以下時識別率仍都大于85%,說明均具有一定的抗噪聲能力。PCASSA-PNN 模型在噪聲系數(shù)小于等于3%時,正確識別率基本不變,而未經(jīng)優(yōu)化的PCA-PNN 模型,故障識別率下降了2.3%。噪聲系數(shù)為10%時,PCASSA-PNN 模型齒輪故障識別率為89%。同樣噪聲系數(shù)為10%時,未優(yōu)化的PCA-PNN 模型齒輪故障識別率下降到85.2%,此時PCA-SSA-PNN 模型故障識別率比PCA-PNN 模型高3.8%。故本文建立的PCA-SSA-PNN 模型在噪聲干擾情況下仍具有較高的故障識別率。另外,兩種模型的運行時間與噪聲系數(shù)之間沒有明確關系,即有無噪聲影響,對程序的運行時間幾乎沒有影響。
我們基于齒輪箱振動信號,對齒輪9 種不同的損傷狀態(tài),在根據(jù)經(jīng)驗選擇PNN 模型平滑因子從而使模型識別率不高的情況下,融合主成分分析法、麻雀搜索算法和PNN 模型,提出一種PCASSA-PNN 模型,用于齒輪箱故障診斷,得出以下結論。
(1)基于PCA 進行數(shù)據(jù)集降維,引入SSA 優(yōu)化PNN 模型的平滑因子,建立PCA-SSA-PNN 模型,能有效提升齒輪故障分類的正確識別率,針對齒輪的9 種損傷狀態(tài),診斷正確識別率提升到92.6%。
(2)樣本數(shù)量影響模型正確識別率,文中減少兩種齒輪故障的樣本數(shù)量時PCA-SSA-PNN 模型識別率上升1.6%,達到94.2%。
(3)添加噪聲后,模型故障分類識別率有所降低,但在噪聲系數(shù)為10%時,識別率仍比PCAPNN 模型高3.8%。因此,PCA-SSA-PNN 模型具有較好的抗噪能力。