侯朋飛,,王金全,徐曄,,李建科,,嚴(yán)鋆
(解放軍理工大學(xué) 國(guó)防工程學(xué)院,,江蘇 南京 210007)
摘要:儲(chǔ)能電池的荷電狀態(tài)是電池的重要特性,,針對(duì)淺層學(xué)習(xí)算法的不足,,提出了深度學(xué)習(xí)理論與量子遺傳相結(jié)合的算法以提高估算結(jié)果的正確性。該算法能夠自動(dòng)從樣本中提取更加抽象,、更具表達(dá)能力的特征,,實(shí)現(xiàn)輸入和輸出數(shù)據(jù)之間的復(fù)雜非線(xiàn)性映射;量子遺傳算法自動(dòng)尋優(yōu),,得到每個(gè)RBM輸出估算值的權(quán)值,。通過(guò)對(duì)電池SoC訓(xùn)練樣本和測(cè)試樣本的估算,與BP訓(xùn)練網(wǎng)絡(luò)估算結(jié)果對(duì)比,,得出本文所提的DBNQGA算法網(wǎng)絡(luò)估計(jì)精度更高,。
關(guān)鍵詞:深度學(xué)習(xí),;量子遺傳,;電池;荷電狀態(tài),;估算方法
中圖分類(lèi)號(hào):TP183文獻(xiàn)標(biāo)識(shí)碼:ADOI: 10.19358/j.issn.1674-7720.2017.08.017
引用格式:侯朋飛,,王金全,徐曄,,等.基于深度學(xué)習(xí)和量子遺傳算法的電池SoC估算方法研究[J].微型機(jī)與應(yīng)用,,2017,36(8):51-55.
0引言
儲(chǔ)能電池的工作狀態(tài)與電解液、電極,、溫度和充放電電流大小有關(guān),,是一個(gè)高度復(fù)雜的非線(xiàn)性系統(tǒng)。由于神經(jīng)網(wǎng)絡(luò)能夠利用樣本數(shù)據(jù)建立輸入輸出的關(guān)系,,不需輸入輸出明確的關(guān)系式,,具有較強(qiáng)的非線(xiàn)性映射能力,逐步被應(yīng)用于復(fù)雜函數(shù)的狀態(tài)估計(jì),。如支持向量機(jī)模型,、最大熵模型、隱馬爾科夫模型,,這些模型大多屬于淺層學(xué)習(xí)方法,,其結(jié)構(gòu)可以認(rèn)為是帶有一層隱層節(jié)點(diǎn)或無(wú)隱層節(jié)點(diǎn),這種淺層學(xué)習(xí)結(jié)構(gòu)的局限性在于樣本和計(jì)算單元有限的情況下很難表征復(fù)雜函數(shù),,面臨復(fù)雜問(wèn)題時(shí)的泛化能力受到制約[15],。
目前,BP神經(jīng)網(wǎng)絡(luò)逐漸應(yīng)用于電池SoC估算,,趙軒等人[6]利用BP網(wǎng)絡(luò)建立了蓄電池的SoC估算模型,;尹安東等人[7]基于LM (LevenbergMarquardt)算法建立了磷酸鐵鋰電池的BP神經(jīng)網(wǎng)絡(luò)模型,并進(jìn)行了電池 SoC值的預(yù)測(cè),;米林等人[8]利用徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)方法建立電動(dòng)汽車(chē)動(dòng)力電池SoC估計(jì)的模型,;劉征宇等人[9]建立了基于量子微粒群算法(QPSO)的BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)模型用于預(yù)測(cè)鋰離子電池充放電過(guò)程中的任一狀態(tài)下的SoC,。BP網(wǎng)絡(luò)模型雖被稱(chēng)作多層感知機(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)的非線(xiàn)性空間,,算法搜索的方向是網(wǎng)絡(luò)誤差或能量減小的方向,,因而經(jīng)常收斂到局部最小,且網(wǎng)絡(luò)層數(shù)越多,,局部收斂性越嚴(yán)重,。
深度學(xué)習(xí)(Deep Learning)是最近發(fā)展起來(lái)的一種模式識(shí)別技術(shù),它能夠自動(dòng)從樣本中提取更加抽象,、更具表達(dá)能力的特征,,實(shí)現(xiàn)輸入和輸出數(shù)據(jù)之間的復(fù)雜非線(xiàn)性映射。與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í)的重要性,,通過(guò)逐層特征變換,將樣本在原空間的特征表示變換到一個(gè)新特征空間,,從而使分類(lèi)或預(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)用于語(yǔ)音及圖像識(shí)別,、句法分析、文本蘊(yùn)涵等,,部分研究學(xué)者已將其引入到機(jī)械故障診斷領(lǐng)域中,,但深度學(xué)習(xí)用于儲(chǔ)能系統(tǒng)SoC估算的研究還很少。
1DBN-QGA算法設(shè)計(jì)
目前基于深度學(xué)習(xí)理論的應(yīng)用系統(tǒng)中,,DBN是應(yīng)用比較廣泛的一類(lèi)學(xué)習(xí)結(jié)構(gòu),,它主要由多層受限波爾茲曼機(jī)(Restricted Boltzmann Machine, RBM)和一層有監(jiān)督網(wǎng)絡(luò)層組成,DBN能夠從大量樣本中有效學(xué)習(xí)到輸入,、輸出數(shù)據(jù)之間的非線(xiàn)性映射關(guān)系,。然而,,DBN作為一種深層神經(jīng)網(wǎng)絡(luò),輸出結(jié)果不可避免帶有一定的隨機(jī)性,。本文為了提高DBN輸出結(jié)果的可靠性和穩(wěn)定性,,利用量子遺傳算法(Quantum Genetic Algorithm, QGA)對(duì)多個(gè)DBN圖1DBNQGA算法的輸出結(jié)果自適應(yīng)加權(quán),提高儲(chǔ)能電池SoC的預(yù)測(cè)精度,?;诖耍疚奶岢鯠BNQGA網(wǎng)絡(luò)模型,,如圖1所示,。
基于量子遺傳算法,使用加權(quán)平均技術(shù)計(jì)算每個(gè)DBN網(wǎng)絡(luò)的輸出數(shù)據(jù):
=∑N,,k=1wkk,k=1,2,…N
∑Nk=1wk=1,,wk≥0(1)
式中,N為DBN個(gè)數(shù),;k為第k個(gè)DBN輸出結(jié)果,;wk為賦予第k個(gè)DBN的權(quán)值。
圖1所示的算法中,,輸入數(shù)據(jù)是電池的電壓和電流,經(jīng)過(guò)N個(gè)DNB后,,得到N個(gè)SoC估算值,,根據(jù)量子遺傳算法可得到N個(gè)加權(quán)值w,最后輸出加權(quán)計(jì)算后的SoC,。
2DBN網(wǎng)絡(luò)結(jié)構(gòu)
DBN由多個(gè)隱含層和一層BP網(wǎng)絡(luò)組成,,相鄰的兩隱含層構(gòu)成一個(gè)RBM,其結(jié)構(gòu)如圖2所示,。圖中,,v和h圖2DBN網(wǎng)絡(luò)結(jié)構(gòu)圖 分別表示可視層和隱含層內(nèi)的節(jié)點(diǎn)值,w表示兩層之間的權(quán)值,。
DBN的訓(xùn)練過(guò)程為:首先,,采用貪婪算法對(duì)RBM進(jìn)行逐層無(wú)監(jiān)督預(yù)訓(xùn)練,獲得網(wǎng)絡(luò)參數(shù)的初始值,;然后,,采用BP算法對(duì)整個(gè)網(wǎng)絡(luò)參數(shù)進(jìn)行微調(diào)。
DBN的訓(xùn)練過(guò)程如圖3所示,,整個(gè)訓(xùn)練過(guò)程分為以下幾個(gè)步驟:
?。?)設(shè)定網(wǎng)絡(luò)層數(shù)、隱含層單元數(shù)等參數(shù),,隨機(jī)初始化整個(gè)DBN的網(wǎng)絡(luò)參數(shù),。
?。?)將訓(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)練完畢,。通過(guò)無(wú)監(jiān)督的預(yù)訓(xùn)練,可獲得整個(gè)DBN的網(wǎng)絡(luò)參數(shù),。
?。?)利用最后一層的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)練過(guò)程中,,RBM的訓(xùn)練是核心,,通過(guò)RBM的逐層訓(xùn)練,實(shí)現(xiàn)DBN網(wǎng)絡(luò)參數(shù)的初始化,,這些網(wǎng)絡(luò)參數(shù)雖然不是最優(yōu)參數(shù),,但是它們往往落在最優(yōu)值附近,可有效避免BP算法在訓(xùn)練分類(lèi)器時(shí)由于隨機(jī)初始化網(wǎng)絡(luò)參數(shù)而導(dǎo)致陷入局部最優(yōu),、訓(xùn)練時(shí)間過(guò)長(zhǎng)等缺陷,。
3RBM自訓(xùn)練
RBM是由Smolensky于1986年提出的一種基于能量模型的隨機(jī)神經(jīng)網(wǎng)絡(luò),其結(jié)構(gòu)如圖4所示,。RBM含有1個(gè)可視層和1個(gè)隱含層,,其中,可視層和隱含層之間對(duì)稱(chēng)雙向連接,,而同一層內(nèi)單元之間沒(méi)有連接,,隱單元可獲取輸入可視單元的高階相關(guān)性,且所有單元的狀態(tài)都是二元變圖4RBM結(jié)構(gòu)圖量,,只能取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)可表示為:
式中,,Z=∑v,hexp(-E(v,h))為歸一化因子,。
因此,RBM分配給可視層v的概率ρ(v)為:
在RBM中,由于同一層內(nèi)單元之間沒(méi)有連接,,因此,,隱含單元hj的條件概率分布為:
同理,可視單元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)練來(lái)獲得網(wǎng)絡(luò)參數(shù)θ={wij,ai,bj},,具體過(guò)程如圖5所示,具體步驟如下:
?。?)設(shè)定訓(xùn)練次數(shù),、樣本子集個(gè)數(shù)等參數(shù),隨機(jī)初始化RBM的網(wǎng)絡(luò)參數(shù),;
?。?)對(duì)第i個(gè)樣本子集訓(xùn)練多個(gè)回合,每次訓(xùn)練完成后,,更新網(wǎng)絡(luò)參數(shù),,直到達(dá)到最大訓(xùn)練次數(shù);
?。?)按照步驟(2)的方法訓(xùn)練下一個(gè)樣本子集,,直到所有的樣本子集訓(xùn)練完畢,保存RBM的網(wǎng)絡(luò)參數(shù),,結(jié)束訓(xùn)練,。
4DBN-QGA算法估算SoC
根據(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)練過(guò)程,、DBN訓(xùn)練過(guò)程,、QGA尋優(yōu)算法編寫(xiě)程序,具體步驟如下:
?。?)網(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,。
?。?)訓(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,無(wú)需進(jìn)行數(shù)據(jù)處理,。
j=uj-uminumax-umin
i^j=ij-iminimax-imin(7)
其中:umax,、umin、imax,、imin分別為單次樣本電壓電流的最大,、最小值,。
5算法驗(yàn)證
選取磷酸鐵鋰電池充放電電流為20 A時(shí)的訓(xùn)練樣本和50 A時(shí)的測(cè)試樣本分別進(jìn)行驗(yàn)證。
?。?)對(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)練過(guò)的樣本進(jìn)行預(yù)測(cè)的效果,仍選擇20 A的充放電數(shù)據(jù)為測(cè)試樣本,,充電數(shù)據(jù)和放電數(shù)據(jù)為測(cè)試輸入樣本,,充放電靜態(tài)SoC值為測(cè)試結(jié)果,驗(yàn)證結(jié)果如圖6所示,。
為驗(yàn)證本文所提算法的精確性,,與常用的BP訓(xùn)練網(wǎng)絡(luò)進(jìn)行對(duì)比。BP網(wǎng)絡(luò)對(duì)訓(xùn)練樣本的驗(yàn)證結(jié)果如圖7所示,。
由圖6和圖7可知,,DBNQGA算法網(wǎng)絡(luò)對(duì)訓(xùn)練過(guò)的樣本進(jìn)行估算輸出時(shí),基本與目標(biāo)輸出吻合,,充電最大誤差為1.4%,,放電最大誤差為1.3%,而B(niǎo)P網(wǎng)絡(luò)訓(xùn)練結(jié)果的誤差較為明顯,,充電最大誤差為11.2%,,放電最大誤差為9.83%,因此,,本文所提的算法網(wǎng)絡(luò)能夠較好地對(duì)學(xué)習(xí)過(guò)的數(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é)果。
?。?)對(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所示。
同樣與常用的BP訓(xùn)練網(wǎng)絡(luò)進(jìn)行對(duì)比,。BP網(wǎng)絡(luò)對(duì)測(cè)試樣本的驗(yàn)證結(jié)果如圖9所示,。
由圖8和圖9可知,DBN-QGA算法網(wǎng)絡(luò)對(duì)未經(jīng)過(guò)訓(xùn)練的樣本進(jìn)行估算輸出時(shí),,與目標(biāo)輸出比較吻合,,充電最大誤差為1.2%,放電最大誤差為1%;而B(niǎo)P網(wǎng)絡(luò)訓(xùn)練結(jié)果的誤差較大,,充電最大誤差為8.3%,,放電最大誤差為6.4%。顯然,,本文構(gòu)建的訓(xùn)練網(wǎng)絡(luò)能夠很好地對(duì)未經(jīng)過(guò)訓(xùn)練的數(shù)據(jù)進(jìn)行估算,,網(wǎng)絡(luò)具有較好的泛化性能。
6結(jié)論
儲(chǔ)能電池的荷電狀態(tài)估算是實(shí)際應(yīng)用中的重要參數(shù),,本文結(jié)合深度學(xué)習(xí)與量子遺傳算法,,構(gòu)建了DBNQGA算法網(wǎng)絡(luò),闡述了算法的設(shè)計(jì)過(guò)程,,分別建立了DBN網(wǎng)絡(luò)結(jié)構(gòu),、RBM自訓(xùn)練過(guò)程、量子遺傳算法,,所提出的算法可以自動(dòng)從樣本中提取更加抽象,、更具表達(dá)能力的特性。通過(guò)對(duì)訓(xùn)練樣本和測(cè)試樣本的估算,,對(duì)比BP訓(xùn)練網(wǎng)絡(luò)估算結(jié)果,,本文所提的DBNQGA算法提高了估算結(jié)果的正確性與準(zhǔn)確性,改善了淺層學(xué)習(xí)算法的不足,。
參考文獻(xiàn)
?。?] He Hongwei, Xiong Rui, Fan Jinxin. Evaluation of lithiumion 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. Stateofcharge estimation for lithiumion batteries using neural networks and EKF[J]. IEEE Transactions on Industrial Electronics, 2010, 57(12): 4178-4187.
?。?] SANTHANAGOPALAN S, WHITE R E. State of charge estimation using an unscented filter for high power lithiumion cells[J]. International Journal of Energy Research, 2010, 34(2): 152-163.
?。?] 尹虹毅. 基于深度學(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.
?。?] 趙軒, 康留旺, 汪貴平, 等. 基于BP神經(jīng)網(wǎng)絡(luò)的SOC估計(jì)及鉛酸蓄電池特性[J]. 電源技術(shù), 2014, 38(5): 874-878.
?。?] 尹安東, 張萬(wàn)興, 韓趙, 等. 基于神經(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)汽車(chē)動(dòng)力電池SOC模型[J]. 重慶理工大學(xué)學(xué)報(bào)( 自然科學(xué)), 2011, 25(10): 1-5.
?。?] 劉征宇, 楊俊斌, 張慶, 等. 基于QPSO_BP神經(jīng)網(wǎng)絡(luò)的鋰電池SOC預(yù)測(cè)[J]. 電子測(cè)量與儀器學(xué)報(bào),2013, 27(3): 224-229.
?。?0] Fu Zhumu, Zhao Rui. SOC estimation of lithiumion power battery for HEV based on advanced wavelet neural network[J]. Journal of Southeast University (English Edition), 2012, 28(3): 299-304.