郝可青, 呂志剛, 邸若海, 朱鴻杰
(1.西安工業大學兵器科學與技術學院, 西安 710021; 2. 西安工業大學電子信息工程學院, 西安 710021; 3. 西安工業大學機電工程學院, 西安 710021)
鋰離子電池相比較于其他電池有綠色環保、高效率、高循環壽命以及高能量密度等優勢,因此廣泛應用于水力、火力、風力和太陽能電站等儲能電源系統以及軍事裝備、航天航空等多個領域[1-2]。然而,以鋰電池為代表的電化學電池充放電均是在電極上發生化學反應,在鋰電池的循環使用過程中,會因為電極材料的變化導致電池內部產生微短路和電池化學材料性能的降低,從而導致重大事故的發生[3]。因此對鋰電池的剩余使用壽命(remaining useful life,RUL)進行提前預測是非常有必要的[4],可以避免因電池性能的下降而導致系統運行的故障,減少災難性事故的發生。同時預測鋰電池的RUL可以在一定程度上控制電池性能的動態變化,對于延長電池使用壽命、降低設備的維護成本以及對電池系統的管理都具有極高的參考價值[5]。
目前針對鋰電池剩余使用壽命的研究,已經成為鋰離子電池系統中故障預測和健康管理 (prognostics and health management,PHM)的研究熱點,現有的鋰離子電池RUL的預測方法主要包括基于模型的方法和基于數據驅動的方法[6]。基于模型的方法側重于建立影響電池壽命退化過程的物理模型,來識別可觀察量和各指標之間的對應關系[7]。文獻[8]提出將多種退化狀態的模型組合得到鋰電池的容量衰退模型,從而進行鋰電池的RUL預測,但該方法很容易受到外界條件的影響,很難獲得準確的機理模型[9]。與基于模型的方法相比較,基于數據驅動的方法是從電池狀態監測數據中直接挖掘電池老化信息和規律,能夠增強預測精度和網絡泛化能力[10]。因此數據驅動方法依舊是預測剩余使用壽命的主流方法,文獻[11]提出基于粒子群 (particle swarm optimization, PSO) 算法優化傳統反向傳播(back propagation,BP)神經網絡權值閾值的電池健康狀態預測方法,由于鋰電池數據具有時序性,而該神經網絡不具備處理時序數據的優勢。文獻[12]提出將傳統循環神經網絡(recurrent neural network,RNN)應用于鋰電池的RUL預測,得到了較好的預測結果,但該網絡存在梯度消失和梯度爆炸的問題,導致其無法學習到距離當前時刻較遠的信息。文獻[13]提出RNN的變體LSTM神經網絡,使用該模型進行時序數據的RUL預測,實驗數據采用的是不同型號的鋰電池在不同溫度下、不同電流速度條件下對模型進行驗證。文獻[14]提出基于PSO算法改進的LSTM網絡模型進行短期電力負荷預測,利用PSO優化LSTM 的超參數且提高了模型預測精度,但引入的PSO算法參數較多,存在收斂性較差以及容易陷入局部最優解等問題。文獻[15]提出基于雙向長短時記憶(bi-directional long short-term memory, Bi-LSTM)網絡在電池不同內部狀態下進行RUL預測。文獻[16]提出應用一種基于經驗模式分解(empirical mode decomposition, EMD)、灰色關聯分析(grey relation analysis, GRA)和深度RNN的混合數據科學模型,用于鋰離子電池RUL預測。
綜上所述,LSTM具有良好的預測性能,但上述方法的局限之處在于LSTM的網絡模型參數需要靠人為經驗隨機設置,而選取不同參數訓練會直接影響網絡模型結構和預測精度。故現提出一種利用鯨魚優化算法(whale optimization algorithm, WOA)對LSTM網絡的超參數進行尋優的方法,使得建立的鋰電池剩余使用壽命模型具有更好的預測效果和穩定性。最后,選取NASA公開數據集將WOA-LSTM與標準LSTM算法、Elman算法、PSO-LSTM算法進行對比,驗證所提模型的有效性。
LSTM解決了傳統RNN在訓練過程中出現梯度爆炸或者梯度消失的問題,這是由于RNN隨著訓練時間的增加和網絡層數的增多而導致的[17]。LSTM在結構上不僅新增加了一個隱藏細胞狀態,而且還通過設計各種“門”結構來增加或者減少信息到細胞狀態,可以針對性的控制通過“門”的輸入數據[18-19],這種數據傳遞方式就使得自循環的權重不再是固定的,并且能夠具有較長時間的記憶功能。因此,LSTM在處理時間序列的預測和分類問題中具有較強的優勢[20]。如圖1所示,LSTM通過更新內部狀態來儲存較長時間的信息。

A為相同的同構單元格;σ為sigmoid激活函數
圖1中,sigmoid激活函數輸出范圍是(0,1),0代表完全丟棄,1代表完全通過;tanh函數的輸出范圍是(-1,1),將數值限定在一個范圍之內。LSTM單元組成結構主要包括輸入門、遺忘門、輸出門和單元狀態[21]。
遺忘門(forget gate)的作用決定多少歷史信息被細胞狀態丟棄。
ft=σ(Wf[ht-1,xt]+bf)
(1)
式(1)中:Wf為遺忘門的權重矩陣;ht-1為上一時刻的輸出狀態;xt為當前時刻的輸入狀態;bf為遺忘門的偏置值;ft為遺忘門的輸出。
輸入門(input gate)的作用是決定將會有哪些新的信息會被傳輸給細胞狀態。
it=σ(Wi[ht-1,xt]+bi)
(2)

(3)

輸出門(output gate)的作用是控制細胞狀態有多少信息影響輸出值。
ot=σ(Wo[ht-1,xt]+bo)
(4)
ht=ot*tanh(Ct)
(5)
式中:Wo為輸出門的權重矩陣;bo為輸出門的偏置值;ot為輸出門的輸出值;Ct為當前時刻的細胞狀態;ht為t時刻細胞的輸出;符號*表示向量對應位置的數相乘,結果仍為向量。更新細胞狀態的過程為

(6)
式(6)中:ft為遺忘門的輸出;it為輸入門的輸出;Ct-1為上一時刻的細胞狀態。
鯨魚優化算法是2016年由澳大利亞格里菲斯大學的Mirjalili等研究學者提出的一種新的群體智能優化算法,是一種模擬座頭鯨捕食行為而來的元啟發式優化算法,并且引入氣泡網狩獵策略[22]。在WOA算法中,座頭鯨能夠準確地識別獵物位置并且將獵物包圍,每只座頭鯨的位置都可以代表一個可行解,該算法主要包含包圍獵物(encircling prey)、泡泡網攻擊(bubble-net attacking)和搜索獵物(search for prey)3個階段[23]。
1.2.1 包圍獵物
當p<0.5且|A|<1時,執行包圍獵物的行為,p為[0,1]范圍內產生的隨機數,A為系數向量。設置鯨魚種群規模為N,每個鯨魚的位置代表一個可行解X。座頭鯨能夠識別獵物的位置并且將其包圍,是由于搜索空間中的最優解的位置不是先驗已知的,因此WOA算法假定當前的種群最優鯨魚個體位置是目標獵物或距離目標獵物最近的位置。在定義了最優搜索位置之后,其他鯨魚個體將嘗試向當前種群最優位置靠近,更新位置公式表示為
D=|CX*-X(t)|
(7)
X(t+1)=X*(t)-AD
(8)
式中:D為當前鯨魚個體與最優位置之間的距離;t為當前迭代次數;X(t)為當下鯨魚個體所處的位置向量;X*為當前最優解位置向量。
其中系數向量A、C計算公式為
A=2ar-a
(9)
C=2r
(10)
1.2.2 泡泡網攻擊
當p≥0.5,執行泡泡網攻擊狩獵行為。在鯨魚狩獵時,它會以螺旋運動游向獵物,該行為用數學公式為
X(t+1)=Deblcos(2πl)+X*(t)
(11)
式(11)中:D=|X*-X(t)|代表當前最優鯨魚個體位置和獵物之間的距離;b為一個常數,用來定義螺線的形狀;l為(-1,1)區間內的一個隨機數。鯨魚采用螺旋方式,游向獵物的同時還需要收縮包圍圈,故在同步行為模型中,假定有1-Pi的概率通過螺旋模型來更新鯨魚的位置和有Pi的概率選擇收縮包圍機制,算法的數學模型表達式為
(12)
式(12)中:p為[0,1]的隨機數,通常選擇p=0.5。在鯨魚進行捕獵行為時,越接近于獵物,a的值就會越小,A隨之也會減小。在算法迭代過程中,由于a的取值是從2線性遞減到0的向量,因此A的取值范圍是[a, -a]的隨機值,當A的取值范圍在[-1,1]內時,則表示鯨魚的當前位置在原個體和最優個體之間的任意位置,這表明更新位置后的鯨魚個體正在向最優個體靠近。算法設定當|A|<1時,鯨魚向獵物發起攻擊。
1.2.3 搜索獵物
當p<0.5且|A|>1時,執行隨機搜尋獵物。首先隨機選擇一個鯨魚位置,根據選擇好的位置來更新其他鯨魚的位置,迫使鯨魚偏離獵物,借此便能找到一個更合適的獵物行為,這樣不僅可以加強算法的探索能力,而且也能使得WOA算法進行全局搜索。其數學模型表達式為
D=|CXrand-X|
(13)
X(t+1)=Xrand-AD
(14)
式中:Xrand為從當前種群中選擇個體的隨機位置向量;X(t+1)為當前鯨魚個體在第(t+1)代的位置。
LSTM模型的參數取值會對模型的擬合能力產生極大的影響,Greff等[24]對LSTM相關參數的設置進行了研究,實驗結果表明隱含層節點數和學習速率是該網絡設置的關鍵超參數,并且超參數的選取一般都與數據的特性有關,太大或太小都未必會取得很好的預測結果。為尋找鋰電池RUL預測模型的最優超參數,采用WOA對LSTM的3個超參數進行優化,分別為LSTM隱含層節點數L1、L2和學習率Ir。將這3個關鍵超參數作為尋優的特征,利用WOA算法對LSTM模型進行調整優化,使網絡結構模型與鋰離子電池數據特征更為匹配。LSTM的隱藏層中,每一層的輸出將會作為下一層的輸入,最后通過dense全連接層輸出數據。
WOA-LSTM模型算法步驟如下。
步驟1數據預處理。首先對鋰離子電池的實驗數據進行數據預處理,數據處理的規范化是建模的基礎。使用mapminmax函數將數據映射到[-1,1]。其次,將標準化的實驗數據劃分為訓練集和測試集,并對實驗數據進行歸一化處理。
步驟2初始化WOA算法參數。設置種群數量N,初始化參數(即a、r、b、l、p),并根據WOA隨機生成位置X。
步驟3確定LSTM網絡模型中尋優的超參數以及尋優范圍,將網絡模型中兩個隱含層節點數和學習率作為尋優的對象。
步驟4根據式(7)和式(8)計算個體適應度,保存最優個體以及最優位置,根據式(9)和式(10)更新A和C。
步驟5產生一個隨機數p,當p≥0.5時,根據式(11)更新位置;當p<0.5且|A|>1時,根據式(14)更新位置。
步驟6判斷是否達到終止迭代條件,若滿足終止迭代條件,則可以得到優化目標的最優值;否則返回步驟2繼續進行運算,直到滿足終止條件。
步驟7將尋優得到的最優超參數重新賦值給LSTM模型,并通過鋰電池數據進行訓練和預測。
通過WOA優化算法對LSTM神經網絡的超參數進行尋優,目的是使測試集的均方誤差最小,WOA-LSTM的預測框圖如圖2所示。

圖2 WOA-LSTM模型預測流程圖
為了驗證WOA-LSTM網絡的性能,使用MATLAB2020a實現模型的構建和訓練。操作系統為Windows 10,內存16 GB。WOA-LSTM模型結構包括輸入層、兩層LSTM層和輸出層,損失函數使用均方誤差,LSTM網絡的隱藏層參數采用自適應矩估計(adaptive moment estimation,Adam)方法進行梯度迭代[25]。
設置最大的訓練輪數為250,將LSTM模型的隱含層節點L1、L2,學習率Ir這3個超參數通過鯨魚算法進行優化,為了防止搜索的空間范圍過大,影響WOA對超參數尋優的效率,故將其初始范圍分別設定為 [1,100]、[1,100]和[0.001,0.01],然后進行迭代優化,尋找最優超參數。同時設置鯨魚算法的種群數為50,最大迭代次數為30,由于需要優化3個參數,故個體維度設置為3。
3.2.1 數據歸一化
采用美國國家航天航空局(National Aeronautics and Space Administration, NASA)研究中心公開的數據集進行算法的驗證以及模型的比較,所研究的電池數據集為可重復充放電的18650鋰離子電池,對該電池進行了反復充放電的老化試驗,循環充放電會導致鋰電池的性能發生退化,造成實際容量的衰減[26]每個完整的充放電周期包含充電、放電和阻抗測量這3個工作過程,數據包含了鋰離子電池充放電過程中的電流、電壓、電阻和容量等表征參數[27]。
NASA數據集中電池容量的退化曲線如圖3所示,以B05和B06號鋰離子電池為例,這兩種電池的總充放電循環次數達到168次,電池的截止電壓分別為2.7 V和2.5 V。可以看出,隨著循環充放電次數的增加鋰電池的容量呈衰減狀態,當容量達到1.4 A·h以下則表示鋰電池的使用壽命結束。

圖3 NASA鋰電池容量衰減圖
為了提升預測模型的精度和訓練速度,保證模型的損失值在學習過程中能夠收斂,因此對電池容量數據進行線性歸一化處理,公式為

(15)
式(15)中:C為原始電池容量;Cnorm為歸一化后的電池容量。
3.2.2 特征提取
影響鋰電池壽命的因素有很多,根據鋰離子電池的每個完整充放電周期,從中提取了可測量參數中能代表鋰離子電池退化的關鍵參數,從電流、電壓、溫度來估計電池衰減狀態。將電池容量C作為鋰離子電池性能退化的直接健康因子,以表1所示的指標為間接影響因子,構建LSTM神經網絡。

表1 鋰電池性能退化的間接影響因子
由圖4可直觀地看出電池充電過程中電壓的變化情況,鋰離子電池的充電過程可以大概分為3個階段,第一階段電壓迅速升為3.8 V,第二階段從3.8 V穩定到4.2 V,第三階段電壓穩定在4.2 V,并繼續保持充電狀態。在第二階段中,鋰電池的充電電壓上升較為穩定,因此健康因子通常會從這一階段的數據中選取。

圖4 充電電壓曲線
充電過程中電流變化如圖5所示,可直觀看出,電流隨著充電時間的增長而減小。在鋰電池的每個放電周期中,電池電壓會先非線性地降低,當電壓達到放電截止電壓后停止放電,如圖6所示,放電電壓會隨著時間的增長而呈現遞減狀態。為了更加簡便地進行在線電池容量估計,將充放電過程中的平均溫度作為兩個間接健康因子,如圖7(a)和圖7(b)所示。

圖5 充電電流曲線

圖6 放電電壓曲線

圖7 溫度充放電曲線
3.3.1 模型評價指標
為全面分析預測模型的有效性以及準確性,選取以下3個指標來評估模型的性能。
平均絕對誤差(mean absolute error,MAE)也即絕對誤差,適用于預測值和實際觀測值相差較為明顯的情況,由于平均絕對誤差可以避免誤差相互抵消的問題,能夠準確地反映預測值與真實值誤差。

(16)
均方根誤差(root mean square error,RMSE) 是均方誤差的算術平方根,是預測值與真實值偏差的平方和與觀測次數n比值的平方根。

(17)
平均絕對百分比誤差(mean absolute percentage error,MAPE)是表示將每個點的誤差進行了歸一化,一定程度上降低了個別離群點對絕對誤差的影響。當MAPE越小代表模型越好。

(18)

3.3.2 實驗結果分析
采用NASA公開數據集中的B05、B06號電池失效數據進行實驗仿真,將表1中健康因子的數據作為模型的輸入變量,鋰離子電池的剩余容量作為模型的輸出變量,從而構建出所提取的健康因子與電池實際容量之間的擬合模型[28]。鋰電池的循環充放電周期為168,故將鋰電池總數據集中的50%作為訓練數據輸入神經網絡模型,剩余的50%作為測試集驗證模型。在B05電池實驗中WOA-LSTM模型的最優超參數設置為:第1層隱藏層單元個數為12,第二層隱藏層單元個數為16,學習率為0.003 9;B06電池實驗中得到的最優超參數設置為:第1層隱藏層單元個數為10,第二層隱藏層單元個數為20,學習率為0.005 8。將這些尋優后得到的最優超參數重新賦值給LSTM神經網絡,再次構建網絡預測模型。
PSO是比較常用的參數優化算法,但選取的WOA相比較于PSO的主要優勢在于,WOA采用隨機或最佳搜索代理來模擬捕獵行為,并且搜索軌跡在理論上是可視的及可控制的,算法操作以及實現過程較為簡單,需要調整的參數少以及跳出局部最優的能力強。Elman是一種具有局部記憶功能和局部反饋連接的前向神經網絡,是較為常用的回歸預測模型。故使用標準LSTM算法、Elman算法、PSO-LSTM算法、WOA-LSTM算法,分別對構建的預測模型進行實驗仿真,將預測結果的誤差進行對比。圖8所示為WOA優化算法的適應度曲線,設置最大迭代次數為30,以MSE作為評價指標,可直觀看出,B05號電池在第12次迭代達到平穩;B06號電池在第4次迭代時達到平穩狀態。

圖8 WOA適應度曲線
如圖9所示為4種算法對B05和B06電池的容量預測結果曲線,由圖9(a)和圖9(b)可看出WOA優化后的LSTM網絡模型預測結果明顯更接近于實際電池容量值,由此可得WOA-LSTM算法的預測性能明顯好于PSO-LSTM算法、Elman算法以及標準LSTM算法。這也表明,使用鯨魚優化算法對LSTM的超參數尋優后,能夠大幅度提升模型的預測精度。

圖9 誤差對比圖
表2為各項指標的具體預測誤差值,誤差越接近于0代表預測精度越高,模型更好。其中,B05號電池的MAE指標降低最為明顯,相較于LSTM降低了7.68%,相比較于Elman降低了3.24%,相比較于PSO-LSTM降低了4.02%;RMSE指標降低較為明顯,相比較于LSTM降低了7.39%,相比較于Elman降低了3.04%,相比較于PSO-LSTM降低了3.83%;MAPE指標相比也有降低,相比較于LSTM降低了5.57%,相比較于Elman降低了3.68%,相比較于PSO-LSTM降低了2.95%。
同樣,從表2中可得到B06號電池的MAE指標降低最為明顯,相比較于LSTM降低了10.16%,相比較于Elman降低了4.44%,相比較于PSO-LSTM降低了3.88%;RMSE指標降低較為明顯,相比較于LSTM降低了9.49%,相比較于Elman降低了3.49%,相比較于PSO-LSTM降低了3.08%;MAPE指標相比也有降低,相比較于LSTM降低了7.78%,相比較于Elman降低了4.24%,相比較于PSO-LSTM降低了3.85%。

表2 各算法實驗結果比較
圖10所示為4種算法的誤差對比直方圖,使用MAE、RMSE、MAPE 3個指標進行誤差結果分析,能夠直觀地看出4種算法的預測性能。其中LSTM算法的各項指標都較大,其次為Elman算法,誤差較小的為PSO-LSTM算法,WOA-LSTM算法的誤差均小于其他3種算法。

圖10 各指標誤差對比
提出一種基于WOA-LSTM神經網絡構建鋰電池剩余使用壽命的預測模型,通過對比預測值與實際值的誤差數據,得出如下結論。
(1)與標準的LSTM神經網絡預測方法相比,WOA-LSTM神經網絡使用WOA算法對LSTM的超參數進行尋優,能夠避免人為選擇模型參數帶來的不利影響,模型精度提高了7%。
(2)與常用優化算法PSO相比,WOA算法操作簡便,并且需要調整的參數少以及跳出局部最優的能力強,鋰電池的RUL預測模型精度提高了4%,并且LSTM適用于時序相關的數據,能夠更深層次,挖掘剩余容量之間的規律。
(3)通過實驗仿真分析,所提出的WOA-LSTM模型相比于標準LSTM模型、Elman模型以及PSO-LSTM模型的各項誤差指標均有所下降,分別為7%、4%、3%,因此這也驗證了所提算法模型的有效性、優越性以及精度更高的優勢。