盧佳音 徐飛翔 林葉錦
(大連海事大學輪機工程學院 遼寧 大連 116026)
船舶柴油機安全可靠地運行對船舶的運行和船員人身安全至關重要,故障診斷技術作為智能運維技術的有機組成部分而受到廣泛關注。目前基于數據驅動的故障診斷方法在故障診斷領域得到廣泛的應用,常用的有支持向量機、BP神經網絡和深度信念網絡等,極限學習機(Extreme Learning Machine,ELM)作為一種前饋單隱層神經網絡最早由Huang等[1]提出,因其參數設置簡單,不需要進行迭代更新,受到廣泛應用。但是,單層的網絡結構不能很好地對數據特征進行提取,因此,文獻[2]提出了多層極限學習機(Multilayer Extreme Learning Machine,M-ELM),M-ELM僅僅是將極限學習機進行簡單的堆疊,文獻[3]將M-ELM用于航空發動機部件的故障診斷,取得良好效果,但其僅采用單核函數。文獻[4]在稀疏極限學習機自動編碼器的基礎上,提出了一種新的深度極限學習機(Hierarchical Extreme Learning Machine,H-ELM),文獻[5]提出了多維特征提取的H-ELM并利用多核極限學習機進行最終分類,診斷效果雖然提高,但是隱含層的節點數量太多,占用計算資源較多,復雜度也有較大提高,而且多核函數的核參數選取較困難。
本文在改進人工生態系統優化算法(IAEO)部分,首先利用Hammersley點集對個體初始化,提高了算法的尋優能力。其次,引入經典的非線性遞減策略和混沌序列來平衡算法的探索和開發能力。最后,引入煙花算法的爆炸操作和高斯變異,提高了算法跳出局部最優的能力。網絡模型部分,先利用H-ELM對輸入數據進行逐層特征提取,然后采用混合核極限學習機對提取到的特征進行高維度映射并分類。因為混合核極限學習機中核參數、正則化系數和比例系數對分類性能影響較大,所以利用IAEO對核參數、正則化系數和比例系數進行尋優,有效克服了參數靠經驗選取的缺點。將深度混合核極限學習機(Deep Hybrid Kernel Extreme Learning Machine,DHK-ELM)在通用數據集上與其他算法進行了對比。最后將IAEO-DHK-ELM應用到船舶柴油機故障診斷中,結果表明本文算法有較高的診斷精度和泛化能力。
人工生態優化算法[6]是將食物鏈中的能量傳輸方式和生物在生態鏈中的位置進行數學建模而產生的一種新的自然啟發優化算法。在最小化問題中,適應度值越大能量等級越高,最大適應度值的個體為生產者。人工生態系統優化算法的數學模型如下:
1) 生產者算子:每次迭代時生產者算子利用當前最優位置產生一個新的生產者位置。
x1(t+1)=(1-a)xn(t)+axrand(t)
(1)
a=(1-t/T)r1
(2)
xrand=r[U-L]+L
(3)
式中:n是個體個數;t是當前迭代次數;T是最大迭代次數;r1是[0,1]之間的隨機數;r是范圍在[0,1]之間的隨機向量;xrand是搜索空間中一個隨機產生的位置;U和L分別是解空間的上下界矩陣。
2) 消費者算子:首先提出了一個帶有Levy Flight特征的因子:
(4)
式中:N(0,1)是一個平均值為0、標準差為1的正態分布隨機數。
對消費者獲取能量的方式進行數學建模:
(1) 食草生物:
食草生物能量來源于生產者,數學模型為:
xi(t+1)=xi(t)+C·(xi(t)-x1(t))
i∈[2,3,…,n] (5)
(2) 食肉生物:
xi(t+1)=xi(t)+C·(xi(t)-xj(t))
i∈[3,4,…,n],j=randi([2i-1]) (6)
(3) 雜食生物:
xi(t+1)=xi(t)+C·(r2·(xi(t)-x1(t)))+
(1-r2)(xi(t)-xj(t))
i∈[3,4,…,n],j=randi([2i-1]) (7)
式中:r2是一個[0,1]的均勻隨機數。所有個體更新位置后,進行擇優選取。
最后,利用分解者算子來對所有個體進行位置更新。
3) 分解者算子:
個體位置更新公式如下:
xi(t+1)=xn(t)+D·(e·xn(t)-h·xi(t))
i=1,2,…,n(8)
D=3u,u~N(0,1)
(9)
h=2·r3-1
(10)
(11)
式中:r3是[0,1]之間的一個均勻隨機數。
人工生態系統優化算法步驟如下:
(1) 初始化個體位置xi,計算適應度fiti,記錄當前最優解xbest。
(2) 判斷是否達到最大迭代次數:若否,則繼續執行步驟(3)到步驟(6);若是,則結束計算,返回最優解xbest。
(3) 對于生產者x1根據式(1)更新位置。
(4) 對于消費者xi(i=2,3,…,n)分三種情況:
ifrand<1/3
被選為素食生物根據式(5)更新位置。
elseif 1/3≤rand≤2/3
被選為肉食生物根據式(6)更新位置。
else
被選為雜食生物,根據式(7)更新位置。
(5) 計算個體適應度,擇優選取并更新當前最優解xbest。
(6) 分解算子:根據式(8)對所有位置進行更新,計算適應度值,進行降序排列,適應度值越高能量等級越高。更新當前最優解xbest,返回步驟(2)。
人工生態系統優化算法中個體初始化位置隨機產生,容易發生初始化位置在解空間分布不均勻的情況,減小了可尋優范圍,增大了陷入局部最優值的可能性。Hammersley點集相較于隨機方法產生的個體在空間上分布更加均勻[7],因此,利用Hammersley點集進行初始化。圖1以二維為例展示了兩種方法的初始點分布情況,圖1(a)為Hammersley點集,圖1(b)為隨機法。

(a)
Hammersley點集是在Van der Corput序列的基礎上構造的一種低差異度點集。
以b為基的Van der Corput序列為:
{xn=φb(n),n∈N},N為元素個數,b≥2
式中:b進制根數逆函數φb:N0→[0,1)。
(12)
包含N個點的以b1,b2,…,bd-1為底Hammersley點集為:
HN,b1,b2,…,bd-1={H0,H1,…,HN-1}
(13)
(14)
式中:n=0,1,…,N-1在搜索空間[Up,Low]D,D為空間維數,Up和Low表示搜索空間的上下界,初始個體數量為N。個體的初始化位置為:
xi=Low×rand(1,D)+Hi(Up-Low)
(15)
在式(1)中a用來調整算法的探索和開發,由于a是隨機產生,不能很好地平衡不同階段算法探索和開發能力,因此,引入在優化算法領域經典的非線性遞減策略,使算法前期充分進行探索,后期下降較快,加快收斂。
b=π(t/T)a=(1-sin(b/2)2)
(16)
混沌作為自然界普遍存在的一種非線性現象,因混沌變量具有隨機性、遍歷性和規律性的特點,被廣泛用于優化算法的改進。本文選用Iterative混沌序列代替分解者算子中的r3來提高算法的探索性能。Iterative混沌序列的表達式如下:
(17)
因為Iterative混沌序列的范圍是[-1,1],所以需要將其歸一化到[0,1]。
為了提高算法跳出局部最優解的能力,將煙花算法[8]中爆炸操作和高斯變異機制引入到人工生態系統算法中,選擇適應度最好的個體來用于對全部個體進行位置更新。根據式(18)、式(19)計算爆炸半徑Ai和產生的火花數目Si。
(18)
(19)
式中:fmax、fmin是目前個體中適應度的最大和最小值;A是產生火花的爆炸半徑常數因子;M是產生爆炸火花數的常數因子;ω為機器最小數,避免發生除零操作。
利用式(21)和式(22)對根據式(20)來選擇的Z個維度進行操作,產生爆炸火花。
z=round(d·rand(0,1))
(20)
h=Ai·rand(-1,1)
(21)
(22)

為了提高個體的多樣性,隨機選擇一些個體進行高斯變異。同樣是利用式(20)選取Z個維度,根據式(23)和式(24)來產生高斯變異火花。
g=Gaussian(1,1)
(23)
式中:Gaussian(1,1)表示均值為1、方差為1的高斯分布。
(24)
選取四種非線性基準函數對比IAEO、AEO、MFO、GOA、SSA和PSO[6,9-12]的性能,基準函數的屬性如表1所示。實驗中所有算法的種群規模都設為30,最大迭代次數設為500,每個函數獨立運行30次,最后統計結果的最優值、最差值、平均值和標準差。IAEO選用Iterative混沌序列,火花的最大和最小個數為200、10,高斯火花個數為30,MFO的r從-1到-2線性遞減,GOA的cmax=1,cmin=0.000 04,WOA中A從2遞減到0,C為分布在[0,2]的隨機數,SSA中更新位置公式選擇的判定條件設為c3<0.5,PSO慣性權重從0.9到0.2線性遞減,c1=2,c2=2,實驗環境為Windows 7專業版64位操作系統,Inter Core i7-3770 CPU @ 3.4 GHz處理器,16 GB RAM,軟件為MATLAB 2016b,實驗結果如表2所示,平均收斂曲線如圖2所示。

表1 四種非線性基準函數

表2 結果對比

(a) F1
由表2數據可知,IAEO算法在函數F1、F2、F4上的表現好于其他算法,具有更高的收斂精度。IAEO和AEO在F3上尋到的最優值相同,但是IAEO的收斂速度更快。
極限學習機中輸入層與隱含層之間的權值和偏置可以隨機選取不需要進行迭代調整,具有參數設置簡單、訓練速度快的優點,但也存在著容易過擬合、可控性和魯棒性差等缺點。之后,Huang等[13]將核函數引入到極限學習機中,利用核函數代替點積計算,可以將樣本從向量空間映射到高維特征空間,從而避免陷入“維數災難”。
極限學習機的基本知識如下:

(25)

(26)
(27)
式(25)可以寫成:
Hβ=T
(28)
β=H?T
(29)
式中:H?為Moore-Penrose廣義逆。加入正則化系數C來提高算法的穩定性和泛化能力,則式(29)變為:
(30)
當隱含層輸出矩陣H未知時,引入核函數則有:
ΩELM=HHT
(31)
ΩELMij=h(xi)·h(xj)=K(xi,xj)
(32)
核極限學習機的輸出為:
(33)
核函數根據受測試點周圍值影響范圍的大小分為局部核函數和全局核函數,局部核函數有很好的學習能力,全局核函數有很強的泛化能力[14]。常見的局部核函數有徑向基核函數,全局核函數有多項式核函數和感知器核函數。將局部核函數和全局核函數進行線性組合可以很好地平衡核函數的學習能力和泛化能力。
圖3是徑向基核函數、感知器核函數和它們線性組合形成的混合核函數在測試點0.05處的曲線,其中徑向基核函數的σ分別取值0.1、0.3和0.5;感知器核函數的ν=10,c分別取值1、2和3;混合核函數的比例系數λ分別取值0.1、0.3和0.5,σ=0.5、ν=10、c=3。

(a) 徑向基核函數

圖4 深度混合核極限學習機網絡結構
可以看出徑向基函數在測試點附近學習能力強,但是泛化能力差,且σ越小學習能力越強。感知器核函數有很強的泛化能力,且c越大泛化能力越好。混合核函數則較好地平衡了核函數的學習能力和泛化能力。
本文采用徑向基核函數和感知器核函數線性組合形成混合核函數[14],表達式如下:
(1-λ)tanh(ν(x·xi)+c)
σ>0,0≤λ≤1 (34)
式中:第一項是徑向基核函數,第二項是感知器核函數,λ是比例系數。
單層極限學習機對數據特征的提取能力較差,文獻[4]提出了多層極限學習機。H-ELM是將多個稀疏極限學習機自編碼器進行堆疊形成的深層網絡結構,相較于其他深度神經網絡,具有網絡參數不需要微調、訓練速度快的優點。H-ELM最后采用ELM進行分類,在維度高的情況下運算復雜、泛化性能較差。因此,利用上文中提到的混合核極限學習機代替ELM對提取到的特征進行高維度映射并分類,這種算法稱為深度混合核極限學習機(Deep Hybrid Kernel Extreme Learning Machine,DHK-ELM)。
因在網絡結構確定的情況下,正則化系數C、核函數中的核參數σ、ν、c和比例系數λ對分類效果影響較大,故采用IAEO對上述參數進行尋優。基于IAEO-DHK-ELM的分類模型的流程如圖5所示。

圖5 IAEO-DHK-ELM流程
稀疏極限學習機編碼器讓輸入等于輸出,輸出權值β即輸入數據的一種特征表示:
(35)
每層的輸出矩陣作為下一層的輸入:
Hi=g(Hi-1·β)
(36)
將DBN[15]、M-ELM、H-ELM和IAEO-DHK-ELM算法在UCI機器學習庫的標準數據集上進行對比,考慮到不同網絡結構的最佳隱含層數不同,DBN在2個隱含層,其他選用3個隱含層時效果最好[3]。每層的節點個數依靠經驗選取。DBN預訓練階段的RBM訓練次數為50,微調訓練次數為500,激活函數為Sigmoid函數,Diabetes和Wine的批訓練數分別設置為16和12,Wi-Fi的批訓練數設為100。IAEO初始個體設置為30,最大迭代次數為20,其他參數與前文相同。除IAEO-DHK-ELM外每個算法獨立運行30次,結果取平均值,表3為數據集屬性。

表3 標準數據集屬性
從表4看出在Diabetes數據集上M-ELM與H-ELM表現差不多,IAEO-DHK-ELM的表現最好,DBN次之,在Wine數據集上四種算法都達到了較高的分類準確度,其中IAEO-DHKELM表現最好,M-ELM的表現次之,H-ELM的表現最差。

表4 標準數據集測試結果
利用船舶柴油機實物進行故障模擬,成本較高,對機器具有一定的破壞性。因此,本文利用AVL BOOST軟件建立燃油模式下的MAN &B W 8L51/60DF船舶柴油機模型進行故障模擬。
MAN &B W 8L51/60DF船舶柴油機的主要參數如表5所示。

表5 柴油機集參數
柴油機仿真模型如圖6所示,其中:SB1、SB2為系統邊界;TC1為廢氣渦輪增壓器;CO1為空冷器;PL1、PL2分別為進排氣總管;C1-C8為氣缸;MP1-MP3為測量點;J1-J16為連接點;E1為發動機;其他連線為管道。

圖6 柴油機仿真模型
模型驗證:將燃油模式額定工況下船舶柴油機仿真模型的主要參數值與臺架實驗數據進行比較如表6所示。

表6 性能參數對比
可以看出船舶柴油機仿真模型的運行參數值與臺架實驗的參數值誤差在4%以內,滿足一定的精度要求,可以將其用于故障模擬。
本文共選取五種狀態進行模擬:正常(F1)、噴油提前(F2)、噴油滯后(F3)、壓氣機效率下降(F4)和空冷器效率下降(F5)。運行50個循環,每種狀態得到50組數據,共250組數據。隨機選取200組數據組成訓練集,50組數據組成測試集。采集的有柴油機功率、平均有效壓力、最高爆發壓力、耗油率、增壓器出口壓力、增壓器出口溫度、空冷器出口壓力、空冷器出口溫度、排氣總管壓力、排氣總管溫度、渦輪后排氣溫度和壓力升高率共12個熱工參數,對故障數據進行歸一化處理,采用-1、1對狀態標簽進行多維編碼。
算法參數設置:DBN預訓練階段的RBM訓練次數為50,微調訓練次數為500,將批訓練數設為10,激活函數為Sigmoid函數。IAEO初始個體數為30,最大迭代次數為20,其他參數與前文相同,每個算法運行一次。仿真模型關鍵參數運行曲線如圖7所示。

(a) 柴油機扭矩曲線
從表7看出IAEO-DHK-ELM在訓練數據集和故障數據上都表現出較好的分類準確度。混合核函數的高維映射能力使其具有更強的分類能力和泛化性能,利用IAEO進行參數尋優較好地克服了依靠經驗選取參數的缺點,縮短了模型調試的時間。

表7 故障數診斷結果
圖8是各個算法在測試集上的診斷結果的混淆矩陣。四種算法都能準確地識別正常(F1)和噴油提前(F2),主要是因為噴油提前會造成氣缸內最大爆發壓力和最大壓力升高率顯著升高,特征明顯易于識別。在噴油滯后(F3)和壓氣機效率下降(F4)間容易識別錯誤,原因是兩種故障類型在功率下降、耗油率增加和排溫升高等熱工參數變化趨勢相似。其中IAEO-DHK-ELM在F3和F4的識別上效果最好,核函數的高維映射能力提高了識別正確率。

(a) DBN算法
本文利用Hammersley點集初始化個體位置,使個體具有較好的多樣性和空間分布特性,非線性遞減策略和混沌序列的引入改善了AEO的尋優能力,爆炸操作和高斯變異使分解算子能利用一個較優解來進行位置更新,使IAEO具有較強跳出局部最優的能力。在充分利用H-ELM對數據進行特征提取的基礎上,利用混合核極限學習機對提取到的特征進行高維映射和分類,提高了模型分類準確度和泛化能力。但是,船舶柴油機仿真模型的限制導致可模擬的故障類型較少,以后可以對模型進行改進使其能夠模擬更多的故障類型。另外,雖然利用IAEO來優化診斷模型的參數使網絡的參數選取容易,但是訓練時間也有所增加。