李龍,燕旭朦,張鈺聲,馮雅琳,胡紅利,段羽潔,崔晨輝
(1. 國網陜西省電力有限公司電力科學研究院,西安,710199;2. 西安交通大學電氣工程學院,710049,西安; 3. 國網西安高新供電公司,710076,西安)
鋰電池因其較高的儲能密度、功率容限和較低的成本受到了人們的廣泛關注,目前已廣泛應用于消費電子、動力系統與大規模儲能系統中[1]。電池荷電狀態(state of charge, SOC)是鋰電池循環過程中的重要參數,表征了電池在充放電循環中的剩余容量[2]。SOC的準確估計至關重要,其對電動汽車的可靠行駛、儲能系統的狀態估計與決策都有重要的意義[3]。
SOC值隨著充放電循環變化,并且受到溫度、電池老化等情況的影響[4],無法直接用傳感器測量。目前,常用的SOC估算方法有基于電化學模型的方法、安時積分法、開路電壓法、卡爾曼濾波族法、數據驅動法等。電化學模型法研究鋰離子電池內部電化學反應動力學,從運行機理方面描述電池的充放電狀態[5-7]。電化學模型狀態估計準確,但是計算量大且應用過程復雜。安時積分法直接對充放電循環曲線進行積分,得到電池的SOC值,但該方法存在初始SOC不確定、電流傳感器溫度漂移等問題,隨著電池循環,測量的累積誤差會不斷增大。開路電壓法需要將電池開路靜置[3,8],不能對SOC進行在線估算。卡爾曼濾波族法[7,9-13]依賴于建立的電路等效模型的準確性,對真實世界中多樣的電池類型與工況的自適應性較弱。針對上述方法存在的問題,研究人員做出了一定的改進。文獻[8]利用實驗和數學模型修正鋰離子電池端電壓,使開路電壓法得以應用于在線SOC估算。文獻[5]構建了一種能反映電池退化的降階電化學模型,結合雙非線性濾波器實現電池SOC和健康狀態(state of health, SOH)的估計。文獻[14]提出了一種變階RC模型的多模模型,更好地反映鋰離子電池的動態非線性特性。隨著機器學習的發展,基于數據驅動的方法展現了卓越的性能,機器學習能夠挖掘在電池充放電循環實驗中獲得的歷史數據,從運行數據中獲取啟發性知識與特征。傳統的機器學習方法[15],例如貝葉斯和支持向量機等已經被用于電池SOC的估計任務中,這些方法直接學習可觀測量與SOC之間的映射關系。深度學習能夠捕捉全局特征與上下文信息,自動提取深層次的數據特征,在圖像識別、序列信息處理等任務中較傳統方法性能更佳[16]。文獻[17]基于一種循環神經網絡對電池的剩余使用壽命進行預測,在一定電流密度下,預測結果誤差較小。文獻[18]利用長短期記憶神經網絡(long short-term memory, LSTM)的長時記憶特性,將階段SOH均值引入SOC的估算中實現聯合估算,提高了SOC的估計精度。
為保證模型準確性,深度學習依賴于大數據集的訓練,這一點在使用深度學習方法的SOC估計研究中得以體現[19-21],但該方式的缺點卻往往較少提及。首先,大型數據集的獲取是一個長期和高成本的過程。例如,電池數據集有各種實驗工況,如恒壓恒流充放電工況、美國城市道路循環工況(UDDS)、聯邦城市運行工況(FUDS)等,在進行SOC估計時,研究者往往獲得帶有噪聲的小樣本數據,這就使得深度學習訓練得到的網絡的適應性與泛化性能較差[3,6]。針對上述問題,本文設計出一種深度學習與遷移學習結合的方法,通過深度學習自動提取深層次特征的能力以及遷移學習獲取不同領域知識的特性,實現對小樣本數據的SOC估計,具有更快的訓練速度和更好的泛化性能。
本文所提出的SOC估計方法如圖1所示。首先需要對網絡進行配置,包括網絡結構以及網絡參數的設置;然后通過K折交叉驗證對源數據集進行劃分處理。使用配置好的網絡進行K次訓練,選擇估計性能最優的網絡保留其網絡結構及參數。使用目標數據集進行遷移學習再訓練。此外,對訓練好的網絡進行測試,得到誤差結果。最后將提出的方法與未進行遷移學習的方法進行性能比較。
受到人眼觀察事物方式的啟發,二維卷積神經網絡在圖像處理的任務中展現了卓越的性能。對于SOC估計任務而言,電池組的傳感器數據通常是一維時間序列,例如電壓、電流、溫度隨時間的變化,CNN可以從傳感器數據中識別出簡單的特征,并組合抽象為更深層次的模式,因此一維CNN適用于多傳感器融合與信號處理的任務中[19]。
一維CNN與二維CNN的區別在于卷積核的大小與卷積核滑動的方式。對卷積層的輸入而言,設其為一維序列X。Mn-1代表網絡的第n層的輸入,Mn表示第n層向下一層傳遞的值,由此,卷積層的行為可以描述如下式
Mn=f(Mn-1*Wn+bn)
(1)
式中:Wn為第n層卷積核的權值向量;*代表卷積操作;bn為偏移向量,通過激活函數f(·)映射出該層的輸出Mn;池化層對輸入Mn-1進行特征降維,并在一定程度上保持特征的尺度不變性。池化層的產生可以描述如下式
Mn=Pooling(Mn-1)
(2)
式中:Pooling(Mn-1)通常使用平均池化或者最大池化,在本文中,采用平均池化可減少傳感器噪聲對性能的影響。
LSTM是循環神經網絡(recurrent neural network, RNN)的一種,均可用于解決時序問題,但是RNN存在梯度爆炸或梯度消失問題,因此不具備長期記憶功能[17]。為了解決這一問題,LSTM引入了門控單元[22],包括輸入門、遺忘門和輸出門,使用門結構實現信息一定程度的保留,達到選擇性遺忘的目的,既實現了長期記憶功能,也不至于占據大量內存[19]。每個LSTM單元如圖2所示,有3個輸入為:細胞狀態Ct-1、隱層狀態ht-1和t時刻的輸入向量xt;有兩個輸出為:細胞狀態Ct和隱層狀態ht,同時ht作為t時刻的輸出。Ct-1會參與t時刻輸出ht的計算,t時刻的隱層狀態ht-1與輸入xt也會對Ct進行適當修改,傳到下一時刻。具體的計算公式如下

圖2 LSTM神經元結構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)

研究者們采用一種方式在現實世界中使用機器學習模型:即在訓練集驗證了構建模型的可行性后,使用收集到的新數據重構網絡以保證模型的準確性,因為收集到的新樣本可能與訓練數據特征并不完全相似。
與傳統機器學習相比深度學習性能更卓越,但是也面臨著上述問題。更進一步地,深度學習訓練階段依賴于大型數據集,使用小樣本容易導致模型訓練不充分或者直接過擬合。實驗數據通常是在實驗室對電池進行循環充放電等實驗中采集得到的,需要付出大量的人力物力資源。現實采集到的電池運行數據具有小樣本特征,存在非平穩放電、受噪聲干擾等問題。目前急需解決的是目標數據與源數據特征分布不完全相同的問題和小樣本訓練導致性能退化的問題。
遷移學習通俗來講就是學習知識之間的相似性,利用舊知識來完成新任務的方法[23]。遷移學習涉及領域和任務兩個概念。領域D定義為由d維特征空間R和邊緣概率分布P(x)組成,D={X,P(x)},任務T={Y,f(x)},其中Y代表標簽空間,f(x)代表回歸模型。遷移學習可定義為:給定源任務DS和TS,新的目標任務中,在DS≠DT或TS≠TT條件下學習源域與目標域知識的相似性[24],提高目標域回歸模型fT(x)的泛化性能[25]。
不同的鋰電池雖然型號與運行環境不同,但是其工作原理類似,其電參數和溫度所反映的電池信息特征分布具有一定的相似性,本文針對上文提到的兩點問題,構建一種結合深度學習與遷移學習的電池SOC估計方法,自動提取遷移學習源域與目標域相似的特征分布,有效增強目標域與小樣本學習的模型適應能力。
在遷移學習過程中,研究者時常遇到目標域與源域樣本空間不同的問題,可分為輸入維度不同與輸入序列屬性不同。本文的SOC預測方法中,對于輸入維度不同的問題,采取電池端電壓、電流與溫度3個實際鋰電池應用中普遍存在的物理量作為輸入。對于輸入序列屬性不同的問題,本文關注系統采樣率差異導致的機器學習在實際應用中適應性差的問題。對于采樣率差異的問題,本文采取對目標域樣本空間進行重采樣的方式。對于目標域采樣率較低的情況,采取插值后升采樣的方式;對于目標域采樣率較高的情形,采用先濾波后抽取的方法進行降采樣。
本實驗中源數據采用NASA鋰電池數據集,目標數據采用Panasonic鋰電池實驗數據集,本文將SOC值記作SOC。源數據包含了6組共22塊鋰電池的放電循環,每個放電循環的SOC均從100%開始放電,總計2 016個樣本。該鋰電池額定容量均為2 A·h,該電池數據集有4種工作溫度條件,包括4℃、24℃、43℃、混合溫度;每組電池的放電方式均不相同,有2 A、4 A恒流放電、方波放電、分段恒流放電等放電方式,每個放電循環持續時間取決于放電方式,持續10~70 min。由于該數據集的多樣性以及樣本量充足,所以具備作為遷移學習中源數據的條件。目標數據是Phillip Kollmeyer博士實驗所得Panasonic 18650PF電池數據集,該數據集是額定容量為2.9 A·h的全新Panasonic 18650PF電池在5種不同溫度下進行的多工況測試得到,溫度范圍為-20℃~25℃,測試驅動循環共9種,包括US06、HWFET、UDDS、LA92、NN以及由這5種驅動循環隨機組合的混合驅動循環,其中NN驅動循環由US06和LA92驅動循環組合而成。目標數據集樣本數較少,共有46個放電循環,選取UDDS、LA92、NN工況下獲得的實驗數據作為測試數據,其余數據為訓練數據。
由于源數據集放電循環采樣率為0.1 Hz,而目標數據集放電循環采樣率為10 Hz,因此為了統一源域與目標域的樣本空間,將目標數據集放電循環進行了降采樣,即每100個數據點取平均值,步長為100。該方法既可以使目標數據用于遷移學習,也可以對高頻噪聲進行濾除。
本文選用放電電壓、放電電流、電池溫度作為模型的輸入特征,電池的SOC作為模型的目標輸出,由于NASA數據未直接給出相應時刻的SOC,本文采用安時積分法計算得出的SOC作為目標輸出。為消除各變量之間的量值大小差異的影響,本文對所有輸入輸出數據進行了最大-最小的標準化處理,表達式如下
(9)

2.2.1K折交叉驗證
K折交叉驗證如圖3所示,在預訓練中,源數據集被隨機分為K個相互排斥的數據子集,將這種數據子集稱作折疊,然后進行K次模型訓練,每次訓練中,保留一個數據折疊作為測試數據,其余K-1個折疊作為訓練數據,K次訓練均保留不同的折疊。K次模型訓練結束后,選取測試集估計誤差最小的模型,保留其網絡結構和參數進行遷移學習。

圖3 K折交叉驗證Fig.3 K-fold cross validation
2.2.2 CNN-LSTM網絡模型
論文所構建的網絡為CNN-LSTM神經網絡,模型包括兩層卷積層、兩層池化層、一層LSTM層和兩層全連接層,輸入為時間序列數據,每層卷積層后連接平均池化層進行特征降維,而后通過卷積層挖掘數據間的關系,再利用LSTM的記憶功能對數據進行選擇性記憶得到關鍵特征,最后用全連接層進行特征關聯,得出對應的SOC。具體網絡結構如圖4所示。具體網絡結構配置參數見表1。

表1 CNN-LSTM神經網絡結構配置參數

橙色—卷積層;灰色—池化層;綠色—LSTM層;淺藍色—全連接層。圖4 CNN-LSTM神經網絡模型Fig.4 CNN-LSTM neural network model
表1為訓練模型所采取的網絡結構,輸入層為序列輸入,具有3個通道,緊接著為兩個卷積與平均池化層,然后是兩個全連接層,最后是一個輸出層,網絡中的激活函數除輸出層外均使用Leaky-Relu函數,輸出層采用Relu函數。超參數的選取見表2,由于預訓練和再訓練的訓練樣本數差距較大,因此迭代樣本數選取不同。由于再訓練是建立在預訓練的基礎上,各學習參數不需要較大變動,因此再訓練的初始學習率設置得更小,學習率下降周期更長,且遷移學習從預訓練中已經學到部分數據特征,進一步縮減再訓練的迭代輪次,減少訓練時間。

表2 超參數的選取
2.2.3 訓練結果
將CNN-LSTM神經網絡利用源數據集預訓練后,隨機選取了測試集中0℃下US06工況樣本進行SOC估計。圖5(b)中均方根誤差ERMSE為2.86%,估計誤差峰值的絕對值即為最大誤差EMAX,其值為6.36%。結果說明預訓練后的CNN-LSTM神經網絡能夠實現電池SOC的準確估計。

(a)SOC觀測曲線和估計曲線對比

(b)SOC估計誤差曲線
圖6是選取表 2中再訓練的超參數進行遷移學習后的估計結果,該結果是測試集中0℃下LA92工況的估計結果。其ERMSE為1.37%,EMAX為4.99%,估計曲線基本貼合觀測曲線,估計效果較優。圖7(a)展示的是均方根誤差ERMSE、平均絕對誤差EMA、EMAX隨溫度變化的柱狀圖,可以看出遷移學習后的網絡對于低溫的SOC估計效果更好;圖7(b)是測試集誤差ERMSE、EMA、EMAX對應不同工況的柱狀圖,表明遷移學習后的網絡對不同工況測試樣本的適應性強。

(a)不同溫度條件

圖6 遷移學習0℃下LA92工況的SOC估計曲線Fig.6 Transfer learning SOC prediction curve under LA92 condition at 0℃
未進行遷移學習的方法分為直接用預訓練好的模型估計和用網絡模型直接訓練兩種。直接用預訓練好的模型對Panasonic電池測試數據集進行測試,估計效果較差,因為訓練數據和測試數據跨越了電池型號,所以只能學習到放電時SOC衰減的趨勢,估計準確度非常差,其ERMSE為30.5%,EMAX為42.65%。用預訓練的網絡模型直接對目標數據集進行訓練可以達到較好的效果,其ERMSE為3.92%,EMAX為14.33%。相對于用網絡模型直接訓練而言,在效果相近的情況下遷移學習訓練次數更少。
未進行遷移學習的CNN-LSTM網絡的超參數選取表 2中再訓練的參數,其中初始學習率設置為0.01,增強網絡的學習能力,避免陷入局部極小的情況。從圖8中可以看出,同樣的超參數選取情況下,網絡直接訓練的估計效果不如遷移學習。

(a)直接測試的測試樣本估計誤差

(b)用網絡模型直接訓練的測試樣本估計誤差


圖9 3種方法測試集的平均誤差對比Fig.9 Comparison of three methods test set prediction average errors

圖10 遷移學習隨訓練輪次的誤差變化曲線Fig.10 Curves of transfer learning error with Epoch

(a)估計誤差隨L2正則化參數變化的曲線

(b)估計誤差隨學習率降落因子變化的曲線
針對電池SOC估計面臨的采集數據碎片化和小樣本問題,本文借助深度學習自動提取深層次特征和遷移學習提取源領域與目標領域相似知識的能力,提出了一種基于遷移學習與深度學習的鋰電池SOC估算方法,設計了基于CNN-LSTM的深度神經網絡模型,并進行遷移學習。在訓練輪次為500的情況下,經遷移學習的預測模型與直接訓練的預測模型相比,均方根誤差下降了47.29%。此外,本文還研究了超參數對遷移學習結果的影響,結果表明在選取合適的超參數的情況下,所提方法比直接訓練收斂更快,準確率更高。并且該方法在不同溫度、跨工況條件下,能夠實現小樣本數據SOC估計的任務,相較于傳統深度學習方法具有更強的適應性,更快的訓練速度和泛化性能。