侯朋飛,王金全,徐 曄,李建科,嚴(yán) 鋆
(解放軍理工大學(xué) 國防工程學(xué)院,江蘇 南京 210007)
基于深度學(xué)習(xí)和量子遺傳算法的電池SoC估算方法研究
侯朋飛,王金全,徐 曄,李建科,嚴(yán) 鋆
(解放軍理工大學(xué) 國防工程學(xué)院,江蘇 南京 210007)
儲(chǔ)能電池的荷電狀態(tài)是電池的重要特性,針對(duì)淺層學(xué)習(xí)算法的不足,提出了深度學(xué)習(xí)理論與量子遺傳相結(jié)合的算法以提高估算結(jié)果的正確性。該算法能夠自動(dòng)從樣本中提取更加抽象、更具表達(dá)能力的特征,實(shí)現(xiàn)輸入和輸出數(shù)據(jù)之間的復(fù)雜非線性映射;量子遺傳算法自動(dòng)尋優(yōu),得到每個(gè)RBM輸出估算值的權(quán)值。通過對(duì)電池SoC訓(xùn)練樣本和測(cè)試樣本的估算,與BP訓(xùn)練網(wǎng)絡(luò)估算結(jié)果對(duì)比,得出本文所提的DBN-QGA算法網(wǎng)絡(luò)估計(jì)精度更高。
深度學(xué)習(xí);量子遺傳;電池;荷電狀態(tài);估算方法
儲(chǔ)能電池的工作狀態(tài)與電解液、電極、溫度和充放電電流大小有關(guān),是一個(gè)高度復(fù)雜的非線性系統(tǒng)。由于神經(jīng)網(wǎng)絡(luò)能夠利用樣本數(shù)據(jù)建立輸入輸出的關(guān)系,不需輸入輸出明確的關(guān)系式,具有較強(qiáng)的非線性映射能力,逐步被應(yīng)用于復(fù)雜函數(shù)的狀態(tài)估計(jì)。如支持向量機(jī)模型、最大熵模型、隱馬爾科夫模型,這些模型大多屬于淺層學(xué)習(xí)方法,其結(jié)構(gòu)可以認(rèn)為是帶有一層隱層節(jié)點(diǎn)或無隱層節(jié)點(diǎn),這種淺層學(xué)習(xí)結(jié)構(gòu)的局限性在于樣本和計(jì)算單元有限的情況下很難表征復(fù)雜函數(shù),面臨復(fù)雜問題時(shí)的泛化能力受到制約[1-5]。
目前,BP神經(jīng)網(wǎng)絡(luò)逐漸應(yīng)用于電池SoC估算,趙軒等人[6]利用BP網(wǎng)絡(luò)建立了蓄電池的SoC估算模型;尹安東等人[7]基于LM (Levenberg-Marquardt)算法建立了磷酸鐵鋰電池的BP神經(jīng)網(wǎng)絡(luò)模型,并進(jìn)行了電池 SoC值的預(yù)測(cè);米林等人[8]利用徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)方法建立電動(dòng)汽車動(dòng)力電池SoC估計(jì)的模型;劉征宇等人[9]建立了基于量子微粒群算法(QPSO)的BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)模型用于預(yù)測(cè)鋰離子電池充放電過程中的任一狀態(tài)下的SoC。BP網(wǎng)絡(luò)模型雖被稱作多層感知機(jī),但實(shí)際是只含有一層隱層節(jié)點(diǎn)的淺層模型,該算法包括一個(gè)輸入層、若干隱含層和一個(gè)輸出層,每層節(jié)點(diǎn)的輸出只影響下一層節(jié)點(diǎn),同層節(jié)點(diǎn)之間不存在相互連接,層與層之間多采用互聯(lián)方式,但是該算法的網(wǎng)絡(luò)誤差函數(shù)或能量函數(shù)空間是含有多個(gè)極小點(diǎn)的非線性空間,算法搜索的方向是網(wǎng)絡(luò)誤差或能量減小的方向,因而經(jīng)常收斂到局部最小,且網(wǎng)絡(luò)層數(shù)越多,局部收斂性越嚴(yán)重。
深度學(xué)習(xí)(Deep Learning)是最近發(fā)展起來的一種模式識(shí)別技術(shù),它能夠自動(dòng)從樣本中提取更加抽象、更具表達(dá)能力的特征,實(shí)現(xiàn)輸入和輸出數(shù)據(jù)之間的復(fù)雜非線性映射。與BP神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)等傳統(tǒng)淺層學(xué)習(xí)方法相比,深度學(xué)習(xí)的特點(diǎn)體現(xiàn)在以下幾個(gè)方面:(1)注重模型深度,通常有3層以上結(jié)構(gòu);(2)明確突出了特征學(xué)習(xí)的重要性,通過逐層特征變換,將樣本在原空間的特征表示變換到一個(gè)新特征空間,從而使分類或預(yù)測(cè)更加容易。目前,深度學(xué)習(xí)理論的實(shí)現(xiàn)方式有深度信念網(wǎng)絡(luò)(Deep Belief Networks, DBN)[10]、卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Networks, CNN)、去噪自動(dòng)編碼器、深度波爾茲曼機(jī)(Deep Boltzmann Machine, DBM)等多種算法,主要應(yīng)用于語音及圖像識(shí)別、句法分析、文本蘊(yùn)涵等,部分研究學(xué)者已將其引入到機(jī)械故障診斷領(lǐng)域中,但深度學(xué)習(xí)用于儲(chǔ)能系統(tǒng)SoC估算的研究還很少。
圖1 DBN-QGA算法
目前基于深度學(xué)習(xí)理論的應(yīng)用系統(tǒng)中,DBN是應(yīng)用比較廣泛的一類學(xué)習(xí)結(jié)構(gòu),它主要由多層受限波爾茲曼機(jī)(Restricted Boltzmann Machine, RBM)和一層有監(jiān)督網(wǎng)絡(luò)層組成,DBN能夠從大量樣本中有效學(xué)習(xí)到輸入、輸出數(shù)據(jù)之間的非線性映射關(guān)系。然而,DBN作為一種深層神經(jīng)網(wǎng)絡(luò),輸出結(jié)果不可避免帶有一定的隨機(jī)性。本文為了提高DBN輸出結(jié)果的可靠性和穩(wěn)定性,利用量子遺傳算法(Quantum Genetic Algorithm, QGA)對(duì)多個(gè)DBN的輸出結(jié)果自適應(yīng)加權(quán),提高儲(chǔ)能電池SoC的預(yù)測(cè)精度?;诖耍疚奶岢鯠BN-QGA網(wǎng)絡(luò)模型,如圖1所示。
基于量子遺傳算法,使用加權(quán)平均技術(shù)計(jì)算每個(gè)DBN網(wǎng)絡(luò)的輸出數(shù)據(jù):
(1)
圖1所示的算法中,輸入數(shù)據(jù)是電池的電壓和電流,經(jīng)過N個(gè)DNB后,得到N個(gè)SoC估算值,根據(jù)量子遺傳算法可得到N個(gè)加權(quán)值w,最后輸出加權(quán)計(jì)算后的SoC。
圖2 DBN網(wǎng)絡(luò)結(jié)構(gòu)圖
DBN由多個(gè)隱含層和一層BP網(wǎng)絡(luò)組成,相鄰的兩隱含層構(gòu)成一個(gè)RBM,其結(jié)構(gòu)如圖2所示。圖中,v和h分別表示可視層和隱含層內(nèi)的節(jié)點(diǎn)值,w表示兩層之間的權(quán)值。
DBN的訓(xùn)練過程為:首先,采用貪婪算法對(duì)RBM進(jìn)行逐層無監(jiān)督預(yù)訓(xùn)練,獲得網(wǎng)絡(luò)參數(shù)的初始值;然后,采用BP算法對(duì)整個(gè)網(wǎng)絡(luò)參數(shù)進(jìn)行微調(diào)。
DBN的訓(xùn)練過程如圖3所示,整個(gè)訓(xùn)練過程分為以下幾個(gè)步驟:
圖3 DBN的訓(xùn)練
(1)設(shè)定網(wǎng)絡(luò)層數(shù)、隱含層單元數(shù)等參數(shù),隨機(jī)初始化整個(gè)DBN的網(wǎng)絡(luò)參數(shù)。
(2)將訓(xùn)練樣本輸入到第1個(gè)RBM,采用CD算法對(duì)RBM進(jìn)行訓(xùn)練,保存網(wǎng)絡(luò)參數(shù)。
(3)將下一層RBM的隱含層輸出作為輸入數(shù)據(jù)訓(xùn)練下一個(gè)RBM,直到所有的RBM訓(xùn)練完畢。通過無監(jiān)督的預(yù)訓(xùn)練,可獲得整個(gè)DBN的網(wǎng)絡(luò)參數(shù)。
(4)利用最后一層的BP網(wǎng)絡(luò)進(jìn)行有監(jiān)督的訓(xùn)練,并反向調(diào)整各層RBM,獲得調(diào)整后的DBN網(wǎng)絡(luò)參數(shù)。
從圖3中可以看出,在DBN網(wǎng)絡(luò)的訓(xùn)練過程中,RBM的訓(xùn)練是核心,通過RBM的逐層訓(xùn)練,實(shí)現(xiàn)DBN網(wǎng)絡(luò)參數(shù)的初始化,這些網(wǎng)絡(luò)參數(shù)雖然不是最優(yōu)參數(shù),但是它們往往落在最優(yōu)值附近,可有效避免BP算法在訓(xùn)練分類器時(shí)由于隨機(jī)初始化網(wǎng)絡(luò)參數(shù)而導(dǎo)致陷入局部最優(yōu)、訓(xùn)練時(shí)間過長(zhǎng)等缺陷。
圖4 RBM結(jié)構(gòu)圖
RBM是由Smolensky于1986年提出的一種基于能量模型的隨機(jī)神經(jīng)網(wǎng)絡(luò),其結(jié)構(gòu)如圖4所示。RBM含有1個(gè)可視層和1個(gè)隱含層,其中,可視層和隱含層之間對(duì)稱雙向連接,而同一層內(nèi)單元之間沒有連接,隱單元可獲取輸入可視單元的高階相關(guān)性,且所有單元的狀態(tài)都是二元變量,只能取0或1。
對(duì)于RBM,它的可視層v和隱含層h處于某個(gè)狀態(tài)的概率由如下能量函數(shù)決定:
E(v,h)=-∑iaivi-∑jbjhj-∑i,jvihjwij
(2)
式中,vi和hi分別為可視單元i和隱含單元j,wij為可視單元vi和隱含單元hj之間的連接權(quán)值,aj和bj為相應(yīng)的偏置。
基于能量函數(shù)的可視層v和隱含層h的聯(lián)合概率分布p(v,h)可表示為:
(3)
式中,Z=∑v,hexp(-E(v,h))為歸一化因子。
因此,RBM分配給可視層v的概率ρ(v)為:
(4)
在RBM中,由于同一層內(nèi)單元之間沒有連接,因此,隱含單元hj的條件概率分布為:
ρ(hj=1|v)=σ(bj+∑iviwij)
(5)
同理,可視單元vi的條件概率分布為:
ρ(vj=1|h)=σ(ai+∑jhiwij)
(6)
式中,σ(x)=1/(1+exp(-x))為Sigmoid函數(shù)。
RBM的訓(xùn)練目標(biāo)是獲取生成性權(quán)值,w表示可視層和隱含層之間的權(quán)值。RBM通常采用Hinton提出的CD算法進(jìn)行訓(xùn)練來獲得網(wǎng)絡(luò)參數(shù)θ={wij,ai,bj},具體過程如圖5所示,具體步驟如下:
(1)設(shè)定訓(xùn)練次數(shù)、樣本子集個(gè)數(shù)等參數(shù),隨機(jī)初始化RBM的網(wǎng)絡(luò)參數(shù);
(2)對(duì)第i個(gè)樣本子集訓(xùn)練多個(gè)回合,每次訓(xùn)練完成后,更新網(wǎng)絡(luò)參數(shù),直到達(dá)到最大訓(xùn)練次數(shù);
(3)按照步驟(2)的方法訓(xùn)練下一個(gè)樣本子集,直到所有的樣本子集訓(xùn)練完畢,保存RBM的網(wǎng)絡(luò)參數(shù),結(jié)束訓(xùn)練。
圖5 RBM的訓(xùn)練過程
根據(jù)DBN-QGA算法流程,在MATLAB軟件中進(jìn)行編程,將實(shí)驗(yàn)獲取的電池電壓、電流數(shù)據(jù)導(dǎo)入程序中,選擇相應(yīng)的訓(xùn)練樣本和測(cè)試樣本對(duì)算法進(jìn)行預(yù)訓(xùn)練。
依托MATLAB M文件平臺(tái),依次對(duì)RBM訓(xùn)練過程、DBN訓(xùn)練過程、QGA尋優(yōu)算法編寫程序,具體步驟如下:
(1)網(wǎng)絡(luò)結(jié)構(gòu)確定
DBN網(wǎng)絡(luò)的隱含層數(shù)越多,則輸出結(jié)果越詳細(xì),但訓(xùn)練時(shí)間越長(zhǎng),本文設(shè)定DBN網(wǎng)絡(luò)的隱含層數(shù)為4,即網(wǎng)絡(luò)結(jié)構(gòu)含有4個(gè)RBM,設(shè)定訓(xùn)練次數(shù)為50、樣本子集個(gè)數(shù)為20。
(2)訓(xùn)練樣本采集
訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)的準(zhǔn)備是獲取深度學(xué)習(xí)網(wǎng)絡(luò)模型的關(guān)鍵,合理的訓(xùn)練樣本能夠保證網(wǎng)絡(luò)模型的精度,通常要求訓(xùn)練樣本覆蓋整個(gè)工作范圍,并要求具有相當(dāng)?shù)臉颖緮?shù)。樣本集準(zhǔn)備包括輸入樣本和輸出樣本的獲取,輸入樣本主要是電池端電壓和放電電流,輸出為電池靜態(tài)荷電狀態(tài)。根據(jù)測(cè)試的電池?cái)?shù)據(jù),以磷酸鐵鋰電池實(shí)驗(yàn)數(shù)據(jù)為例,選擇7.5 A、12.5 A、20 A、25 A、37.5 A、62.5 A、75 A、100 A、125 A共9種電流下充放電數(shù)據(jù)作為網(wǎng)絡(luò)訓(xùn)練樣本,選取充放電電流為50 A的實(shí)驗(yàn)數(shù)據(jù)作為測(cè)試樣本。某一電流下的實(shí)驗(yàn)數(shù)據(jù)對(duì)應(yīng)單次樣本,9種電流對(duì)應(yīng)的單次樣本組成樣本集。
(3)樣本數(shù)據(jù)歸一化
樣本中含有電壓、電流兩種變量,其量綱不同,為了消除各變量的數(shù)量級(jí)差別,避免因?yàn)檩斎胼敵鰯?shù)據(jù)數(shù)量級(jí)差別較大而造成網(wǎng)絡(luò)預(yù)測(cè)誤差較大,對(duì)樣本進(jìn)行歸一化處理。本文采用最大最小法對(duì)電壓、電流變量進(jìn)行歸一化處理,而靜態(tài)SoC的范圍為0~1,無需進(jìn)行數(shù)據(jù)處理。
(7)
其中:umax、umin、imax、imin分別為單次樣本電壓電流的最大、最小值。
選取磷酸鐵鋰電池充放電電流為20 A時(shí)的訓(xùn)練樣本和50 A時(shí)的測(cè)試樣本分別進(jìn)行驗(yàn)證。
(1)對(duì)訓(xùn)練樣本進(jìn)行驗(yàn)證
訓(xùn)練樣本集中包含充放電電流為20 A的實(shí)驗(yàn)數(shù)據(jù),為了評(píng)價(jià)網(wǎng)絡(luò)對(duì)訓(xùn)練過的樣本進(jìn)行預(yù)測(cè)的效果,仍選擇20 A的充放電數(shù)據(jù)為測(cè)試樣本,充電數(shù)據(jù)和放電數(shù)據(jù)為測(cè)試輸入樣本,充放電靜態(tài)SoC值為測(cè)試結(jié)果,驗(yàn)證結(jié)果如圖6所示。
圖6 DBN-QGA算法網(wǎng)絡(luò)對(duì)訓(xùn)練樣本的預(yù)測(cè)效果
為驗(yàn)證本文所提算法的精確性,與常用的BP訓(xùn)練網(wǎng)絡(luò)進(jìn)行對(duì)比。BP網(wǎng)絡(luò)對(duì)訓(xùn)練樣本的驗(yàn)證結(jié)果如圖7所示。
圖7 BP網(wǎng)絡(luò)對(duì)訓(xùn)練樣本的預(yù)測(cè)效果
由圖6和圖7可知,DBN-QGA算法網(wǎng)絡(luò)對(duì)訓(xùn)練過的樣本進(jìn)行估算輸出時(shí),基本與目標(biāo)輸出吻合,充電最大誤差為1.4%,放電最大誤差為1.3%,而BP網(wǎng)絡(luò)訓(xùn)練結(jié)果的誤差較為明顯,充電最大誤差為11.2%,放電最大誤差為9.83%,因此,本文所提的算法網(wǎng)絡(luò)能夠較好地對(duì)學(xué)習(xí)過的數(shù)據(jù)進(jìn)行估算。
值得注意的是,由于神經(jīng)網(wǎng)絡(luò)初始值的不確定性,每次對(duì)網(wǎng)絡(luò)驗(yàn)證的結(jié)果均不同,但差別不大,樣本估算值不是固定的,上述誤差分析時(shí),對(duì)BP訓(xùn)練網(wǎng)絡(luò)只選取了一次的驗(yàn)證結(jié)果。
(2)對(duì)測(cè)試樣本進(jìn)行驗(yàn)證
算法網(wǎng)絡(luò)的訓(xùn)練樣本集中不含充放電電流為50 A時(shí)的單次樣本,選擇該單次樣本的電壓數(shù)據(jù)和電流數(shù)據(jù)作為測(cè)試輸入樣本,對(duì)應(yīng)的靜態(tài)SoC為實(shí)驗(yàn)值,驗(yàn)證結(jié)果如圖8所示。
圖8 DBN-QGA算法網(wǎng)絡(luò)對(duì)測(cè)試樣本的預(yù)測(cè)效果
同樣與常用的BP訓(xùn)練網(wǎng)絡(luò)進(jìn)行對(duì)比。BP網(wǎng)絡(luò)對(duì)測(cè)試樣本的驗(yàn)證結(jié)果如圖9所示。
圖9 BP網(wǎng)絡(luò)對(duì)測(cè)試樣本的預(yù)測(cè)效果
由圖8和圖9可知,DBN-QGA算法網(wǎng)絡(luò)對(duì)未經(jīng)過訓(xùn)練的樣本進(jìn)行估算輸出時(shí),與目標(biāo)輸出比較吻合,充電最大誤差為1.2%,放電最大誤差為1%;而BP網(wǎng)絡(luò)訓(xùn)練結(jié)果的誤差較大,充電最大誤差為8.3%,放電最大誤差為6.4%。顯然,本文構(gòu)建的訓(xùn)練網(wǎng)絡(luò)能夠很好地對(duì)未經(jīng)過訓(xùn)練的數(shù)據(jù)進(jìn)行估算,網(wǎng)絡(luò)具有較好的泛化性能。
儲(chǔ)能電池的荷電狀態(tài)估算是實(shí)際應(yīng)用中的重要參數(shù),本文結(jié)合深度學(xué)習(xí)與量子遺傳算法,構(gòu)建了DBN-QGA算法網(wǎng)絡(luò),闡述了算法的設(shè)計(jì)過程,分別建立了DBN網(wǎng)絡(luò)結(jié)構(gòu)、RBM自訓(xùn)練過程、量子遺傳算法,所提出的算法可以自動(dòng)從樣本中提取更加抽象、更具表達(dá)能力的特性。通過對(duì)訓(xùn)練樣本和測(cè)試樣本的估算,對(duì)比BP訓(xùn)練網(wǎng)絡(luò)估算結(jié)果,本文所提的DBN-QGA算法提高了估算結(jié)果的正確性與準(zhǔn)確性,改善了淺層學(xué)習(xí)算法的不足。
[1] He Hongwei, Xiong Rui, Fan Jinxin. Evaluation of lithium-ion battery equivalent circuit models for state of charge estimation by an experimental approach[J]. Energies, 2011, 4(4): 582-598.
[2] CHARKHGARD M, FARROKHI M. State-of-charge estimation for lithium-ion batteries using neural networks and EKF[J]. IEEE Transactions on Industrial Electronics, 2010, 57(12): 4178-4187.
[3] SANTHANAGOPALAN S, WHITE R E. State of charge estimation using an unscented filter for high power lithium-ion cells[J]. International Journal of Energy Research, 2010, 34(2): 152-163.
[4] 尹虹毅. 基于深度學(xué)習(xí)的精神分裂癥腦電分析 [J]. 微型機(jī)與應(yīng)用, 2016, 35(6): 54-57.
[5] 吳洲, 曹偉. 自適應(yīng)算法在網(wǎng)絡(luò)學(xué)習(xí)系統(tǒng)的應(yīng)用研究[J]. 微型機(jī)與應(yīng)用, 2015, 34(24): 28-31.
[6] 趙軒, 康留旺, 汪貴平, 等. 基于BP神經(jīng)網(wǎng)絡(luò)的SOC估計(jì)及鉛酸蓄電池特性[J]. 電源技術(shù), 2014, 38(5): 874-878.
[7] 尹安東, 張萬興, 韓趙, 等. 基于神經(jīng)網(wǎng)絡(luò)的磷酸鐵鋰電池SOC預(yù)測(cè)研究[J]. 電子測(cè)量與儀器學(xué)報(bào), 2011, 25(5): 433-437.
[8] 林米, 趙孟娜, 秦甲磊, 等. 基于徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的電動(dòng)汽車動(dòng)力電池SOC模型[J]. 重慶理工大學(xué)學(xué)報(bào)( 自然科學(xué)), 2011, 25(10): 1-5.
[9] 劉征宇, 楊俊斌, 張慶, 等. 基于QPSO_BP神經(jīng)網(wǎng)絡(luò)的鋰電池SOC預(yù)測(cè)[J]. 電子測(cè)量與儀器學(xué)報(bào),2013, 27(3): 224-229.
[10] Fu Zhumu, Zhao Rui. SOC estimation of lithium-ion power battery for HEV based on advanced wavelet neural network[J]. Journal of Southeast University (English Edition), 2012, 28(3): 299-304.
徐 曄(1965-),女,碩士,副教授,主要研究方向:新能源發(fā)電技術(shù)及智能微電網(wǎng)。
Estimation method of battery SoC based on deep learning and quantum genetic algorithm
Hou Pengfei, Wang Jinquan, Xu Ye, Li Jianke, Yan Jun
(National Defense Engineering Institute, PLA University of Science&Technology, Nanjing 210007, China)
State of charge of storage battery is an important characteristic of battery. Considering to the weakness of shallow learning algorithm, this paper proposes deep learning theory combining with quantum genetic algorithm to raise the estimation accuracy. The algorithm can automatically extract features more abstract and more specific from the sample, realizing complex nonlinear mapping between the input and output data. Quantum genetic algorithm automatically optimizes and each RBM output estimation weights are achieved. By estimating the training samples and testing samples, compared with the BP network training estimation results, DBN-QGA algorithm network has higher estimation accuracy.
deep learning; quantum genetic; battery; state of charge; estimation method
TP183
A
10.19358/j.issn.1674- 7720.2017.08.017
侯朋飛,王金全,徐曄,等.基于深度學(xué)習(xí)和量子遺傳算法的電池SoC估算方法研究[J].微型機(jī)與應(yīng)用,2017,36(8):51-55.
2016-11-16)
侯朋飛(1989-),男,博士研究生,主要研究方向:儲(chǔ)能Soc智能估算方法研究。
王金全(1963-),男,博士,教授,主要研究方向:新能源發(fā)電技術(shù)及智能微電網(wǎng)。
________________________