張 岸,楊春德
(1.重慶郵電大學理學院,重慶 400065;2.重慶郵電大學計算機科學與技術學院,重慶 400065)
鋰電池作為能量儲存和提供的一種重要的載體[1],具備儲存方便、使用壽命長等特點,普遍用作新能源汽車的動力源[2],此外,還被廣泛應用在通信、航空航天等領域[3-5]。鋰電池在使用過程中,使用壽命會隨SOH降低衰減,當SOH降低到一定程度時,供電設備將無法正常運行。如果不能及時準確估計鋰電池SOH,則可能會造成經濟上的損失甚至帶來一系列安全問題。因此對鋰電池SOH估計的研究具有重要意義,如今已經出現了越來越多的鋰電池SOH估計方法。
鋰電池SOH的估計方法主要有兩類:基于模型的估計方法和基于數據驅動的估計方法[6-8]。前者主要通過對電池內部的化學與物理特性進行分析,并在此基礎上建立相應的物理和數學模型,對鋰電池的SOH進行估計[9-10];后者主要利用神經網絡、支持向量回歸和高斯回歸等方法對SOH進行估計。文獻[11]提出了基于循環神經網絡(RNN)的SOH估計算法。文獻[12]將粒子群優化算法(PSO)與LSTM 相結合,并加入注意力機制(AM),提出了基于PA-LSTM 的SOH估計算法。文獻[13]研究了LSTM 網絡結構,提出了基于AST-LSTM 的SOH估計方法。數據驅動的方法雖然不需要考慮鋰電池內部的復雜變化,但是如果沒有足夠多的數據支撐,SOH估計的準確率將會較低,這成了鋰電池SOH估計的一大難題。為了解決這一難題,在鋰電池數據不充分的情況下,研究出一種具有高準確率的SOH在線估計方法很有必要。
本文提出的基于GAN-CNN-LSTM 的鋰電池SOH估計模型,在現有研究基礎上實現了進一步的創新:(1)通過GAN 對原有的鋰電池數據進行數據增強,擴充了訓練集,解決了訓練模型時數據不充分的問題;(2)利用CNN 與LSTM 提取鋰電池輸入數據在時間與空間上的特征。相比于其他基于數據驅動的方法,該方法具有更高的準確率,具有一定的應用價值。
GAN 由生成器G和判別器D組成[14],其模型結構見圖1。隨機噪聲z輸入到生成器得到生成的數據G(z)。判別器D可判斷輸入的數據是真實的數據x,還是生成數據G(z)。在GAN 的訓練過程中,生成器的目的是使G(z)更接近于x,而判別器的目的則是盡可能地區分出輸入的數據是G(z)還是x。生成器和判別器在對抗訓練的過程中不斷地優化和調整自身參數,最終生成器能夠生成趨近于真實的數據。

圖1 GAN模型結構圖
GAN 模型的目標函數V(G,D)見公式:

式中:z服從于先驗分布Pz;x服從真實鋰電池數據分布Pdata;E(·)為期望值的計算;D(x)為判別器判斷x為真實數據的概率;D[G(z)]為判別器判斷G(z)為真實數據的概率。
在訓練生成器G時,G盡可能地使D[G(z)]趨近于1,也就是使目標函數最小化。在訓練判別器D時,D盡可能地使D[G(z)]趨近于0,使D(x)趨近于1,也就是使目標函數最大化。
CNN 作為比較重要的神經網絡之一,因其具有較好的特征提取的能力,被廣泛地應用于圖像處理。與傳統的多層感知機相比,CNN 卷積層中的權值共享使訓練的參數大幅度減少,這在一定程度上降低了神經網絡的復雜度,同時也減少了過擬合的現象。
如圖2 所示,CNN 主要由卷積層和池化層構成[15]。卷積層通過利用卷積核提取數據特征,池化層對卷積層提取的特征進行壓縮,能夠減少運算量。

圖2 CNN 結構圖
LSTM[16]是循環神經網絡(RNN)的一種變體,其解決了RNN 所存在的梯度爆炸與梯度消失的問題,通常用于時間序列預測。LSTM 由三個門組成,分別是輸入門、輸出門和遺忘門,其網絡結構如圖3 所示。

圖3 LSTM網絡結構圖
LSTM 各個模塊的計算公式為:


式中:st,yt,jt其中分別為LSTM 的輸入門、遺忘門和輸出門;Ws和bs,Wy和by,Wj和bj,以及Wc和bc分別為輸入門、遺忘門、輸出門以及單元狀態的權重和偏置;mt-1為上一時刻的輸出;it為t時刻的輸入;ct為單元狀態;為候選狀態;mt為t時刻的輸出。
本文使用GAN 對鋰電池歷史數據進行數據增強,通過CNN 對輸入的鋰電池數據進行特征提取,并利用LSTM 對鋰電池SOH進行估計,最終建立的基于GAN-CNN-LSTM 的SOH估計模型如圖4 所示。

圖4 基于GAN-CNN-LSTM的鋰電池SOH估計模型圖
基于GAN-CNN-LSTM 的鋰電池SOH估計過程具體如下:
(1)利用GAN 對鋰電池數據進行數據增強。本文的GAN網絡的生成器和判別器網絡的結構如圖5 所示。

圖5 生成器網絡(左)和判別器網絡(右)結構圖
在生成器中,維度為(150,128)的隨機噪聲經過兩層全連接層并通過維度轉換變成了(165,3,128)的張量,然后經過兩個卷積核大小為4、步長為2 的轉置卷積層后,分別輸出(330,3,128)、(660,3,1)的張量,即為生成的鋰電池數據樣本。因為生成器網絡的學習率通常設置較小,并且ReLU 函數的收斂速度較快,因此在生成器網絡的前兩層(全連接層和第一層轉置卷積層)均采用了ReLU 激活函數。而sigmoid 激活函數在特征相差較為明顯時效果較好,并且訓練網絡時對輸入的數據進行了歸一化處理,為了使生成器的輸出在0~1 之間,生成器網絡的輸出層使用了sigmoid 激活函數。
在判別器中,輸入為(660,3,1)的張量,經過三個卷積核大小為4、步長為2 的卷積層后,輸出(82,3,128)的張量,為了將多維的張量一維化,在卷積層與全連接層中加入一層flatten層,最終經過全連接層后輸出一維的標量,即為判別器的判別結果。由于ReLU 激活函數在輸入小于0 時梯度會變成0,會使負值的梯度變成0,此時神經元會失活,因此判別器的所有網絡層均使用不易使神經元失活、收斂速度較快的Leaky ReLU 激活函數。
(2)通過CNN 對輸入數據進行特征提取。卷積層的濾波器個數為64,卷積核大小為4,步長為4,使用ReLU 激活函數。為了篩選主要特征和減少運算量,卷積層后面加入一維最大池化層。
(3)使用LSTM 對鋰電池SOH進行估計。本文的模型采用了兩層LSTM 網絡,LSTM 的神經元個數均為64。為了防止出現過擬合的現象,在每一層LSTM 后面分別加入一層dropout 層,其中dropout 值為0.1,由全連接層輸出鋰電池容量的估計結果。最終由計算公式得到預測的SOH,SOH的計算公式為:

式中:Qt為t時刻的容量值;Q0為鋰電池的初始容量值。
GAN-CNN-LSTM 模型完整的訓練與估計過程如圖6 所示,大致可分為以下四步:

圖6 GAN-CNN-LSTM模型的訓練與預測過程
(1)將鋰電池數據集劃分為訓練集和測試集。
(2)將鋰電池的訓練集加入到GAN 中,得到擴充后的數據集。
(3)將(2)得到的數據集輸入到CNN-LSTM 模型中進行訓練,模型的損失函數為MSE,訓練過程中使用Adam 優化器調整模型的參數。
(4)得到訓練好的CNN-LSTM 模型,將測試集數據輸入到訓練好的模型中,輸出估計的SOH。
最終得出基于GAN-CNN-LSTM 的SOH估計算法見下文。
基于GAN-CNN-LSTM 的SOH估計算法:
(1)將鋰電池數據集劃分為訓練集和測試集。
(2)將(1)中的訓練集數據進行歸一化處理,x*=,使得所有數據在[0,1]之間。
(3)從鋰電池的數據集中取出容量大小為m的樣本
(4)從先驗分布pz(z)中取出容量為m的樣本
(5)將從步驟(3)取出的樣本作為輸入,輸入到生成器G中,得到m個生成樣本
(6)將步驟(5)和步驟(3)的樣本輸入到判別器D中,輸出判別的結果。判別器根據隨機梯度上升的方法來更新判別器網絡參數。
(7)從先驗分布中另外再取出容量大小為m的樣本生成器根據隨機梯度下降的方法來更新生成器網絡參數。
(8)反復迭代步驟(3)至步驟(7),使得模型訓練穩定。得到訓練好的網絡,對生成器的生成數據進行反歸一化處理,最終生成樣本容量大小為m的生成鋰電池樣本,補充到原來的數據集,得到擴充后的鋰電池數據集。
(9)將步驟(8)中擴充后的數據加入到CNN-LSTM 模型進行訓練。
(10)訓練CNN-LSTM 模型:(a)對輸入的數據進行歸一化;(b)訓練CNN-LSTM 模型;(c)如果模型的loss 下降,則繼續重復(b)步驟,如果loss 不繼續下降,則開始下一個步驟。
(11)得到訓練好的CNN-LSTM 模型。
將(1)中的測試集數據輸入到訓練好的CNN-LSTM 模型中,并對CNN-LSTM 的輸出進行反歸一化,得到SOH的估計值。
由于GAN-CNN-LSTM 的鋰電池SOH的估計模型是GAN、CNN 與LSTM 三個模型的融合,并且LSTM 是RNN 的變體,為了驗證GAN-CNN-LSTM 模型的有效性,分別利用RNN、LSTM、CNN-LSTM 模型做了對比實驗,通過實驗結果進行比較和分析,以驗證模型的有效性。
本文實驗采用美國宇航局(NASA)公開的鋰電池老化實驗數據集[13],電池為額定容量2 Ah 的18650 鋰電池。在鋰電池充電時,首先以1.5 A 電流的恒流模式進行充電,直至充電電壓達到4.2 V,然后以恒壓模式充電,直至充電電流下降到20 mA。在鋰電池放電時,以2 A 的電流大小進行恒流放電,直至達到各個電池的截止電壓。本文從NASA 數據集中選用了B0005、B0006、B0018 三個鋰電池單體,三個均為18650 鋰電池。B0005、B0006、B0018 對應的放電截止電壓分別為2.7、2.5、2.5 V,B0005、B0006、B0018 的初始容量分別為1.8、2.0、1.8 Ah。因為三個鋰電池單體分別對應著不同的充放電實驗條件,將三個單體的數據作為數據集能夠檢驗模型的泛化性。本文從中提取了鋰電池每個充放電循環的電壓、電流、溫度和容量數據,將電壓、電流、溫度數據作為輸入,分別將數據集的充放循環的前70%,50%,30%的數據作為訓練集,并從剩余的充放電循環開始預測鋰電池的SOH。
為了更加直觀地表征出所提模型與其他模型的性能,通過計算MAE,MAPE與RMSE的評價指標來進行評估。RMSE,MAPE,MAE的計算公式分別如式(9)~(11)所示。

四個模型在B0005 號鋰電池單體上分別從充放電循環總數的30%,50%,70%開始進行容量估計,估計結果如圖7 所示,其中紫色的曲線表示鋰電池真實容量的變化曲線,紅色的曲線為GAN-CNN-LSTM 模型估計的容量曲線,黑色、藍色、綠色曲線分別表示CNN-LSTM、LSTM、RNN 模型估計的容量曲線。

圖7 各模型在B0005測試集上容量的估計結果
從圖7 中可以看出,LSTM 在不同的鋰電池單體上的容量總體預測效果要優于RNN。由于CNN 能夠更好地提取數據的局部特征,CNN-LSTM 與LSTM 相比具有更好的擬合性。本文提出的方法通過利用GAN 對鋰電池數據進行數據增強,擴充了數據集,與沒有進行數據增強的CNN-LSTM 相比,GAN-CNN-LSTM 在擬合的效果上明顯更好。
為了更直觀地看出各個模型方法的SOH估計誤差,根據實驗結果繪制SOH估計在每一個循環的估計誤差圖,如圖8所示。由圖中的結果可以看出,對比其他的幾種模型方法,本文中所提出的GAN-CNN-LSTM 模型在各個鋰電池單體上容量估計的誤差曲線最接近于0,即容量的估計值最接近于真實值。

圖8 各模型在B0005測試集上容量的估計誤差
表1~3 為以上模型在B0005,B0006,B0018 號鋰電池單體分別從充放電循環總數的30%,50%,70%開始進行SOH估計的MAE、MAPE、RMSE。由表中的結果可以看出,GAN-CNN-LSTM 模型的三個評價指標值都是最小的,即SOH估計的準確度最高,充分體現了本文模型的優越性與所提出方法的合理性。

表1 不同方法在各鋰電池單體的SOH 估計的MAE 對比

表2 不同方法在各鋰電池單體的SOH 估計的MAPE 對比

表3 不同方法在各鋰電池單體的SOH 估計的RMSE 對比
本文提出基于GAN-CNN-LSTM 的鋰電池SOH在線估計的方法,通過GAN 對鋰電池的歷史數據進行數據增強,利用CNN 與LSTM 相結合建立起鋰電池SOH的估計模型,提出的鋰電池SOH在線估計方法在NASA 數據集上驗證模型的有效性,與基于LSTM、RNN、CNN-LSTM 的鋰電池SOH估計方法相比,該方法具有更高的準確率,這在一定程度上解決了鋰電池的SOH估計的準確率較低的問題,具備一定的工程應用價值。