葉林峰,石元博,黃越洋
(1.遼寧石油化工大學(xué)計(jì)算機(jī)與通信工程學(xué)院,遼寧撫順 113001;2.遼寧石油化工大學(xué)信息與控制工程學(xué)院 遼寧撫順 113001)
電池健康管理主要任務(wù)就是精確預(yù)測(cè)鋰電池使用壽命,這是一大難點(diǎn)。文獻(xiàn)報(bào)道了很多預(yù)測(cè)鋰離子電池剩余使用壽命的方法,但是預(yù)測(cè)精確度不盡如人意。
鋰離子電池的剩余使用壽命預(yù)測(cè)基本上可分為兩類[1]:一類是基于模型的預(yù)測(cè)方法[2],另一類是基于數(shù)據(jù)驅(qū)動(dòng)的方法[3]。圖1 為鋰離子電池剩余使用壽命預(yù)測(cè)方法。
圖1 鋰離子電池剩余使用壽命預(yù)測(cè)方法
構(gòu)建電化學(xué)模型不僅需要深入去研究電池使用過程中發(fā)生的特定理化現(xiàn)象,而且還要考慮導(dǎo)致電池性能退化的影響因素。電化學(xué)過程可以用等效電路模型簡(jiǎn)化,但難以十分精確描述結(jié)構(gòu)及理化過程,所以仍然需要研究電池內(nèi)部結(jié)構(gòu)及其理化反應(yīng)。經(jīng)驗(yàn)?zāi)P鸵詫で竽軌虮碚麟姵匦阅芡嘶臓顟B(tài)變量為前提(容量、阻抗、放電電壓、放電電流等),使用濾波算法對(duì)狀態(tài)變量進(jìn)行跟蹤并更新模型參數(shù)進(jìn)行壽命預(yù)測(cè),但該方法存在建模困難、粒子貧化以及參數(shù)初始化等問題。Eric Walker 等[4]發(fā)現(xiàn)粒子濾波器(PF)比非線性最小二乘(NLLS)和無跡卡爾曼濾波器(UKF)更準(zhǔn)確地預(yù)測(cè)鋰離子電池的剩余使用壽命(RUL)和放電電壓(EODV)結(jié)束前的時(shí)間?;跀?shù)據(jù)驅(qū)動(dòng)的預(yù)測(cè)方法,不需要十分了解電池內(nèi)部結(jié)構(gòu)及其理化反應(yīng),通過觀測(cè)電池理化因素和挖掘其退化信息就可以較為精確地預(yù)測(cè)鋰離子電池剩余使用壽命。劉大同等[5]將容量估計(jì)和溫度依賴性應(yīng)用于基于支持向量機(jī)的電池模型方法,提取健康因子和構(gòu)建預(yù)測(cè)模型[6],將模型估計(jì)值與標(biāo)準(zhǔn)實(shí)驗(yàn)中SOH 指標(biāo)的直接測(cè)量值進(jìn)行比較,準(zhǔn)確性有所提高。
容量和內(nèi)阻通常被用作電池健康指標(biāo)(HI),用于量化退化和預(yù)測(cè)RUL[7]。周亞鵬等[8]利用Pearson 和Spearman 相關(guān)分析來評(píng)估實(shí)際容量和由HI 得到的估計(jì)容量之間的相似性,利用統(tǒng)計(jì)回歸技術(shù)和優(yōu)化的相關(guān)向量機(jī)對(duì)所提出的HI 進(jìn)行RUL 預(yù)測(cè)。此法雖然可行,但模型構(gòu)建復(fù)雜,預(yù)測(cè)精度不高。
針對(duì)上述問題,本文提出一種基于雙向門控循環(huán)單元(GRU)的神經(jīng)網(wǎng)絡(luò)模型,選擇鋰電池容量數(shù)據(jù)作為關(guān)鍵因子,建立BiGRU 模型來預(yù)測(cè)鋰電池剩余使用壽命。
對(duì)于電池容量數(shù)據(jù),其前后數(shù)據(jù)是有一定關(guān)系,我們要做的就是挖掘這種內(nèi)層看不見的關(guān)系。循環(huán)神經(jīng)網(wǎng)絡(luò)對(duì)序列的非線性特征進(jìn)行學(xué)習(xí)時(shí)具有一定優(yōu)勢(shì)[9]。假如利用傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)去預(yù)測(cè)鋰電池剩余使用壽命,效果并不會(huì)太好,因?yàn)殡姵厝萘繒?huì)隨著循環(huán)充放電的次數(shù)不斷的減少,即當(dāng)前時(shí)刻容量值會(huì)受到上一時(shí)刻容量值的影響。循環(huán)神經(jīng)網(wǎng)絡(luò)特點(diǎn)是具有記憶功能,對(duì)于時(shí)間序列事件的處理和預(yù)測(cè)很是適合,LSTM 單元結(jié)構(gòu)如圖2 所示。
圖2 LSTM隱藏層單元結(jié)構(gòu)
LSTM 的第一步就是決定丟棄哪些信息,這步操作俗稱忘記門,將上一個(gè)單元隱狀態(tài)ht-1與輸入電池容量序列xt拼接乘權(quán)重wf加上偏置,所得結(jié)果為0,表示不保存,所得結(jié)果為1,表示保存信息:
下一步?jīng)Q定添加哪些新的信息,首先,利用ht-1和電池容量序列xt通過輸入門的操作來決定更新哪些信息。然后利用ht-1和xt通過一個(gè)tanh 函數(shù)得到新的候選細(xì)胞信息,這些信息可能會(huì)被更新到細(xì)胞信息中:
下面將更新舊的細(xì)胞信息ct-1,變?yōu)樾碌募?xì)胞信息ct。更新的規(guī)則就是通過忘記門選擇忘記舊細(xì)胞信息的一部分,通過輸入門選擇添加候選細(xì)胞信息的一部分得到新的細(xì)胞信息ct:
更新完細(xì)胞狀態(tài)后需要根據(jù)輸入的ht-1和xt來判斷輸出細(xì)胞的哪些狀態(tài)特征,這里需要將輸入經(jīng)過一個(gè)稱為輸出門的sigmoid 函數(shù)得到判斷條件,然后將細(xì)胞狀態(tài)經(jīng)過tanh 層得到一個(gè)-1~1 之間值的向量,該向量與輸出門得到的判斷條件相乘就得到了最終該RNN 單元的輸出:
門控循環(huán)單元(gated recurrent unit,GRU)對(duì)LSTM 網(wǎng)絡(luò)模型結(jié)構(gòu)進(jìn)行了優(yōu)化,提出了“更新門”的概念,其實(shí)質(zhì)就是合并LSTM 網(wǎng)絡(luò)的遺忘門和輸入門成一個(gè)信息處理單元。GRU 省略了輸出門,所以從參數(shù)量上減少了三分之一,訓(xùn)練速度提高,同時(shí)通過實(shí)驗(yàn)驗(yàn)證性能與LSTM 性能持平。
圖3 中各變量的計(jì)算公式:
圖3 GRU隱藏層單元結(jié)構(gòu)
將t時(shí)刻輸入xt與上一節(jié)點(diǎn)的隱狀態(tài)ht-1拼接乘以權(quán)重矩陣wr并經(jīng)過sigmoid 函數(shù):
GRU 利用zt代替LSTM 網(wǎng)絡(luò)中新的記憶單元和遺忘門:
rt乘以上一時(shí)刻的記憶(隱狀態(tài)ht-1)就得到這一時(shí)刻可以利用的記憶,然后和當(dāng)前時(shí)刻拼接在一起輸入到神經(jīng)網(wǎng)絡(luò):
對(duì)上一時(shí)刻的記憶和當(dāng)前的輸出進(jìn)行加權(quán)結(jié)合得到當(dāng)前時(shí)刻的記憶:
式中:xt為當(dāng)前時(shí)刻的輸入電池容量;ht-1為上一個(gè)節(jié)點(diǎn)傳遞下來的隱狀態(tài);ht為輸出電池容量值;σ為sigmoid 函數(shù);tanh為激活函數(shù)。
針對(duì)鋰電池容量時(shí)間序列問題的學(xué)習(xí),LSTM 和GRU 等傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)僅僅簡(jiǎn)單地考慮了歷史時(shí)間電池容量序列對(duì)未來時(shí)間序列的影響,但是卻沒有考慮到在網(wǎng)絡(luò)傳播過程可能含有一些隱含的信息,這些信息就包括時(shí)間序列的上下文關(guān)聯(lián)影響因素。假如我們?cè)谟?xùn)練時(shí)間序列網(wǎng)絡(luò)模型時(shí),不僅對(duì)歷史時(shí)刻輸入電池容量序列x1,…,xn和當(dāng)前輸入電池容量hn+1中進(jìn)行學(xué)習(xí),同時(shí)合并附近的“未來”電池容量信息xn+2,…,xT并進(jìn)行網(wǎng)絡(luò)的建模,那么將會(huì)對(duì)時(shí)間序列預(yù)測(cè)提供很大的參考價(jià)值[10]。因此,本文是基于BiGRU 模型預(yù)測(cè)電池剩余使用壽命,將上述電池容量信息納入考量范圍來預(yù)測(cè)下一次電池容量,實(shí)驗(yàn)結(jié)果顯示,其預(yù)測(cè)損失值比單層的LSTM 低,而且訓(xùn)練參數(shù)少,同時(shí)預(yù)測(cè)的準(zhǔn)確率相比單層LSTM 要高一些。
BiGRU 鋰電池剩余使用壽命模型如圖4 所示,Gi′和Gi是門控循環(huán)單元(GRU),處理輸入電池容量信息,Xi對(duì)應(yīng)第i次循環(huán)輸入的電池容量數(shù)據(jù),Si′和Si是節(jié)點(diǎn)隱狀態(tài)即節(jié)點(diǎn)記憶,hi是輸出結(jié)果,對(duì)GRU 網(wǎng)絡(luò),其會(huì)選擇性的記住重要的歷史信息。
圖4 雙向循環(huán)神經(jīng)網(wǎng)絡(luò)模型
采用NASA PCoE 實(shí)驗(yàn)室提供的B0005 組鋰離子電池?cái)?shù)據(jù)集,其額定容量為2 Ah,將電池的壽命結(jié)束點(diǎn)定為電池初始容量的70%,即當(dāng)電池容量降為1.38 Ah 時(shí),我們認(rèn)為電池達(dá)到失效閾值點(diǎn),將數(shù)據(jù)劃分為訓(xùn)練集和測(cè)試集。因?yàn)閿?shù)據(jù)量較少,可利用數(shù)據(jù)較少,采用滑動(dòng)窗口法對(duì)數(shù)據(jù)進(jìn)行分割,并批次輸入到網(wǎng)絡(luò)中,提高預(yù)測(cè)準(zhǔn)確率[3]。其具體操作如下:對(duì)電池容量數(shù)據(jù)分割,分割窗口的大小為L(zhǎng),且m=T-1,那么分割后的模型電池容量數(shù)據(jù)輸入輸出表示為:
式中:i的取值是(1,L)。
此外還需對(duì)電池容量數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化以提升預(yù)測(cè)精度,經(jīng)過處理的數(shù)據(jù)的均值為0,標(biāo)準(zhǔn)差為1。轉(zhuǎn)化公式為:
本文實(shí)驗(yàn)采用Adam 算法去更新網(wǎng)絡(luò)的權(quán)重參數(shù),Adam算法思想就是在RMSprop 算法基礎(chǔ)上加上動(dòng)量Momentum,使得權(quán)重參數(shù)更新快,且不易陷入局部極值點(diǎn),從而加快收斂速度。電池容量預(yù)測(cè)框架如圖5 所示,將鋰電池容量序列進(jìn)行數(shù)據(jù)集預(yù)處理,包括數(shù)據(jù)集的劃分,標(biāo)準(zhǔn)化及數(shù)據(jù)分割,將標(biāo)準(zhǔn)化后的電池容量數(shù)據(jù)按分割窗口大小批次輸入BiGRU 網(wǎng)絡(luò)模型,通過Adam 算法進(jìn)行權(quán)重參數(shù)更新,計(jì)算loss 值并逐步減小損失值,從而確定GRU 隱藏層單元權(quán)重參數(shù)。當(dāng)權(quán)重參數(shù)不在變化或變化微小,則網(wǎng)絡(luò)訓(xùn)練完成,將訓(xùn)練完成網(wǎng)絡(luò)模型進(jìn)行電池容量測(cè)試預(yù)測(cè)。
圖5 基于BiGRU的鋰離子電池的容量預(yù)測(cè)框架
用均方差、均方根差、擬合度等指標(biāo)評(píng)價(jià)預(yù)測(cè)結(jié)果的精確度。擬合度是指對(duì)觀測(cè)值和回歸線擬合的程度,值接近0,表明擬合效果越差,值接近1,表明擬合效果越好。
采用NASA PCoE 實(shí)驗(yàn)室提供的B0005 組鋰離子電池?cái)?shù)據(jù)集,數(shù)據(jù)真實(shí)。通過構(gòu)建、訓(xùn)練和預(yù)測(cè)得到如下結(jié)果。根據(jù)實(shí)驗(yàn)室真實(shí)的數(shù)據(jù),電池真實(shí)壽命結(jié)束點(diǎn)是在第128 個(gè)充放電循環(huán)周期。
圖6 是預(yù)測(cè)起點(diǎn)T為90 的LSTM 和BiGRU 網(wǎng)絡(luò)預(yù)測(cè)的概率密度直方圖,分別進(jìn)行了200 次預(yù)測(cè)。由于每次初始化參數(shù)不一致,可能導(dǎo)致每次預(yù)測(cè)結(jié)果偏差,但不會(huì)影響最終預(yù)測(cè)結(jié)果。
圖6 T=90時(shí)LSTM和BiGRU 網(wǎng)絡(luò)模型的預(yù)測(cè)概率密度直方圖
圖的橫坐標(biāo)是電池壽命結(jié)束點(diǎn),縱坐標(biāo)是在200 次預(yù)測(cè)中,各個(gè)壽命結(jié)束點(diǎn)的累計(jì)次數(shù),從圖中可以看出,基于LSTM 網(wǎng)絡(luò)預(yù)測(cè)模型預(yù)測(cè)的鋰電池壽命結(jié)束點(diǎn)在第132 個(gè)充放電循環(huán)周期,在200 次預(yù)測(cè)中累計(jì)次數(shù)為60 次,所占概率為0.3。而基于BiGRU 網(wǎng)絡(luò)預(yù)測(cè)模型預(yù)測(cè)的鋰電池壽命結(jié)束點(diǎn)在第130 個(gè)充放電循環(huán)周期,在200 次預(yù)測(cè)中累計(jì)次數(shù)達(dá)99 次,所占概率為0.495。
圖7 是預(yù)測(cè)起點(diǎn)T等于80 時(shí)LSTM 和BiGRU 網(wǎng)絡(luò)模型的預(yù)測(cè)概率密度直方對(duì)比圖,分別進(jìn)行200 次預(yù)測(cè)。
圖7 T=80時(shí)LSTM 和BiGRU網(wǎng)絡(luò)模型的預(yù)測(cè)概率密度直方圖
從圖中可以看出,在200 次測(cè)試中,基于LSTM 網(wǎng)絡(luò)預(yù)測(cè)模型預(yù)測(cè)的鋰電池壽命結(jié)束點(diǎn)在第141 個(gè)充放電循環(huán)周期,在200 次預(yù)測(cè)中累計(jì)次數(shù)84 次,所占概率為0.42。而基于BiGRU 網(wǎng)絡(luò)預(yù)測(cè)模型預(yù)測(cè)的鋰電池壽命結(jié)束點(diǎn)在第136 個(gè)充放電循環(huán)周期,在200 次預(yù)測(cè)中累計(jì)次數(shù)74 次,所占概率為0.37。
圖8 是電池真實(shí)容量衰減曲線和預(yù)測(cè)起點(diǎn)為80 時(shí)BiGRU 和LSTM 容量預(yù)測(cè)曲線對(duì)比圖。其中,EBL1 是BiGRU 網(wǎng)絡(luò)的預(yù)測(cè)壽命結(jié)束點(diǎn),其值為第137 次循環(huán),EBL2是LSTM 網(wǎng)絡(luò)的預(yù)測(cè)壽命結(jié)束點(diǎn),其值為第141 次循環(huán)。
圖8 T=80 BiGRU 和LSTM模型的預(yù)測(cè)效果
圖9 是電池真實(shí)容量衰減曲線和預(yù)測(cè)起點(diǎn)為90時(shí)BiGRU和LSTM 容量預(yù)測(cè)曲線對(duì)比圖。其中,EBL1 是BiGRU 網(wǎng)絡(luò)的預(yù)測(cè)壽命結(jié)束點(diǎn),其值為第130 次循環(huán),EBL2 是LSTM 網(wǎng)絡(luò)的預(yù)測(cè)壽命結(jié)束點(diǎn),其值為第132 次循環(huán)??梢钥吹綌M合效果較好,與電池真實(shí)的容量衰減趨勢(shì)符合。
圖9 T=90 BiGRU 和LSTM模型的預(yù)測(cè)效果
本文將LSTM 網(wǎng)絡(luò)與BiGRU 網(wǎng)絡(luò)分別進(jìn)行測(cè)試,其測(cè)試結(jié)果如表1 所示。
表1 兩種算法對(duì)B0005 鋰電池的預(yù)測(cè)結(jié)果比較
B0005 電池真實(shí)使用壽命結(jié)束點(diǎn)是在128 次充放電循環(huán),RULae 是預(yù)測(cè)電池使用壽命結(jié)束點(diǎn)與真實(shí)電池使用壽命結(jié)束點(diǎn)的差值。在相同的預(yù)測(cè)起點(diǎn),BiGRU 網(wǎng)絡(luò)預(yù)測(cè)結(jié)果都比LSTM 網(wǎng)絡(luò)預(yù)測(cè)較好,其預(yù)測(cè)電池壽命結(jié)束點(diǎn)與真實(shí)值更加接近;隨著預(yù)測(cè)起點(diǎn)的提前,兩種網(wǎng)絡(luò)的預(yù)測(cè)都在下降。
為了研究鋰離子電池剩余使用壽命,本文采用BiGRU 神經(jīng)網(wǎng)絡(luò)模型對(duì)鋰電池剩余壽命進(jìn)行預(yù)測(cè),采用的實(shí)驗(yàn)數(shù)據(jù)是NASA 實(shí)驗(yàn)室的B0005 鋰離子電池實(shí)驗(yàn)數(shù)據(jù),數(shù)據(jù)表明,BiGRU 的效果要比LSTM 更理想,預(yù)測(cè)的精度更高,當(dāng)預(yù)測(cè)起點(diǎn)等于90 時(shí),BiGRU 網(wǎng)絡(luò)模型的預(yù)測(cè)與真實(shí)的鋰電池壽命結(jié)束點(diǎn)相差2 個(gè)循環(huán)周期,而LSTM 網(wǎng)絡(luò)與真實(shí)值相差4 個(gè)循環(huán)周期,隨著預(yù)測(cè)起點(diǎn)的提前,BiGRU 模型和LSTM 模型的預(yù)測(cè)精度都有所下降,分別是137 和141,BiGRU 的損失值比LSTM 損失值小,擬合效果更好,且GRU 結(jié)構(gòu)簡(jiǎn)單,訓(xùn)練參數(shù)比LSTM 訓(xùn)練的參數(shù)少,收斂速度更快。