劉奧 牛志剛 張東光 朱曉鵬 王壯
(太原理工大學,太原 030024)
質子交換膜燃料電池(Proton Exchange Membrane Fuel Cell,PEMFC)系統(tǒng)在新能源汽車發(fā)展中具有廣闊的應用前景。目前,燃料電池的可靠性和壽命是PEMFC 系統(tǒng)大規(guī)模商用面臨的主要難點之一[1-3]。
PEMFC故障診斷系統(tǒng)的主要功能是檢測系統(tǒng)運行中產(chǎn)生的故障,提高系統(tǒng)的運行穩(wěn)定性和使用壽命[4]。目前,相關研究可分為基于模型的故障診斷和基于數(shù)據(jù)驅動的故障診斷2 類?;谀P偷墓收显\斷通過建立PEMFC 仿真模型,計算模型輸出與實際輸出之間的參數(shù)偏差,分析殘差實現(xiàn)故障檢測[5],包括使用等效電路模型的流阻檢測[6]、利用壓力降模型的故障診斷[7]、基于線性變參數(shù)(Linear Parameter Varying,LPV)模型的非線性動力學仿真[8]和針對膜電極失效的相關研究[9]等。此類診斷方法的難點在于保證模型相對于試驗電堆的準確率,由于系統(tǒng)內(nèi)部數(shù)據(jù)獲取困難,燃料電池系統(tǒng)間存在個體偏差,難以建立準確、具有普遍性的故障診斷模型?;跀?shù)據(jù)驅動的故障診斷通過算法分析數(shù)據(jù)建立模型實現(xiàn)故障診斷,快速高效,且無需燃料電池專業(yè)知識,具有廣闊的研究前景。相關研究包括使用在線序列極限學習機(Online Sequential Extreme Learning Machine,OS-ELM)的故障診斷方法[10]、利用電化學阻抗譜(Electrochemical Impedance Spectroscopy,EIS)的支持向量機(Support Vector Machine,SVM)模式識別[2]、基于小波變換(Wavelet Transform,WT)和奇異值分解(Singular Value Decomposition,SVD)的信號處理方法[11]等。此外,該方法還包括在線診斷的實現(xiàn),如基于K均值(K-Means)和SVM的在線自適應故障診斷[12]。
以上研究仍存在待解決的問題:SVM 受Mercer 條件限制,收斂慢;神經(jīng)網(wǎng)絡復雜度高,對樣本、算力需求大,存在過擬合、局部極小值等問題;主成分分析(Prin?cipal Component Analysis,PCA)降維時面對復雜特征聚類準確率較低;增量學習算法的引入研究僅探討了算法本身的可行性,未考慮診斷模型更新的實現(xiàn)。
針對以上問題,本文提出基于在線序列極限學習機和無監(jiān)督極限學習機(Unsupervised Extreme Learn?ing Machines,US-ELM)的燃料電池在線故障診斷方法,引入US-ELM 得到反映燃料電池系統(tǒng)運行狀態(tài)的特征向量,使用OS-ELM 對特征向量進行分類,在數(shù)據(jù)獲取方面,采用K-Means 聚類區(qū)分正常與故障狀態(tài)的數(shù)據(jù),并使用包含3 種不同狀態(tài)的樣本對方法的有效性進行驗證。
蒸發(fā)冷卻(Evaporatively Cooled,EC)型燃料電池系統(tǒng)是由英國智能能源公司針對高容量、低成本的工業(yè)需求設計的PEMFC。其100 kW EC型PEMFC電堆可提供3.5 kW/L 及3.0 W/kg 的功率密度,EC 技術利用蒸發(fā)冷卻替代傳統(tǒng)的冷卻液循環(huán),無需設置冷卻水流道,降低了系統(tǒng)的復雜性、質量和生產(chǎn)成本。系統(tǒng)原理如圖1所示,系統(tǒng)并聯(lián)了2 臺PEMFC 電堆,分別由300 片單電池組成,空氣和氫氣分別輸入到電池的陰極和陽極,液態(tài)冷卻水輸入到電堆,部分蒸發(fā)形成液體/蒸汽混合物并從電堆中帶走熱量,為保持系統(tǒng)水量平衡,熱交換器會將電堆排出的蒸汽冷凝,將水收集并送回水箱。
圖1 EC型燃料電池系統(tǒng)原理
2.2.1 極限學習機
極限學習機(Extreme Learning Machine,ELM)[13]是基于廣義逆矩陣的新型單隱層前饋神經(jīng)網(wǎng)絡,該網(wǎng)絡由輸入層、隱含層和輸出層構成,原理如圖2所示。
圖2 ELM網(wǎng)絡結構示意
設數(shù)據(jù)集為?={(xi,ti)|xi∈Rn,ti∈Rm,i=1,…,N},隱含層神經(jīng)元數(shù)量為,隱含層激勵函數(shù)為g(x)。數(shù)據(jù)集輸入樣本可表達為xi=(xi1,xi2,…,xin)T∈Rn,輸出目標可表述為ti=(ti1,ti2,…,tim)T∈Rm。ELM的輸出矩陣O為:
其中,oj為隱含層神經(jīng)網(wǎng)絡節(jié)點:
式中,Wi=(wi1,wi2,…,wim)T為輸入權重,即第i個隱含層節(jié)點與輸入層間的連接權重矩陣;βi=(βi1,βi2,…,βim)T為輸出權重,即輸出層與第i個隱含層間的連接權重矩陣;bi=(bi1,bi2,…,bim)T為第i個隱含層的偏置矩陣。
ELM 的學習目標是使輸出誤差盡量接近于零,可表述為:
若隱含層神經(jīng)元數(shù)量與訓練集樣本數(shù)量相等,ELM對任意隱含層輸入權重和偏置均能實現(xiàn)零誤差逼近。然而,實際操作中訓練樣本數(shù)量常大于隱含層節(jié)點數(shù)量,訓練誤差可逼近任意ε>0。
結合式(1),學習目標可表述為矩陣形式:
式中,T為期望輸出;β為輸出權重矩陣;H為極限學習機隱含層輸出矩陣:
式中,H?=(HTH)-1HT為H的穆爾-彭羅斯(Moore-Penrose)廣義逆矩陣[10],該解范數(shù)唯一且最小。
2.2.1.1 無監(jiān)督極限學習機
US-ELM利用了ELM的逼近能力,通過非線性映射將原數(shù)據(jù)投影到低維空間,利用高斯函數(shù)描述近鄰樣本間的相似度,并得到顯式的非線性映射函數(shù)[14]。US-ELM 繼承了ELM 的計算效率和學習能力,可用于多分類或多聚類,在精度和效率方面都滿足使用需求,在降維任務中,設訓練數(shù)據(jù)為X∈RN×ni,其輸出目標為n維空間中的嵌入矩陣E∈RN×n0(ni為訓練數(shù)據(jù)維度,n0為嵌入矩陣維度)。運算流程如下[15]:
a.基于原始數(shù)據(jù)X,構建拉普拉斯(Laplacian)參數(shù)L。
b.利用隨機輸入權值構建隱含層神經(jīng)元數(shù)量為nh的ELM 網(wǎng)絡,并計算隱含層神經(jīng)元H∈RN×nh的輸出矩陣。
c.US-ELM目標函數(shù)為:
通過將β作為矩陣給出式(7)的最優(yōu)解,該求解過程可替換為廣義特征值問題的求解,根據(jù)nh與N關系式(7)進行如下替換:
若nh≤N,式(7)可替換為(Inh+λHTLH)νs=γsHTHνs,s=1,2,…,n0+1,γs(γ1≤γ2≤…≤γn0+1)為最小特征值,對應特征向量vs,使,其中,i=2,…,n0+1為歸一化特征向量;
若nh>N,式(7)可替換為(Inh+λLHHT)us=γsHHus,s=1,2,…,n0+1,γs(γ1≤γ2≤…≤γn0+1)為最小特征值,對應特征向量us,使,其中,…,n0+1為歸一化特征向量。
d.計算嵌入矩陣E=Hβ。
2.2.1.2 在線序列極限學習機
當樣本數(shù)據(jù)分批次加入時,傳統(tǒng)ELM 需要重新訓練模型。為適應增量學習需求,Liang 等在ELM 的基礎上提出了OS-ELM 算法[16]。OS-ELM 的學習過程分為初始和在線學習2 個階段,先通過少量樣本得到OS-ELM 的初始輸出權重β0,再利用新樣本/數(shù)據(jù)塊更新β0。
2.2.1.2.1 初始階段
設有N0個訓練樣本?0={(xi,ti)|xi∈Rn,ti∈Rm,i=1,…,N0},其中N0≥。運算流程如下:
a.產(chǎn)生隨機的輸入權重矩陣wi和偏置矩陣bi,其中i=1,2,…,。
b.計算初始隱含層輸出矩陣H0。
c.計算初始輸出權重矩陣β0:
d.令數(shù)據(jù)塊(Block)序號為k=0,初始化階段完成。
2.2.1.2.2 在線學習階段
在線學習階段每次投入樣本為1 個Block,每個Block包含若干樣本(xi,ti)。設 第(k+1)個Block的樣本,在Block 中的樣本數(shù)大于1 時,運算流程如下:
a.計算隱含層輸出矩陣Hk+1。
b.計算輸出權重矩陣βk+1:
c.令k自加1,重復在線學習階段,直至完成全部學習。
2.2.2 K-Means聚類算法
K-Means 是一種基于距離的經(jīng)典聚類算法,因其快速、簡單而得到廣泛使用。設數(shù)據(jù)集X=[xi],xi∈Rd,i=1,2,…,k,其中k為樣本數(shù)量,d為樣本維數(shù),樣本的類別空間a=[aj],aj∈Rm,j=1,2,…,l,其中l(wèi)為類別數(shù)量。樣本點距離度量采用歐氏距離:
聚類中心為:
式中,kj為屬于第j類的樣本數(shù)量。
K-Means的目標是使簇內(nèi)樣本距離最小,簇間樣本距離最大化,其目標函數(shù)為:
算法迭代的時間復雜度為O(tldk),空間復雜度為O((k+c)d),其中t為迭代次數(shù),一般t、c均不大于n[12]。
現(xiàn)有的大部分基于數(shù)據(jù)驅動的診斷方法中,訓練好的診斷模型不再做進一步調整,當故障出現(xiàn)新的特征時,只能重新訓練模型,雖然有文獻探討了增量學習在故障診斷領域的應用,但在故障特征提取等方面并沒有考慮新數(shù)據(jù)的獲取過程。
為解決增量學習過程中的樣本獲取問題,本文提出使用US-ELM 和K-Means 構建基于OS-ELM 的在線故障診斷方法,利用OS-ELM的增量學習能力構建診斷模型,US-ELM實現(xiàn)基于流形正則的降維并輸出顯式的降維函數(shù)。由于數(shù)據(jù)采集和舊模型的分類往往無法標記全部數(shù)據(jù),故引入K-Means 聚類算法,利用不同狀態(tài)數(shù)據(jù)聚類準確率較高的特點,在進行少量人工標記的情況下達到批量區(qū)分標記新數(shù)據(jù)的目的。圖3 所示為使用該方法進行燃料電池系統(tǒng)故障診斷的流程。
圖3 在線診斷模型流程
在系統(tǒng)流程中,預處理步驟包含在US-ELM算法程序內(nèi),K-Means 聚類用于輔助新樣本的數(shù)據(jù)劃分,根據(jù)研究經(jīng)驗,US-ELM 降維后數(shù)據(jù)的聚類效果明顯,故利用聚類輔助區(qū)分,根據(jù)診斷系統(tǒng)的部分預標記對各聚類區(qū)塊進行標記。另外,在整個流程中,初始的在線診斷模型由OS-ELM初始模型提供,之后均由在線OS-ELM模型提供,該在線OS-ELM模型即為在線學習階段通過新樣本更新的OS-ELM初始模型。
為驗證本文提出的方法,利用正常狀態(tài)、膜干故障和陽極缺氣故障共3 種狀態(tài)的數(shù)據(jù)驗證算法的診斷效果。由蒸發(fā)冷卻型PEMFC 獲得的原始數(shù)據(jù)共有約182 130 組,其中正常狀態(tài)(Normal)171 020 組,陽極缺氣故障(F1)2 604組,膜干故障(F2)8 506組,2種故障對電堆的影響如下:
a.膜干故障。質子交換膜為保持良好的離子導電性,運行狀態(tài)下需要與水接觸以保持較高的相對濕度,否則產(chǎn)生膜干故障會導致膜的歐姆阻抗變化[17],極大地影響質子傳導率,引起歐姆過電勢增加和電池輸出電壓下降,嚴重時會導致電堆內(nèi)部溫度過高,縮短PEMFC使用壽命。
b.陽極缺氣故障。陽極缺氣會導致電堆無法獲得足夠的氫氣供應,在負載電流下表現(xiàn)為工作電壓逐漸下降。嚴重時,電池電壓降至0 后會發(fā)生“反極”現(xiàn)象,電池陽極析出氧氣,大幅降低電堆的電壓。極端條件下,氫氧混合可能會在陰極催化劑上反應發(fā)生燃燒,造成燃料電池系統(tǒng)內(nèi)部爆炸。
考慮機器學習的數(shù)據(jù)均衡,本實例對每種狀態(tài)各采樣400組數(shù)據(jù),從中隨機抽取形成訓練集、測試集,采樣結果數(shù)據(jù)集各包含樣本600組,每個數(shù)據(jù)集包含3種狀態(tài)數(shù)據(jù)各200組,數(shù)據(jù)的具體參數(shù)如表1所示。
表1 電堆參數(shù)
為提高聚類和模式識別的效率及準確率,選用US-ELM 對歸一化數(shù)據(jù)進行降維。US-ELM 降維基于流形正則思想,利用ELM 的逼近能力將高維樣本通過非線性映射投影至低維空間,并能夠得到顯式的映射函數(shù)[14]。在保證降維數(shù)據(jù)各維度的相關性盡量最小的同時,通過將高維數(shù)據(jù)合理展開至低維空間,可大幅簡化模型復雜度。
由表1 可知,每組原始數(shù)據(jù)為1 個20 維特征向量X=(x1,x2,…,x20),對樣本進行歸一化處理,將向量中各變量歸一化至[-1,1]區(qū)間,在保留數(shù)據(jù)特征的同時減少了量綱差異所帶來的問題。
由于非線性降維的參數(shù)選取缺乏統(tǒng)一的評判指標,本文以US-ELM 在不同參數(shù)下的聚類準確率作為衡量標準,對比并最終確定特征提取的參數(shù)設置如下:拉普拉斯算子采用基于距離的權重,距離度量采用歐氏距離函數(shù),算子歸一化參數(shù)為0,迭代階數(shù)為1 階,近鄰數(shù)量為5個,超參數(shù)設定嵌入層數(shù)為5層,隱含層神經(jīng)元數(shù)量默認為2 000 個,歸一化輸入、輸出均為1,核函數(shù)使用Sigmoid函數(shù)。降維后部分樣本數(shù)據(jù)如表2所示。
表2 US-ELM降維后的部分訓練樣本和測試樣本
OS-ELM初始階段,算法參數(shù)包括初始訓練數(shù)據(jù)量N0=200 組,隱含層神經(jīng)元數(shù)量L=5 個(考慮預處理后數(shù)據(jù)維度),激活函數(shù)使用Sigmoid函數(shù)。該階段對應OSELM 的初始模型生成。在系統(tǒng)流程中,該步驟生成的模型即可用作最初的在線診斷模型,對后續(xù)試驗中獲得的數(shù)據(jù)進行故障識別及標記。
該步驟用于標記經(jīng)預處理的原始數(shù)據(jù),此時數(shù)據(jù)缺少狀態(tài)標簽(正常或故障),需對新數(shù)據(jù)進行聚類和標記。使用K-Means算法,基于診斷模型的結果和少量人工標記,即可實現(xiàn)快速分類獲得不同狀態(tài)的數(shù)據(jù),形成新的訓練集,配合增量算法實現(xiàn)診斷模型的更新。
為更好地驗證聚類結果,將試驗樣本合并后進行K-Means 聚類分析,可視化結果如圖4 所示,經(jīng)降維后數(shù)據(jù)的聚類準確率達95.75%,較原始樣本提升約12.5%,其中正常狀態(tài)數(shù)據(jù)的聚類準確率達到100%,可達到快速有效分離各狀態(tài)數(shù)據(jù)的目的。
圖4 K-Means的聚類結果
在聚類過程中,存在少量樣本標記錯誤的情況,由于診斷模型的更新在原模型基礎上產(chǎn)生,新樣本數(shù)量遠少于模型累計訓練樣本的數(shù)量,因此這類錯誤并不會影響更新后新模型的診斷準確率。
OS-ELM 在線學習階段,隱含層神經(jīng)元數(shù)量L=5個(考慮預處理后數(shù)據(jù)維度),激活函數(shù)使用Sigmoid函數(shù),以上參數(shù)需與初始階段保持一致。數(shù)據(jù)塊為40組,表示未訓練樣本將以40組為1個數(shù)據(jù)塊投入模型模擬增量學習過程,在初始階段的基礎上對模型進行更新。試驗結果的分布如圖5所示,OS-ELM的運算用時為0.187 5 s,訓練樣本分類準確率為93.17%,測試樣本分類準確率為92.00%,其中正常狀態(tài)的分類準確率達100%。
圖5 US-ELM-OS-ELM的分類結果
基于US-ELM-OS-ELM 的燃料電池系統(tǒng)診斷結果如表3 所示。由表3 可以看出,US-ELM-OS-ELM 的準確率均達到90%以上,整體準確率為92%,分類診斷效果較好。
表3 基于US-ELM-OS-ELM的燃料電池系統(tǒng)診斷結果
試驗結果驗證了US-ELM-OS-ELM 構建模型的故障診斷能力,此外,結果較PCA-OS-ELM得到的同維數(shù)樣本準確率提高約6.97%,且達到相近準確率所用的L數(shù)值更小,說明US-ELM用于特征提取在改善K-Means聚類效果的同時,對模型復雜度的降低能力更好。
試驗驗證了使用US-ELM 和K-Means 建立以OSELM為核心的在線學習診斷模型的可行性。由于試驗的主要目的為檢驗聚類輔助數(shù)據(jù)標記的可行性和算法的在線學習能力,樣本偏重表現(xiàn)數(shù)據(jù)特征的復雜度,導致在樣本總量有限的情況下部分特征獨立出現(xiàn),對分類準確率產(chǎn)生了較大影響,OS-ELM的分類準確率略低于預期。本文認為隨著增量學習的進一步深入,該影響會隨著訓練數(shù)據(jù)的增加得到改善,OS-ELM 相關文獻[10]表明,在各特征樣本數(shù)量充足的情況下,OS-ELM 準確率、召回度均可達98%以上,且性能優(yōu)于SVM、反向傳播(Back Propagation,BP)等同類算法。
本文利用蒸發(fā)冷卻型燃料電池系統(tǒng)數(shù)據(jù)進行了故障診斷研究,提出了在OS-ELM基礎上使用US-ELM和K-Means 構建的在線診斷方法,并在試驗中實現(xiàn)了對3種運行狀態(tài)的識別。該方法具有以下優(yōu)點:
a.US-ELM 實現(xiàn)了非線性的故障特征提取,在樣本可視化、聚類及故障診斷等方面均表現(xiàn)了較好的處理結果,提高了聚類結果的準確率并降低了模型復雜度。
b.K-Means 聚類的使用實現(xiàn)了新數(shù)據(jù)的快速區(qū)分,在診斷模型給出結果的基礎上能夠對大部分數(shù)據(jù)進行正確分類,擴展了增量學習中舊模型的數(shù)據(jù)區(qū)分范圍,降低了增量學習過程中數(shù)據(jù)標記的困難程度。
c.OS-ELM 作為基于機器學習的診斷方法,在樣本數(shù)量較少的情況下獲得較為可靠的診斷模型,通過增量學習能夠不斷更新診斷模型并提高診斷性能,具備較高的實用性,并可擴展應用到類似的模式識別問題中。