陳 旭
(眉山職業技術學院,四川 眉山 620010)
在信息技術、通信技術和物聯網的推動下,全球工業已經邁入了4.0時代[1],工業設備朝著大型化、連續化、高速化和智能化的方向發展[2-4]。旋轉類機械設備在工業領域的應用較為廣泛,但其結構較為復雜且設備的工作周期長,也更容易產生故障。為了避免由于旋轉類設備突然出現故障,而造成更大停機損失或人員傷亡,工業企業大都對該類設備實施在線實時監控與故障診斷,以保障旋轉機械的穩定運行[5]。針對旋轉類機械結構的故障分析與診斷,現有研究主要從對故障信號的時頻分析[6]、特征識別[7]、模式識別[8]等角度展開。陳仁祥等[9]提出基于離散小波變換的旋轉機械故障診斷方案,對連續的故障信號進行離散化處理和多尺度變換,更準確地提取故障信號的視頻特征。但此種算法下,離散小波基選取難度較大,算法復雜度也較高;郭煜敬等[10]提出基于經驗模態分解(EMD)的故障診斷方法,EMD處理故障信號的效果更直接,且具有較強的自適應能力,能夠更好地處理非線性、非平穩性的故障信號。但由于在應用EMD方法時無法保證全部IMF分量的正交性,而且還存在一定程度的模態混疊現象,影響最終的旋轉機械結構故障診斷精度;昝濤等[11]提出基于人工神經網絡(ANN)的故障診斷方法。人工智能算法的優勢在于自適應能力強,能夠處理規模較大的故障集,在故障信息存儲和故障數據訓練方面具有優勢。但ANN的結構設計與參數選擇會在一定程度上依賴先驗知識,具有一定的主觀性,利用ANN算法在全局范圍內迭代更容易陷入局部最優化,影響到對故障狀態的判斷。近些年,仿生算法[12]和啟發式算法[13]開始在機械故障診斷領域嶄露頭角,仿生算法和啟發式算法在計算求解過程中不依賴于梯度信息和先驗知識,且能夠應對大規模的數據集。本文提出一種基于布谷鳥搜索算法(CS)特征數據啟發算法的故障診斷方法,基于仿生學理論啟發算法,提升旋轉機械設備故障診斷的精度。
旋轉機械故障診斷的核心工作是從采集到的機械振動信號中提取出故障特征。隨著旋轉機械設計復雜程度的不斷提高,故障數據集的規模越來越大,不利于故障特征的識別與提取。傳統基于信號分析的淺層故障特征提取方法,無法有效應對和處理大規模數據集,為此本文基于深度卷積神經網絡算法,自適應提取特征參數并進行模式識別,應對大規模數據集的特征處理問題。深度卷積神經網絡是一種深層結構的神經網絡,與ANN相比,其具有更強的數據處理性能。借助卷積運算一方面能夠降低系統噪聲和環境噪聲的干擾,另一方面還可以增強原始信號的特征值,深度卷積神經網絡的結構見圖1。

圖1 深度卷積網絡結構簡圖
卷積神經網絡的卷積層被視為一組數量為n線性濾波器組:
(1)

(2)
激活函數表示為
(3)
下采樣層選用均值采樣的方式,得到特征矩陣的局部匯總集合,深度卷積網絡的輸出層配備了Softmax函數以獲取特征參數,輸出結果在0~1之間,分類器模型可以描述為
(4)
其中,τp表示故障數據分類輸出過程中獲取的特征參數。
深度卷積神經網絡是一種深層次的網絡學習算法模型,具有更強的大規模故障數據處理能力,通過實時調整與匹配各層次之間的最優連接權值,確保卷積和采樣之后的信號重構差異最小化。深度卷積神經網絡模型在結構設計上更復雜,同時也具有更強的故障數據處理能力,為降低算法的復雜度引入前向傳播原則,降低總體上的連接權值數量。在獲取到與卷積層相對應的樣本特征向量后,再利用激活函數反向調整權值偏置,得到故障樣本數據的分布特征。
深度卷積神經網絡具有強大的自學習能力和數據泛化處理能力,但隨著故障樣本規模的增大,學習速度下降且容易陷入局部最優解,甚至導致故障數據集訓練的失敗。為保證在大故障數據集條件下的故障診斷精度,彌補深度卷積神經網絡算法的不足,本文引入CS仿生算法提升深度卷積神經網絡的泛化能力、全局搜索能力和大規模故障數據集的處理能力。CS仿生算法是一種模仿布谷鳥飛行、繁殖等生物學特征行為的啟發式搜索算法。在尋找最優解的過程中將布谷鳥在宿主巢穴中所產的卵視為一個新的最優解。設定宿主鳥巢的固定值為m,宿主能夠識別出新解的概率是P,P∈[0,1],如果概率P值被替代,在新的宿主鳥巢位置會出現新解。布谷鳥個體zi通過飛行活動更新當前位置,尋找新的宿主巢穴,過程描述如下:
(5)

(6)
其中,u和v為服從正態分布的步長函數參數。
個體位置不斷更新以后,均勻分布的隨機數φ(取值范圍為[0,1])也發生改變,CS仿生算法的優化模擬過程如(7)所示:
(7)

經典CS仿生算法中布谷鳥個體移動步長具有隨機性,種群個體只能通過飛行過程中的隨機遷移持續地更新位置。由于布谷鳥個體之間缺乏種群交流機制,模型中也沒有其他參數供對比分析,導致搜索能力下降,不利于算法的快速收斂。因此本文對經典的CS仿生啟發算法進行步長優化,在經典CS算法中引入牽引分量(種群中最優和最差適應度分量)和隨機函數值。基于適應度函數值自適應調整移動步長,避免隨機移動而導致全局范圍內搜索精度的降低,在t+1時刻步長分布函數的自適應調整過程描述如下:
(8)

(9)
其中,Fw表示種群中的最差適應度分量;Fb表示種群中的最佳適應度分量。
此時布谷鳥個體zi的位置更新過程描述如下:
(10)
根據適應度函數值的變化趨勢調整布谷鳥個體的移動步長,避免了由于個體隨機移動而導致全局搜索精度降低。在搜索前期加大步長,擴大最優解的搜索范圍,而在搜索后期逐漸根據需求減小步長,避免了由于個體移動步長過大而導致個體在最優解搜索中陷入局部最優化。
通過優化的CS啟發算法,能夠提升深度卷積神經網絡結構的全局搜索性能和數據訓練性能,全面改善機器學習在旋轉機械故障中的應用效果。數據訓練時首先確定深度卷積神經網絡的層次結構,基于網絡的復雜程度、閾值、權值等指標確定搜索空間的維數;其次構建種群個體坐標與卷積網絡之間的映射關系。在訓練中由于適應度函數和移動步長均可調整,則通過調節權重比例wi控制網絡誤差的偏差。基于優化CS算法的故障數據訓練流程見圖2。

圖2 基于優化CS算法的故障數據訓練流程
CS特征數據啟發算法的應用步驟如下:
Step1 根據旋轉機械結構故障集的規模設定布谷鳥種群的初始規模,同時設置優化算法的最大迭代次數、自適應步長參數、新解概率及深度卷積神經網絡的各層權值與閾值。
Step2 在分析是否滿足終止搜索條件前計算迭代次數,如果達到最優解則停止搜索;如果沒有達到最優解,則繼續計算自適應步長,進入下一步尋優階段。
Step3 根據種群中布谷鳥個體位置的具體更新情況,計算個體的適應度函數值、最優適應度分量、最差適應度分量。
Step4 基于貪婪策略擇優選擇最佳的新解,對各代個體的適應度函數值進行比較,避免在迭代過程中出現個體退化現象。
Step5 比較迭代尋優過程中的新解概率與隨機數的大小,篩選出最優位置。每一個更新后的布谷鳥位置對應一個目標函數的維度,通過個體飛行重新產生新解,并通過自適應步長尋優傳遞到下一代,且保證了算法的收斂性能。在基于深度卷積神經網絡訓練故障數據,在提取故障特征過程中,將布谷鳥位置更新值作為調整神經網絡權值和編碼閾值的一個分量。優化CS啟發算法的應用,一方面提升了深度卷積神經網絡算法的特征提取性能和收斂性能,另一方面適應度函數值的引入,在很大程度上避免了最優解搜索過于隨機而導致故障數據訓練與檢測精度降低。
本實驗從University of California Irvine數據庫中選擇三種不同規模的數據集,用于旋轉機械結構故障檢測,數據集規模、特征數、標記數等信息如表1所示。

表1 實驗用故障數據集相關信息
應用CS特征數據啟發算法對深度卷積神經網絡算法的數據訓練過程進行優化,相關參數設置如表2所示。

表2 算法參數設置
基于深度卷積神經網絡提取故障特征時,隨著故障數據集規模的增加,算法訓練的學習效率和迭代效率降低,算法的總平方誤差收斂效率降低,進而影響故障識別的精度。而引入CS啟發算法后提取故障特征的總平方誤差的收斂速度更快,以Sonar故障數據集為例,發現概率值設定為0.35,比例因子調整為0.40,并利用Matlab仿真軟件得出優化前后總平方誤差控制效果,如圖3和圖4所示。

圖3 CS算法優化前算法總平方誤差收斂效果仿真

圖4 CS算法優化后算法總平方誤差收斂效果仿真
對比結果顯示,在優化前訓練迭代次數達到600才能夠收斂到最佳,而經過CS算法優化后,迭代次數減少到290次,收斂性能和學習效率得到明顯改善。
面向不同規模的故障數據集,運用CS分類算法得到的分類準確率和數據降維率,與引入傳統的離散小波算法、EMD算法和ANN算法參與對比,數據計算和統計結果見表3至表5。

表3 小規模數據集的特征分類性能對比

表4 中等規模數據集的特征分類性能對比

表5 大規模數據集的特征分類性能對比
在處理小規模的旋轉機械結構數據集時,經過CS算法優化后的深度卷積神經網絡的分類性能,要優于三種傳統算法,但差距較小,但故障特征數據的降維性能要明顯好于三種傳統算法。這主要是由于CS算法具有更強的步長控制能力和全局尋優能力,能夠在全局范圍內識別出更多的最優新解。隨著數據集規模的不斷增大,各種算法的分類準確率與數據降維率都在不斷降低,但CS算法的性能衰減相對于其他算法更慢。以Sonar數據集為例,CS算法的數據分類準確率和數據降維率分別達到了93.26%和90.12%,遠高于三種傳統特征數據分類算法。
六類故障數據集中實例數對應的故障特征比例如表6所示。

表6 各故障數據集中包含的故障特征比例
統計分析在不同規模數據集條件下本文算法與三種傳統算法的故障診斷精度,如圖5至圖7所示。

圖5 大規模數據集故障診斷精度對比

圖6 中等規模數據集故障診斷精度對比

圖7 小規模數據集故障診斷精度對比
旋轉機械結構故障診斷分析結果顯示,在三種不同規模的數據集條件下,基于CS特征數據的優化算法的故障診斷精度都能保持在95%以上,當故障特征比例較低時,CS啟發算法的故障診斷性能也并未衰減。這表明經過CS算法強化故障數據訓練后,無論是算法的分類性能、降維性能、檢測性能,還是收斂性能都得到本質上的改善。
隨著旋轉機械結構復雜程度的不斷提高,故障數據集的規模不斷增大。深度卷積神經網絡算法在處理大規模故障數據集時,相對于傳統算法具有一定優勢,但算法的全局搜索性能和收斂能力需要加強。為此,本文利用優化的CS算法模型提升卷積神經網絡結構的數據訓練能力與泛化能力,保證故障特征提取和分類的準確性。實驗結果表明,本文提出的優化算法具有更強的算法總平方誤差控制能力,故障診斷精度明顯優于傳統算法。