張 岸,楊春德
(1.重慶郵電大學(xué)理學(xué)院,重慶 400065;2.重慶郵電大學(xué)計算機科學(xué)與技術(shù)學(xué)院,重慶 400065)
鋰電池作為能量儲存和提供的一種重要的載體[1],具備儲存方便、使用壽命長等特點,普遍用作新能源汽車的動力源[2],此外,還被廣泛應(yīng)用在通信、航空航天等領(lǐng)域[3-5]。鋰電池在使用過程中,使用壽命會隨SOH降低衰減,當(dāng)SOH降低到一定程度時,供電設(shè)備將無法正常運行。如果不能及時準確估計鋰電池SOH,則可能會造成經(jīng)濟上的損失甚至帶來一系列安全問題。因此對鋰電池SOH估計的研究具有重要意義,如今已經(jīng)出現(xiàn)了越來越多的鋰電池SOH估計方法。
鋰電池SOH的估計方法主要有兩類:基于模型的估計方法和基于數(shù)據(jù)驅(qū)動的估計方法[6-8]。前者主要通過對電池內(nèi)部的化學(xué)與物理特性進行分析,并在此基礎(chǔ)上建立相應(yīng)的物理和數(shù)學(xué)模型,對鋰電池的SOH進行估計[9-10];后者主要利用神經(jīng)網(wǎng)絡(luò)、支持向量回歸和高斯回歸等方法對SOH進行估計。文獻[11]提出了基于循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的SOH估計算法。文獻[12]將粒子群優(yōu)化算法(PSO)與LSTM 相結(jié)合,并加入注意力機制(AM),提出了基于PA-LSTM 的SOH估計算法。文獻[13]研究了LSTM 網(wǎng)絡(luò)結(jié)構(gòu),提出了基于AST-LSTM 的SOH估計方法。數(shù)據(jù)驅(qū)動的方法雖然不需要考慮鋰電池內(nèi)部的復(fù)雜變化,但是如果沒有足夠多的數(shù)據(jù)支撐,SOH估計的準確率將會較低,這成了鋰電池SOH估計的一大難題。為了解決這一難題,在鋰電池數(shù)據(jù)不充分的情況下,研究出一種具有高準確率的SOH在線估計方法很有必要。
本文提出的基于GAN-CNN-LSTM 的鋰電池SOH估計模型,在現(xiàn)有研究基礎(chǔ)上實現(xiàn)了進一步的創(chuàng)新:(1)通過GAN 對原有的鋰電池數(shù)據(jù)進行數(shù)據(jù)增強,擴充了訓(xùn)練集,解決了訓(xùn)練模型時數(shù)據(jù)不充分的問題;(2)利用CNN 與LSTM 提取鋰電池輸入數(shù)據(jù)在時間與空間上的特征。相比于其他基于數(shù)據(jù)驅(qū)動的方法,該方法具有更高的準確率,具有一定的應(yīng)用價值。
GAN 由生成器G和判別器D組成[14],其模型結(jié)構(gòu)見圖1。隨機噪聲z輸入到生成器得到生成的數(shù)據(jù)G(z)。判別器D可判斷輸入的數(shù)據(jù)是真實的數(shù)據(jù)x,還是生成數(shù)據(jù)G(z)。在GAN 的訓(xùn)練過程中,生成器的目的是使G(z)更接近于x,而判別器的目的則是盡可能地區(qū)分出輸入的數(shù)據(jù)是G(z)還是x。生成器和判別器在對抗訓(xùn)練的過程中不斷地優(yōu)化和調(diào)整自身參數(shù),最終生成器能夠生成趨近于真實的數(shù)據(jù)。
圖1 GAN模型結(jié)構(gòu)圖
GAN 模型的目標函數(shù)V(G,D)見公式:
式中:z服從于先驗分布Pz;x服從真實鋰電池數(shù)據(jù)分布Pdata;E(·)為期望值的計算;D(x)為判別器判斷x為真實數(shù)據(jù)的概率;D[G(z)]為判別器判斷G(z)為真實數(shù)據(jù)的概率。
在訓(xùn)練生成器G時,G盡可能地使D[G(z)]趨近于1,也就是使目標函數(shù)最小化。在訓(xùn)練判別器D時,D盡可能地使D[G(z)]趨近于0,使D(x)趨近于1,也就是使目標函數(shù)最大化。
CNN 作為比較重要的神經(jīng)網(wǎng)絡(luò)之一,因其具有較好的特征提取的能力,被廣泛地應(yīng)用于圖像處理。與傳統(tǒng)的多層感知機相比,CNN 卷積層中的權(quán)值共享使訓(xùn)練的參數(shù)大幅度減少,這在一定程度上降低了神經(jīng)網(wǎng)絡(luò)的復(fù)雜度,同時也減少了過擬合的現(xiàn)象。
如圖2 所示,CNN 主要由卷積層和池化層構(gòu)成[15]。卷積層通過利用卷積核提取數(shù)據(jù)特征,池化層對卷積層提取的特征進行壓縮,能夠減少運算量。
圖2 CNN 結(jié)構(gòu)圖
LSTM[16]是循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,其解決了RNN 所存在的梯度爆炸與梯度消失的問題,通常用于時間序列預(yù)測。LSTM 由三個門組成,分別是輸入門、輸出門和遺忘門,其網(wǎng)絡(luò)結(jié)構(gòu)如圖3 所示。
圖3 LSTM網(wǎng)絡(luò)結(jié)構(gòu)圖
LSTM 各個模塊的計算公式為:
式中:st,yt,jt其中分別為LSTM 的輸入門、遺忘門和輸出門;Ws和bs,Wy和by,Wj和bj,以及Wc和bc分別為輸入門、遺忘門、輸出門以及單元狀態(tài)的權(quán)重和偏置;mt-1為上一時刻的輸出;it為t時刻的輸入;ct為單元狀態(tài);為候選狀態(tài);mt為t時刻的輸出。
本文使用GAN 對鋰電池歷史數(shù)據(jù)進行數(shù)據(jù)增強,通過CNN 對輸入的鋰電池數(shù)據(jù)進行特征提取,并利用LSTM 對鋰電池SOH進行估計,最終建立的基于GAN-CNN-LSTM 的SOH估計模型如圖4 所示。
圖4 基于GAN-CNN-LSTM的鋰電池SOH估計模型圖
基于GAN-CNN-LSTM 的鋰電池SOH估計過程具體如下:
(1)利用GAN 對鋰電池數(shù)據(jù)進行數(shù)據(jù)增強。本文的GAN網(wǎng)絡(luò)的生成器和判別器網(wǎng)絡(luò)的結(jié)構(gòu)如圖5 所示。
圖5 生成器網(wǎng)絡(luò)(左)和判別器網(wǎng)絡(luò)(右)結(jié)構(gòu)圖
在生成器中,維度為(150,128)的隨機噪聲經(jīng)過兩層全連接層并通過維度轉(zhuǎn)換變成了(165,3,128)的張量,然后經(jīng)過兩個卷積核大小為4、步長為2 的轉(zhuǎn)置卷積層后,分別輸出(330,3,128)、(660,3,1)的張量,即為生成的鋰電池數(shù)據(jù)樣本。因為生成器網(wǎng)絡(luò)的學(xué)習(xí)率通常設(shè)置較小,并且ReLU 函數(shù)的收斂速度較快,因此在生成器網(wǎng)絡(luò)的前兩層(全連接層和第一層轉(zhuǎn)置卷積層)均采用了ReLU 激活函數(shù)。而sigmoid 激活函數(shù)在特征相差較為明顯時效果較好,并且訓(xùn)練網(wǎng)絡(luò)時對輸入的數(shù)據(jù)進行了歸一化處理,為了使生成器的輸出在0~1 之間,生成器網(wǎng)絡(luò)的輸出層使用了sigmoid 激活函數(shù)。
在判別器中,輸入為(660,3,1)的張量,經(jīng)過三個卷積核大小為4、步長為2 的卷積層后,輸出(82,3,128)的張量,為了將多維的張量一維化,在卷積層與全連接層中加入一層flatten層,最終經(jīng)過全連接層后輸出一維的標量,即為判別器的判別結(jié)果。由于ReLU 激活函數(shù)在輸入小于0 時梯度會變成0,會使負值的梯度變成0,此時神經(jīng)元會失活,因此判別器的所有網(wǎng)絡(luò)層均使用不易使神經(jīng)元失活、收斂速度較快的Leaky ReLU 激活函數(shù)。
(2)通過CNN 對輸入數(shù)據(jù)進行特征提取。卷積層的濾波器個數(shù)為64,卷積核大小為4,步長為4,使用ReLU 激活函數(shù)。為了篩選主要特征和減少運算量,卷積層后面加入一維最大池化層。
(3)使用LSTM 對鋰電池SOH進行估計。本文的模型采用了兩層LSTM 網(wǎng)絡(luò),LSTM 的神經(jīng)元個數(shù)均為64。為了防止出現(xiàn)過擬合的現(xiàn)象,在每一層LSTM 后面分別加入一層dropout 層,其中dropout 值為0.1,由全連接層輸出鋰電池容量的估計結(jié)果。最終由計算公式得到預(yù)測的SOH,SOH的計算公式為:
式中:Qt為t時刻的容量值;Q0為鋰電池的初始容量值。
GAN-CNN-LSTM 模型完整的訓(xùn)練與估計過程如圖6 所示,大致可分為以下四步:
圖6 GAN-CNN-LSTM模型的訓(xùn)練與預(yù)測過程
(1)將鋰電池數(shù)據(jù)集劃分為訓(xùn)練集和測試集。
(2)將鋰電池的訓(xùn)練集加入到GAN 中,得到擴充后的數(shù)據(jù)集。
(3)將(2)得到的數(shù)據(jù)集輸入到CNN-LSTM 模型中進行訓(xùn)練,模型的損失函數(shù)為MSE,訓(xùn)練過程中使用Adam 優(yōu)化器調(diào)整模型的參數(shù)。
(4)得到訓(xùn)練好的CNN-LSTM 模型,將測試集數(shù)據(jù)輸入到訓(xùn)練好的模型中,輸出估計的SOH。
最終得出基于GAN-CNN-LSTM 的SOH估計算法見下文。
基于GAN-CNN-LSTM 的SOH估計算法:
(1)將鋰電池數(shù)據(jù)集劃分為訓(xùn)練集和測試集。
(2)將(1)中的訓(xùn)練集數(shù)據(jù)進行歸一化處理,x*=,使得所有數(shù)據(jù)在[0,1]之間。
(3)從鋰電池的數(shù)據(jù)集中取出容量大小為m的樣本
(4)從先驗分布pz(z)中取出容量為m的樣本
(5)將從步驟(3)取出的樣本作為輸入,輸入到生成器G中,得到m個生成樣本
(6)將步驟(5)和步驟(3)的樣本輸入到判別器D中,輸出判別的結(jié)果。判別器根據(jù)隨機梯度上升的方法來更新判別器網(wǎng)絡(luò)參數(shù)。
(7)從先驗分布中另外再取出容量大小為m的樣本生成器根據(jù)隨機梯度下降的方法來更新生成器網(wǎng)絡(luò)參數(shù)。
(8)反復(fù)迭代步驟(3)至步驟(7),使得模型訓(xùn)練穩(wěn)定。得到訓(xùn)練好的網(wǎng)絡(luò),對生成器的生成數(shù)據(jù)進行反歸一化處理,最終生成樣本容量大小為m的生成鋰電池樣本,補充到原來的數(shù)據(jù)集,得到擴充后的鋰電池數(shù)據(jù)集。
(9)將步驟(8)中擴充后的數(shù)據(jù)加入到CNN-LSTM 模型進行訓(xùn)練。
(10)訓(xùn)練CNN-LSTM 模型:(a)對輸入的數(shù)據(jù)進行歸一化;(b)訓(xùn)練CNN-LSTM 模型;(c)如果模型的loss 下降,則繼續(xù)重復(fù)(b)步驟,如果loss 不繼續(xù)下降,則開始下一個步驟。
(11)得到訓(xùn)練好的CNN-LSTM 模型。
將(1)中的測試集數(shù)據(jù)輸入到訓(xùn)練好的CNN-LSTM 模型中,并對CNN-LSTM 的輸出進行反歸一化,得到SOH的估計值。
由于GAN-CNN-LSTM 的鋰電池SOH的估計模型是GAN、CNN 與LSTM 三個模型的融合,并且LSTM 是RNN 的變體,為了驗證GAN-CNN-LSTM 模型的有效性,分別利用RNN、LSTM、CNN-LSTM 模型做了對比實驗,通過實驗結(jié)果進行比較和分析,以驗證模型的有效性。
本文實驗采用美國宇航局(NASA)公開的鋰電池老化實驗數(shù)據(jù)集[13],電池為額定容量2 Ah 的18650 鋰電池。在鋰電池充電時,首先以1.5 A 電流的恒流模式進行充電,直至充電電壓達到4.2 V,然后以恒壓模式充電,直至充電電流下降到20 mA。在鋰電池放電時,以2 A 的電流大小進行恒流放電,直至達到各個電池的截止電壓。本文從NASA 數(shù)據(jù)集中選用了B0005、B0006、B0018 三個鋰電池單體,三個均為18650 鋰電池。B0005、B0006、B0018 對應(yīng)的放電截止電壓分別為2.7、2.5、2.5 V,B0005、B0006、B0018 的初始容量分別為1.8、2.0、1.8 Ah。因為三個鋰電池單體分別對應(yīng)著不同的充放電實驗條件,將三個單體的數(shù)據(jù)作為數(shù)據(jù)集能夠檢驗?zāi)P偷姆夯?。本文從中提取了鋰電池每個充放電循環(huán)的電壓、電流、溫度和容量數(shù)據(jù),將電壓、電流、溫度數(shù)據(jù)作為輸入,分別將數(shù)據(jù)集的充放循環(huán)的前70%,50%,30%的數(shù)據(jù)作為訓(xùn)練集,并從剩余的充放電循環(huán)開始預(yù)測鋰電池的SOH。
為了更加直觀地表征出所提模型與其他模型的性能,通過計算MAE,MAPE與RMSE的評價指標來進行評估。RMSE,MAPE,MAE的計算公式分別如式(9)~(11)所示。
四個模型在B0005 號鋰電池單體上分別從充放電循環(huán)總數(shù)的30%,50%,70%開始進行容量估計,估計結(jié)果如圖7 所示,其中紫色的曲線表示鋰電池真實容量的變化曲線,紅色的曲線為GAN-CNN-LSTM 模型估計的容量曲線,黑色、藍色、綠色曲線分別表示CNN-LSTM、LSTM、RNN 模型估計的容量曲線。
圖7 各模型在B0005測試集上容量的估計結(jié)果
從圖7 中可以看出,LSTM 在不同的鋰電池單體上的容量總體預(yù)測效果要優(yōu)于RNN。由于CNN 能夠更好地提取數(shù)據(jù)的局部特征,CNN-LSTM 與LSTM 相比具有更好的擬合性。本文提出的方法通過利用GAN 對鋰電池數(shù)據(jù)進行數(shù)據(jù)增強,擴充了數(shù)據(jù)集,與沒有進行數(shù)據(jù)增強的CNN-LSTM 相比,GAN-CNN-LSTM 在擬合的效果上明顯更好。
為了更直觀地看出各個模型方法的SOH估計誤差,根據(jù)實驗結(jié)果繪制SOH估計在每一個循環(huán)的估計誤差圖,如圖8所示。由圖中的結(jié)果可以看出,對比其他的幾種模型方法,本文中所提出的GAN-CNN-LSTM 模型在各個鋰電池單體上容量估計的誤差曲線最接近于0,即容量的估計值最接近于真實值。
圖8 各模型在B0005測試集上容量的估計誤差
表1~3 為以上模型在B0005,B0006,B0018 號鋰電池單體分別從充放電循環(huán)總數(shù)的30%,50%,70%開始進行SOH估計的MAE、MAPE、RMSE。由表中的結(jié)果可以看出,GAN-CNN-LSTM 模型的三個評價指標值都是最小的,即SOH估計的準確度最高,充分體現(xiàn)了本文模型的優(yōu)越性與所提出方法的合理性。
表1 不同方法在各鋰電池單體的SOH 估計的MAE 對比
表2 不同方法在各鋰電池單體的SOH 估計的MAPE 對比
表3 不同方法在各鋰電池單體的SOH 估計的RMSE 對比
本文提出基于GAN-CNN-LSTM 的鋰電池SOH在線估計的方法,通過GAN 對鋰電池的歷史數(shù)據(jù)進行數(shù)據(jù)增強,利用CNN 與LSTM 相結(jié)合建立起鋰電池SOH的估計模型,提出的鋰電池SOH在線估計方法在NASA 數(shù)據(jù)集上驗證模型的有效性,與基于LSTM、RNN、CNN-LSTM 的鋰電池SOH估計方法相比,該方法具有更高的準確率,這在一定程度上解決了鋰電池的SOH估計的準確率較低的問題,具備一定的工程應(yīng)用價值。