張喆, 陶云春, 梁睿, 遲鵬
(1.中國礦業(yè)大學(xué) 電氣與動力工程學(xué)院,江蘇 徐州 221116;2.中國礦業(yè)大學(xué) 江蘇省煤礦電氣與自動化工程實驗室,江蘇 徐州 221116)
帶式輸送機作為煤礦井下運輸煤炭的核心設(shè)備,一旦發(fā)生故障會嚴重影響煤礦安全生產(chǎn)和工作效率,造成巨大經(jīng)濟損失。因此,對煤礦帶式輸送機進行故障診斷尤為重要[1-2]。目前,廣義回歸神經(jīng)網(wǎng)絡(luò)(General Regression Neural Network,GRNN)、概率神經(jīng)網(wǎng)絡(luò)(Probabilistic Neural Network,PNN)、極限學(xué)習(xí)機(Extreme Learning Machine,ELM)等傳統(tǒng)淺層神經(jīng)網(wǎng)絡(luò)在故障診斷中取得了一定成果[3-5],但它們均屬于淺層學(xué)習(xí)的算法結(jié)構(gòu),要在一到兩層的模型結(jié)構(gòu)中完成函數(shù)擬合,沒有充分挖掘數(shù)據(jù)內(nèi)部隱含的特征,泛化能力不強,易出現(xiàn)局部極值,故障診斷準確率不高,且診斷精度依賴于樣本數(shù)據(jù)的分布,由于煤礦現(xiàn)場實際采集的故障樣本數(shù)據(jù)較少,當樣本數(shù)據(jù)分布不平衡時,會導(dǎo)致過擬合問題。鑒此,本文提出了一種基于合成少數(shù)類過采樣技術(shù)(Synthetic Minority Oversampling Technique,SMOTE)和深度置信網(wǎng)絡(luò)(Deep Belief Network,DBN)的帶式輸送機故障診斷方法。該方法利用SMOTE對采集的帶式輸送機狀態(tài)數(shù)據(jù)進行預(yù)處理,通過DBN提取數(shù)據(jù)中隱含的故障特征,可有效提高帶式輸送機故障診斷準確率。
SMOTE基本思想是對少數(shù)類樣本進行分析,在原始少數(shù)類樣本的鄰域空間中生成大量具有一定策略的新樣本,以平衡樣本數(shù)據(jù)分布[6-7]。
SMOTE生成新樣本過程如圖1所示。首先,在少數(shù)類樣本中選擇一個主樣本xi(i=1,2,…,N,N為少數(shù)類樣本個數(shù)),然后在xi的k近鄰中隨機選擇M個樣本xj(j=1,2,…,M,j≠i),最后在連接主樣本xi及其主要近鄰樣本xj的直線的隨機位置生成一個新樣本[8]:
xnew(i,j)=xi+rand(0,1)(xj-xi)
(1)
式中rand(0,1)表示0~1之間的隨機數(shù)。
圖1 SMOTE生成新樣本過程
DBN由多個堆疊的受限玻爾茲曼機(Restricted Boltzmann Machine,RBM)和在最后一個RBM上增加的輸出層組成[9-10]。以具有3層隱藏層結(jié)構(gòu)的DBN(圖2)為例,網(wǎng)絡(luò)由3個RBM堆疊而成,每個RBM有兩層,上層為隱藏層,下層為可見層。DBN訓(xùn)練過程包括預(yù)訓(xùn)練和微調(diào)2個階段。在預(yù)訓(xùn)練階段,采用逐層貪婪方法訓(xùn)練RBM,當前RBM訓(xùn)練完成,將其隱藏層作為下一個RBM的可見層,以此類推,直到最后一個RBM訓(xùn)練完成。每個RBM通過最大化其輸入數(shù)據(jù)的概率來訓(xùn)練,利用對比散度(Contrastive Divergence,CD)算法更新參數(shù)。在預(yù)訓(xùn)練之后,將輸出層添加到最后一個隱藏層,采用BP算法將誤差從最后一層逐層傳遞到輸入層,對DBN參數(shù)進行微調(diào)[11-13],從而使DBN參數(shù)達到最優(yōu)。
圖2 DBN結(jié)構(gòu)
基于SMOTE和DBN的帶式輸送機故障診斷流程如圖3所示,主要步驟如下。
圖3 基于SMOTE和DBN的帶式輸送機故障診斷流程
(1)獲取帶式輸送機不同運行工況狀態(tài)數(shù)據(jù),通過SMOTE生成故障狀態(tài)樣本,平衡樣本數(shù)據(jù)分布。
(2)確定訓(xùn)練集和測試集。
(3)初始化DBN相關(guān)參數(shù),包括損失函數(shù)、RBM學(xué)習(xí)率、RBM迭代次數(shù)、網(wǎng)絡(luò)層數(shù)、各層節(jié)點數(shù)、動量參數(shù)等,其中輸入層節(jié)點數(shù)由帶式輸送機故障特征數(shù)量確定,輸出層節(jié)點數(shù)由帶式輸送機狀態(tài)數(shù)量確定。
(4)將訓(xùn)練樣本作為DBN輸入,以無監(jiān)督方式逐層訓(xùn)練RBM,即將前一個RBM的隱藏層作為下一個RBM的可見層,直到完成所有RBM的訓(xùn)練。
(5)通過有監(jiān)督方式的BP算法反向微調(diào)DBN參數(shù)。
(6)利用訓(xùn)練好的DBN進行帶式輸送機故障診斷。
仿真使用的數(shù)據(jù)全部來自山西某煤礦現(xiàn)場實際采集的數(shù)據(jù)。本文選擇六類典型的帶式輸送機故障狀態(tài)(打滑、撕裂、跑偏、過載、火災(zāi)事故、電動機故障)和帶式輸送機正常狀態(tài)進行仿真研究。選取某一段時間內(nèi)該煤礦帶式輸送機在線監(jiān)測系統(tǒng)采集的狀態(tài)特征量,見表1。當帶式輸送機發(fā)生打滑故障時,電動機功率減小,改向滾筒溫度明顯升高,輸送帶張力減?。划攷捷斔蜋C發(fā)生撕裂故障時,輸送帶張力增大,輸送帶速度減小,輸送帶偏移量增大;當帶式輸送機發(fā)生跑偏故障時,輸送帶偏移量增大,輸送帶速度略有增大,輸送帶張力和電動機功率增大;當帶式輸送機發(fā)生過載故障時,輸送帶速度明顯減小,電動機功率明顯增大,輸送帶張力增大,改向滾筒溫度升高;當帶式輸送機發(fā)生火災(zāi)事故時,煙霧濃度明顯增大;當帶式輸送機發(fā)生電動機故障時,電動機功率和輸送帶速度減小,電動機和改向滾筒溫度均降低。
表1 不同帶式輸送機工況下狀態(tài)特征量
將采集的410個原始樣本數(shù)據(jù)經(jīng)過SMOTE預(yù)處理,共獲得650個樣本數(shù)據(jù),其分布見表2。選取正常狀態(tài)樣本中280個樣本和各類故障狀態(tài)樣本中40個樣本構(gòu)成訓(xùn)練集,剩余樣本構(gòu)成測試集。
表2 帶式輸送機樣本數(shù)據(jù)分布
在Intel Core i7-9750H處理器、16 GB內(nèi)存、64位操作系統(tǒng)的個人計算機上,使用Python進行仿真。
DBN輸入層神經(jīng)元個數(shù)為7,隱藏層神經(jīng)元個數(shù)為200,輸出層神經(jīng)元個數(shù)為7,損失函數(shù)為均方誤差函數(shù),動量參數(shù)為0.8,RBM最大迭代次數(shù)為65,學(xué)習(xí)率為0.001,隱藏層激活函數(shù)為Sigmoid函數(shù),輸出層激活函數(shù)為Softmax函數(shù)。DBN迭代次數(shù)和隱藏層數(shù)通過實驗調(diào)試來確定。
隱藏層數(shù)設(shè)置為3時,均方誤差和故障診斷準確率隨迭代次數(shù)變化曲線如圖4所示??煽闯鼍秸`差隨著迭代次數(shù)的增加逐漸降低,訓(xùn)練集和測試集準確率均隨著迭代次數(shù)的增加逐漸提高,因此要得到較高的故障診斷準確率,需要增大迭代次數(shù),但會延長迭代時間;當?shù)螖?shù)達到500后,均方誤差和訓(xùn)練集、測試集準確率波動幅度較小,趨于平穩(wěn)。為了縮短網(wǎng)絡(luò)訓(xùn)練時間,本文選取DBN迭代次數(shù)為500。
分別構(gòu)建含有1,2,3,4,5層隱藏層的DBN,迭代次數(shù)設(shè)置為500,采用相同的訓(xùn)練集和測試集進行仿真,故障診斷準確率隨隱藏層數(shù)變化曲線如圖5所示。可看出隱藏層數(shù)為 3時,故障診斷準確率最高;當隱藏層數(shù)繼續(xù)增加,故障診斷準確率反而下降。因此本文選取隱藏層數(shù)為3,即DBN采用5層結(jié)構(gòu),由3個RBM組成。
圖5 故障診斷準確率隨隱藏層數(shù)變化曲線
為驗證DBN在帶式輸送機故障診斷方面的優(yōu)勢,與GRNN,ELM,PNN進行對比。GRNN和PNN的SPREAD參數(shù)均設(shè)置為0.4,ELM的激活函數(shù)為Sigmoid函數(shù)。4種神經(jīng)網(wǎng)絡(luò)均采用相同的訓(xùn)練集和測試集,對訓(xùn)練集和測試集進行隨機排序,4種網(wǎng)絡(luò)在訓(xùn)練集和測試集上的診斷結(jié)果見表3。
表3 準確率對比
從表3可看出,DBN在訓(xùn)練集和測試集上的準確率均較高;PNN在訓(xùn)練集上的故障診斷效果很好,但在測試集上的準確率明顯下降;GRNN和ELM在訓(xùn)練集和測試集上的準確率均低于DBN。
提出了一種基于SMOTE和DBN的帶式輸送機故障診斷方法。該方法利用SMOTE生成更多的帶式輸送機故障狀態(tài)樣本數(shù)據(jù),克服了樣本數(shù)據(jù)分布不平衡現(xiàn)象;將樣本數(shù)據(jù)輸入DBN,利用無監(jiān)督逐層訓(xùn)練方式提取帶式輸送機運行狀態(tài)數(shù)據(jù)中的故障特征,并通過有監(jiān)督微調(diào)來優(yōu)化故障診斷能力,避免了局部極值,提高了網(wǎng)絡(luò)泛化能力。由于DBN結(jié)構(gòu)復(fù)雜、參數(shù)較多,為進一步提高故障診斷準確率,縮短訓(xùn)練時間,還需要對DBN中各參數(shù)設(shè)置進行更加深入的研究。