辛 闊,王建國*,張文興
(1.內蒙古科技大學 機械工程學院,內蒙古 包頭 014010;2.內蒙古自治區機電系統智能診斷與控制重點實驗室,內蒙古 包頭 014010)
隨著現代領域生產的發展和科學技術的進步,機械設備的復雜度也大大提高。因此,高效的基于狀態的維護(condition-based maintenance,CBM)方法已成為現代機械設備維護的發展趨勢[1]。
在工業領域,CBM思想的應用有效地減少了因機械故障所造成的經濟損失。機械裝備的重要組成部分是軸承和齒輪等部件,而軸承和齒輪對機械設備的工況有比較大的影響,因此,軸承、齒輪的維護成為提高裝備使用壽命的關鍵之一。
近年來,隨著人工智能的興起,有關于機械設備智能診斷方面的研究越來越熱。由于能夠處理大量數據并且進行辨別,在機械的故障診斷領域,傳統機器學習和深度學習有著普遍的應用。這些方法大多包括兩個部分:(1)提取故障的特征;(2)對故障狀態進行分類。
鄢仁武等人[2]通過對斷路器的小波時頻圖分析,結合卷積神經網絡進行了對斷路器的故障識別。柳青秀等人[3]提出了一種基于長短時記憶—自編碼(LSTM-AE)神經網絡的風電機組性能評估及異常檢測方法,有效地提高了對風機異常檢測的準確性。曹惠玲[4]通過AdaBoost算法及其改進算法的結合,建立了一種多分類的AdaBoost算法,以支持向量機(SVM)為基礎分類器,對航空發動機進行了良好的故障診斷。李恒等人[5]利用短時傅里葉變換對振動數據進行了處理,得到了時頻譜樣本,將其輸入卷積神經網絡中進行了學習,獲得了比較好的識別精度和優良的魯棒性。吳春志等人[6]利用原始復合故障數據訓練了一維卷積神經網絡(CNN),使網絡有了良好的故障識別效果;并探索了不同卷積核及CNN層數,對網絡精度和訓練速度的影響。陳仁祥等人[7]提出了一種基于卷積神經網絡和離散小波變換的滾動軸承故障診斷方法。
2015年Google DeepMind團隊[8]成功將深度學習(DL)和強化學習(RL)結合,并很好地將其應用于游戲控制中,掀起了新一輪強化學習的研究高潮。QIAO Jun-fei等人[9]通過應用深度自編碼器提取了圖片特征,并使用Q學習策略實現了分類的對手寫數字的識別方法,有效增強了準確性,并減少了識別運行時間。MEHRTASH T[10]通過使用強化學習來尋找人臉圖像上的特征,從而完成了對人臉的識別。
上述方法雖然都在識別精度上有著良好的表現,但仍存在下列問題:(1)輸入信號多為人工經信號處理后的特征向量或圖片,這不僅需要比較強的先驗知識,而且可能造成對原始信號的破壞;(2)當前所見到的大多數模型未考慮到參雜噪聲信號情況下的故障診斷,而在實際生產的復雜環境下難免會有噪聲信號,這會大大降低模型的診斷精度和魯棒性;(3)傳統的深度神經網絡多存在局部最小值和過擬合等問題,使得模型訓練后出現準確率不高且穩定性較差的現象。
為解決上述問題,筆者采用一種端到端的故障診斷方法。該方法使用隨機置零策略處理過的振動數據,用于提高模型對不同噪聲的魯棒性;通過訓練具有感知能力和決策能力的深度強化學習網絡,提高模型對不同噪聲環境下的故障識別精度,進而使模型具有良好的抗噪性能。
深度強化學習是將深度學習和強化學習結合的一種通過智能體與環境不斷交互的試錯算法。深度強化學習使網絡既有感知能力又有決策能力,形成了一種更接近人類思維的智能算法。
卷積神經網絡是一種模仿生物自然視覺認知機制,一種采用圖像卷積計算的深度學習網絡框架。典型的CNN主要由:卷積層、池化層和全連接層構成。
卷積層采用矩形卷積核與輸入信號的局部感受域進行卷積計算,使用相同數值權重的卷積核對輸入數據,并進行掃描,使其參數得到共享。
卷積操作的數學模型為:
g(i)=Wi?xi+bi,i=1,2,…,I
(1)
式中:xi—當前的輸入特征向量;xi+1—卷積計算后的特征向量;?—卷積運算符號;Wi—卷積核的權重;bi—偏置;i—第i個卷積核。
完成卷積操作后,通過激活函數實現非線性變換,以提高模型的表達能力。其表達式為:
yi=f(g(i)),i=1,2,…,I
(2)
式中:yi—激活層輸出后的特征;f(·)—激活函數。
卷積運算后特征向量的數量會有較大的增加,雖然可以提高特征提取能力,但同時也會出現維數過大的問題,增加輸出的維度。而池化層可以有效地減少參數的數量,池化操作可以有效地保留特征信息,同時降低特征向量的尺寸維度。
CNN中應用最多的是最大池化,其表達式為:
(3)

馬爾可夫決策過程一般用來描述強化學習任務。馬爾可夫決策過程包含四元組,其中:S—狀態空間集,s—狀態空間集中的一個狀態,s∈S;A—動作空間集,a—動作空間集中的一個動作,a∈A;p—動作a被智能體執行后當前時刻狀態s轉化到下一時刻狀態s′的概率;r—動作A被智能體執行后當前時刻狀態s轉化到下一時刻狀態s′所獲得的獎勵。
馬爾可夫決策過程具有馬爾可夫屬性,即當前時刻下,環境的反饋只取決于上一時刻的狀態和動作,與之前更早的時刻沒有關聯性。
在本文的故障識別任務中,狀態s為一維故障信號;動作a為機械故障的類別:0,1,2,…,Y-1,其中:Y—故障類別數量;模型識別結果與故障樣本類型是否一致是給予獎勵r的重要標準,樣本類型與識別結果一致時r取+1,否則r取-1;對于狀態轉移概率p而言,盡管各個狀態之間沒有關聯,在網絡運行時,為避免出現過擬合現象,會任意打亂訓練數據樣本,且使各個訓練數據樣本數目均勻分布,狀態轉移概率也就成為了p=1/Y;且s′只有在動作a被執行后,狀態s以概率p轉移得到,和前一時刻的狀態沒有關聯,就符合馬爾可夫屬性。
強化學習就是為了求解馬爾可夫決策過程的最優策略。最優策略可以通過求解最優值函數得到[11],簡而言之,強化學習的求解最后演化成了優化貝爾曼方程,其數學模型為:
Rt=rt+rr+1+…+rn
V(st)=E[Rt+γ(Rt+1+γ(Rt+2…))]
V(st)=E[Rt+γV(st+1)]
(4)
式中:γ—折扣系數,是介于[0,1]的常數,γ的存在可以保證模型更容易獲取長期累計獎勵;Rt—未來累計獎勵;r—執行動作后獲得的獎勵。在訓練時,初始化V(s)=0。
上式展示了當前狀態值函數V(s)與未來狀態值函數V(st+1)的遞歸關系。顯然上式較關注的是狀態,但要知道在狀態s下,利用某個策略π采用動作a獲取的期望回報,就有了Q函數,即:
(5)

當前狀態值函數V(s)的表達式為:
V(s)=∑a∈Aπ(a|s)Q(s,a)
(6)
所以,在最優策略下的最優Q函數為:
(7)
(8)
上式經過處理后使用了關于a的指數加權平均[12],即為貝爾曼最優化方程。
在故障診斷任務中,狀態空間集S的數量非常大,而有限的空間并不能有效地存儲使用狀態動作對的Q值。較強的函數泛化能力是深度學習網絡的一大特點,可以用于對Q函數進行擬合,記作Q(s,a;θ),其中:θ—神經網絡的未知參數。
此處筆者使用了一個權重參數為θ的卷積神經網絡,來作為動作值函數的網絡模型,并通過該網絡模型Q(s,a;θ)模擬動作值函數Q*(s,a),即:
Q(s,a,θ)≈Q*(s,a)
(9)
在執行動作a后,當前狀態s以概率P轉移到s′,此時的Q函數為:

(10)
式中:r—狀態s執行動作a后得到的獎勵。
根據ε-貪心策略,筆者根據概率ε選取當前Q值最大的動作,根據概率1-ε隨機選擇動作后得到Q(s,a),故損失函數為:
L(θ)=(y-Q(s,a;θ))2
(11)
上式可以使Q函數依據ε-貪心策略在最小均方誤差下收斂,得到最優Q值函數。
筆者根據式(10)來計算神經網絡參數θ的梯度:

(12)
對于損失函數,筆者采用Adam算法進行訓練。其中,動量β1為0.9,平方梯度動量β2為0.999,誤差e為10-8。
在強化學習任務中,對外界環境的探索是智能體獲取知識的主要方式,所以在探索和利用之間平衡也就成了強化學習需要解決的問題。探索過多會使模型的收斂速度有所影響,太多的利用又會使強化學習模型進入局部最優。常用的ε-貪心策略多為固定值。本文使用一種隨訓練步數而變化的方法,使模型在前期多探索,后期多利用。
ε的設定方法為:
(13)
式中:i—當前的步數;T—總步數。
為使模型有不錯的抗噪性能,筆者使用隨機置零的方法,即在信號輸入后利用Dropout進行處理。在實際工況下,測試信號往往都會摻雜隨機噪聲,可認為是對測試純凈信號的隨機干擾;在輸入信號后引入隨機置零,可以使原始信號更好地模擬真實環境中的隨機噪聲環境。
隨機置零的具體實現方式如下:
p~Uniform(0.1,0.8)
R~Bernoulli(p)
Z=Y*R
(14)
式中:Y—原始振動信號;Z—隨機置零后的振動信號;p—隨機置零率,服從均勻分布U(0.1,0.8);R—服從概率為p的伯努利分布。
隨機置零的使用可以看作是為原始信號添加隨機干擾。當模型學習到這種經過被隨機干擾過的樣本后,模型的抗干擾性就會有所增強。
當然,隨機置零方法也可以豐富訓練樣本的數量,即使是同一個樣本信號,在經過隨機置零后,輸入模型的信號也很難保持一致。使用隨機置零方法破壞了原始信號的局部特征,但可以迫使模型學習其他更為有效的細節特征或樣本的整體特征[13]33-34。
隨機置零與無監督學習方法中的去噪自編碼器有相似之處,都向原始輸入信號中加入隨機干擾;其與去噪自編碼器類似,都可以學習魯棒性更強的特征。
此處筆者提出一種基于深度Q網絡的智能故障診斷模型,并在抗噪性和提高準確率上進行了探索。
為了使模型得到不錯的抗噪性能,筆者加入了隨機置零的方法。
文獻[13]31中指出,在原始數據輸入后為其按一定比例隨機置零,當數據被置零后,可以看作為數據引入了噪聲;由于傳統的深度神經網絡多存在局部最小值和過擬合等問題,使得模型訓練后存在準確率不高,且穩定性較差的問題。
筆者在深度神經網絡中加入了Q學習策略,用來提高模型的識別準確率和穩定性。深度Q網絡的故障診斷流程如圖1所示。

圖1 深度Q網絡故障診斷流程圖
模型通過環境與智能體的交互來實現對故障的智能診斷。首先環境給智能體輸入初始數據s,經過卷積神經網絡擬合狀態動作值函數Q(s,a)輸出動作a,與環境中數據s的故障類型做對比,通過給予智能體獎勵來更新卷積網絡的參數,使模型達到預期效果。
模型的學習過程如下:
(1)初始化擬合Q值函數的權重參數θ;
(2)重復經驗軌跡,從1到M:初始化狀態(故障樣本數據)s;
(3)重復對于當前輸入狀態(故)s,利用ε-貪心算法選擇下一個動作a(某個故障類型);
(4)觀察輸出動作與環境中該故障數據對應的樣本標簽是否一致,一致則獎勵r=+1,否則r=-1;

(6)對(y-Q(s,a;θ))2使用梯度下降類算法更新網絡參數。
為了驗證該模型的有效性,筆者使用SpectraQuest公司設計的實驗臺進行故障模擬實驗。故障診斷試驗臺如圖2所示。

圖2 動力傳動故障診斷試驗臺
實驗所用齒輪箱為定軸齒輪箱,深溝球軸承的型號為ER-10K,節徑D=33.5 mm,軸承的滾動體直徑為7.9 mm,接觸角α=0^°(該軸承有8個滾動體)。
定軸齒輪箱的結構圖如圖3所示。

圖3 定軸齒輪箱構造圖
加速度傳感器分別采集水平、垂直、軸向方向上的信號,通過數據采集儀(型號為DT9837)存儲在計算機上。數據采集過程中,電機轉速為1 200 r/min;軸承數據使用垂直徑向采集的故障數據,信號的采樣頻率Fs為2 560 Hz;齒輪信號的采樣頻率Fs為5 120 Hz,采樣時間均為10 s;
使用的信號故障類型為:外圈故障、內圈故障、正常軸承、滾動體故障、正常齒、磨損齒、缺齒、斷齒、齒根裂紋[14]。
模型的輸入為一維時域信號。由于深度學習網絡需要大批的數據作為訓練樣本,本文使用樣本擴充的方式,其示意圖如圖4所示。

圖4 樣本擴充示意圖
與沒有樣本重疊分割的方式相比,采用有重疊的樣本分割策略,不但可以保留樣本相鄰數據之間的關聯性,也可以滿足深度學習方法對樣本數量的要求[15]。
為保證在測試樣本中有沒有被訓練的數據,此處取樣本長度為1 200,重疊部分長度為300。
為了驗證深度Q網絡模型在故障識別方面的性能,本文使用上述試驗臺中采集的軸承數據進行驗證實驗。所使用的軸承數據包含:內圈故障、外圈故障、滾動體故障和正常軸承4類故障(均未添加負載)。
4種故障類型的時域圖如圖5所示。

圖5 故障時域圖
此處,對應4種軸承狀態,每種狀態取1 000個樣本,共4 000個樣本,每個樣本包含1 200個數據點。其中,90%是訓練樣本,10%是測試樣本。
實驗軟件環境為:Python+Tensorflow2.0;硬件環境為:Intel i5-8250U。
模型使用的卷積神經網絡擬合Q函數結構如圖6所示。

圖6 卷積神經網絡擬合Q函數
本文使用卷積神經網絡來擬合Q值函數[16]。第一層卷積層的卷積核大小為,步長為6,共32個特征圖(較大的卷積核可以用于有效地提取大尺度下時域信號特征)。
本文將第二、三層卷積層用于提取信號的深層特征,卷積核大小均為5×1,步長為3,網絡在該位置的輸出由具有局部不變性的卷積層處理;通過對卷積的輸出特征使用最大池化,使網絡在保持信號本質的同時減少數據量(池化核的寬度均為3×1,步長為2)。
激活層使用的激活函數為Relu。全連接層可以把這些特征都連接起來,并且可以使網絡增強學習特征的能力,其中分別包含128個和4個神經元。
在原始數據輸入后加入隨機置零,即加入一層Dorpout層,置零比例在0.1~0.8之間均勻分布。
模型的訓練參數如下:

在每輪訓練中,該模型每輪設置的步數為512步。由于模型開始時沒有學習任何內容,一開始有1/4的概率可以被猜中,也就是首輪的得分應該在-512~-456分之間,模型共訓練2 000輪。本文對2 000輪訓練的每10輪計算獎勵和損失值的平均值。
模型訓練后的Q函數累計值隨迭代次數的關系,即Q函數累計值變化圖,如圖7所示。

圖7 Q函數累計值變化圖
由圖7可知:模型幾乎是線性遞增的,最后最高得分達到了488分;模型的識別準確率可以達到98.87%。
損失值變化圖如圖8所示。

圖8 損失值變化圖
從圖8可以看到:每輪訓練后模型的損失值都可以保持在比較低的狀態,表明模型每輪訓練都學習到了東西;在迭代到150次時,損失值會有明顯降幅,模型開始收斂,在訓練過程中由于模型不定時“探索”會出現損失值的跳動。
上述實驗結果驗證了該方法在故障診斷中的可行性。
在強化學習任務中,探索與利用的平衡通常由ε-貪心策略來實現。過大或是過小的ε都會極大地影響探索和利用的平衡。研究人員在訓練前期可以進行探索,后期可以利用已學到的內容,所以本文在此處使用動態值。
為驗證動態值的優勢,筆者使用固定ε值進行了比較,其實驗結果如表1所示。

表1 ε值對Q函數累計值的影響
由表1可知:當ε=0.75時,模型探索過多,不能被有效利用,Q函數累計值較低;當ε=0.3時,模型不能很好地進行探索,但在充分迭代后,Q函數累計值也可以達到458;使用動態ε值時,可隨迭代步數變化,使前期探索后期利用,可以看到Q函數累計值達到了488。
為研究模型在不同噪聲環境下對旋轉機械故障的識別能力,筆者在上述模型分中別輸入不同信噪比(σSNR)的測試樣本。信噪比公式為:
(15)
式中:Psignal,Pnoise—信號的有效功率和噪聲的功率。
在采集到的不同故障的測試集中,筆者分別添加了不同信噪比的高斯白噪聲。
正常齒輪信號中再加入0 dB噪聲后的時域圖,如圖9所示。

圖9 正常齒輪信號加入0 dB噪聲
此處仍然利用SpectraQuest公司的試驗臺數據作為實驗數據。樣本的具體劃分如表2所示。

表2 數據集劃分
樣本共41 250個,其中,訓練樣本37 125個,測試樣本4 125個。測試樣本中都包含著數量相同的加噪信號。
本文通過向原始信號隨機置零加入Dropout層,以增加模型對噪聲的泛化性。
有隨機置零策略、沒有隨機置零策略以及置零比例在0.1,0.3,0.5,0.6時,抗噪性能的對比結果如圖10所示。

圖10 有無隨機置零輸入信號的診斷性能
從圖10中可以看出:模型在沒有隨機置零輸入信號的情況下,故障診斷的識別精度會隨信噪比的降低而迅速下降;而在有隨機置零輸入信號的情況下,模型則表現出了良好的抗噪性。
由于上述軸承和齒輪的故障數據都是在固定負載下獲取的,此處本文使用美國的凱斯西儲大學的軸承數據集來驗證變載條件下的準確性[17]。
此處利用的數據是驅動端數據,數據中包含軸承正常、滾子故障、內圈故障、外圈故障4種故障狀態,每種故障類型各包含(1 hp、2 hp、3 hp、4 hp)4種負載的數據,它們所對應的轉速分別是1 797 r/min、1 772 r/min、1 750 r/min和1 730 r/min,大致可以認為是定速;振動數據的采樣頻率為12 kHz。
對于上述的4種故障類型,每種故障類型都有8 100個樣本數據。西儲的數據集劃分如表3所示。

表3 西儲數據集劃分
筆者使用經過隨機置零處理的數據和沒有隨機置零的數據訓練模型進行測試和對比,其結果如表4所示。

表4 有無隨機置零輸入時模型的準確率
由表4可知:在測試集上的故障識別準確率方面,經隨機置零處理的數據訓練的模型均遠高于干凈信號輸入訓練的模型,并且模型在信噪比為-2 dB時仍有著90.85%的診斷精度,而采用干凈信號輸入的模型僅有43.52%的識別準確率;模型在信噪比>2 dB時識別準確率可以達到98%,信噪比>5 dB時模型的識別準確率更是有99%。
由此可見,在變載的條件下,該模型有著較好的識別準確率。
本文對一維卷積神經網絡(1DCNN)、支持向量機(SVM)、BP神經網絡(BP-NN)和本文模型進行對比實驗。其中,三層卷積池化層、兩層全連接層和Softmax分類層構成了1DCNN,支持向量機采用高斯核函數,BP-NN采用三層網絡結構。
模型的訓練結果如圖11所示。

圖11 不同噪聲環境下方法診斷性能對比
由圖11可知:與1DCNN相比,本文模型在高信噪比時都有著不錯的故障識別精度,而當信噪比<2 B時,1DCNN的診斷精度略低于本文的方法,在信噪比為-4 dB時該模型的識別準確率也有78%;
在穩定性方面,1DCNN在噪聲比較嚴重的情況下有2.15%的識別誤差,而本文方法則表現相對穩定,誤差在0.86%。
與相對典型的SVM、BP-NN相比,本文模型在識別準確率、穩定性上均有不錯的優勢;而SVM、BP-NN即使在噪聲較小的數據集上診斷效果也不佳,其原因主要在于淺層模型無法有效學習特征,同時學習到的特征也沒有具備較好的分類特征。
由于傳統的旋轉機械故障診斷方法需要人工提取故障特征,且受環境噪聲的影響較大,筆者提出了一種基于深度Q網絡強化學習的故障診斷模型,探索了一種端到端的,基于深度強化學習的旋轉機械故障診斷的方法,并使其能夠準確且穩定地在噪聲環境下和變載條件下對旋轉機械進行故障診斷。
該研究過程和結果如下:
(1)該方法使用原始信號作為輸入,可有效省去現有方法需要通過人工進行信號處理和特征提取的繁瑣過程;
(2)采用隨機置零的方法,使模型對不同程度噪聲均產生抗噪性,經過訓練的模型可以大大地提升其抗噪水平;
(3)通過不同模型的對比實驗表明,與1DCNN、BP-NN和SVM相比,在準確度和穩定性方面,本文提出的模型都有著不錯的表現。在信噪比>-2 dB時,模型識別準確率可達90%左右;在信噪比>-4 dB時,準確率也可達78%。
在后續的研究中,筆者將探索不同獎勵函數對網絡的影響,并將其結果與遷移學習相結合,以拓寬該模型在不同設備間的適用性。