唐 婷,袁慧梅
(首都師范大學(xué)信息工程學(xué)院,北京 100048)
鋰離子電池在使用一段時(shí)間后會(huì)出現(xiàn)老化,影響使用性能,因此,需要準(zhǔn)確預(yù)測剩余使用壽命(RUL)。RUL的預(yù)測方法可以分為3類:模型法、數(shù)據(jù)驅(qū)動(dòng)法和混合方法[1]。
數(shù)據(jù)驅(qū)動(dòng)中的神經(jīng)網(wǎng)絡(luò)在RUL估計(jì)方面具有很大的潛力。神經(jīng)網(wǎng)絡(luò)雖然非線性映射能力好,但參數(shù)眾多、結(jié)構(gòu)復(fù)雜,在網(wǎng)絡(luò)訓(xùn)練過程中會(huì)耗費(fèi)大量時(shí)間,占用很多內(nèi)存,因此,研究者期望尋找一種既能節(jié)省成本,又能準(zhǔn)確預(yù)測RUL的方法。極限學(xué)習(xí)機(jī)(ELM)是一種特殊的單隱含層前饋神經(jīng)網(wǎng)絡(luò),結(jié)構(gòu)簡單,無需反向傳播技術(shù)更新參數(shù)值,學(xué)習(xí)速度快,泛化能力強(qiáng)。姜媛媛等[2]提取等壓降放電時(shí)間作為電池間接壽命特征參數(shù),用ELM構(gòu)建參數(shù)與電池容量的關(guān)系模型,間接預(yù)測RUL。該算法操作簡單,只需構(gòu)建訓(xùn)練集和測試集,就能很好地預(yù)測電池的容量,但參數(shù)為隨機(jī)產(chǎn)生,預(yù)測結(jié)果不穩(wěn)定,魯棒性較差。吳婧睿[3]引入螢火蟲算法,優(yōu)化ELM隨機(jī)生成的輸入權(quán)值和隱藏層偏置值,減小了預(yù)測誤差。該算法雖然提升了魯棒性,但對(duì)優(yōu)秀個(gè)體的依賴程度很高,要求感知范圍內(nèi)有優(yōu)秀個(gè)體提供信息,否則將停止搜索,降低了收斂速度,甚至可能找不到最優(yōu)個(gè)體。R.Razavi-Far等[4]用ELM進(jìn)行一步和多步提前預(yù)測,作為預(yù)測模塊,使用多種預(yù)測策略,利用恒流實(shí)驗(yàn)的容量數(shù)據(jù)估計(jì)RUL。該算法雖然在RUL的短期和長期范圍預(yù)測較精確,但參數(shù)隨機(jī)產(chǎn)生,仍存在不穩(wěn)定性。Y.Y.Ma等[5]開發(fā)廣義學(xué)習(xí)的ELM,并不斷地?cái)U(kuò)展輸入層、增加輸入層的節(jié)點(diǎn),提高了網(wǎng)絡(luò)捕獲數(shù)據(jù)中有效特征信息的能力。該算法雖然預(yù)測精度較高,但輸入層的不斷擴(kuò)展使得網(wǎng)絡(luò)結(jié)構(gòu)越來越復(fù)雜,計(jì)算量增大。
傳統(tǒng)的ELM預(yù)測鋰離子電池的RUL時(shí),會(huì)出現(xiàn)結(jié)果發(fā)散及精度不高等問題,減弱了算法的魯棒性和泛化能力。對(duì)ELM的改進(jìn),目前有按一定規(guī)則增加或減少隱藏層節(jié)點(diǎn)數(shù)量、優(yōu)化參數(shù)算法及引入核函數(shù)等方法。G.B.Huang等[6]結(jié)合ELM算法和核函數(shù),用核函數(shù)映射代替ELM中的隨機(jī)特征映射,形成了核極限學(xué)習(xí)機(jī)(KELM);N.Y.Liang等[7]提出在線順序極限學(xué)習(xí)機(jī)(OS-ELM),通過新數(shù)據(jù)的引入,不斷更新網(wǎng)絡(luò)參數(shù),實(shí)現(xiàn)在線訓(xùn)練;楊新星等[8]通過不同的優(yōu)化算法,對(duì)ELM中的參數(shù)進(jìn)行尋優(yōu),提升預(yù)測精度。以上研究均采用全連接或核函數(shù),改進(jìn)ELM算法輸入層與隱藏層之間的映射關(guān)系,而局部連接的ELM結(jié)構(gòu)并未得到廣泛的關(guān)注。這些改進(jìn)都增加了計(jì)算量,很多參數(shù)需要初始化,若選擇不當(dāng),會(huì)對(duì)預(yù)測結(jié)果造成影響。此外,A.M.Saxe等[9]提出的具有隨機(jī)權(quán)重的單層卷積平方池體系結(jié)構(gòu)及G.B.Huang等[10]提出的基于局部感受野的ELM,都說明構(gòu)造一個(gè)特定的網(wǎng)絡(luò)結(jié)構(gòu)能大幅提高系統(tǒng)性能,效果好于一些深度學(xué)習(xí)算法,并可提高訓(xùn)練速度。M.Lin等[11]提出用全局平均池化的方法代替全連接層,即把最后一個(gè)多層感知器卷積層所得到的每一張?zhí)卣鲌D進(jìn)行全局平均池化。每張?zhí)卣鲌D都可得到一個(gè)輸出,能節(jié)省參數(shù),降低網(wǎng)絡(luò)的復(fù)雜度,避免過擬合。
綜上所述,本文作者引入卷積神經(jīng)網(wǎng)絡(luò)和全局平均池化,對(duì)ELM進(jìn)行兩種改進(jìn),并對(duì)算法的效果進(jìn)行驗(yàn)證。
ELM的改進(jìn)算法很少關(guān)注局部連接的ELM結(jié)構(gòu),因此,本文作者提出兩種改進(jìn)算法。改進(jìn)算法A把ELM輸入層與隱含層之間的全連接關(guān)系改為卷積運(yùn)算操作,即引入一個(gè)常規(guī)大小的卷積核,視為原隱含層權(quán)重的變形,與輸入層的數(shù)據(jù)進(jìn)行卷積,提取特征矩陣,經(jīng)平均池化后,得到隱含層輸出矩陣H,后續(xù)獲取輸出權(quán)重矩陣β的方式與標(biāo)準(zhǔn)ELM一致。由于改進(jìn)算法A中的卷積核和偏置的取值都是隨機(jī)產(chǎn)生的,運(yùn)行結(jié)果有不確定性。
為提高算法的魯棒性,受全局平均池化思想的啟發(fā),改進(jìn)算法B直接把ELM輸入層與隱含層之間的全連接關(guān)系改為池化,即輸入層的數(shù)據(jù)直接經(jīng)池化操作得到隱含層輸出矩陣H,而輸出權(quán)重矩陣β的獲取也與標(biāo)準(zhǔn)ELM一樣。值得注意的是,由于輸入層的數(shù)據(jù)只是一個(gè)矩陣,即相當(dāng)于一個(gè)特征圖,需要采用傳統(tǒng)的平均池化方法對(duì)矩陣進(jìn)行降維,而非直接進(jìn)行全局平均池化。
①數(shù)據(jù)預(yù)處理。從循環(huán)周期開始,以每連續(xù)10個(gè)循環(huán)周期的數(shù)據(jù)作為一組輸入,下一個(gè)循環(huán)周期的數(shù)據(jù)用作輸出,分別對(duì)兩組電池?cái)?shù)據(jù)進(jìn)行構(gòu)建,之后選定預(yù)測起始點(diǎn)T,可得到訓(xùn)練集的輸入矩陣Ptrain、輸出矩陣Ttrain和測試集的輸入矩陣Ptest、輸出矩陣Ttest。
②初始化參數(shù)。初始化卷積核W、偏置B。
③對(duì)Ptrain進(jìn)行卷積操作,得到訓(xùn)練集的特征矩陣TH。
式(1)中:BM為B的復(fù)制擴(kuò)展矩陣;*表示卷積運(yùn)算。
④計(jì)算訓(xùn)練集的非線性特征輸出矩陣NH與隱藏層輸出矩陣H。
式(2)中:g(x)為激活函數(shù);mean_pooling代表平均池化。
⑤計(jì)算輸出權(quán)重矩陣β。
式(4)中:H+是H的廣義逆矩陣。
⑧得到最終的預(yù)測結(jié)果Y。
①數(shù)據(jù)預(yù)處理。與改進(jìn)算法A的步驟①一致。
②計(jì)算訓(xùn)練集的H。H由Ptrain進(jìn)行平均池化得到。
③計(jì)算輸出權(quán)重矩陣β。計(jì)算公式見式(4)。
⑤得到最終的預(yù)測結(jié)果Y。計(jì)算公式見式(7)。
實(shí)驗(yàn)所用電池退化數(shù)據(jù)有兩組(見圖1)。第一組來自馬里蘭大學(xué)高級(jí)生命周期工程研究中心(CALCE)提供的鋰離子電池壽命數(shù)據(jù)[12];第二組采用美國國家航空航天局(NASA)艾姆斯預(yù)測卓越中心提供的鋰離子電池?cái)?shù)據(jù)[13]。通常認(rèn)為,鋰離子電池的放電容量下降到額定容量的60%~80%時(shí),視為使用壽命終止(EOL)。將第一組電池額定容量的80%設(shè)置為EOL,第二組電池額定容量的71%設(shè)置為EOL,得到第一、二組電池的失效閾值分別為0.72 Ah、1.42Ah。
圖1 鋰離子電池的容量退化數(shù)據(jù)Fig.1 Capacity degradation data of Li-ion battery
傳統(tǒng)的ELM的隱藏層節(jié)點(diǎn)數(shù)與訓(xùn)練集樣本個(gè)數(shù)相等,輸入層與隱藏層之間的權(quán)重w和隱含層神經(jīng)元的偏置b隨機(jī)均勻產(chǎn)生,激活函數(shù)采用正弦函數(shù)。改進(jìn)算法A中,卷積部分設(shè)置為:卷積核大小為3×3,隨機(jī)均勻初始化卷積核和偏置的值,步長為1,方式為全零填充,激活函數(shù)同樣采用正弦函數(shù)。池化部分設(shè)置為:池化核大小為2×1,步長為1,方式為平均池化。改進(jìn)算法B中池化部分的設(shè)置與算法A相同。采用2×1大小的池化核,以便計(jì)算得到后面的輸出權(quán)重矩陣β。由改進(jìn)算法A的步驟⑤或改進(jìn)算法B的步驟③可知:當(dāng)劃分好訓(xùn)練集與測試集,以及選定預(yù)測起始點(diǎn)之后,訓(xùn)練數(shù)據(jù)的輸出矩陣Ttrain大小已被固定。為獲取β的值,需要經(jīng)過池化操作,得到隱藏層輸出矩陣H匹配Ttrain的大小。
為客觀評(píng)價(jià)所提出算法的RUL預(yù)測性能,常用的評(píng)價(jià)指標(biāo)有:均方根誤差(RMSE)、平均絕對(duì)百分比誤差(MAPE)、絕對(duì)誤差(AE)和相對(duì)誤差(RE)等。RMSE和MAPE反映預(yù)測容量值與真實(shí)容量值之間的偏差;AE和RE進(jìn)一步反映RUL預(yù)測值(Rpre)偏離RUL真實(shí)值(Rtru)的程度。
2.3.1 與ELM變形算法的對(duì)比
為了驗(yàn)證兩種改進(jìn)ELM算法的良好預(yù)測性能,在相同的樣本數(shù)據(jù)下,與傳統(tǒng)的 ELM[2]、KELM[6]、OS-ELM[7]和粒子群優(yōu)化極限學(xué)習(xí)機(jī)(PSO-ELM)[8]進(jìn)行對(duì)比,具體各項(xiàng)評(píng)價(jià)指標(biāo)見表1、2,預(yù)測結(jié)果如圖2所示。
表1 CALCE組電池的預(yù)測結(jié)果比較Table 1 Comparison of prediction results for batteries of Center for Advanced Life Cycle Engineering(CALCE)
表2 NASA組電池的預(yù)測結(jié)果比較Table 2 Comparison of prediction results for batteries of National Aeronautics and Space Administration(NASA)
圖2 部分電池預(yù)測結(jié)果Fig.2 Prediction results of partial batteries
從實(shí)驗(yàn)結(jié)果可知,傳統(tǒng)的4種算法對(duì)鋰離子電池?cái)?shù)據(jù)的預(yù)測效果不理想,有的甚至達(dá)不到失效閾值點(diǎn);而兩種改進(jìn)的算法均比其他算法更加靠近真實(shí)值,表明兩種改進(jìn)的算法對(duì)鋰離子電池的RUL預(yù)測是可行的。從各項(xiàng)評(píng)價(jià)指標(biāo)值可見,當(dāng)樣本為A3時(shí),改進(jìn)算法A預(yù)測容量的RMSE略微大于KELM,但所預(yù)測的RUL卻比KELM更接近于真實(shí)值,準(zhǔn)確性更高。改進(jìn)算法A改善了發(fā)散效果,在一定程度上降低了預(yù)測誤差;改進(jìn)算法B去除了改進(jìn)算法A預(yù)測結(jié)果的不確定性,提升了魯棒性,使結(jié)果更為可靠。
2.3.2 與神經(jīng)網(wǎng)絡(luò)對(duì)比
為進(jìn)一步驗(yàn)證算法的泛化能力,以A12和B5電池為例,用目前較經(jīng)典的神經(jīng)網(wǎng)絡(luò),即循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)[14]、長短期記憶網(wǎng)絡(luò)(LSTM)[15]、門控循環(huán)單元(GRU)[16]和時(shí)間卷積網(wǎng)絡(luò)(TCN)[17]進(jìn)行比較,結(jié)果列于表3。
表3 A12和B5電池的預(yù)測結(jié)果比較Table 3 Comparison of prediction results for batteries of A12 and B5
從表3可知,與RNN、LSTM、GRU和TCN等經(jīng)典的神經(jīng)網(wǎng)絡(luò)相比,兩種改進(jìn)的算法的預(yù)測準(zhǔn)確度較高,且訓(xùn)練、測試網(wǎng)絡(luò)所用時(shí)間較短,說明兩種改進(jìn)的算法在預(yù)測精度和時(shí)間成本上都具有較大的優(yōu)勢。
2.3.3 不同預(yù)測起始點(diǎn)對(duì)比
選取不同的預(yù)測起始點(diǎn),用兩種改進(jìn)的算法進(jìn)行仿真實(shí)驗(yàn),預(yù)測結(jié)果如表4所示。
表4 不同預(yù)測起始點(diǎn)下的部分預(yù)測結(jié)果比較Table 4 Comparison of part of prediction results under different prediction starting points
從表4可知,隨著預(yù)測起始點(diǎn)的增加,兩種改進(jìn)的算法的RMSE和MAPE值減小,且各自預(yù)測的RUL值也越接近真實(shí)值。當(dāng)預(yù)測起始點(diǎn)為T=100時(shí),對(duì)于B7電池,改進(jìn)算法A、改進(jìn)算法B的RMSE分別為0.023 2、0.009 0。
本文作者重點(diǎn)關(guān)注輸入層與隱藏層之間的“局部”連接方式。改進(jìn)算法A首先引進(jìn)卷積、池化,改變了原有的全連接關(guān)系,神經(jīng)網(wǎng)絡(luò)能夠?qū)W習(xí)局部相關(guān)性。該算法在減少參數(shù)冗余的同時(shí),降低了計(jì)算量,可改善傳統(tǒng)ELM算法的大幅度發(fā)散效果,預(yù)測結(jié)果更為準(zhǔn)確,誤差更小;但仍存在不確定性,預(yù)測結(jié)果并不理想。有鑒于此,改進(jìn)算法B舍棄了卷積的操作,直接對(duì)輸入層數(shù)據(jù)進(jìn)行池化,免去了參數(shù)的初始化以及激活函數(shù)類型的選取,算法的預(yù)測結(jié)果更穩(wěn)定,魯棒性更強(qiáng)。
仿真結(jié)果表明:以B7電池為例,在不同的預(yù)測起始點(diǎn)下,改進(jìn)算法A和改進(jìn)算法B的均方根誤差在0.035以內(nèi),相比于其他ELM變形算法,具有較高的預(yù)測精度。而以B5電池為例,相比較于幾個(gè)典型的神經(jīng)網(wǎng)絡(luò),當(dāng)T=90時(shí),改進(jìn)算法A和改進(jìn)算法B的均方根誤差在0.030以內(nèi),且運(yùn)行時(shí)間都不超過1 s。兩種改進(jìn)算法在鋰離子電池的RUL預(yù)測中有很好的應(yīng)用價(jià)值。