程建剛, 畢鳳榮, 張立鵬, 李 鑫, 楊 曉, 湯代杰
(1. 天津大學(xué) 內(nèi)燃機(jī)燃燒學(xué)國(guó)家重點(diǎn)實(shí)驗(yàn)室,天津 300072;2. 天津內(nèi)燃機(jī)研究所,天津 300072)
柴油機(jī)因具有熱效率高、輸出功率大、使用壽命長(zhǎng)等優(yōu)點(diǎn),被廣泛應(yīng)用于工程機(jī)械、船舶、核電等領(lǐng)域。但是由于其機(jī)構(gòu)復(fù)雜、工作環(huán)境惡劣等原因,導(dǎo)致其極易發(fā)生故障。因此,開(kāi)展柴油機(jī)狀態(tài)監(jiān)測(cè)與故障診斷研究具有重要意義。
基于振動(dòng)信號(hào)的故障診斷技術(shù)由于其測(cè)量簡(jiǎn)單、精度較高、不解體化等諸多優(yōu)勢(shì)成為了研究熱點(diǎn)。傳統(tǒng)基于振動(dòng)信號(hào)處理的故障診斷技術(shù)通常需要人工參與提取特征,然后選用合適的機(jī)器學(xué)習(xí)算法用于分類。該方法主要存在以下兩個(gè)問(wèn)題:
第一,人工參與程度過(guò)高,導(dǎo)致識(shí)別結(jié)果不確定性高。在傳統(tǒng)故障診斷過(guò)程中,需要人工參與提取特征。例如,Bi等[1]采用離散小波變換方法對(duì)爆震振動(dòng)信號(hào)中的高頻噪聲進(jìn)行分離,然后采用經(jīng)驗(yàn)?zāi)B(tài)分解(empirical mode decomposition, EMD)[2]對(duì)降噪后的信號(hào)進(jìn)行分解以后提取爆震特征,實(shí)現(xiàn)了汽油機(jī)爆震監(jiān)測(cè)。但是該方法中的小波基函數(shù)、小波分解層數(shù)以及閾值等重要參數(shù)均需要人為選取,EMD算法由于采用遞歸結(jié)構(gòu)存在模態(tài)混疊問(wèn)題。這些因素均會(huì)對(duì)后續(xù)提取的特征質(zhì)量有著重大影響,從而影響最終診斷結(jié)果。另外,模式識(shí)別算法的選擇對(duì)識(shí)別結(jié)果同樣有著重要影響。如文獻(xiàn)[3]經(jīng)過(guò)對(duì)比發(fā)現(xiàn),采用核模糊C均值聚類算法(kernel fuzzy C means clustering, KFCM)、BP神經(jīng)網(wǎng)絡(luò)(back propagation neural network, BPNN)、深度置信網(wǎng)絡(luò)(deep belief networks, DBN)三種方法對(duì)相同故障特征進(jìn)行識(shí)別,得到的結(jié)果相差較大。
第二,人工特征對(duì)于不同故障類型的敏感程度差異較大,導(dǎo)致模型的泛化能力差。例如,Bi等[4]采用變分模態(tài)分解(variational mode decomposition, VMD)[5]算法對(duì)柴油機(jī)振動(dòng)信號(hào)進(jìn)行分解以后構(gòu)建27維數(shù)據(jù)特征,然后采用遺傳算法進(jìn)行特征選擇,結(jié)果表明,面對(duì)不同故障類型,經(jīng)過(guò)特征選擇得到的特征均不相同。由此可見(jiàn),面對(duì)多類型故障診斷任務(wù),傳統(tǒng)故障診斷方法將難以勝任。綜上,傳統(tǒng)故障診斷方法中,人工特征提取過(guò)程以及模式識(shí)別算法的選取均對(duì)識(shí)別結(jié)果有著重要影響,導(dǎo)致該方法得到的結(jié)果不確定性較高。同時(shí),由于人工特征對(duì)于故障類型有著較強(qiáng)指向性,導(dǎo)致傳統(tǒng)故障診斷方法泛化性能較差。因此,不少學(xué)者將注意力轉(zhuǎn)到基于深度學(xué)習(xí)的端到端故障診斷方法研究。
基于深度學(xué)習(xí)的端到端故障診斷方法中期望以原始時(shí)域數(shù)據(jù)作為系統(tǒng)輸入,通過(guò)模型自學(xué)習(xí)的方式完成特征提取并分類,盡可能減少人工參與診斷過(guò)程。其中,以卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks, CNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural networks, RNN)在端到端故障診斷方向的應(yīng)用最多。CNN有強(qiáng)大的特征提取能力,其采用局部連接、權(quán)值共享等策略帶來(lái)運(yùn)算速度的極大提升。雖然CNN對(duì)圖片類型的二維數(shù)據(jù)格式處理具有巨大優(yōu)勢(shì),但是面對(duì)故障診斷領(lǐng)域的一維時(shí)域數(shù)據(jù),CNN并未考慮序列信息,導(dǎo)致其應(yīng)用效果有限,當(dāng)前CNN在故障診斷領(lǐng)域的應(yīng)用主要包括:①使用CNN作為人工特征的分類工具。例如,Lu等[6]提取時(shí)域和頻域特征,采用CNN進(jìn)行訓(xùn)練分類,經(jīng)采用滾動(dòng)軸承故障數(shù)據(jù)驗(yàn)證后表明,與支持向量機(jī)算法相比,該方法具有更好的診斷效果。但是該方法僅僅將CNN作為一個(gè)分類器使用,其特征提取過(guò)程依舊依靠專家經(jīng)驗(yàn)知識(shí)進(jìn)行,導(dǎo)致最終模型診斷效果受人工特征質(zhì)量影響較大。②沿用卷積神經(jīng)網(wǎng)絡(luò)用于處理圖像的網(wǎng)絡(luò)結(jié)構(gòu),將故障振動(dòng)數(shù)據(jù)處理為二維輸入格式,進(jìn)一步采用CNN進(jìn)行分類識(shí)別。例如:Wang等[7]采用短時(shí)傅里葉變換(short-time fourier transform, STFT)將一維振動(dòng)信號(hào)轉(zhuǎn)換為時(shí)頻域圖像,作為CNN的輸入,完成了電機(jī)的故障診斷;Xia等[8]將一維時(shí)間序列信號(hào)采用逐行堆疊的方式處理為二維輸入矩陣,然后采用CNN實(shí)現(xiàn)了滾動(dòng)軸承和齒輪箱的故障診斷。上述方法實(shí)現(xiàn)過(guò)程較為繁瑣,其中時(shí)頻圖轉(zhuǎn)換過(guò)程中會(huì)存在信息丟失的風(fēng)險(xiǎn),將一維數(shù)據(jù)強(qiáng)行堆疊處理為二維矩陣的方法需要根據(jù)原始數(shù)據(jù)長(zhǎng)度的變化調(diào)整矩陣尺寸,對(duì)不同長(zhǎng)度數(shù)據(jù)自適應(yīng)性較差。利用RNN對(duì)于序列數(shù)據(jù)的處理優(yōu)勢(shì),不少學(xué)者將其用于實(shí)現(xiàn)端到端故障診斷。例如:莊雨璇[9]采用長(zhǎng)短期記憶網(wǎng)絡(luò)(long short-term memory networks, LSTM)實(shí)現(xiàn)了軸承故障端到端診斷;張立鵬等[10]通過(guò)在雙向門控循環(huán)單元(bidirectional gated recurrent unit, BiGRU)中引入注意力機(jī)制實(shí)現(xiàn)了機(jī)械故障端到端診斷。另外,值得借鑒的一個(gè)例子是:Zhou等[11]采用CNN和LSTM的聯(lián)合網(wǎng)絡(luò),完成了文本分類任務(wù)??偟膩?lái)說(shuō),RNN及其變體在端到端故障診斷中取得了較好的應(yīng)用效果,但是由于RNN在計(jì)算過(guò)程中以時(shí)間點(diǎn)為單位逐個(gè)輸入,無(wú)法并行計(jì)算,導(dǎo)致其運(yùn)算時(shí)間過(guò)長(zhǎng),限制了其在故障診斷領(lǐng)域的應(yīng)用。
因此,為解決傳統(tǒng)故障診斷方法識(shí)別結(jié)果不確定性較高、泛化性能差的問(wèn)題,同時(shí)避免RNN運(yùn)算時(shí)間過(guò)長(zhǎng)的缺陷,論文將以CNN為主體,通過(guò)對(duì)卷積輸出結(jié)果進(jìn)行重組的方式最大化保留序列信息,同時(shí)引入注意力機(jī)制,加強(qiáng)模型對(duì)于關(guān)鍵信息的提取,最終設(shè)計(jì)了一套端到端的柴油機(jī)故障診斷系統(tǒng),其以原始時(shí)域振動(dòng)信號(hào)數(shù)據(jù)作為輸入,通過(guò)對(duì)歷史數(shù)據(jù)進(jìn)行學(xué)習(xí)便可建立輸入-輸出映射關(guān)系。
卷積神經(jīng)網(wǎng)絡(luò)是在計(jì)算機(jī)視覺(jué)領(lǐng)域應(yīng)用最廣泛的深度學(xué)習(xí)算法,其基本組成主要有輸入層、卷積層、池化層、全連接層和輸出層。卷積層和池化層交替堆疊出現(xiàn),分別實(shí)現(xiàn)特征提取和特征降維功能[12]。
卷積層采用多個(gè)卷積核與輸入數(shù)據(jù)的局部區(qū)域進(jìn)行卷積運(yùn)算,每個(gè)卷積核在卷積過(guò)程中共享一組權(quán)值。卷積的具體過(guò)程如式(1)所示
(1)
激活函數(shù)可以加強(qiáng)模型的非線性表達(dá)能力,本文模型采用ReLU函數(shù)[13],其表達(dá)式如式(2)所示
(2)
為了進(jìn)一步降低模型過(guò)擬合風(fēng)險(xiǎn),減少模型處理的數(shù)據(jù)量,常在卷積層后使用池化層進(jìn)行降采樣。通常有平均池化和最大池化兩種方式。為充分提取振動(dòng)信號(hào)中沖擊信息特征,濾除部分噪聲,本文采用最大池化操作,表達(dá)式如式(3)所示
(3)
Ioffe等[14]于2015年提出了批量歸一化算法(batch normalization, BN)。該算法作用于各網(wǎng)絡(luò)層之間,通過(guò)改變網(wǎng)絡(luò)層間數(shù)據(jù)分布,達(dá)到加速網(wǎng)絡(luò)訓(xùn)練收斂速度,避免梯度消失的目的。
在訓(xùn)練過(guò)程中,批量歸一化算法流程如下所示:對(duì)于某個(gè)網(wǎng)絡(luò)層間輸入某個(gè)大小的批量數(shù)據(jù)X={x1,x2,…,xn},xi∈,其均值和方差分別如式(4)和式(5)所示
(4)
(5)
對(duì)于每一批數(shù)據(jù)做歸一化處理,如式(6)所示
(6)
式中,ε為一個(gè)很小的常數(shù)值,該參數(shù)是為了保證除數(shù)不為0。
經(jīng)過(guò)式(6)以后,網(wǎng)絡(luò)層間各批次輸入數(shù)據(jù)從各層間學(xué)習(xí)到的特征分布均被統(tǒng)一修改,為了不丟失網(wǎng)絡(luò)層提取到的數(shù)據(jù)特征,批量歸一化算法引入了位移參數(shù)β和拉伸參數(shù)γ,將輸入數(shù)據(jù)按照式(7)和式(8)進(jìn)行變換。
(7)
Y={y1,y2,…,yn},yi∈
(8)
式中:β和γ通過(guò)梯度下降算法在訓(xùn)練過(guò)程中被不斷迭代更新;Y為該層的輸出數(shù)據(jù)。
在測(cè)試過(guò)程中,將采用網(wǎng)絡(luò)訓(xùn)練過(guò)程中所有批次數(shù)據(jù)的均值作為測(cè)試階段均值u′,用每個(gè)批次的標(biāo)準(zhǔn)差σ的無(wú)偏估計(jì)作為測(cè)試階段的標(biāo)準(zhǔn)差σ′。
CNN具有強(qiáng)大的特征提取能力,其通過(guò)局部連接、權(quán)值共享等策略大大加快了運(yùn)行速度。本文將以CNN為主體,引入多種注意力機(jī)制,搭建一套基于多重注意力卷積神經(jīng)網(wǎng)絡(luò)(multiple attention convolutional neural networks, MACNN)的端到端柴油機(jī)故障診斷系統(tǒng),如圖1所示。
圖1 MACNN結(jié)構(gòu)Fig.1 The architecture of MACNN
MACNN中采用多層CNN結(jié)合卷積注意力模塊(convolutional block attention module, CBAM)[15]從原始時(shí)域數(shù)據(jù)中提取特征。CNN由4層卷積層組成。第1個(gè)卷積層使用16個(gè)較大卷積核(5×1)來(lái)提取大尺度特征,接下來(lái)3層卷積層,采用32個(gè)小卷積核(3×1)來(lái)提取深層的特征。在每個(gè)卷積層之后,使用最大池化層進(jìn)行下采樣。針對(duì)多層網(wǎng)絡(luò)訓(xùn)練困難的問(wèn)題,在各卷積層之間增加了一個(gè)批量歸一化層,進(jìn)一步提高訓(xùn)練的收斂速度和模型的泛化能力。
為進(jìn)一步加強(qiáng)模型的提取特征能力,將在CNN中引入CBAM,CBAM包括通道注意模塊和空間注意模塊,如圖2所示。
圖2 CBAM結(jié)構(gòu)Fig.2 The architecture of CBAM
(9)
特征圖2如式(10)所示
P′=MC(P)?P
(10)
式中, ?為元素相乘運(yùn)算。
空間注意力MS(·)用于提取特征圖上各空間區(qū)域之間的聯(lián)系,其表達(dá)式如式(11)所示
(11)
最后,通過(guò)式(12)計(jì)算得到特征圖3。
P″=MS(P′)?P′
(12)
針對(duì)卷積輸出的多維特征圖,在經(jīng)典CNN中,主要將其展平為一維向量以后輸入全連接層完成分類。針對(duì)序列學(xué)習(xí)任務(wù),該方式并未考慮輸出特征的序列信息,導(dǎo)致其對(duì)于序列信息的利用率低。因此,本文將通過(guò)重組的方式對(duì)CNN中多維卷積輸出特征圖進(jìn)行處理。具體原理如圖3所示,重組結(jié)果為X′。X′的表達(dá)式如式(13)所示
X′ ={x1,_,x2,_,…,xm,_},xm,_∈1×d
(13)
圖3 重組示意圖Fig.3 Reorganization diagram
為加強(qiáng)序列數(shù)據(jù)學(xué)習(xí)效率,不少學(xué)者在模型中引入了注意力機(jī)制。例如:Vaswani等[16]采用層層疊加的自注意力機(jī)制來(lái)學(xué)習(xí)文本表示,提出了著名的Transformer模型; Zhou等[17]在雙向LSTM的隱藏狀態(tài)輸出向量中引入注意力來(lái)提取關(guān)鍵信息,完成了關(guān)系分類任務(wù)。MACNN將引用2016年 Zhou等研究中的注意力機(jī)制直接學(xué)習(xí)重組后的深層序列特征,為便于與卷積注意力模塊區(qū)分,文中將其命名為序列注意力機(jī)制。其學(xué)習(xí)過(guò)程如下所示,首先計(jì)算注意力權(quán)值,計(jì)算過(guò)程如式(14)所示
S=softmax{αT[tanh(X′)]}
(14)
式中:α為可學(xué)習(xí)參數(shù),在訓(xùn)練開(kāi)始時(shí)采用隨機(jī)初始化方式給定初始值,之后通過(guò)梯度下降算法進(jìn)行不斷調(diào)整;S為序列注意力層從重組后的序列特征X′中學(xué)習(xí)得到的權(quán)值,權(quán)值越大代表攜帶的信息對(duì)于分類決定越重要。
最后,結(jié)果由注意力權(quán)值與序列特征相乘得到,如式(15)所示
y=X′ST
(15)
式中,y為輸出結(jié)果。
柴油機(jī)故障模擬試驗(yàn)在一臺(tái)某型直列6缸柴油機(jī)上進(jìn)行,該柴油機(jī)的性能參數(shù)如表1所示。
表1 柴油機(jī)主要參數(shù)Tab.1 Main parameters of diesel engine
試驗(yàn)采集柴油機(jī)的缸蓋振動(dòng)加速度信號(hào),傳感器布置在1~6缸的缸蓋上,試驗(yàn)柴油機(jī)臺(tái)架示意圖以及傳感器的布置位置,如圖4所示。
圖4 試驗(yàn)用柴油機(jī)以及傳感器布置Fig.4 The experimental diesel engine and the location of the sensors
試驗(yàn)主要模擬了氣門間隙異常故障(1缸)、噴油軌壓異常以及供油量不足三種故障類型,并且對(duì)每一類故障發(fā)生的不同程度進(jìn)行了模擬??偣舶?類故障狀態(tài),對(duì)應(yīng)樣本標(biāo)簽為0~7,詳細(xì)介紹如表2所示。試驗(yàn)共包括700 r/min,1 300 r/min,1 600 r/min,2 000 r/min和2 300 r/min 5個(gè)轉(zhuǎn)速工況,采樣頻率設(shè)置為25.6 kHz。
選取2 000 r/min工況,1缸缸蓋位置處振動(dòng)信號(hào)數(shù)據(jù)用于驗(yàn)證本文模型。當(dāng)采樣頻率為25.6 kHz,轉(zhuǎn)速為2 000 r/min時(shí),柴油機(jī)工作一個(gè)周期采集1 536個(gè)數(shù)據(jù)點(diǎn),為確保單個(gè)樣本中包含一個(gè)完整周期的信息,設(shè)置樣本長(zhǎng)度為1 600。為了增加訓(xùn)練數(shù)據(jù)量,對(duì)于訓(xùn)練數(shù)據(jù),在原始時(shí)域數(shù)據(jù)序列上采用重疊率為25%的方式截取,對(duì)于測(cè)試數(shù)據(jù)采用無(wú)重疊方式截取,以便更好地模擬真實(shí)應(yīng)用場(chǎng)景。最后,得到每類故障狀態(tài)包含520個(gè)訓(xùn)練樣本和120個(gè)測(cè)試樣本。
表2 模擬故障表Tab.2 Simulated failure table
按照3.1節(jié)所述方法劃分?jǐn)?shù)據(jù)集,將時(shí)域振動(dòng)信號(hào)直接輸入模型,以交損失熵為目標(biāo)函數(shù),采用Adam優(yōu)化算法[18]訓(xùn)練每一層網(wǎng)絡(luò)參數(shù)。每批次輸入256個(gè)樣本進(jìn)行訓(xùn)練,采用如式(16)所示的指數(shù)衰減學(xué)習(xí)率控制學(xué)習(xí)速率。模型建立在基于Python的PyTorch深度學(xué)習(xí)庫(kù)中,采用單個(gè)NVIDIA GeForce RTX3080GPU進(jìn)行訓(xùn)練。模型訓(xùn)練過(guò)程如圖5所示。
LR=lr·decay_rate(epoch/decay_steps)
(16)
式中:lr=0.01;decay_rate=0.9;epoch為訓(xùn)練次數(shù);decay_steps=40。
圖5中,訓(xùn)練300次以后,模型收斂,此時(shí)訓(xùn)練準(zhǔn)確率達(dá)到100%,測(cè)試準(zhǔn)確率達(dá)到97.88%。模型測(cè)試在CPU上進(jìn)行,硬件環(huán)境為Intel i7-10700F@2.90 GHz,記錄MACNN模型測(cè)試100個(gè)樣本所用時(shí)間為0.35 s。測(cè)試結(jié)果表明,無(wú)論從識(shí)別準(zhǔn)確率還是運(yùn)算速度上看,MACNN模型都可以很好地實(shí)現(xiàn)端到端的故障診斷。
圖5 模型訓(xùn)練過(guò)程Fig.5 The training process of the model
為探究BN算法對(duì)MACNN模型訓(xùn)練收斂速度以及模型最終訓(xùn)練效果的影響?,F(xiàn)將不添加BN算法的MACNN模型(命名為MACNN-noBN)中輸入相同數(shù)據(jù),超參數(shù)設(shè)置與MACNN模型相同,在上述硬件環(huán)境下進(jìn)行訓(xùn)練和測(cè)試,MACNN-noBN訓(xùn)練過(guò)程如圖6所示。同時(shí),統(tǒng)計(jì)MACNN與MACNN-noBN的測(cè)試準(zhǔn)確率以及測(cè)試100個(gè)樣本用時(shí)對(duì)比,如表3所示。
圖6 模型訓(xùn)練過(guò)程Fig.6 The training process of the model
表3 各模型對(duì)比Tab.3 Comparison of different model
由圖6中可以發(fā)現(xiàn),相比MACNN-noBN與MACNN模型訓(xùn)練過(guò)程,主要有3個(gè)不同點(diǎn):
(1) 不添加BN算法的MACNN-noBN模型訓(xùn)練收斂速度明顯變慢。MACNN經(jīng)過(guò)300次訓(xùn)練以后,模型便收斂,但是MACNN-noBN經(jīng)過(guò)900次訓(xùn)練調(diào)整以后,模型才收斂??梢?jiàn),批量歸一化算法的引入加快了模型收斂速度,提升了模型訓(xùn)練效率。
(2) 不添加BN算法的MACNN-noBN模型收斂以后,訓(xùn)練準(zhǔn)確率為99.62%,測(cè)試準(zhǔn)確率僅有87.29%,遠(yuǎn)低于MACNN模型97.88%的測(cè)試準(zhǔn)確率。因此,BN算法的引入提升了模型的識(shí)別準(zhǔn)確率。
(3) 從圖6中可以看出,最終測(cè)試損失曲線有輕微上揚(yáng)的趨勢(shì),而訓(xùn)練損失曲線隨著訓(xùn)練過(guò)程的進(jìn)行不斷調(diào)整降低。因此,可以判定不添加BN算法的MACNN-noBN模型出現(xiàn)了輕微的過(guò)擬合現(xiàn)象。但是,MACNN模型中卻并未產(chǎn)生該問(wèn)題。因此,BN算法的引入增強(qiáng)了網(wǎng)絡(luò)的泛化性能,避免模型訓(xùn)練過(guò)程中出現(xiàn)的過(guò)擬合問(wèn)題。
進(jìn)一步地,為證明MACNN中CBAM引入的有效性,將圖2中MACNN模型的CBAM移除,得到的不含CBAM的MACNN模型(命名為ACNN)。采用與上述相同的硬件環(huán)境進(jìn)行訓(xùn)練和測(cè)試,將ACNN測(cè)試準(zhǔn)確率和測(cè)試100個(gè)樣本用時(shí)與MACNN結(jié)果對(duì)比,見(jiàn)表3。
由表3對(duì)比可以發(fā)現(xiàn),添加卷積注意力機(jī)制以后,MACNN模型的測(cè)試準(zhǔn)確率提升3.93%,達(dá)到97.88%。其測(cè)試100個(gè)樣本用時(shí)為0.35 s。作為參考,當(dāng)柴油機(jī)轉(zhuǎn)速為2 000 r/min時(shí),柴油機(jī)工作100個(gè)周期用時(shí)6 s。由此可見(jiàn),CBAM引入以后帶來(lái)的測(cè)試100個(gè)樣本用時(shí)增加0.2 s的結(jié)果是可以接受的。同時(shí),MACNN模型測(cè)試100個(gè)樣本用時(shí)為0.35 s的運(yùn)算速度為實(shí)現(xiàn)柴油機(jī)在線故障診斷奠定了良好的基礎(chǔ)。
為體現(xiàn)CBAM在特征提取過(guò)程中發(fā)揮的作用以及各個(gè)網(wǎng)絡(luò)層在整個(gè)模式識(shí)別過(guò)程中所起作用,將采用t-SNE對(duì)ACNN和MACNN各個(gè)網(wǎng)絡(luò)層輸出結(jié)果進(jìn)行降維可視化分析。具體地,將各個(gè)網(wǎng)絡(luò)層數(shù)據(jù)維度降為二維,分別以t-SNE1和t-SNE2命名??梢暬Y(jié)果如表4所示。表4中,層數(shù)0~5分別表示原始輸入數(shù)據(jù)、第1層卷積層、第2層卷積層、第3層卷積層、第4層卷積層以及序列注意力層輸出結(jié)果。
從表4的縱向看,隨著網(wǎng)絡(luò)層數(shù)的加深,ACNN和MACNN各層數(shù)據(jù)聚類特征均隨著網(wǎng)層數(shù)的增加變得愈加明顯。從表4的橫向看,經(jīng)過(guò)第1層卷積層學(xué)習(xí)以后,引入了CBAM的MACNN中故障標(biāo)簽為1的供油量25%類故障聚集到了中心,但是ACNN中該類數(shù)據(jù)卻較為分散。MACNN的第2層卷積層輸出結(jié)果中各類數(shù)據(jù)逐漸呈圓環(huán)狀分布,與ACNN相比,其聚類效果更佳,各類數(shù)據(jù)呈圓環(huán)狀分布情況差異在第2、第3層卷積層輸出數(shù)據(jù)中體現(xiàn)得更加明顯。從MACNN中第4層卷積層輸出結(jié)果中可以發(fā)現(xiàn),除了標(biāo)簽分別為0,1,6的3類數(shù)據(jù)以圓環(huán)狀聚集在一起,無(wú)法明顯區(qū)分以外,其余5類故障類型均能較為清晰地區(qū)分。而ACNN中各類數(shù)據(jù)均無(wú)法進(jìn)行較為清晰地區(qū)分。最后,經(jīng)過(guò)序列注意力層學(xué)習(xí)以后可以發(fā)現(xiàn),MACNN和ACNN中8類數(shù)據(jù)的聚類狀態(tài)均較為明顯,具體地,ACNN中各類數(shù)據(jù)呈長(zhǎng)條狀聚集,而MACNN中各類數(shù)據(jù)呈橢圓狀聚集,同類數(shù)據(jù)點(diǎn)之間距離更短,更有利于分類。可視化結(jié)果表明,CBAM引入以后,加強(qiáng)了模型對(duì)于關(guān)鍵信息的提取,提高了模型的學(xué)習(xí)能力。這主要得益于CBAM通過(guò)自學(xué)習(xí)的方式對(duì)輸入信號(hào)諸如脈沖信號(hào)特征等重要信息分配更大的注意力權(quán)值以給予重點(diǎn)關(guān)注,對(duì)信號(hào)中低頻噪聲等無(wú)關(guān)信息分配更小的注意力權(quán)值以忽略其帶來(lái)的干擾。最終結(jié)果表明,MACNN模型可以很好地從原始時(shí)域振動(dòng)數(shù)據(jù)中通過(guò)自適應(yīng)學(xué)習(xí)完成特征提取和分類任務(wù),實(shí)現(xiàn)了柴油機(jī)故障端到端的診斷。
表4 可視化結(jié)果分析Tab.4 Analysis of visualization results
為進(jìn)一步評(píng)價(jià)本文提出的MACNN的性能,將分別采用多種方法對(duì)本文建立8類故障數(shù)據(jù)集進(jìn)行診斷對(duì)比,主要包括傳統(tǒng)基于信號(hào)處理的故障診斷方法和采用端到端的故障診斷方法,傳統(tǒng)基于信號(hào)處理的故障診斷方法具體為:
方法1VMD+KFCM——采用VMD算法,通過(guò)觀察選擇合適分解層數(shù)對(duì)原始時(shí)域振動(dòng)信號(hào)進(jìn)行分解,計(jì)算VMD分解結(jié)果各分量的最大奇異值,選取最大的3個(gè)奇異值構(gòu)建3維特征,最后采用KFCM進(jìn)行分類;
方法2EEMD+KFCM——采用EEMD算法,通過(guò)不斷調(diào)試選擇合適白噪聲幅值系數(shù)和集合平均次數(shù)對(duì)原始時(shí)域信號(hào)進(jìn)行分解,計(jì)算各分量與原始信號(hào)相關(guān)系數(shù),選取相關(guān)度最高的前3個(gè)分量計(jì)算最大奇異值,構(gòu)建3維特征空間,最后采用KFCM進(jìn)行分類;
方法3VMD+DBN——采用VMD算法,通過(guò)觀察選擇合適分解層數(shù)對(duì)原始信號(hào)進(jìn)行分解,然后提取最大的3個(gè)奇異值、峭度值、香農(nóng)熵、均方根值、時(shí)域能量、四階累積量和多尺度熵,構(gòu)建21維特征,然后進(jìn)一步利用遺傳算法進(jìn)行特征選擇,最終得到8維特征,最后采用DBN分別對(duì)構(gòu)建的8維特征以及方法1構(gòu)建的3維特征進(jìn)行分類,具體地,DBN采用2層受限玻爾茲曼機(jī)堆疊而成,各層神經(jīng)元數(shù)量均為200。
由于傳統(tǒng)故障診斷方法需要過(guò)多人工參與,流程過(guò)于繁瑣,計(jì)算用時(shí)遠(yuǎn)大于本文所提出的MACNN。因此,這里將不再對(duì)傳統(tǒng)故障診斷方法的計(jì)算用時(shí)進(jìn)行對(duì)比,僅統(tǒng)計(jì)上述所有方法識(shí)別準(zhǔn)確率,如表5所示。
表5 與傳統(tǒng)方法對(duì)比Tab.5 Compare with traditional methods
表5中,采用EEMD分解算法提取特征,KFCM用于分類得到的識(shí)別準(zhǔn)確率低于60%。VMD提取相同的特征,利用KFCM進(jìn)行分類能夠得到77.29%的識(shí)別準(zhǔn)確率,體現(xiàn)出VMD信號(hào)分解算法的優(yōu)越性。針對(duì)VMD算法分解提取的3維特征和經(jīng)過(guò)特征選擇以后的8維特征,采用DBN進(jìn)行識(shí)別,分別獲得了67.08%和79.69%的識(shí)別準(zhǔn)確率,進(jìn)一步體現(xiàn)出DBN對(duì)于高維特征數(shù)據(jù)的表征能力。
綜上,傳統(tǒng)基于信號(hào)處理的故障診斷方法中,主要包括人工特征提取和模式識(shí)別兩個(gè)部分。其中,人工特征提取方法和模式識(shí)別方法均對(duì)最終結(jié)果有著至關(guān)重要的影響,導(dǎo)致傳統(tǒng)基于信號(hào)處理故障診斷方法的識(shí)別結(jié)果受人工干擾程度大,不確定性高,最終識(shí)別準(zhǔn)確率偏低。而本文提出的端到端故障診斷方法,直接從歷史運(yùn)行數(shù)據(jù)中通過(guò)自學(xué)習(xí)方式建立映射關(guān)系,很好地避免了傳統(tǒng)基于信號(hào)處理的故障診斷方法中不確定性因素帶來(lái)的影響。
論文選取基于端到端故障診斷方法,主要如表6所示。特別地,LSTM和雙向長(zhǎng)短期記憶網(wǎng)絡(luò)(bidirectional long short-term memory networks, BiLSTM)將輸入樣本劃分為200個(gè)數(shù)據(jù)塊作為輸入;CNN-LSTM和CNN-BiLSTM采用2層卷積,LSTM和BiLSTM均為3層;CNN由4層卷積層和池化層交叉堆疊的方式構(gòu)成,與MACNN模型類似,第一層卷積核尺寸為5×1,隨后3層卷積核尺寸為3×1。各模型的測(cè)試準(zhǔn)確率和測(cè)試100個(gè)樣本用時(shí)對(duì)比,見(jiàn)表6。
表6 與端到端方法對(duì)比Tab.6 Comparison with end-to-end methods
如表6所示,莊雨璇采用LSTM中的方法僅能達(dá)到61.04%的識(shí)別準(zhǔn)確率,BiLSTM能夠達(dá)到88.32%的識(shí)別準(zhǔn)確率。采用2015年Zhou等研究中CNN和LSTM的聯(lián)合網(wǎng)絡(luò),僅能達(dá)到55.20%的識(shí)別準(zhǔn)確率,進(jìn)一步采用CNN-BiLSTM網(wǎng)絡(luò)能達(dá)到80.42%的識(shí)別準(zhǔn)確率。結(jié)果表明,采用BiLSTM同時(shí)考慮輸入位置前和輸入位置后的信息能夠達(dá)到更好的效果。采用張立鵬等研究中BiGRU和注意力BiGRU分別能達(dá)到92.59%和95.82%的識(shí)別準(zhǔn)確率。上述以RNN的變體為主體的方法均能夠?qū)崿F(xiàn)端到端的故障診斷。其中,張立鵬等研究中注意力BiGRU能夠達(dá)到的最高識(shí)別準(zhǔn)確率為95.82%。但是,由于RNN網(wǎng)絡(luò)存在著無(wú)法并行計(jì)算的缺陷,導(dǎo)致其在本文的CPU環(huán)境中測(cè)試100個(gè)樣本用時(shí)為8.46 s。作為參考,當(dāng)柴油機(jī)工作轉(zhuǎn)速為2 000 r/min時(shí),運(yùn)行100個(gè)周期用時(shí)6 s(<8.46 s),進(jìn)一步考慮到實(shí)際硬件環(huán)境,上述算法運(yùn)行時(shí)間會(huì)進(jìn)一步加長(zhǎng)。因此,為將該算法應(yīng)用于實(shí)踐,還需要首先解決其計(jì)算速度問(wèn)題。另外,CNN模型能夠達(dá)到90.18%的測(cè)試準(zhǔn)確率,體現(xiàn)了CNN強(qiáng)大的數(shù)據(jù)挖掘以及特征表示能力,但是由于其并未充分考慮數(shù)據(jù)的序列信息,導(dǎo)致其最終的測(cè)試準(zhǔn)確率低于MACNN。但是CNN測(cè)試100個(gè)樣本用時(shí)僅為0.14 s,這也充分體現(xiàn)了CNN可以并行計(jì)算,采用權(quán)值共享和局部連接等策略帶來(lái)的運(yùn)算速度的巨大提升。最終結(jié)果表明,本文提出的MACNN,通過(guò)采用重組的方式解決了CNN對(duì)于序列信息利用率低的問(wèn)題,同時(shí)通過(guò)引入注意力機(jī)制進(jìn)一步加強(qiáng)了模型對(duì)于關(guān)鍵信息的提取能力,最終能夠達(dá)到最高的測(cè)試準(zhǔn)確率為97.88%,測(cè)試100個(gè)樣本用時(shí)僅需0.35 s,為實(shí)現(xiàn)在線故障診斷奠定了良好基礎(chǔ)。
為解決傳統(tǒng)故障診斷方法人工參與程度過(guò)高,為識(shí)別結(jié)果帶來(lái)諸多不確定性的問(wèn)題,本文采用CNN引入多種注意力機(jī)制建立端到端的診斷模型——MACNN,該方法可以通過(guò)對(duì)大量數(shù)據(jù)進(jìn)行自學(xué)習(xí)后提取特征并分類,實(shí)現(xiàn)了柴油機(jī)故障端到端的診斷。