張 璐 芮 挺 朱會杰 周 游
(1.解放軍理工大學國防工程學院,江蘇 南京210007;2.江蘇經貿職業技術學院,江蘇 南京210007)
滾動軸承是旋轉機械的關鍵部件,其直接影響整個機械系統的性能和效率,也是引起旋轉機械故障的主要原因之一[1]。據統計,大約有30%的旋轉機械故障是由滾動軸承故障引發,因此研究滾動軸承的故障診斷對于保證旋轉機械正常運轉有重要意義。
隱馬爾可夫模型(Hidden Markov Model,HMM)是一種概率統計模型,在語音識別、狀態監測、故障診斷、生物信號處理等信號處理和模式識別領域得到廣泛應用[2]。HMM的應用建立在訓練的基礎上,然而經典的Baum-Welch訓練算法是一種基于最陡梯度下降的局部優化算法,該算法的缺點是對初始值的選取依賴大,且容易陷入局部最優解。
因此本文針對HMM原有訓練算法存在的問題,提出一種基于極值擾動和自適應慣性權重的粒子群算法的模型訓練算法,采用全局搜索策略優化模型參數,提高模型在故障診斷中的準確性。
隱馬爾可夫模型包含了雙內嵌式的隨機過程:一個是馬爾可夫鏈,它負責描述隨機過程狀態的轉移;另一個是隱馬爾可夫鏈中狀態相關的觀測序列,它負責描述狀態和觀察值之間的統計對應關系。在HMM中觀察到的事件與狀態并不是一一對應的,而是通過一個隨機過程去感知狀態的存在及其特性。由于不能直接看到狀態,因而稱為隱馬爾可夫模型[3]。
粒子群算法(Particle Swarm Optimization,PSO)是一種基于迭代的群體優化方法。所有粒子都具有相應的速度V(t)和位置X(t),每個粒子根據它的位置都會產生一個適應度值。將每個粒子視為問題的一個可行解,通過一組隨機解對系統進行初始化后,迭代搜尋得出最優值[4]。在迭代過程中,每個粒子通過跟蹤兩個極值不斷調整運動速度和位置:一個極值是粒子本身目前找到的最優解,即個體歷史最優值pbest;另一個極值是整個種群目前找到的最優解,稱為全局最優值gbest,從而實現在搜索空間的尋優。其公式表示為:

式中,ω為慣性權重;c1、c2為學習因子;r1、r2為[0,1]區間內均勻分布的偽隨機數。
本文提出擾動策略的算法,使種群始終處于一種非平衡態,促使粒子在精英學習機制的基礎上擴大探測范圍,增加群體多樣性,從而提高算法的搜索能力。擾動算子如下:

式中,rand為[0,1]區間內的均勻分布。
采用擾動策略改進粒子群算法,主要是通過對種群最優值添加持續的小范圍擾動。每相隔十代,比較兩個全局最優值,若差值小于一定閾值,說明粒子群有陷入局部最優、瀕臨停滯的可能性,給全局最優值加上擾動,通過粒子群的學習機制,可將整體帶出局部最優。比較兩代全局最優值設定固定步長的目的是減少運算量,提高算法效率。表達式為:

慣性權重使粒子保持運動慣性,同時擴展搜索空間。較大的慣性權重有利于全局探索,而較小的慣性權重有利于算法的局部開發,加速算法的收斂。在全局搜索算法中,希望前期有較高的搜索能力以得到合適粒子,而后期有較高的開發能力,以加快收斂速度[5]。為平衡算法的全局搜索能力和收斂速度,本文采用基于高斯函數遞減慣性權重的調整策略,即:

式中,MaxDT為粒子群算法中的最大循環次數;t為當前迭代次數;k為一個常數值,較小的k值會使ω(t)迅速減小,較大的k值會使ω(t)變化減慢。
當選定k值后,ω(t)隨著迭代次數的增加而減小,加快了算法的收斂速度。在算法程序中設置一個小的固定值D作為精度值,在程序運行過程中,當ω-ωmin>D時,按照式(5)更新慣性權重;反之,當ω-ωmin≤D時,ω=ωmin。
針對HMM訓練算法存在的問題,本文采用粒子群優化算法訓練HMM,具備了全局搜索、快速收斂的能力,能夠降低初始值的影響,提高模型的訓練算法逼近函數極值的能力。
設狀態轉移矩陣A、觀察值輸出矩陣B、初始狀態分布矩陣π為粒子位移表達式X(t)=[π,A,B]。將粒子群算法最終獲得的全局最優解作為HMM中的各個參數。由于各元素的取值范圍要在[0,1]之間以及各行元素要滿足和等于1的條件,所以首先分別對π、A、B進行歸一化處理。進而,HMM的參數訓練過程就轉變為求取適應度函數最大值的問題。
在訓練過程中,選取產生觀測序列O的概率P(O|λ)作為適應度函數,具體函數為f(λ)=P(O|λ)。考慮到HMM模型的概率值P(O|λ)相對較小,且只關心每次模型輸出概率值的相對大小,現將上述函數兩邊取對數作為本算法中的適應度函數。
(1)給定初始化條件,設置學習因子、慣性權重、粒子群規模、最大速度、最大迭代次數等參數,同時設定HMM的狀態數、觀測值數以及觀測序列;(2)對π、A、B矩陣歸一化,按照式(1)、(2)更新速度、位移;(3)按照式(5)更新慣性權重,計算適應度函數,更新個體最優值、全局最優值;(4)判斷是否加入擾動算子,若達到終止條件,輸出最優解和對應適應值,否則轉向(3)。
實驗樣本來源于安裝在電機驅動端的6205-2RS深溝球滾動軸承的振動加速度數據。具體實驗設置如表1所示(每組樣本釆樣點為1 024個)。

表1 實驗數據的設置
在訓練階段,采用本文提出的粒子群優化算法訓練左右型的HMM。將經過三層小波包分解、特征提取、特征降維等信號處理后的多維觀測矩陣作為HMM的訓練集。設定隱狀態的數目為4。每種故障狀態下選取30個樣本進行訓練。粒子群算法參數設置為:粒子群個體數目Num=100,c1=c2=1.496 2,ωmin=0.4,ωmax=0.9,最大迭代次數為500次。初始狀態分布矩陣π的初值為[1,0,0,0],A、B矩陣的初始值為歸一化的隨機值。
訓練結束后,將得到內圈故障、滾動體故障、外圈故障和正常狀態對應的4個模型,分別為HMM-1~HMM-4。圖1為訓練后的4種故障類型對應HMM的對數似然率。
測試階段,對每種故障狀態下的各50個樣本振動信號進行同樣的信號處理和特征提取過程,然后分別輸入訓練后的4組模型中,將獲得最大適應度函數值P(O|λ)的模型識別為當前的軸承狀態。表2為HMM診斷的具體統計結果。
由表2可以看出HMM具有較好的分類性能,對4種軸承故障的識別率均在92%以上。HMM的訓練和診斷實驗結果表明HMM軸承故障診斷方法算法穩定、訓練速度快、分類準確率高,可以用于軸承的故障診斷工作。

圖1 4種故障類型的HMM對數似然率

表2 故障診斷的實驗結果
HMM是故障診斷、語音識別等領域一種有效的分類方法,針對其訓練中所采用的Baum-Welch算法對初始參數的選擇依賴大、全局尋優能力不足的缺陷,本文提出了基于改進粒子群算法的HMM訓練算法,通過對全局最優解加入擾動、對慣性權重加入高斯函數的改進方法,提高了模型的訓練算法收斂于全局最優的能力。滾動軸承故障診斷實驗表明本文提出的改進訓練算法的HMM對軸承故障具有良好的識別率,且4種故障類型的診斷準確率均高于92%,證明了該方法的有效性和實際應用的可行性。
[1]李全.基于 HMM的軸承故障診斷方法[D].昆明理工大學,2010
[2]王志堂,蔡淋波.隱馬爾可夫模型(HMM)及其應用[J].湖南科技學院學報,2009,30(4)
[3]謝松汕,許寶杰,吳國新,等.基于HMM/SVM的風電設備故障趨勢預測方法研究[J].計算機測量與控制,2014(1)
[4]朱嘉瑜,高鷹.基于改進粒子群算法的隱馬爾可夫模型訓練[J].計算機工程與設計,2010,31(1)
[5]張迅,王平,邢建春,等.基于高斯函數遞減慣性權重的粒子群優化算法[J].計算機應用研究,2012,29(10)