宋業(yè)棟,王彥軍,張振京,高文志,張攀,龐皓乾
(1.濰柴動力股份有限公司內燃機可靠性國家重點實驗室,山東 濰坊 261061; 2.天津大學內燃機燃燒學國家重點實驗室,天津 300072)
失火是一種常見的發(fā)動機故障,而部分失火是失火的一種特殊形式。發(fā)動機部分失火是缸內雖能夠著火燃燒,但是燃燒所產生的缸壓不能達到正常值的現(xiàn)象。發(fā)動機缸內的不完全燃燒不僅會使熱效率降低,耗油量增加,也會使曲軸的扭振惡化,引起曲軸的早期疲勞損壞。因此,研究發(fā)動機的部分失火是十分重要的。
目前,國內外的學者在失火故障診斷領域提出了許多診斷方法,大致分為三類:基于解析模型的失火故障診斷[1-4]、基于數(shù)據驅動的方法[5-9]以及基于模型和數(shù)據結合的方法[10-14]。由于建立一個準確的發(fā)動機估計模型所需要的參數(shù)較多,各參數(shù)的誤差會影響模型的準確性,并且建立模型時間周期較長,需要大量的試驗驗證,所以限制了基于解析模型的失火診斷方法以及基于模型和數(shù)據結合方法的發(fā)展。隨著智能化技術的發(fā)展,可以采集大量的數(shù)據并保存,基于數(shù)據驅動的方法只需利用發(fā)動機的歷史數(shù)據即可進行數(shù)據處理與故障診斷,不需要精確的數(shù)學模型,因此,基于數(shù)據驅動的方法在失火診斷中被廣泛研究與應用。
張攀等[15]通過提取發(fā)動機瞬時轉速的不同諧次的幅值和相位的信息,并結合相應的人工神經網絡可實現(xiàn)多種模式的失火診斷。GU Cheng 等[8]通過經驗模態(tài)分解并結合支持向量機來實現(xiàn)柴油機失火故障的診斷。李衛(wèi)星等[16]利用同步壓縮小波、時域統(tǒng)計方法來提取發(fā)動機振動信號中的故障特征,并通過極限梯度樹的方式進行失火評估。賈繼德等[17]利用連續(xù)小波變換并結合深度置信網絡可有效診斷失火故障。Sharma Abhishek等[18]通過對比不同的決策樹算法,提出了一種利用線性模型樹技術判斷發(fā)動機是否發(fā)生失火的方法。黃永生等[19]利用角頻域分析方法提取發(fā)動機瞬時轉速信號中的故障特征,并通過模糊邏輯運算進行失火診斷。
綜上所述,現(xiàn)有的失火診斷方法主要是利用小波變換、時頻域分析、經驗模態(tài)分解等方式人為地提取故障特征,然后再通過傳統(tǒng)的機器學習來實現(xiàn)對失火故障的診斷,并且目前大多數(shù)的研究都是針對發(fā)動機的完全失火故障,對發(fā)動機的部分失火故障的研究較少。部分失火故障相比較完全失火故障,其相關的信號特征變化不明顯,并且特征提取準則不確定和提取過程復雜也容易導致診斷算法的誤診率升高。
因此,本研究通過發(fā)動機的振動信號結合能夠自動提取特征功能的卷積神經網絡,實現(xiàn)發(fā)動機的部分失火故障診斷。為了進一步提升診斷的準確性,利用網絡層數(shù)較多的殘差網絡提取發(fā)動機振動信號中更深層次的信息與更復雜的特征,最終經過大量的數(shù)據訓練與測試,驗證了所設計的殘差網絡對柴油機部分失火故障診斷的效果。
發(fā)動機的部分失火試驗是在1臺直列四沖程6缸柴油機上進行的,其缸徑和行程分別為102 mm和118 mm,總排量為5.8 L,壓縮比為17.5。該柴油機的發(fā)火順序為1—5—3—6—2—4,轉速范圍為800~2 200 r/min,標定功率為85 kW。試驗臺架如圖1所示。
在試驗中,振動信號通過BK公司生產的三軸壓電式加速度傳感器采集,該傳感器的型號為4525-B-001,可測信號的頻率范圍為1 Hz~10 kHz,電壓靈敏度為10 mV/g。在柴油機的部分失火試驗中,將振動傳感器安裝在柴油機第4缸的缸蓋位置,采樣頻率為51.2 kHz。
在部分失火故障試驗中,通過ECU改變某缸的供油系數(shù)設置部分失火故障。由于柴油機的供油系數(shù)在40%以下,在部分負荷工況下可能是未燃燒的狀態(tài),所以為了避免將部分失火故障識別成完全失火,對于部分失火故障只設置了柴油機某個缸的供油系數(shù)為0%,50%,70%,100%四種類型,其中0%和100%供油系數(shù)分別代表完全失火和正常工作狀態(tài)。為了簡化數(shù)據集的處理過程,在計算中只選擇第1缸和第5缸的部分失火數(shù)據來訓練所設計的深度學習網絡(選擇其余缸的部分失火數(shù)據也可以),探究所設計的網絡是否可以診斷柴油機的部分失火故障。部分失火故障的試驗工況如圖2所示。
每種失火工況采集到的數(shù)據量能夠達到百萬級別,為了得到網絡訓練所需的樣本,需要對采集到的數(shù)據進行分割處理。為了能夠使每個樣本中均包含足夠的信息,每個樣本需要至少包含柴油機運行一個循環(huán)的振動數(shù)據。因此根據振動傳感器的采樣頻率及試驗工況的最高轉速,將每個樣本所包含的數(shù)據設置為6 400,即網絡的輸入向量的維度為6 400*1。將發(fā)動機負荷為100 N·m和200 N·m的所有工況點作為訓練網絡的數(shù)據集,總共包括6 088組數(shù)據,其中的80%作為網絡的訓練集,剩余的20%數(shù)據作為網絡的驗證集。另外將發(fā)動機150 N·m負荷下,轉速分別為1 000,1 200,1 600 r/min的數(shù)據用來驗證網絡的準確性及泛化性能。
為了防止模型的梯度消失,使網絡更快收斂,對振動數(shù)據進行歸一化處理。歸一化處理方式如式(1)所示。
(1)
式中:x,xl為歸一化前后的值;Max,Min分別為樣本的最大值和最小值。
利用上述處理好的數(shù)據集,通過訓練得到失火故障診斷的網絡模型,將診斷模型嵌入到車輛的終端設備中,后續(xù)只需要采集發(fā)動機振動信號并進行適當?shù)臄?shù)據處理,最后通過訓練好的網絡模型進行前饋計算,即可診斷發(fā)動機是否發(fā)生部分失火故障以及部分失火的程度和失火缸。在診斷過程中,無需進行反饋傳播來更新網絡參數(shù),可以大大縮短診斷時間。當發(fā)動機長時間運行,發(fā)動機運行狀態(tài)有較大變化且影響失火診斷的準確性時,可以重新優(yōu)化失火診斷模型,并在終端進行遠程升級。
卷積神經網絡是一個具有卷積操作的前饋神經網絡,與全連接神經網絡相比,卷積神經網絡具有局部連接、權值共享和下采樣特點,因此進行網絡訓練的參數(shù)大大減少,提升了網絡訓練的效率。
所設計的卷積神經網絡是針對不完全失火故障的失火程度以及失火缸診斷,且以振動信號為輸入,將該網絡簡稱為IDCV-CNN。所設計的網絡結構由輸入層、5個連續(xù)的特征提取模塊(卷積層,BN層以及池化層)、全局平均池化層以及全連接層組成(見圖3)。
圖3 IDCV-CNN的網絡結構
網絡中出現(xiàn)的5個連續(xù)的特征提取模塊可以自動提取振動信號中的特征。特征提取模塊包括卷積層、BN(Batch Normalization, BN)層以及池化層。卷積層是深度網絡的核心層,卷積層是將輸入信號或上一層特征圖的局部區(qū)域與卷積核進行卷積,然后將卷積后的輸出值加上相應的偏置量后,并通過激活函數(shù)進行非線性變換,從而得到相應的特征圖。對于卷積核,可以將其理解為一個可訓練的特征提取器,在上一層的特征圖上滑動來提取特征。主要計算過程如式(2)所示:
al=σ(al-1?wl+bl)。
(2)
式中:al-1為第l-1層卷積核的卷積區(qū)域中的元素;wl為第l層的卷積核的權值;bl為第l層的卷積核的偏置;al為第l層卷積經過激活函數(shù)作用后的輸出。
卷積層后連接著BN層,BN層是對前一層的輸入進行相應形式的標準化,引入該層后可以改善流經網絡的梯度,從而允許選擇較大的學習率,提升訓練的速度。
特征提取模塊的最后一層就是池化層,該層進一步壓縮卷積層的輸出特征,減少網絡的參數(shù),并且池化層本身沒有任何參數(shù),可以減少訓練時間,同時也能控制過擬合。常見的池化方式為最大池化和平均池化。本研究選擇最大池化方式,可以提取目標區(qū)域內最具有代表性的特征。
激活函數(shù)在網絡中具有十分重要的作用。網絡中加入了非線性的激活函數(shù),可以使原先網絡層實現(xiàn)非線性映射,從而提高網絡的特征表達能力。隨著神經元的增加或層數(shù)的加深,神經網絡可以實現(xiàn)非線性的復雜的任意函數(shù)映射。常用的激活函數(shù)有Softmax,Tanh,ReLU。為了解決梯度消失和減少過擬合,選用的激活函數(shù)為ReLU。
分類評估函數(shù)是用來評估網絡的輸出向量與樣本的實際標簽兩者的差異。損失函數(shù)的值越小,代表預測輸出與實際標簽之間的差值越小,也就說明構建的網絡模型越好。本研究所設計的兩個網絡的分類評估函數(shù)均采用多分類交叉熵函數(shù),計算公式如(3)所示:
(3)
發(fā)動機的振動信號所包含的信息十分豐富,為了更好地尋找振動信號與發(fā)動機部分失火故障之間的映射關系,通過疊加多層的特征提取層可以更好地提取振動信號中的故障特征,以便能夠達到較好的診斷效果。IDCV-CNN網絡的參數(shù)設置如表1所示。從表1中可以看到,網絡中卷積核的尺寸根據輸出特征圖的輸出規(guī)模進行相應的改變,而卷積核的步長也是根據輸出特征圖的輸出規(guī)模和卷積核的尺寸而設置的。
表1 IDCV-CNN網絡結構參數(shù)
續(xù)表
所設計的IDCV-CNN網絡選擇多類交叉熵作為損失函數(shù),選用Adam優(yōu)化器來更新網絡的權值,學習率設置為0.001。IDCV-CNN網絡經過150個訓練周期,網絡驗證集的診斷準確率達到了96.29%。圖4示出IDCV-CNN網絡驗證集的預測結果??梢钥吹?,該網絡整體的診斷準確率較高。僅在1號缸的50%供油系數(shù)的數(shù)據集(1#_50%)中,總共295個數(shù)據就存在39個數(shù)據被判斷成了1號缸的70%供油系數(shù)(1#_70%)。對于該結果,雖然存在預測錯誤,但是能識別出部分失火故障的發(fā)生,并能診斷出相應的失火缸。
圖4 IDCV-CNN網絡驗證集的預測結果
利用負荷為150 N·m下的1 000,1 200,1 600 r/min三個工況點來測試IDCV-CNN網絡的準確性和泛化性,測試結果如圖5所示??梢钥吹?,對于未參加訓練的三個測試工況的準確率分別為88.16%,88.50%,81.25%,相比于驗證集的預測結果較差。
由圖5還可以看出,主要存在兩個方面的錯誤。第一是失火缸的診斷是正確的,但是失火程度診斷錯誤,如1 200 r/min的5#_50%以及1 600 r/min的1#_50%均是被診斷為相鄰的工況點。第二是失火程度診斷正確,但是失火缸的診斷錯誤,如1 000 r/min與1 200 r/min的1#_70%工況被誤認為5#_70%工況,1 200 r/min與1 600 r/min的5#_50%工況被誤診斷為1#_50%工況。
圖5 IDCV-CNN網絡測試工況的預測結果
IDCV-CNN網絡誤診率較高的原因可能是特征提取層數(shù)較少,網絡提取的特征不夠豐富,不能提取振動信號中更為復雜的特征,所以設計的IDCV-CNN網絡對1號缸或5號缸的部分失火診斷準確率較低。
有大量理論和經驗表明,隨著神經網絡深度的增加,提取的特征層次也更豐富,其網絡預測的準確率也更高,但隨之而來也會出現(xiàn)網絡退化問題。殘差網絡利用網絡中的跳躍連接可緩解網絡的退化問題,可以通過增加網絡的深度提高網絡的性能。針對IDCV-CNN網絡的特征提取層數(shù)較少,不能提取振動信號中更為復雜的特征,誤診率較高的問題,提出利用殘差網絡來解決柴油機的部分失火故障診斷問題。
殘差網絡最核心的就是網絡中的殘差模塊,殘差模塊的示意圖見圖6。如果讓深層網絡去擬合一個存在恒等映射關系的函數(shù)H(x)=x是比較難訓練的,但若將網絡設計成殘差塊的形式,如圖6所示,x為該網絡的輸入,F(xiàn)(x)為堆疊的非線性層映射,其輸出為H(x)=F(x)+x,這樣就可以將網絡的學習重心轉換成學習一個殘差函數(shù)F(x)=H(x)-x。對于擬合恒等映射,只需要F(x)為0,即權值全部為0,這是相對容易實現(xiàn)的。
圖6 殘差模塊
所搭建的殘差網絡模型的具體結構參數(shù)如表2所示。該模型是以一維的時域振動信號作為輸入,經過卷積層以及池化層的運算后,再經過8個殘差模塊,提取振動信號中多個底層以及高層特征,將這些提取到的特征再次經過全局平均池化層、平鋪層、全連接層后得到最終的輸出結果。
表2 殘差網絡結構參數(shù)
由于輸入信號為一維數(shù)據,所以所有的卷積操作均為一維卷積。表2中,c=16代表特征圖通道的數(shù)量即卷積核個數(shù)為16,k=128代表卷積核尺寸為128,s=2表示卷積核的步長為2,GAP代表全局平均池化。對于殘差連接,若殘差塊的輸入與輸出的特征圖的尺寸相同,則采用恒等連接即直接將殘差塊的輸入向量與輸出向量直接相加,而對于殘差塊的輸入與輸出的尺寸不一致的情況,則采用1*1卷積的方式來保證信號輸入與信號輸出的尺寸一致性。
本網絡超參數(shù)的設置如下:將網絡初始的學習率設置為0.05,將每個訓練周期后的學習率的衰減變量decay設置為0.000 5。學習率的衰減趨勢如圖7所示。學習率按這個趨勢設置,在訓練的初始階段網絡參數(shù)能夠以較大的幅度進行更新,而在訓練的后期,網絡參數(shù)以很微小的幅度進行改變。另外,選擇動量的隨機梯度下降算法 (Stochastic Gradient Descent-Momentum, SGD-M) 一起使用,動量的引入可以加快網絡收斂的速度并能夠避免出現(xiàn)局部最優(yōu)。在進行計算時動量系數(shù)設置為0.9。
圖7 學習率衰減曲線
權重的初始化決定了網絡模型訓練的起點。合適的初始化不僅會加快網絡訓練速度,同時還能避免模型收斂于某一局部最小值。為了防止在網絡的訓練過程中權重更新總沿著一個方向,應盡量避免網絡的所有權值均初始化為同一個值,如全為0或全為1矩陣。本研究在權重初始化時使用了Glorot Uniform方式進行初始化。
(4)
殘差網絡進行訓練時,采用的數(shù)據集與IDCV-CNN網絡所使用的數(shù)據集保持一致,以便進行比較。設置殘差網絡的一個小批次為32,設置訓練周期為150,最終驗證集的測試準確率達到了98.51%,比IDCV-CNN的準確率高了2.25%。從圖8可以看到,驗證集經過測試所得到的混淆矩陣,只有1#_50%和1#_70%工況有小部分數(shù)據被預測錯誤,從總的準確率來看,該殘差網絡可以達到相當好的診斷效果。
圖8 殘差網絡驗證集的測試結果
利用150 N·m負荷下的1 000,1 200,1 600 r/min不同轉速工況來測試殘差網絡的準確性和泛化性,測試結果如圖9所示。殘差網絡的3個測試工況的預測準確率分別達到94.37%,96.99%,94.38%。只有部分工況的個別數(shù)據出錯,預測出錯的數(shù)據可分為四類:第一類是網絡能夠精準地預測失火缸,但對失火程度存在預測誤差,如1 000 r/min的5#_50%工況有16個數(shù)據被誤認為5#_70%工況。若此類錯誤出現(xiàn)比例較小,這種故障能夠及時止損,也方便后續(xù)維修。第二類是能夠預測失火程度,但是對失火缸的診斷存在預測偏差,如1 000 r/min的1#_70%工況中存在23個數(shù)據被誤認為5#_70%工況,誤診率為14.38%。該類診斷失誤可以使用合適的診斷策略來避免,如通過多次信號采集及診斷來提高診斷的準確率。第三類是能夠預測發(fā)動機發(fā)生失火故障,但是對于失火缸以及失火程度均預測錯誤。如1 600 r/min的1缸完全失火有9個數(shù)據被誤認為5#_50%工況。此類故障診斷失誤率為5.63%,也是可以通過相應的診斷策略避免診斷失誤。第四類診斷錯誤是將失火故障診斷為正常,如1 200 r/min的1#_70%工況中有2個數(shù)據被誤診為發(fā)動機正常。由圖9可知,對于三種驗證工況,此種錯誤的誤診率非常低,幾乎可以忽略不計。
圖9 殘差網絡測試工況的預測結果
殘差網絡在三個驗證工況的準確率與IDCV-CNN網絡準確率比較如圖10所示??梢钥吹剑瑲埐罹W絡的診斷準確率在1 000,1 200,1 600 r/min分別達到94.37%,96.99%,94.38%,相比于IDCV-CNN網絡的診斷準確率88.16%,88.5%,81.25%分別提高了6.21%,8.49%和13.13%。因此,在柴油機的部分失火的失火缸及失火程度的診斷上殘差網絡是優(yōu)于IDCV-CNN網絡的。
圖10 殘差網絡與IDCV-CNN網絡準確率對比
以上闡述的采用殘差網絡實現(xiàn)柴油機部分失火故障診斷的過程屬于線下診斷,后續(xù)可將訓練好的殘差網絡移植到GPU或FPGA開發(fā)板中,將實時采集的發(fā)動機振動信號進行處理和前饋計算,即可實現(xiàn)發(fā)動機部分失火故障的實時診斷。
a) 利用卷積神經網絡來診斷柴油機的部分失火故障,不需要人為的特征提取,能夠利用網絡強大的非線性的擬合能力自動提取故障特征,進而判斷柴油機的失火狀態(tài);結果表明,所搭建的卷積神經網絡對經過訓練的工況點的部分失火診斷準確率能夠達到96.29%,但對于未參與訓練的工況點的診斷準確率只能達到85%左右,即所設計的卷積神經網絡的泛化性能較差;
b) 利用殘差網絡提取振動信號中多個底層以及高層特征,解決柴油機的部分失火故障特征不明顯與診斷困難的問題,同時通過加入正則化項,減小權重的絕對值,使模型簡單化并防止過擬合;
c) 所設計的殘差網絡通過數(shù)據集訓練后,對經過網絡訓練的工況點的診斷準確率能夠達到98.51%,對于未經過網絡訓練的工況點的診斷準確率最低為94.37%,該結果表明層數(shù)更多的殘差網絡的準確性及泛化性能均優(yōu)于設計的卷積神經網絡,可以在較寬的工況范圍實現(xiàn)對柴油機的部分失火故障的診斷。