楊 宇, 羅 鵬, 甘 磊, 程軍圣
(湖南大學(xué) 汽車車身先進設(shè)計制造國家重點實驗室, 長沙 410082)
傳統(tǒng)的智能診斷方法過于依賴提取的特征值以及專家診斷經(jīng)驗知識,在面對如何實現(xiàn)大型化、高速化、復(fù)雜化裝備系統(tǒng)準(zhǔn)確、快速、便捷的在線監(jiān)測與實時故障診斷這類問題時,傳統(tǒng)的智能診斷方法就顯得有點力不從心[1-2]。因此,迫切需要研究新的方法來滿足工程實際的需求。
Hinton等[3]在《Science》上提出深度學(xué)習(xí)理論,由此開啟了機器學(xué)習(xí)在學(xué)術(shù)界和工業(yè)界的浪潮。深度學(xué)習(xí)的宗旨在于構(gòu)建深層次的網(wǎng)絡(luò)結(jié)構(gòu)模型,學(xué)習(xí)數(shù)據(jù)中隱含的特征,獲取數(shù)據(jù)豐富的內(nèi)在信息。相較于傳統(tǒng)的智能診斷方法,深度學(xué)習(xí)方法有以下三大優(yōu)勢[4-6]:① 能夠針對不同的診斷對象以及故障類型自適應(yīng)地提取數(shù)據(jù)中的特征參數(shù);② 具有深層學(xué)習(xí)能力,能夠較好地建立起信號與設(shè)備之間復(fù)雜的非線性映射關(guān)系;③ 能夠不用單獨去選擇和設(shè)計專門的分類器,建立的深度學(xué)習(xí)模型能夠根據(jù)前期自適應(yīng)提取的特征參數(shù)對設(shè)備狀況進行模式識別,給出相應(yīng)的識別結(jié)果或者維修建議。
深度信念網(wǎng)絡(luò)(Deep Belief Network,DBN)作為一種深度學(xué)習(xí)網(wǎng)絡(luò)的典型代表[7],通過組合低層特征形成更加抽象的高層表示,以發(fā)現(xiàn)數(shù)據(jù)分布式特征表示,是一種可以直接從低層原始信號出發(fā),逐層貪婪學(xué)習(xí)得到高層特定特征的學(xué)習(xí)網(wǎng)絡(luò)。DBN以受限玻爾茲曼機(Restricted Boltzmann Machine,RBM)為基本結(jié)構(gòu)單元,通過多個RBM堆疊而成。RBM網(wǎng)絡(luò)結(jié)構(gòu)具有如下性質(zhì)[8]:當(dāng)給定可見層神經(jīng)元的狀態(tài)時,各隱層神經(jīng)元的激活條件獨立;反之當(dāng)給定隱層神經(jīng)元的狀態(tài)時,可見層神經(jīng)元的激活也條件獨立。這種網(wǎng)絡(luò)中的神經(jīng)元是隨機神經(jīng)元,其輸出只有兩種狀態(tài)(未激活和激活),狀態(tài)的取值根據(jù)概率法則決定。RBM由兩層對稱連接且無自反饋的隨機神經(jīng)網(wǎng)絡(luò)構(gòu)成,其層間全連接,層內(nèi)無連接,具有強大的無監(jiān)督學(xué)習(xí)能力,能夠?qū)W習(xí)數(shù)據(jù)中復(fù)雜的規(guī)則。
DBN無需人工特征提取過程,從而避免了傳統(tǒng)特征提取過程所帶來的復(fù)雜性和不確定性,增強了識別過程的智能性,典型的雙隱層DBN診斷流程,如圖1所示。
圖1 雙隱層DBN診斷流程
正是因為DBN的諸多優(yōu)點,其在故障診斷領(lǐng)域也得以應(yīng)用。Tamilselva等[9]利用DBN理論對飛機發(fā)動機結(jié)構(gòu)健康狀況進行識別;李巍華等[10]利用DBN可以從低層逐步學(xué)習(xí)到高層抽樣的特點,直接從原始數(shù)據(jù)出發(fā),對軸承故障進行了識別,由于無需進行特征提取,因而減少了人為參與因素,增強了故障診斷的智能性。但是DBN仍處于發(fā)展初期,在實際應(yīng)用中基本上都是依靠經(jīng)驗來確定其網(wǎng)絡(luò)結(jié)構(gòu)。這樣不僅可能對診斷結(jié)果帶入人為影響誤差,也不利于網(wǎng)絡(luò)結(jié)構(gòu)的自身優(yōu)化,造成計算成本較高,診斷速度較慢,無法滿足實時診斷的實際需求。
基于此,本文針對深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)及模型參數(shù)的選擇往往依賴經(jīng)驗這一缺陷,提出了一種新的深度信念網(wǎng)絡(luò)——結(jié)構(gòu)自適應(yīng)深度信念網(wǎng)絡(luò)(Structure Adaptive Deep Belief Network,SADBN),當(dāng)診斷對象確定后,該網(wǎng)絡(luò)可以排除人為因素的干擾,充分利用網(wǎng)絡(luò)優(yōu)勢,自適應(yīng)地選取最優(yōu)深度網(wǎng)絡(luò)結(jié)構(gòu),從而可以有效提高診斷精度及診斷效率,滿足實時診斷的需求。
針對不同的診斷對象,DBN將面臨網(wǎng)絡(luò)結(jié)構(gòu)選擇的困難,包括網(wǎng)絡(luò)深度、各層節(jié)點數(shù)如何選定等等。與此同時,深度學(xué)習(xí)網(wǎng)絡(luò)的相關(guān)參數(shù),例如:迭代次數(shù)的確定等等,同樣也是較為棘手的問題。為解決上述問題,本文提出了結(jié)構(gòu)自適應(yīng)深度信念網(wǎng)絡(luò)法。
DBN的網(wǎng)絡(luò)結(jié)構(gòu)單元為RBM,需要確定DBN最優(yōu)網(wǎng)絡(luò)結(jié)構(gòu),其實就是確定構(gòu)建DBN的RBM結(jié)構(gòu)最優(yōu)及DBN網(wǎng)絡(luò)深度最優(yōu)。因此,結(jié)構(gòu)自適應(yīng)深度信念網(wǎng)絡(luò)法的首要工作就是在研究清楚RBM運行機理的基礎(chǔ)上,尋找能夠有效反映RBM性能的指標(biāo),從而對構(gòu)建的RBM性能優(yōu)劣進行有效判定,以此獲取最優(yōu)RBM結(jié)構(gòu),然后逐層增加構(gòu)建DBN的RBM個數(shù)或者增加DBN的網(wǎng)絡(luò)層數(shù),綜合評定來獲取最優(yōu)DBN網(wǎng)絡(luò)結(jié)構(gòu)。
RBM可以視為一個無向圖模型,如圖2所示,其中v代表可見層,表示觀測數(shù)據(jù),h為隱層,可以當(dāng)作特征提取器,W為兩層之間的鏈接權(quán)重。RBM中的可見層和隱層單元可以為任意的指數(shù)族單元,即可見單元和隱單元可以為任意的指數(shù)族分布,如softmax單元、高斯單元和泊松單元等等。為方便討論,我們經(jīng)常假設(shè)所有的可見單元和隱單元均為二值變量,即對任意的i和j都有vi∈{0,1},hj∈{0,1}。
圖2 RBM結(jié)構(gòu)
如果一個RBM有n個可見單元和m個隱單元,用向量v和h分別表示可見單元和隱單元的狀態(tài)。其中vi表示第i個可見單元的狀態(tài),hj表示第j個隱單元的狀態(tài)。對于一組給定的狀態(tài)(v,h),RBM作為一個系統(tǒng)所具備的能量定義為:
(1)
式中:θ={Wij,ai,bj}是RBM的實參數(shù),Wij表示可見單元與隱單元之間的連接權(quán)重,ai表示可見單元i的偏置,bj表示隱單元j的偏置?;谏鲜瞿芰亢瘮?shù),我們可以得到(v,h) 的聯(lián)合概率分布:
(2)
式中:Z(θ)為歸一化因子,也稱為配分函數(shù)。
對于工程實際應(yīng)用,我們最關(guān)心的是由RBM所定義的關(guān)于觀測數(shù)據(jù)v的分布P(v|θ),也就是聯(lián)合概率分布P(v,h|θ)的邊際分布,也稱為似然函數(shù),其數(shù)學(xué)表現(xiàn)形式為:
(3)
在此,我們可以找到評判一個RBM是否優(yōu)劣的性能指標(biāo),即在訓(xùn)練數(shù)據(jù)上的似然度L(θ),其表達式如下:
(4)
為了獲取似然度L(θ),首先就得確定關(guān)于觀測數(shù)據(jù)v的分布P(v|θ),從而就得計算歸一化因子Z(θ)。通過RBM的結(jié)構(gòu)可知,獲取Z(θ)需要計算2n+m次,其中n代表樣本長度,Z(θ)將會因計算次數(shù)過大而難以獲取。所以,理論上我們可以通過似然度L(θ)來判定RBM的性能優(yōu)劣,但是由于工程實際的限定,導(dǎo)致該方法很難實現(xiàn)。
由表達式(2)可知,因為Z(θ)難以獲取,則聯(lián)合概率分布P(v,h|θ)也難以獲取。為解決這一問題,研究者一般通過一些采樣方法(如Gibbs采樣)獲取P(v,h|θ)的近似值,其過程中將會涉及到可見層的重構(gòu)問題。在此,我們可得到評判一個RBM是否優(yōu)劣的第二個性能指標(biāo),即重構(gòu)誤差。但是重構(gòu)誤差在收斂速度以及逼近精度方面存在缺陷,而熵誤差與重構(gòu)誤差相比較而言能夠加快網(wǎng)絡(luò)收斂速度和逼近的精度,能夠使得網(wǎng)絡(luò)的泛化能力得到加強。在此,我們引入了熵誤差函數(shù),其表達式如下:
(5)
式中:D=(d1,d2,…,dl)T為網(wǎng)絡(luò)期望的輸出,O=(o1,o2,…,ol)T為網(wǎng)絡(luò)輸出,l為樣本個數(shù)。
結(jié)構(gòu)自適應(yīng)深度信念網(wǎng)絡(luò)法的核心思想就是在深度學(xué)習(xí)過程中,得到每個網(wǎng)絡(luò)結(jié)構(gòu)單元RBM的熵誤差函數(shù)越小越好,即得到的實際輸出O最大可能接近目標(biāo)輸出D,如此來獲得最優(yōu)深度網(wǎng)絡(luò)結(jié)構(gòu)。
結(jié)構(gòu)自適應(yīng)深度信念網(wǎng)絡(luò)法的規(guī)則如下:
(6)
式中:ε為熵誤差函數(shù)逼近精度預(yù)設(shè)值(一般取95%以上),L為隱含層數(shù)。在使用熵誤差函數(shù)對網(wǎng)絡(luò)層數(shù)進行選擇時,其規(guī)則如下:當(dāng)熵誤差下降至所設(shè)定的閾值時,保留原有的網(wǎng)絡(luò)結(jié)構(gòu),否則網(wǎng)絡(luò)層數(shù)增加一層。
熵誤差具體計算過程如下:
E=0;//初始化熵誤差
For allv(t),t∈{1,2,…,T} do;//對每個訓(xùn)練樣本v(t)進行以下計算。
h~P(·|v(t)),v~P(·|h);//對隱層采樣,對可見層采樣。
End for,ReturnE;//停止迭代,返回總誤差。
基于結(jié)構(gòu)自適應(yīng)深度信念網(wǎng)絡(luò)法,我們可得到SADBN的設(shè)計步驟如下:
步驟1 構(gòu)建一個深度為2及隱層節(jié)點數(shù)為0的初始化DBN模型,設(shè)置深度增加步長為1,節(jié)點數(shù)增加步長為5,并將訓(xùn)練樣本數(shù)據(jù)帶入網(wǎng)絡(luò)中進行訓(xùn)練,計算獲取深度單層熵誤差。
步驟2 對獲取的熵誤差進行分析:
(1) 若熵誤差值隨著迭代次數(shù)的增加能夠較快下降且平穩(wěn)趨于設(shè)定閾值,保留此網(wǎng)絡(luò)結(jié)構(gòu);
(2) 若熵誤差到迭代終止時仍未達到設(shè)定閾值,保持網(wǎng)絡(luò)深度不變,增加隱層節(jié)點數(shù),而后若熵誤差值隨著迭代次數(shù)的增加能夠較快下降且平穩(wěn)趨于設(shè)定閾值,保留此網(wǎng)絡(luò)結(jié)構(gòu),反之則增加網(wǎng)絡(luò)深度;
(3) 若熵誤差值隨著迭代次數(shù)的增加呈現(xiàn)不平穩(wěn)現(xiàn)象,保持網(wǎng)絡(luò)深度不變,增加隱層節(jié)點數(shù),而后若熵誤差值隨著迭代次數(shù)的增加能夠較快下降且平穩(wěn)趨于設(shè)定閾值,保留此網(wǎng)絡(luò)結(jié)構(gòu),反之則增加網(wǎng)絡(luò)深度;
步驟3 挑選出符合以上要求的網(wǎng)絡(luò)結(jié)構(gòu),將測試數(shù)據(jù)帶入網(wǎng)絡(luò)得出相關(guān)的識別率,同時引入計算時間作為參考,綜合擇優(yōu)獲得最優(yōu)診斷模型。
SADBN基本設(shè)計流程如圖3所示。
結(jié)構(gòu)自適應(yīng)深度信念網(wǎng)絡(luò)法:① 解決了深度網(wǎng)絡(luò)結(jié)構(gòu)選擇依靠經(jīng)驗的問題;② 能夠自適應(yīng)給出深度網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)選范圍,方便、快捷地實現(xiàn)深度診斷網(wǎng)絡(luò)的構(gòu)建。
圖3 SADBN基本設(shè)計流程
為了驗證SADBN的有效性,采用美國西儲大學(xué)軸承測試中心的實驗數(shù)據(jù),使用電機驅(qū)動端測點數(shù)據(jù),在軸承的內(nèi)圈、外圈和滾動體上人為設(shè)置尺寸為0.18 mm的故障,基準(zhǔn)轉(zhuǎn)速為1 796 r/min,采樣頻率為12 kHz,采樣時間為10 s。訓(xùn)練和測試數(shù)據(jù)集的具體情況,如表1所示。
表1 數(shù)據(jù)集
四種狀態(tài)的樣本采樣時間為1 s時的時域振動信號,如圖4所示。
圖4 滾動軸承不同工作狀態(tài)下的實驗振動信號
傳統(tǒng)的滾動軸承故障診斷需要對原始實驗信號進行一系列的預(yù)處理,比如降噪、信號分解等等,然后提取能夠反映故障信息的時域、頻域或者時頻域單個或者多個特征值,將其輸入設(shè)計好的分類器進行狀態(tài)識別。而本文提出的方法相對于傳統(tǒng)方法則更加的簡捷、高效,有較強的工程應(yīng)用性。以下為運用本文方法現(xiàn)實滾動軸承故障分類識別的過程:
步驟1 隨機構(gòu)造一個深度信念網(wǎng)絡(luò),隱層數(shù)分別為2~6層,每層的節(jié)點數(shù)分別為5~300,計算各層的熵誤差,結(jié)果如表2和3所示。
表2 不同節(jié)點數(shù)、不同深度的軸承深度信念網(wǎng)絡(luò)訓(xùn)練熵誤差
表3 不同節(jié)點數(shù)、不同深度的軸承深度信念網(wǎng)絡(luò)訓(xùn)練熵誤差
步驟2 通過表2與表3我們可以發(fā)現(xiàn)當(dāng)節(jié)點數(shù)取30以下以及150以上時,網(wǎng)絡(luò)熵誤差出現(xiàn)較大幅度的波動,這將可能給診斷系統(tǒng)精度帶來不利影響,同時也不符合結(jié)構(gòu)自適應(yīng)深度信念網(wǎng)絡(luò)法的要求。而當(dāng)各隱層節(jié)點數(shù)取30~150時,各層熵誤差較小且隨著網(wǎng)絡(luò)深度的增加變化較為平穩(wěn)。因此,我們初步選取各隱層節(jié)點數(shù)優(yōu)選范圍為30~150。
步驟3 我們可獲得不同優(yōu)選隱層節(jié)點數(shù)下的熵誤差隨迭代次數(shù)的變化趨勢圖,限于文章篇幅,我們將網(wǎng)絡(luò)深度為2、隱層節(jié)點數(shù)取30~150時熵誤差隨迭代次數(shù)的變化趨勢圖畫出,結(jié)果如圖5所示。
步驟4 基于深度學(xué)習(xí)網(wǎng)絡(luò)的特點以及結(jié)構(gòu)自適應(yīng)深度信念網(wǎng)絡(luò)法的要求,熵誤差隨著迭代次數(shù)的增加應(yīng)該在盡可能少的迭代次數(shù)下達到較小的誤差值,同時保持穩(wěn)定性?;谏蠄D所示結(jié)果,當(dāng)?shù)螖?shù)為50次時,不同網(wǎng)絡(luò)深度下各優(yōu)選隱層節(jié)點數(shù)對應(yīng)的熵誤差值,如表4所示。
根據(jù)表4結(jié)果我們可以發(fā)現(xiàn)當(dāng)網(wǎng)絡(luò)深度取2和3,隱層節(jié)點數(shù)取40~100時的網(wǎng)絡(luò)結(jié)構(gòu)能夠較好的滿足步驟4中所提出的要求。因此,我們可以得到進一步縮小范圍后的優(yōu)選網(wǎng)絡(luò)結(jié)構(gòu)。
步驟5我們得到各優(yōu)選網(wǎng)絡(luò)結(jié)構(gòu)對應(yīng)的診斷時間如表5所示,其中字母B代表程序運行時間?;谟嬎愠杀緭駜?yōu),毋庸置疑,最終的優(yōu)選網(wǎng)絡(luò)結(jié)構(gòu)為40-40。
我們將網(wǎng)絡(luò)結(jié)構(gòu)為40-40時的熵誤差隨迭代次數(shù)變化趨勢進行進一步分析可發(fā)現(xiàn),如圖6所示,當(dāng)?shù)螖?shù)取200的時候,熵誤差值基本保持平穩(wěn)?;谟嬎愠杀緭駜?yōu)法,我們可知當(dāng)網(wǎng)絡(luò)結(jié)構(gòu)確定下來后,影響計算成本的因素還剩下樣本容量M,迭代次數(shù)K。前面針對實驗數(shù)據(jù)我們就已經(jīng)確定了樣本容量M,即訓(xùn)練集和測試集樣本數(shù),在此,我們進一步確定了迭代次數(shù)K為200。自此,針對軸承四類工作狀態(tài)的結(jié)構(gòu)自適應(yīng)深度信念網(wǎng)絡(luò)及相關(guān)參數(shù)就確定下來了。
將樣本信號導(dǎo)入構(gòu)建的結(jié)構(gòu)自適應(yīng)深度信念網(wǎng)絡(luò)模型后可以得到各層網(wǎng)絡(luò)的學(xué)習(xí)數(shù)據(jù),可以看出經(jīng)過40-40結(jié)構(gòu)的深度學(xué)習(xí)網(wǎng)絡(luò)后,樣本特征數(shù)據(jù)變得更加鮮明了,結(jié)果如圖7、圖8和圖9所示。
為與傳統(tǒng)的智能診斷方法比較,本文選取特征提取結(jié)合支持向量機(Support Vector Machine, SVM)的方法進行滾動軸承故障的分類識別。選取C-SVC支持向量機模型,同時選用RBF核函數(shù),懲罰參數(shù)為2,核函數(shù)參數(shù)為0.02。首先通過對400個數(shù)據(jù)樣本提取6個常用的旋轉(zhuǎn)機械故障特征,分別為:均方值、峰值指標(biāo)、波形指標(biāo)、脈沖指標(biāo)、裕度指標(biāo)、小波熵,然后將提取的多樣本特征值構(gòu)成特征矩陣導(dǎo)入建立的模型中學(xué)習(xí)訓(xùn)練,而后對200個診斷對象進行模式識別。診斷結(jié)果顯示200個診斷對象中正確識別192個,診斷精度為96%。
圖5 不同隱層節(jié)點數(shù)下熵誤差隨迭代次數(shù)的變化趨勢圖
傳統(tǒng)DBN方法的網(wǎng)絡(luò)結(jié)構(gòu)一般取決于樣本長度,迭代次數(shù)選擇100,樣本容量選擇100,網(wǎng)絡(luò)結(jié)構(gòu)取為60-60-60,其他參數(shù)同本文方法。三種方法的診斷結(jié)果,如表6所示。
表4 不同隱層節(jié)點數(shù)、不同網(wǎng)絡(luò)深度下的熵誤差
表5 各優(yōu)選網(wǎng)絡(luò)結(jié)構(gòu)對應(yīng)的診斷時間
圖6 網(wǎng)絡(luò)結(jié)構(gòu)為40-40時熵誤差隨迭代次數(shù)的變化趨勢圖
圖7 原始數(shù)據(jù)波形
圖8 第一層網(wǎng)絡(luò)學(xué)習(xí)得到的數(shù)據(jù)波形
本文在DBN的基礎(chǔ)上提出了結(jié)構(gòu)自適應(yīng)深度信念網(wǎng)絡(luò)即SADBN,相較于傳統(tǒng)的智能診斷方法及原始DBN方法,SADBN網(wǎng)絡(luò)可以排除人為因素的干擾,充分利用網(wǎng)絡(luò)優(yōu)勢,自適應(yīng)地確定最優(yōu)深度網(wǎng)絡(luò)結(jié)構(gòu)和網(wǎng)絡(luò)特征參數(shù),從而有效提高了診斷效率,為滾動軸承在線故障診斷提供了新的思路。
圖9 第二層網(wǎng)絡(luò)學(xué)習(xí)得到的數(shù)據(jù)波形
診斷方法特征參數(shù)選取網(wǎng)絡(luò)結(jié)構(gòu)診斷時間/s識別率/%常用特征+SVM人為選取-15.746 596DBN自動人為選取33.006 0100SADBN自動自適應(yīng)11.857 0100