1.一種基于Nesterov動量法的自適應深度置信網(wǎng)絡軸承故障診斷方法,其特征在于,包括步驟:
步驟1:對滾動軸承不同健康狀態(tài)的原始信號進行樣本劃分,生成訓練樣本;
步驟2:通過層疊RBM構建DBN模型,將訓練樣本輸入DBN模型,結合批量隨機梯度下降法和貪婪逐層無監(jiān)督算法預訓練DBN模型,在DBN模型中加入Nesterov動量法和獨立自適應學習率;
步驟3:在預訓練好的模型頂層接入Softmax分類器,使用監(jiān)督算法單獨訓練Softmax分類器,接著利用BP算法和共軛梯度法進行全局微調(diào),獲得模型最優(yōu)參數(shù);
步驟4:輸入未知狀態(tài)信號,形成測試樣本集,將測試樣本輸入訓練好的DBN模型和Softmax分類器判斷滾動軸承的工作狀態(tài)和故障類型。
2.根據(jù)權利要求1所述的基于Nesterov動量法的自適應深度置信網(wǎng)絡軸承故障診斷方法,其特征在于:所述步驟1具體包括以下步驟:
步驟1.1:以滾動軸承在不同健康狀態(tài)下的振動信號作為原始數(shù)據(jù)X,根據(jù)振動信號的采樣頻率和軸承轉動速度,軸承轉動一個周期采集到的信號數(shù)據(jù)個數(shù)表示為其中:n為軸承轉動一個周期采集到信號數(shù)據(jù)個數(shù),r為軸承轉動速度,單位為r/min,f為采樣頻率,單位為Hz;
步驟1.2:以n為一個樣本長度,將軸承不同健康狀態(tài)下的振動信號劃分成訓練樣本集X′,其中X′(g)∈Rn,X′(g)表示訓練樣本集中第g個訓練樣本,并為每一種健康狀態(tài)設置標簽L,其中L(g)∈{1,2,3,...,k},L(g)表示第g個訓練樣本的標簽,k表示分類類別。
3.根據(jù)權利要求2所述的基于Nesterov動量法的自適應深度置信網(wǎng)絡軸承故障診斷方法,其特征在于:所述步驟2具體包括以下步驟:
步驟2.1:層疊RBM建立DBN模型,具體包括:
每一個RBM模型包括一層v={v1,v2,...,vi}可視層和一層h={h1,h2,...,hj}隱藏層,i和j分別表示可視層第i個可視單元和隱藏層第j個隱藏單元;將復數(shù)數(shù)量的RBM模型從下往上層疊建立DBN模型,底層RBM的隱藏層h1作為上一層RBM的可視層v2,然后這一層RBM的隱藏層h2作為上一層RBM的可視層v3,當?shù)讓覴BM的可視層存在輸入,頂層RBM的隱藏層提取出相應輸入的深層特征;當給定可見單元的狀態(tài)時,各隱單元的激活狀態(tài)之間是條件獨立的,此時,第j個隱藏單元的激活概率為:
其中,為sigmoid激活函數(shù),θ={Wij,ai,bj}為RBM的參數(shù),Wij表示可見單元i與隱單元j之間的連接權重,ai表示可視單元i的偏置,bj表示隱單元j的偏置;當給定隱單元的狀態(tài)時,各可見單元的激活條件也是條件獨立,即第i個可視單元的激活概率為:
步驟2.2:將訓練樣本輸入DBN模型,結合批量隨機梯度下降法和貪婪逐層算法預訓練DBN模型,具體包括:
對訓練樣本集X′進行歸一化處理,使樣本集X′幅值范圍處于(0,1)之間,得到新的樣本集X″,針對批量隨機梯度下降法,將樣本集X″隨機劃分成若干個批量B={b1,b2,...,bm},其中m表示第m個批量樣本集,將每一個批量樣本集輸入DBN模型中,使用貪婪逐層無監(jiān)督算法進行預訓練:首先訓練底層RBM,記為RBM1,將批量樣本集B輸入到RBM1的可視層,最大化RBM在訓練集B上的對數(shù)似然函數(shù)學習得到:
其中,P(v|θ)為聯(lián)合概率分布P(v,h|θ)的邊際分布,(v,h)聯(lián)合概率為:
其中,Z(θ)為歸一化因子,表達式為:
E(v,h|θ)為RBM的能量函數(shù):
使用CD算法進行梯度下降,各參數(shù)的更新準則為:
其中,ηw,ηa和ηb分別為權重、可視層偏差和隱藏層偏差的學習率,<·>recon表示一步吉布斯采樣后模型定義的分布,依次將各個批量樣本集輸入RBM1,訓練參數(shù)θ1,將訓練樣本B輸入到訓練好的RBM1,得到提取的特征F1={f1,f2,...,fm},其中l1表示一階樣本特征長度,此時F1={f1,f2,...,fm}為原始數(shù)據(jù)B={b1,b2,...,bm}的一階特征表示,即最底層的表達方式;接著將特征F1作為上一層RBM(記作RBM2)的輸入,固定參數(shù)θ1重復上述步驟訓練RBM2的參數(shù)θ2,得到二階特征F2={f1,f2,...,fm},其中l2表示二階樣本特征長度;F2={f1,f2,...,fm}是更加抽象的特征表達;隨后對后面的各層RBM采用同樣的策略,即將前層的輸出作為下一層輸入依次訓練,并在訓練每一層參數(shù)的時候固定其他各層參數(shù)保持不變,最后得到頂層RBM的隱藏層輸出Fs={f1,f2,...,fm}(s≥2),其中ls表示s階樣本特征長度,此時Fs={f1,f2,...,fm}作為DBN模型提取出的最深層的特征表達;
步驟2.3:在DBN模型中加入Nesterov動量法和獨立自適應學習率,加快預訓練速度和提高分類精度,具體包括:
當使用批量隨機梯度下降法遇到溝壑問題、在DBN模型參數(shù)更新時,使用動量法,即將上一次更新時的梯度乘以一個因數(shù)γ,然后加上此時的梯度,若兩次梯度的方向類似,則加速在這一方向上的移動:
在坡度開始由下降轉為上升時,使用Nesterov動量法,首先通過計算J(θ-γvt-1)的梯度預測下一步要下降到的位置,然后再做出修正:
采用獨立自適應學習率,對于每一個權重值Wij更新時,使用一個參數(shù)α實時改變學習率的大小,表達式為:
其中,hij(k)表示第k次訓練時權重Wij學習率的自適應系數(shù),初始hij(0)設置為1,表示使用Nesterov動量法后第k次訓練時權重Wij的梯度;如果本次訓練的梯度與上一次訓練時的梯度符號相同,則相應的自適應系數(shù)增加α,加速下降,相反地,如果本次訓練梯度與上一次訓練時的梯度符號相反,則相應的自適應系數(shù)縮小1-α倍,減緩下降速度。
4.根據(jù)權利要求3所述的基于Nesterov動量法的自適應深度置信網(wǎng)絡軸承故障診斷方法,其特征在于:所述自適應系數(shù)限制在[0.01,100]。
5.根據(jù)權利要求3所述的基于Nesterov動量法的自適應深度置信網(wǎng)絡軸承故障診斷方法,其特征在于:步驟3具體包括以下步驟:
步驟3.1:將DBN模型提取出的深層特征表達Fs={f1,f2,...,fm}輸入Softmax分類器,結合標簽L單獨訓練Softmax分類器:
假設總共有k個分類類別,在Softmax回歸中系統(tǒng)的方程為:
其中,代表第k個概率下分類概率,是模型的參數(shù),這一項是對概率分布進行歸一化,使用符號來表示全部的模型參數(shù),將按行羅列變成一個k×ls的矩陣,如下所示:
采用梯度下降法優(yōu)化模型參數(shù),Softmax回歸中代價函數(shù)為:
其中,1{·}是示性函數(shù),其取值規(guī)則為1{值為真的表達式}=1,1{值為假的表達式}=0,表示權重衰減項,懲罰過大的參數(shù)值,λ為衰減系數(shù),求導,得到梯度公式如下:
其中,是一個向量,它的第l個元素是對的第l個分量的偏導數(shù),使用梯度下降算法最小化參數(shù)更新準則為:
步驟3.2:基于BP算法與共軛梯度算法的全局微調(diào):
首先進行向前傳導運算,計算網(wǎng)絡中所有神經(jīng)元的激活值,之后,針對第l層的每一個節(jié)點i,計算出其殘差將這個殘差定義為分類誤差表示第ln層表示輸出層;對于隱藏單元,將基于節(jié)點殘差的加權平均值計算基于BP算法的微調(diào)方法如下:
對于第ln層的每個輸出單元i,根據(jù)以下公式計算殘差:
其中,表示第ln層節(jié)點i的輸出激活值,表示第ln層節(jié)點i的輸入,f′表示傳遞函數(shù)的導函數(shù),
對于l=ln-1,ln-2,ln-3,...,2的各層,第l層的第i個節(jié)點的殘差計算方法如下:
偏導數(shù)的計算方法如下:
更新權重參數(shù):
其中,ΔW(l)表示第l層權重W的平均梯度,Δb(l)表示第l層偏差b的平均梯度;使用共軛梯度法搜索最優(yōu)學習率ε,重復梯度下降法的迭代步驟實現(xiàn)整個DBN模型的參數(shù)優(yōu)化。
6.根據(jù)權利要求1所述的基于Nesterov動量法的自適應深度置信網(wǎng)絡軸承故障診斷方法,其特征在于:步驟4的實現(xiàn)包括:
對未知狀態(tài)信號重復步驟1,形成測試樣本集,然后將測試樣本集輸入訓練好的DBN模型,獲得輸出值,并通過輸出值判斷設備狀態(tài)。