李龍,燕旭朦,張鈺聲,馮雅琳,胡紅利,段羽潔,崔晨輝
(1. 國網(wǎng)陜西省電力有限公司電力科學(xué)研究院,西安,710199;2. 西安交通大學(xué)電氣工程學(xué)院,710049,西安; 3. 國網(wǎng)西安高新供電公司,710076,西安)
鋰電池因其較高的儲能密度、功率容限和較低的成本受到了人們的廣泛關(guān)注,目前已廣泛應(yīng)用于消費(fèi)電子、動力系統(tǒng)與大規(guī)模儲能系統(tǒng)中[1]。電池荷電狀態(tài)(state of charge, SOC)是鋰電池循環(huán)過程中的重要參數(shù),表征了電池在充放電循環(huán)中的剩余容量[2]。SOC的準(zhǔn)確估計至關(guān)重要,其對電動汽車的可靠行駛、儲能系統(tǒng)的狀態(tài)估計與決策都有重要的意義[3]。
SOC值隨著充放電循環(huán)變化,并且受到溫度、電池老化等情況的影響[4],無法直接用傳感器測量。目前,常用的SOC估算方法有基于電化學(xué)模型的方法、安時積分法、開路電壓法、卡爾曼濾波族法、數(shù)據(jù)驅(qū)動法等。電化學(xué)模型法研究鋰離子電池內(nèi)部電化學(xué)反應(yīng)動力學(xué),從運(yùn)行機(jī)理方面描述電池的充放電狀態(tài)[5-7]。電化學(xué)模型狀態(tài)估計準(zhǔn)確,但是計算量大且應(yīng)用過程復(fù)雜。安時積分法直接對充放電循環(huán)曲線進(jìn)行積分,得到電池的SOC值,但該方法存在初始SOC不確定、電流傳感器溫度漂移等問題,隨著電池循環(huán),測量的累積誤差會不斷增大。開路電壓法需要將電池開路靜置[3,8],不能對SOC進(jìn)行在線估算??柭鼮V波族法[7,9-13]依賴于建立的電路等效模型的準(zhǔn)確性,對真實世界中多樣的電池類型與工況的自適應(yīng)性較弱。針對上述方法存在的問題,研究人員做出了一定的改進(jìn)。文獻(xiàn)[8]利用實驗和數(shù)學(xué)模型修正鋰離子電池端電壓,使開路電壓法得以應(yīng)用于在線SOC估算。文獻(xiàn)[5]構(gòu)建了一種能反映電池退化的降階電化學(xué)模型,結(jié)合雙非線性濾波器實現(xiàn)電池SOC和健康狀態(tài)(state of health, SOH)的估計。文獻(xiàn)[14]提出了一種變階RC模型的多模模型,更好地反映鋰離子電池的動態(tài)非線性特性。隨著機(jī)器學(xué)習(xí)的發(fā)展,基于數(shù)據(jù)驅(qū)動的方法展現(xiàn)了卓越的性能,機(jī)器學(xué)習(xí)能夠挖掘在電池充放電循環(huán)實驗中獲得的歷史數(shù)據(jù),從運(yùn)行數(shù)據(jù)中獲取啟發(fā)性知識與特征。傳統(tǒng)的機(jī)器學(xué)習(xí)方法[15],例如貝葉斯和支持向量機(jī)等已經(jīng)被用于電池SOC的估計任務(wù)中,這些方法直接學(xué)習(xí)可觀測量與SOC之間的映射關(guān)系。深度學(xué)習(xí)能夠捕捉全局特征與上下文信息,自動提取深層次的數(shù)據(jù)特征,在圖像識別、序列信息處理等任務(wù)中較傳統(tǒng)方法性能更佳[16]。文獻(xiàn)[17]基于一種循環(huán)神經(jīng)網(wǎng)絡(luò)對電池的剩余使用壽命進(jìn)行預(yù)測,在一定電流密度下,預(yù)測結(jié)果誤差較小。文獻(xiàn)[18]利用長短期記憶神經(jīng)網(wǎng)絡(luò)(long short-term memory, LSTM)的長時記憶特性,將階段SOH均值引入SOC的估算中實現(xiàn)聯(lián)合估算,提高了SOC的估計精度。
為保證模型準(zhǔn)確性,深度學(xué)習(xí)依賴于大數(shù)據(jù)集的訓(xùn)練,這一點(diǎn)在使用深度學(xué)習(xí)方法的SOC估計研究中得以體現(xiàn)[19-21],但該方式的缺點(diǎn)卻往往較少提及。首先,大型數(shù)據(jù)集的獲取是一個長期和高成本的過程。例如,電池數(shù)據(jù)集有各種實驗工況,如恒壓恒流充放電工況、美國城市道路循環(huán)工況(UDDS)、聯(lián)邦城市運(yùn)行工況(FUDS)等,在進(jìn)行SOC估計時,研究者往往獲得帶有噪聲的小樣本數(shù)據(jù),這就使得深度學(xué)習(xí)訓(xùn)練得到的網(wǎng)絡(luò)的適應(yīng)性與泛化性能較差[3,6]。針對上述問題,本文設(shè)計出一種深度學(xué)習(xí)與遷移學(xué)習(xí)結(jié)合的方法,通過深度學(xué)習(xí)自動提取深層次特征的能力以及遷移學(xué)習(xí)獲取不同領(lǐng)域知識的特性,實現(xiàn)對小樣本數(shù)據(jù)的SOC估計,具有更快的訓(xùn)練速度和更好的泛化性能。
本文所提出的SOC估計方法如圖1所示。首先需要對網(wǎng)絡(luò)進(jìn)行配置,包括網(wǎng)絡(luò)結(jié)構(gòu)以及網(wǎng)絡(luò)參數(shù)的設(shè)置;然后通過K折交叉驗證對源數(shù)據(jù)集進(jìn)行劃分處理。使用配置好的網(wǎng)絡(luò)進(jìn)行K次訓(xùn)練,選擇估計性能最優(yōu)的網(wǎng)絡(luò)保留其網(wǎng)絡(luò)結(jié)構(gòu)及參數(shù)。使用目標(biāo)數(shù)據(jù)集進(jìn)行遷移學(xué)習(xí)再訓(xùn)練。此外,對訓(xùn)練好的網(wǎng)絡(luò)進(jìn)行測試,得到誤差結(jié)果。最后將提出的方法與未進(jìn)行遷移學(xué)習(xí)的方法進(jìn)行性能比較。
受到人眼觀察事物方式的啟發(fā),二維卷積神經(jīng)網(wǎng)絡(luò)在圖像處理的任務(wù)中展現(xiàn)了卓越的性能。對于SOC估計任務(wù)而言,電池組的傳感器數(shù)據(jù)通常是一維時間序列,例如電壓、電流、溫度隨時間的變化,CNN可以從傳感器數(shù)據(jù)中識別出簡單的特征,并組合抽象為更深層次的模式,因此一維CNN適用于多傳感器融合與信號處理的任務(wù)中[19]。
一維CNN與二維CNN的區(qū)別在于卷積核的大小與卷積核滑動的方式。對卷積層的輸入而言,設(shè)其為一維序列X。Mn-1代表網(wǎng)絡(luò)的第n層的輸入,Mn表示第n層向下一層傳遞的值,由此,卷積層的行為可以描述如下式
Mn=f(Mn-1*Wn+bn)
(1)
式中:Wn為第n層卷積核的權(quán)值向量;*代表卷積操作;bn為偏移向量,通過激活函數(shù)f(·)映射出該層的輸出Mn;池化層對輸入Mn-1進(jìn)行特征降維,并在一定程度上保持特征的尺度不變性。池化層的產(chǎn)生可以描述如下式
Mn=Pooling(Mn-1)
(2)
式中:Pooling(Mn-1)通常使用平均池化或者最大池化,在本文中,采用平均池化可減少傳感器噪聲對性能的影響。
LSTM是循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN)的一種,均可用于解決時序問題,但是RNN存在梯度爆炸或梯度消失問題,因此不具備長期記憶功能[17]。為了解決這一問題,LSTM引入了門控單元[22],包括輸入門、遺忘門和輸出門,使用門結(jié)構(gòu)實現(xiàn)信息一定程度的保留,達(dá)到選擇性遺忘的目的,既實現(xiàn)了長期記憶功能,也不至于占據(jù)大量內(nèi)存[19]。每個LSTM單元如圖2所示,有3個輸入為:細(xì)胞狀態(tài)Ct-1、隱層狀態(tài)ht-1和t時刻的輸入向量xt;有兩個輸出為:細(xì)胞狀態(tài)Ct和隱層狀態(tài)ht,同時ht作為t時刻的輸出。Ct-1會參與t時刻輸出ht的計算,t時刻的隱層狀態(tài)ht-1與輸入xt也會對Ct進(jìn)行適當(dāng)修改,傳到下一時刻。具體的計算公式如下
圖2 LSTM神經(jīng)元結(jié)構(gòu)Fig.2 LSTM neuron structure
ft=σ(Wf[ht-1,xt]+bf)
(3)
it=σ(Wi[ht-1,xt]+bi)
(4)
(5)
(6)
ot=σ(Wo[ht-1,xt]+bo)
(7)
ht=ottanh(Ct)
(8)
研究者們采用一種方式在現(xiàn)實世界中使用機(jī)器學(xué)習(xí)模型:即在訓(xùn)練集驗證了構(gòu)建模型的可行性后,使用收集到的新數(shù)據(jù)重構(gòu)網(wǎng)絡(luò)以保證模型的準(zhǔn)確性,因為收集到的新樣本可能與訓(xùn)練數(shù)據(jù)特征并不完全相似。
與傳統(tǒng)機(jī)器學(xué)習(xí)相比深度學(xué)習(xí)性能更卓越,但是也面臨著上述問題。更進(jìn)一步地,深度學(xué)習(xí)訓(xùn)練階段依賴于大型數(shù)據(jù)集,使用小樣本容易導(dǎo)致模型訓(xùn)練不充分或者直接過擬合。實驗數(shù)據(jù)通常是在實驗室對電池進(jìn)行循環(huán)充放電等實驗中采集得到的,需要付出大量的人力物力資源?,F(xiàn)實采集到的電池運(yùn)行數(shù)據(jù)具有小樣本特征,存在非平穩(wěn)放電、受噪聲干擾等問題。目前急需解決的是目標(biāo)數(shù)據(jù)與源數(shù)據(jù)特征分布不完全相同的問題和小樣本訓(xùn)練導(dǎo)致性能退化的問題。
遷移學(xué)習(xí)通俗來講就是學(xué)習(xí)知識之間的相似性,利用舊知識來完成新任務(wù)的方法[23]。遷移學(xué)習(xí)涉及領(lǐng)域和任務(wù)兩個概念。領(lǐng)域D定義為由d維特征空間R和邊緣概率分布P(x)組成,D={X,P(x)},任務(wù)T={Y,f(x)},其中Y代表標(biāo)簽空間,f(x)代表回歸模型。遷移學(xué)習(xí)可定義為:給定源任務(wù)DS和TS,新的目標(biāo)任務(wù)中,在DS≠DT或TS≠TT條件下學(xué)習(xí)源域與目標(biāo)域知識的相似性[24],提高目標(biāo)域回歸模型fT(x)的泛化性能[25]。
不同的鋰電池雖然型號與運(yùn)行環(huán)境不同,但是其工作原理類似,其電參數(shù)和溫度所反映的電池信息特征分布具有一定的相似性,本文針對上文提到的兩點(diǎn)問題,構(gòu)建一種結(jié)合深度學(xué)習(xí)與遷移學(xué)習(xí)的電池SOC估計方法,自動提取遷移學(xué)習(xí)源域與目標(biāo)域相似的特征分布,有效增強(qiáng)目標(biāo)域與小樣本學(xué)習(xí)的模型適應(yīng)能力。
在遷移學(xué)習(xí)過程中,研究者時常遇到目標(biāo)域與源域樣本空間不同的問題,可分為輸入維度不同與輸入序列屬性不同。本文的SOC預(yù)測方法中,對于輸入維度不同的問題,采取電池端電壓、電流與溫度3個實際鋰電池應(yīng)用中普遍存在的物理量作為輸入。對于輸入序列屬性不同的問題,本文關(guān)注系統(tǒng)采樣率差異導(dǎo)致的機(jī)器學(xué)習(xí)在實際應(yīng)用中適應(yīng)性差的問題。對于采樣率差異的問題,本文采取對目標(biāo)域樣本空間進(jìn)行重采樣的方式。對于目標(biāo)域采樣率較低的情況,采取插值后升采樣的方式;對于目標(biāo)域采樣率較高的情形,采用先濾波后抽取的方法進(jìn)行降采樣。
本實驗中源數(shù)據(jù)采用NASA鋰電池數(shù)據(jù)集,目標(biāo)數(shù)據(jù)采用Panasonic鋰電池實驗數(shù)據(jù)集,本文將SOC值記作SOC。源數(shù)據(jù)包含了6組共22塊鋰電池的放電循環(huán),每個放電循環(huán)的SOC均從100%開始放電,總計2 016個樣本。該鋰電池額定容量均為2 A·h,該電池數(shù)據(jù)集有4種工作溫度條件,包括4℃、24℃、43℃、混合溫度;每組電池的放電方式均不相同,有2 A、4 A恒流放電、方波放電、分段恒流放電等放電方式,每個放電循環(huán)持續(xù)時間取決于放電方式,持續(xù)10~70 min。由于該數(shù)據(jù)集的多樣性以及樣本量充足,所以具備作為遷移學(xué)習(xí)中源數(shù)據(jù)的條件。目標(biāo)數(shù)據(jù)是Phillip Kollmeyer博士實驗所得Panasonic 18650PF電池數(shù)據(jù)集,該數(shù)據(jù)集是額定容量為2.9 A·h的全新Panasonic 18650PF電池在5種不同溫度下進(jìn)行的多工況測試得到,溫度范圍為-20℃~25℃,測試驅(qū)動循環(huán)共9種,包括US06、HWFET、UDDS、LA92、NN以及由這5種驅(qū)動循環(huán)隨機(jī)組合的混合驅(qū)動循環(huán),其中NN驅(qū)動循環(huán)由US06和LA92驅(qū)動循環(huán)組合而成。目標(biāo)數(shù)據(jù)集樣本數(shù)較少,共有46個放電循環(huán),選取UDDS、LA92、NN工況下獲得的實驗數(shù)據(jù)作為測試數(shù)據(jù),其余數(shù)據(jù)為訓(xùn)練數(shù)據(jù)。
由于源數(shù)據(jù)集放電循環(huán)采樣率為0.1 Hz,而目標(biāo)數(shù)據(jù)集放電循環(huán)采樣率為10 Hz,因此為了統(tǒng)一源域與目標(biāo)域的樣本空間,將目標(biāo)數(shù)據(jù)集放電循環(huán)進(jìn)行了降采樣,即每100個數(shù)據(jù)點(diǎn)取平均值,步長為100。該方法既可以使目標(biāo)數(shù)據(jù)用于遷移學(xué)習(xí),也可以對高頻噪聲進(jìn)行濾除。
本文選用放電電壓、放電電流、電池溫度作為模型的輸入特征,電池的SOC作為模型的目標(biāo)輸出,由于NASA數(shù)據(jù)未直接給出相應(yīng)時刻的SOC,本文采用安時積分法計算得出的SOC作為目標(biāo)輸出。為消除各變量之間的量值大小差異的影響,本文對所有輸入輸出數(shù)據(jù)進(jìn)行了最大-最小的標(biāo)準(zhǔn)化處理,表達(dá)式如下
(9)
2.2.1K折交叉驗證
K折交叉驗證如圖3所示,在預(yù)訓(xùn)練中,源數(shù)據(jù)集被隨機(jī)分為K個相互排斥的數(shù)據(jù)子集,將這種數(shù)據(jù)子集稱作折疊,然后進(jìn)行K次模型訓(xùn)練,每次訓(xùn)練中,保留一個數(shù)據(jù)折疊作為測試數(shù)據(jù),其余K-1個折疊作為訓(xùn)練數(shù)據(jù),K次訓(xùn)練均保留不同的折疊。K次模型訓(xùn)練結(jié)束后,選取測試集估計誤差最小的模型,保留其網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)進(jìn)行遷移學(xué)習(xí)。
圖3 K折交叉驗證Fig.3 K-fold cross validation
2.2.2 CNN-LSTM網(wǎng)絡(luò)模型
論文所構(gòu)建的網(wǎng)絡(luò)為CNN-LSTM神經(jīng)網(wǎng)絡(luò),模型包括兩層卷積層、兩層池化層、一層LSTM層和兩層全連接層,輸入為時間序列數(shù)據(jù),每層卷積層后連接平均池化層進(jìn)行特征降維,而后通過卷積層挖掘數(shù)據(jù)間的關(guān)系,再利用LSTM的記憶功能對數(shù)據(jù)進(jìn)行選擇性記憶得到關(guān)鍵特征,最后用全連接層進(jìn)行特征關(guān)聯(lián),得出對應(yīng)的SOC。具體網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。具體網(wǎng)絡(luò)結(jié)構(gòu)配置參數(shù)見表1。
表1 CNN-LSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)配置參數(shù)
橙色—卷積層;灰色—池化層;綠色—LSTM層;淺藍(lán)色—全連接層。圖4 CNN-LSTM神經(jīng)網(wǎng)絡(luò)模型Fig.4 CNN-LSTM neural network model
表1為訓(xùn)練模型所采取的網(wǎng)絡(luò)結(jié)構(gòu),輸入層為序列輸入,具有3個通道,緊接著為兩個卷積與平均池化層,然后是兩個全連接層,最后是一個輸出層,網(wǎng)絡(luò)中的激活函數(shù)除輸出層外均使用Leaky-Relu函數(shù),輸出層采用Relu函數(shù)。超參數(shù)的選取見表2,由于預(yù)訓(xùn)練和再訓(xùn)練的訓(xùn)練樣本數(shù)差距較大,因此迭代樣本數(shù)選取不同。由于再訓(xùn)練是建立在預(yù)訓(xùn)練的基礎(chǔ)上,各學(xué)習(xí)參數(shù)不需要較大變動,因此再訓(xùn)練的初始學(xué)習(xí)率設(shè)置得更小,學(xué)習(xí)率下降周期更長,且遷移學(xué)習(xí)從預(yù)訓(xùn)練中已經(jīng)學(xué)到部分?jǐn)?shù)據(jù)特征,進(jìn)一步縮減再訓(xùn)練的迭代輪次,減少訓(xùn)練時間。
表2 超參數(shù)的選取
2.2.3 訓(xùn)練結(jié)果
將CNN-LSTM神經(jīng)網(wǎng)絡(luò)利用源數(shù)據(jù)集預(yù)訓(xùn)練后,隨機(jī)選取了測試集中0℃下US06工況樣本進(jìn)行SOC估計。圖5(b)中均方根誤差ERMSE為2.86%,估計誤差峰值的絕對值即為最大誤差EMAX,其值為6.36%。結(jié)果說明預(yù)訓(xùn)練后的CNN-LSTM神經(jīng)網(wǎng)絡(luò)能夠?qū)崿F(xiàn)電池SOC的準(zhǔn)確估計。
(a)SOC觀測曲線和估計曲線對比
(b)SOC估計誤差曲線
圖6是選取表 2中再訓(xùn)練的超參數(shù)進(jìn)行遷移學(xué)習(xí)后的估計結(jié)果,該結(jié)果是測試集中0℃下LA92工況的估計結(jié)果。其ERMSE為1.37%,EMAX為4.99%,估計曲線基本貼合觀測曲線,估計效果較優(yōu)。圖7(a)展示的是均方根誤差ERMSE、平均絕對誤差EMA、EMAX隨溫度變化的柱狀圖,可以看出遷移學(xué)習(xí)后的網(wǎng)絡(luò)對于低溫的SOC估計效果更好;圖7(b)是測試集誤差ERMSE、EMA、EMAX對應(yīng)不同工況的柱狀圖,表明遷移學(xué)習(xí)后的網(wǎng)絡(luò)對不同工況測試樣本的適應(yīng)性強(qiáng)。
(a)不同溫度條件
圖6 遷移學(xué)習(xí)0℃下LA92工況的SOC估計曲線Fig.6 Transfer learning SOC prediction curve under LA92 condition at 0℃
未進(jìn)行遷移學(xué)習(xí)的方法分為直接用預(yù)訓(xùn)練好的模型估計和用網(wǎng)絡(luò)模型直接訓(xùn)練兩種。直接用預(yù)訓(xùn)練好的模型對Panasonic電池測試數(shù)據(jù)集進(jìn)行測試,估計效果較差,因為訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)跨越了電池型號,所以只能學(xué)習(xí)到放電時SOC衰減的趨勢,估計準(zhǔn)確度非常差,其ERMSE為30.5%,EMAX為42.65%。用預(yù)訓(xùn)練的網(wǎng)絡(luò)模型直接對目標(biāo)數(shù)據(jù)集進(jìn)行訓(xùn)練可以達(dá)到較好的效果,其ERMSE為3.92%,EMAX為14.33%。相對于用網(wǎng)絡(luò)模型直接訓(xùn)練而言,在效果相近的情況下遷移學(xué)習(xí)訓(xùn)練次數(shù)更少。
未進(jìn)行遷移學(xué)習(xí)的CNN-LSTM網(wǎng)絡(luò)的超參數(shù)選取表 2中再訓(xùn)練的參數(shù),其中初始學(xué)習(xí)率設(shè)置為0.01,增強(qiáng)網(wǎng)絡(luò)的學(xué)習(xí)能力,避免陷入局部極小的情況。從圖8中可以看出,同樣的超參數(shù)選取情況下,網(wǎng)絡(luò)直接訓(xùn)練的估計效果不如遷移學(xué)習(xí)。
(a)直接測試的測試樣本估計誤差
(b)用網(wǎng)絡(luò)模型直接訓(xùn)練的測試樣本估計誤差
圖9 3種方法測試集的平均誤差對比Fig.9 Comparison of three methods test set prediction average errors
圖10 遷移學(xué)習(xí)隨訓(xùn)練輪次的誤差變化曲線Fig.10 Curves of transfer learning error with Epoch
(a)估計誤差隨L2正則化參數(shù)變化的曲線
(b)估計誤差隨學(xué)習(xí)率降落因子變化的曲線
針對電池SOC估計面臨的采集數(shù)據(jù)碎片化和小樣本問題,本文借助深度學(xué)習(xí)自動提取深層次特征和遷移學(xué)習(xí)提取源領(lǐng)域與目標(biāo)領(lǐng)域相似知識的能力,提出了一種基于遷移學(xué)習(xí)與深度學(xué)習(xí)的鋰電池SOC估算方法,設(shè)計了基于CNN-LSTM的深度神經(jīng)網(wǎng)絡(luò)模型,并進(jìn)行遷移學(xué)習(xí)。在訓(xùn)練輪次為500的情況下,經(jīng)遷移學(xué)習(xí)的預(yù)測模型與直接訓(xùn)練的預(yù)測模型相比,均方根誤差下降了47.29%。此外,本文還研究了超參數(shù)對遷移學(xué)習(xí)結(jié)果的影響,結(jié)果表明在選取合適的超參數(shù)的情況下,所提方法比直接訓(xùn)練收斂更快,準(zhǔn)確率更高。并且該方法在不同溫度、跨工況條件下,能夠?qū)崿F(xiàn)小樣本數(shù)據(jù)SOC估計的任務(wù),相較于傳統(tǒng)深度學(xué)習(xí)方法具有更強(qiáng)的適應(yīng)性,更快的訓(xùn)練速度和泛化性能。