侯瑞磊,范秋華
(青島大學 電氣工程學院,山東 青島 266071)
目前鋰離子(Li-ion)電池已被廣泛用作能量存儲系統(tǒng),例如手機、數(shù)碼產(chǎn)品、電動汽車、混合電動汽車、飛機電源等[1]。然而,鋰離子電池的性能會因其電化學成分的降解而隨時間和使用時間而下降[2],從而導致容量和功率衰減。這稱為電池老化,這是一種多耦合老化機制的結(jié)果,其機制受不同因素(例如電池化學和制造以及環(huán)境和工作條件)的影響[3]。鋰電池由于其高能量密度在很多領(lǐng)域十分受青睞,但是其危險性也要遠高于普通鉛酸電池,例如波音777飛機鋰電池著火、三星手機電池爆炸和特斯拉電動汽車自燃等事故都是由于鋰電池健康狀態(tài)出問題導致[4-6]。因此,在鋰電池的使用過程中對其健康狀態(tài)進行評估,及時識別異常狀態(tài)電池,對于電池使用安全和延長電池壽命都有著重要意義[7-8]。
目前,電池健康狀況評估(SOH)技術(shù)已經(jīng)廣泛應用于電動汽車等高耗電、大電池在運行中的實際性能評估。SOH反映了電池相對于其壽命開始時的當前存儲和供應能量/功率的能力,該能力通過實際電池容量/電阻與其初始值之比計算得出,對于電動汽車中電池中的可用能量起著至關(guān)重要作用[9]。這些年來,已經(jīng)開發(fā)了多種SOH估算方法[10]。一種常見的方法是使用數(shù)學模型來模擬電池衰減過程,然后使用各種優(yōu)化算法和濾波器,例如卡爾曼濾波器和粒子濾波器,來識別參數(shù)和SOH狀態(tài)[11]。另一種廣泛使用的方法是使用電化學模型,該模型應用偏微分方程來模擬與老化密切相關(guān)的質(zhì)量和電荷轉(zhuǎn)移動力學[12]。上述方法雖然具有不錯的評估準確度,但是其應用靈活性受限較大,模型一旦建立很難根據(jù)實際電池生產(chǎn)制造和使用進行調(diào)整,因此在實際應用過程中存在很大誤差[13-15]。隨著機器學習及傳感器技術(shù)的迅速發(fā)展,基于數(shù)據(jù)驅(qū)動的鋰電池健康估計和預測方法由于其靈活性和無模型優(yōu)勢而在學術(shù)界和工業(yè)界都越來越受到關(guān)注。
本文研究了一種基于卷積自編碼神經(jīng)網(wǎng)絡(luò)的鋰電池健康狀況評估方法,該方法通過卷積自編碼神經(jīng)網(wǎng)絡(luò)對鋰電池充放電和健康狀況數(shù)據(jù)進行特征提取,用Softmax對特征提取結(jié)果進行分類,得到電池的健康狀態(tài)評估。該方法能夠在使用過程中不斷學習電池數(shù)據(jù)特征,對模型進行實時改變,其應用靈活性和準確率有明顯提升。
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)是多層感知機(multi-layer perceptron,MLP)在二維圖像處理領(lǐng)域的一種推廣,它包含多個階段的視覺信息處理過程,能夠自動地從圖像中提取不同層次的特征表示。
從結(jié)構(gòu)上看,卷積神經(jīng)網(wǎng)絡(luò)包括卷積層、池化層和分類層3個部分,圖1為一個卷積神經(jīng)網(wǎng)絡(luò)的架構(gòu)示意圖。圖中輸入端是大小為32×32的圖像;中間層是由多個卷積和池化操作組成的特征提取層,卷積層和池化層的大小分別為5×5、2×2。每個卷積層采用局部連接和全局共享的連接方式提取圖像的局部特征,并將這些特征組合起來構(gòu)成一幅特征映射圖,然后經(jīng)過池化操作簡化卷積層的輸出,利用圖像局部相關(guān)性的原理,降低特征的維數(shù),同時保留了有用的信息;輸出端為分類層,是一種全連接網(wǎng)絡(luò),將前一層的輸出通過串行連接的方式展開,展開的所有輸出構(gòu)成特征向量。網(wǎng)絡(luò)的輸出層神經(jīng)元個數(shù)為訓練圖像集的類型個數(shù),即為類型標簽的個數(shù)。
圖1 卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)示意圖
卷積自編碼神經(jīng)網(wǎng)絡(luò)(convolutional auto-encoder,CAE)是在自編碼神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上發(fā)展而來,將卷積神經(jīng)網(wǎng)絡(luò)中的卷積操作引入到自編碼網(wǎng)絡(luò)中,即形成了卷積自編碼網(wǎng)絡(luò),圖2為一個卷積自編碼網(wǎng)絡(luò)的架構(gòu)示意圖。圖中輸入層和輸出層的維度相同,均為32×32的數(shù)據(jù)矩陣;中間層由卷積操作和反卷積操作組成,分別用于提取特征和輸出重構(gòu),圖中卷積層和反卷積層的大小為5×5。
圖2 卷積自編碼神經(jīng)網(wǎng)絡(luò)架構(gòu)示意圖
在卷積自編碼神經(jīng)網(wǎng)絡(luò)的訓練學習中,規(guī)定網(wǎng)絡(luò)的期望輸出等于網(wǎng)絡(luò)的輸入,即網(wǎng)絡(luò)的學習目標是使得網(wǎng)絡(luò)的輸出等于網(wǎng)絡(luò)的輸入,因此卷積自編碼神經(jīng)網(wǎng)絡(luò)的訓練過程屬于無監(jiān)督學習。
從連接方式上來看,卷積自編碼神經(jīng)網(wǎng)絡(luò)采用局部連接的方式,每層神經(jīng)元只與其上一層的部分神經(jīng)元相連,如圖3所示,神經(jīng)元S3只與其上一層的X2、X3、X4三個神經(jīng)元相連。因此卷積自編碼神經(jīng)網(wǎng)絡(luò)側(cè)重于輸入數(shù)據(jù)局部信息的學習,有利于局部特征的提取。
圖3 局部連接結(jié)構(gòu)示意圖
此外,卷積自編碼網(wǎng)絡(luò)具有權(quán)值共享特性。權(quán)值共享是指每個特征映射圖中的所有神經(jīng)元都用相同權(quán)值的卷積核與輸入圖像掃描窗口內(nèi)的像素做卷積(卷積操作),如圖4所示,輸入數(shù)據(jù)矩陣的維度為28×28,隱含層神經(jīng)元與圖像中的5×5局部區(qū)域連接,該區(qū)域常稱為局部感知域,該局部區(qū)域?qū)?×5權(quán)值參數(shù)為卷積核。同一個卷積核在整個圖像中按照從左向右、從上至下的順序滑動,就會在隱含層中得到不同的神經(jīng)元,構(gòu)成特征映射圖。因此卷積核也稱為共享權(quán)值,用于提取和檢測數(shù)據(jù)不同位置處的同一個局部特征。由此可見,局部連接特性和權(quán)值共享特性使得卷積自編碼網(wǎng)絡(luò)有利于捕捉輸入數(shù)據(jù)中的平移不變特征,即具有平移不變學習特性。
圖4 權(quán)值共享示意圖
本節(jié)研究了基于卷積自編碼網(wǎng)絡(luò)的信號特征分量自學習方法,利用卷積自編碼網(wǎng)絡(luò)對數(shù)據(jù)進行先卷積后反卷積的處理,在卷積的過程中學習信號的特征知識,在反卷積過程中獲得信號的多個特征分量,實現(xiàn)信號特征分量的自動學習。
目前卷積自編碼網(wǎng)絡(luò)的處理對象大多為圖像,卷積自編碼網(wǎng)絡(luò)的結(jié)構(gòu)以及不同層神經(jīng)元之間的卷積操作是以二維卷積形式出現(xiàn)的,而在鋰電池健康狀態(tài)評估中,需要處理的數(shù)據(jù)往往是電池的電壓、電流和溫度等信號,因此需要構(gòu)建適合電池狀態(tài)信號的卷積自編碼網(wǎng)絡(luò),如圖9所示。圖中網(wǎng)絡(luò)的輸入為鋰電池在充放電過程中的狀態(tài)信號,維度為949×6;網(wǎng)絡(luò)輸出為輸入信號的重構(gòu);中間層的構(gòu)造與基于圖像的卷積自編碼網(wǎng)絡(luò)相同,包括卷積層和反卷積層。圖中卷積核的大小為95×6,隱含層的每個神經(jīng)元與輸入數(shù)據(jù)中長度為95的局部區(qū)域相連;圖中@3的含義是指卷積核的個數(shù)為3。
在圖5所示的網(wǎng)絡(luò)架構(gòu)中,對于給定的輸入向量x,當采用的激活函數(shù)為tanh函數(shù)時,網(wǎng)絡(luò)的輸出表達式為:
圖5 卷積自編碼網(wǎng)絡(luò)架構(gòu)示意圖
(1)
式中,W(2)為卷積核的參數(shù),即為共享的權(quán)值參數(shù);hk為隱含層神經(jīng)元的激活值;b(2)為卷積核對應的偏置。由tanh函數(shù)的性質(zhì)和分塊矩陣運算法則可推導:
(2)
(3)
當|ab|<1時,有:
(4)
由式(4)可以看出,卷積自編碼網(wǎng)絡(luò)的輸出可以看作多個分量Ii的疊加。因此,對于電池狀態(tài)信號,在經(jīng)過卷積自編碼網(wǎng)絡(luò)的訓練后,該網(wǎng)絡(luò)模型能夠?qū)⒃夹盘柗纸鉃槎鄠€特征分量,每個特征分量Ii都可看作是卷積核Wi(2)與激活值向量hi的卷積。因此將信號輸入到卷積自編碼網(wǎng)絡(luò)中的訓練過程,也是該網(wǎng)絡(luò)模型對信號的特征學習過程,它能夠依賴信號本身分解信號,得到包含信號特征知識的多個特征分量。
如圖6所示,在鋰離子電池健康狀況評估方法中,首先構(gòu)造電池狀態(tài)數(shù)據(jù)矩陣作為無監(jiān)督學習卷積自編碼神經(jīng)網(wǎng)絡(luò)的輸入,卷積自編碼神經(jīng)網(wǎng)絡(luò)的輸出作為softmax分類器的輸入,歷史數(shù)據(jù)中的電池健康狀態(tài)作為有監(jiān)督學習的softmax分類器的輸出,對整個網(wǎng)絡(luò)進行訓練。訓練完畢后即可使用該網(wǎng)絡(luò)進行電池健康狀態(tài)評估。
圖6 基于卷積自編碼神經(jīng)網(wǎng)絡(luò)的鋰電池SOH
在訓練方法上,卷積自編碼神經(jīng)網(wǎng)絡(luò)包含前向算法和誤差反向傳播算法,前向算法用于計算網(wǎng)絡(luò)的輸出,誤差反向傳播算法則用于調(diào)整卷積核的參數(shù)值,從而使得網(wǎng)絡(luò)的代價函數(shù)取得最小值。圖7為卷積自編碼網(wǎng)絡(luò)的訓練流程圖。
圖7 =卷積自編碼網(wǎng)絡(luò)的訓練流程圖
卷積自編碼網(wǎng)絡(luò)的不同層之間通過卷積運算連接起來,其模型參數(shù)為(W,b)=(W(1),b(1),W(2),b(2))。以圖5中的卷積自編碼網(wǎng)絡(luò)模型為例,詳細分析網(wǎng)絡(luò)訓練需用到的前向算法和誤差反向傳播算法。
對于給定的網(wǎng)絡(luò)模型參數(shù)(W,b)以及網(wǎng)絡(luò)輸入x,按照前向算法分別計算隱含層的輸出和輸出層的輸出。其中,輸入層到隱含層的計算公式為:
(5)
(6)
(7)
(8)
式(5)~(7)中的卷積操作分別為valid convolution和full convolution,其中,full convolution是指一個維度為m×1的向量與一個維度為n×1的向量卷積后生成(m+n-1)×1的向量,而valid convolution的卷積結(jié)果為(m-n+1)×1。因此,卷積自編碼神經(jīng)網(wǎng)絡(luò)分別經(jīng)過valid convolution和full convolution后,可以在網(wǎng)絡(luò)的輸出層得到原始輸入的重構(gòu)表達。
卷積自編碼神經(jīng)網(wǎng)絡(luò)的代價函數(shù)為網(wǎng)絡(luò)實際輸出與網(wǎng)絡(luò)輸入之間的差別,假定訓練數(shù)據(jù)包含m個樣本{x(1),x(2),…,x(m)},則其在m個樣本的數(shù)據(jù)集上的整體代價函數(shù)為:
(9)
J(W,b)的最小值通過迭代優(yōu)化算法求解,網(wǎng)絡(luò)模型訓練之前,先對卷積核的參數(shù)初始化為很小的接近于0的隨機值,然后通過迭代優(yōu)化不斷進行更新,更新公式為:
(10)
(11)
式(9)、(10)中的偏導數(shù)通過誤差反向傳播算法計算得到,具體計算過程如下:
對于每一個訓練樣本x(k)計算得到網(wǎng)絡(luò)的實際輸出hW,b(x(k))后,網(wǎng)絡(luò)輸出層的每個輸出單元i的誤差為:
(12)
式中,zi為 輸出層神經(jīng)元i。對于隱含層,其第i個神經(jīng)元的誤差為:
(13)
式中卷積操作為full convolution。單個樣本x(k)的代價函數(shù)的偏導數(shù)為:
(14)
(15)
式(13)中的卷積操作為valid convolution。整個訓練數(shù)據(jù)集上的代價函數(shù)J(W,b)的偏導數(shù)為:
(16)
(17)
通過在迭代運算中利用這兩個式子來調(diào)整參數(shù)W,b的值,代價函數(shù)J(W,b)取得最小值時的W,b就是訓練完畢的卷積自編碼網(wǎng)絡(luò)的模型參數(shù)。
本文使用NASA公開的電池數(shù)據(jù)集作為試驗對象,該試驗中共有一組4個鋰離子電池(5號,6號,7號和18號)在室溫下經(jīng)過3種不同的操作曲線(充電,放電和阻抗)。以1.5 A的恒定電流(CC)模式進行充電,直到電池電壓達到4.2 V,然后以恒定電壓(CV)模式繼續(xù)充電,直到充電電流降至20 mA。以2 A的恒定電流(CC)進行放電,直到電池5號、6號、7號和18號的電池電壓分別降至2.7 V,2.5 V,2.2 V和2.5 V。阻抗測量是通過從0.1 Hz到5 kHz的電化學阻抗譜(EIS)頻率掃描進行的。重復的充電和放電循環(huán)會導致電池加速老化,而阻抗測量則可以深入了解隨著老化的進行而變化的內(nèi)部電池參數(shù)。當電池達到壽命終止(EOL)標準時即終止實驗,該標準是額定容量(從2 Ahr降至1.4 Ahr)下降了30%。每組數(shù)據(jù)包括了電池的充放電狀態(tài)、電池阻抗(可視為電池健康狀態(tài))和6個電池狀態(tài)量,分別是:電池終端電壓、電流,環(huán)境溫度,充電器電壓、電流和記錄時間。
構(gòu)造維度為789×5的訓練樣本,并設(shè)置卷積核的個數(shù)為5,維度為80×5,然后將訓練樣本輸入到網(wǎng)絡(luò)模型中進行訓練,如圖8~12所示,訓練結(jié)束后可得到網(wǎng)絡(luò)權(quán)值參數(shù)(即卷積核)及提取的特征分量;之后再使用softmax分類器對特征分量進行分類,使用阻抗數(shù)據(jù)進行有監(jiān)督學習訓練,如表1所示,相比傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)和卡爾曼濾波方法,本文所提出的基于卷積自編碼神經(jīng)網(wǎng)絡(luò)的電池健康狀態(tài)評估準確率有很大提升。
圖8 第一個卷積核及其對應特征分量的波形圖
圖9 第二個卷積核及其對應特征分量的波形圖
圖10 第三個卷積核及其對應特征分量的波形圖
圖11 第四個卷積核及其對應特征分量的波形圖
圖12 第五個卷積核及其對應特征分量的波形圖
表1 幾種SOH方法準確率
本文所研究的基于卷積自編碼神經(jīng)網(wǎng)絡(luò)的鋰離子電池健康狀況評估技術(shù)使用了卷積自編碼神經(jīng)網(wǎng)絡(luò)對電池在充放電過程中的電池電壓和電流,環(huán)境溫度,充電器電壓和電流信號進行特征提取,使用softmax對提取特征進行分類,對電池的SOH進行評估。