郝可青,呂志剛,李 葉,邸若海,朱鴻杰
(1.西安工業(yè)大學(xué) 兵器科學(xué)與技術(shù)學(xué)院,西安 710021;2.西安工業(yè)大學(xué) 電子信息工程學(xué)院,西安 710021)
鋰離子電池在軍事應(yīng)用中具有卓越的性能,因此廣泛應(yīng)用于單兵系統(tǒng)、衛(wèi)星飛船以及無人戰(zhàn)機(jī)等諸多兵種。然而在鋰電池的循環(huán)使用中容易發(fā)生高溫腐蝕老化以及電流電壓參數(shù)的改變會(huì)導(dǎo)致鋰電池設(shè)備出現(xiàn)故障,從而造成不可預(yù)估的損失。因此對(duì)鋰電池進(jìn)行剩余使用壽命(Remaining Useful Life,RUL) 預(yù)測(cè)是十分有必要的。目前,對(duì)于鋰電池的RUL預(yù)測(cè)主要分為基于模型的預(yù)測(cè)方法和數(shù)據(jù)驅(qū)動(dòng)的預(yù)測(cè)方法。由于數(shù)據(jù)驅(qū)動(dòng)的方法具有更高的預(yù)測(cè)精度并且能夠提高網(wǎng)絡(luò)的泛化能力,因此通常選用該方法進(jìn)行鋰電池的RUL預(yù)測(cè)。
反向傳播神經(jīng)網(wǎng)絡(luò)(Back Propagation Neural Network,BPNN)是1986年由D.Rumelhart和J.McClelland為首的科學(xué)家提出的概念,是一種按照誤差逆向傳播算法訓(xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò),是應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)[1]。它具有大規(guī)模并行、分布式處理、自組織、自學(xué)習(xí)等優(yōu)點(diǎn),已被廣泛應(yīng)用于語音分析[2]、圖像識(shí)別[3]、計(jì)算機(jī)視覺[4]、模式識(shí)別與分類[5]、故障預(yù)測(cè)[6]等領(lǐng)域。
小樣本問題廣泛存在于各個(gè)行業(yè)中,廣義上來講,數(shù)據(jù)量少、樣本結(jié)構(gòu)不平衡、數(shù)據(jù)集信息覆蓋率低都屬于小樣本問題,由于鋰電池的加速老化試驗(yàn)周期長(zhǎng)且可測(cè)量參數(shù)較少,因此得到的失效數(shù)據(jù)樣本較少,且在小樣本條件下構(gòu)建的鋰電池預(yù)測(cè)模型會(huì)存在過擬合等問題,故無法用傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)算法進(jìn)行鋰電池小樣本數(shù)據(jù)的模型訓(xùn)練。文獻(xiàn)[7]提出基于數(shù)據(jù)中心位置跟蹤方法(Central Location Tracking Method,CLTM)的神經(jīng)網(wǎng)絡(luò)權(quán)值確定方法,實(shí)驗(yàn)證明該方法可以使用小數(shù)據(jù)集進(jìn)行預(yù)測(cè),但該方法隨機(jī)性較大,需要多次實(shí)驗(yàn)才能準(zhǔn)確驗(yàn)證。文獻(xiàn)[8]提出基于先驗(yàn)知識(shí)約束和少量樣本數(shù)據(jù)的Elman動(dòng)態(tài)遞歸神經(jīng)網(wǎng)絡(luò)的算法,以混凝沉淀過程的兩個(gè)約束條件和數(shù)據(jù)集進(jìn)行了算法驗(yàn)證,但Elman網(wǎng)絡(luò)存在訓(xùn)練速度慢和容易陷入局部極小值的問題。文獻(xiàn)[9]提出基于線性先驗(yàn)的徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)算法,開發(fā)了基于廣義約束線性神經(jīng)網(wǎng)絡(luò)-先驗(yàn)(Generalized Constraint Neural Network-Linear priors,GCNN-LP)的工具箱,但是難以適用于其他網(wǎng)絡(luò)模型。文獻(xiàn)[10]提出基于虛擬樣本生成(Virtual Sample Generation,VSG)的神經(jīng)網(wǎng)絡(luò)算法,并利用加州大學(xué)歐文分校(University of CaliforniaIrvine,UCI)數(shù)據(jù)集驗(yàn)證了該方法的有效性,但如果真實(shí)數(shù)據(jù)具有相關(guān)屬性,則該方法不能完全適用。文獻(xiàn)[11]提出利用Bootstrap法和核密度拉丁超立方采樣法擴(kuò)充訓(xùn)練樣本,利用擴(kuò)充后的樣本訓(xùn)練BPNN,在保障小樣本自身規(guī)律的情況下,解決了小樣本數(shù)據(jù)BPNN建模問題,但得到的參數(shù)結(jié)果都是隨機(jī)變量,這導(dǎo)致模型的預(yù)測(cè)精度較差。文獻(xiàn)[12]提出基于小樣本的殘差BPNN,通過將多個(gè)殘差BPNN模塊進(jìn)行堆疊提高小樣本BPNN預(yù)測(cè)精度,但設(shè)計(jì)過程過于復(fù)雜。通過對(duì)上述文獻(xiàn)進(jìn)行分析可得,解決小樣本條件下BPNN建模的方法可分為兩種:① 利用數(shù)據(jù)擬合模型或采樣的方法進(jìn)行數(shù)據(jù)擴(kuò)充,構(gòu)造合成樣本,但該方法得到的數(shù)據(jù)隨機(jī)性較大且質(zhì)量并不高,導(dǎo)致模型的預(yù)測(cè)精度并不高;② 把先驗(yàn)知識(shí)作為已知的約束條件加入到神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程中,構(gòu)建基于先驗(yàn)知識(shí)的神經(jīng)網(wǎng)絡(luò)建模方法。因此,文中提出融合先驗(yàn)知識(shí)的BPNN建模方法,以懲罰函數(shù)法的形式將單調(diào)性約束加入網(wǎng)絡(luò)性能函數(shù)中,完成神經(jīng)網(wǎng)絡(luò)優(yōu)化設(shè)計(jì),并利用改進(jìn)的粒子群算法(Particle Swarm Optimization,PSO)優(yōu)化初始權(quán)值和閾值,可以提高網(wǎng)絡(luò)的泛化能力以及避免網(wǎng)絡(luò)陷入局部最優(yōu)值。
先驗(yàn)知識(shí)指的是領(lǐng)域?qū)<以趯?duì)研究問題的機(jī)理有一定的了解。胡包鋼等將先驗(yàn)信息定義如下:“先驗(yàn)信息是指在對(duì)目標(biāo)系統(tǒng)實(shí)施建模或分析前就已知的任何相關(guān)信息(廣義含義,包括知識(shí)、經(jīng)驗(yàn),常識(shí)和特定要求等)”[13]。常用的先驗(yàn)知識(shí)有單調(diào)性、凹凸性和等式約束等。實(shí)際生產(chǎn)中任何復(fù)雜的數(shù)學(xué)關(guān)系,都可以將其某個(gè)區(qū)間劃分為具有單調(diào)關(guān)系的區(qū)段,然后利用單調(diào)性來進(jìn)行處理。
如果在區(qū)間[x1,x2]內(nèi)都存在函數(shù)f(x),那么單調(diào)性的數(shù)學(xué)定義為
(1)
式(1)中若輸入輸出滿足該單調(diào)性關(guān)系,則稱f(x)在此區(qū)間為單調(diào)遞增函數(shù)。
因此,文中將單調(diào)性作為先驗(yàn)知識(shí),通過增加單調(diào)性信息來增加小數(shù)據(jù)集條件下BPNN訓(xùn)練可獲得的信息量,使訓(xùn)練所得模型更加真實(shí)有效,提高模型預(yù)測(cè)精度。
(2)
式中:w1為輸入層到隱含層的權(quán)值矩陣;w2為隱含層到輸出層的權(quán)值矩陣。
網(wǎng)絡(luò)均方誤差為
(3)
將輸入pi與輸出Y呈單調(diào)遞增的約束條件Ci進(jìn)行數(shù)學(xué)推導(dǎo),得到的結(jié)果為
(4)
根據(jù)最優(yōu)化原理中的懲罰函數(shù)法,將單調(diào)性作為先驗(yàn)條件引入網(wǎng)絡(luò),對(duì)神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練產(chǎn)生的輸出數(shù)據(jù)進(jìn)行單調(diào)性判斷。如果實(shí)際數(shù)學(xué)關(guān)系是單調(diào)遞增(遞減)的,神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)果也是單調(diào)遞增(遞減)的,那么說明符合這次訓(xùn)練過程先驗(yàn)知識(shí),不加懲罰,如果判斷后結(jié)果與實(shí)際值相反,則給予懲罰處理。因此,性能函數(shù)應(yīng)該由兩部分組成:① 最小均方誤差,其作用是盡量使實(shí)際輸出逼近目標(biāo)值;② 約束項(xiàng),懲罰函數(shù)的作用是盡量滿足先驗(yàn)知識(shí)約束。重新定義的網(wǎng)絡(luò)性能函數(shù)f(e)為
f(e)=L(e)+μCi,
(5)
式中:Ci的取值為
(6)
式(5)中e為誤差輸出,μ為懲罰因子決定了第二部分對(duì)性能影響的權(quán)重。μ取0時(shí),忽略約束;μ取的越小,訓(xùn)練所得模型越容易違背先驗(yàn)知識(shí);μ取值越大,訓(xùn)練所得模型越不容易違背先驗(yàn)知識(shí),但訓(xùn)練所得實(shí)際輸出與目標(biāo)值會(huì)有一定的偏差。
當(dāng)Ci>0時(shí),即當(dāng)輸入輸出滿足單調(diào)遞增條件時(shí),權(quán)值閾值更新為
(7)
式中:k為當(dāng)前隱含層節(jié)點(diǎn)個(gè)數(shù);α為學(xué)習(xí)速率。
當(dāng)Ci≤0時(shí),即當(dāng)輸入輸出違背單調(diào)遞增條件時(shí),權(quán)值閾值更新為
(8)
由式(4)得
(9)
設(shè)網(wǎng)絡(luò)訓(xùn)練算法采用最小均方誤差算法,則最終權(quán)值閾值更新為
(10)
由于初始權(quán)值和閾值的好壞會(huì)影響B(tài)P網(wǎng)絡(luò)訓(xùn)練的時(shí)間和精度,“壞”的初始參數(shù)可能使BPNN訓(xùn)練陷入局部最優(yōu)。因此,現(xiàn)有方法多將粒子群算法的全局尋優(yōu)能力與BP算法的局部尋優(yōu)能力相結(jié)合,利用粒子群算法來優(yōu)化神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)、連接權(quán)值和閾值,以提高神經(jīng)網(wǎng)絡(luò)的泛化能力和學(xué)習(xí)性能。
實(shí)驗(yàn)證明,粒子群算法中的慣性權(quán)重系數(shù)w的數(shù)值較大時(shí)能夠增強(qiáng)粒子進(jìn)行整體搜索能力,慣性系數(shù)W數(shù)值較小時(shí)能夠增強(qiáng)粒子進(jìn)行局部搜索能力[14]。為了權(quán)衡粒子局部搜索以及全局搜索的能力,文中將自適應(yīng)權(quán)重和線性遞減權(quán)重結(jié)合提出改進(jìn)的粒子群算法W-PSO來優(yōu)化神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值。W-PSO算法的具體表達(dá)如下:
設(shè)搜索空間是D維,那么第i個(gè)粒子的位置可表示為Xi=(xi1,xi2,…,xiD),速度可表示為Vi=(vi1,vi2,…,viD),個(gè)體最優(yōu)極值為Pi=(pi1,pi2,…,piD),全局最優(yōu)極值為Gi=(gi1,gi2,…,giD),i表示粒子的個(gè)數(shù)即i={1,2,…,m},VK+1為第K+1個(gè)的粒子速度與位置的更新為
VK+1=WVK+c1r1(PK-XK)+c2r2(GK-XK),
(11)
XK+1=XK+VK+1,
(12)
(13)
式(11)~式(12)中c1,c2為加速因子;r1,r2為隨機(jī)數(shù),一般取值在[0,1]之間;Wmax為開始時(shí)的慣性權(quán)重;Wmin為迭代數(shù)目達(dá)到最大值時(shí)的慣性系數(shù);f是當(dāng)前的適應(yīng)度值;favg為平均適應(yīng)度值;fmin為最小適應(yīng)度值;Tmax為迭代次數(shù)最大值;K為當(dāng)前的迭代次數(shù);PK為當(dāng)前個(gè)體最優(yōu)極值;XK,XK+1分別為第K和K+1個(gè)粒子的位值;GK為當(dāng)前全局最優(yōu)極值。
融合W-PSO和單調(diào)性約束的BPNN算法步驟為
① 確定BPNN網(wǎng)絡(luò)結(jié)構(gòu),根據(jù)網(wǎng)絡(luò)的結(jié)構(gòu)初始化粒子種群及參數(shù);
② 根據(jù)式(11)~式(13)計(jì)算W-PSO算法的粒子適應(yīng)度值,尋找個(gè)體最優(yōu)值和種群最優(yōu)值;
③ 判斷是否滿足終止迭代條件,若滿足,則對(duì)其進(jìn)行解碼,獲得優(yōu)化的權(quán)值和閾值,若不滿足,則更新粒子速度和位置,返回②,重新尋找最優(yōu)值;
④ 根據(jù)式(2)~式(6)計(jì)算網(wǎng)絡(luò)輸出和添加約束的懲罰項(xiàng)系數(shù)大?。?/p>
⑤ 判斷是否滿足單調(diào)性約束,若滿足跳轉(zhuǎn)到⑥,若不滿足跳轉(zhuǎn)到⑦;
⑥ 計(jì)算式(5),采用式(7)更新權(quán)值閾值;
⑦ 計(jì)算式(5),采用式(10)更新權(quán)值閾值;
⑧ 判斷是否達(dá)到目標(biāo)精度和最大循環(huán)次數(shù),重復(fù)④~⑦,直至滿足要求,結(jié)束網(wǎng)絡(luò)訓(xùn)練。
圖1表示當(dāng)種群個(gè)數(shù)為50,最大維數(shù)為50,最大迭代次數(shù)為500,c1=c2=2,Wmin=0.4,Wmax=0.9時(shí),文中所提算法W-PSO和原始自適應(yīng)權(quán)重PSO-adaption算法、線性遞減權(quán)重PSO-linear算法在測(cè)試函數(shù)Sphere Model和Generalized Griewank上的對(duì)比結(jié)果。其中Sphere Model為非線性的單峰單極值函數(shù),原點(diǎn)取最小值時(shí),其f表達(dá)式為
(14)
Generalized Griewank為多峰多極值函數(shù),原點(diǎn)取最小值時(shí),表達(dá)式為
(15)
由圖1可知,與PSO-adaption算法和PSO-linear算法相比,文中所提W-PSO算法具有更快的收斂速度和更高的收斂精度。
圖1 三種PSO算法的測(cè)試結(jié)果對(duì)比
2.2.1 先驗(yàn)知識(shí)的獲取
為了驗(yàn)證W-PSO算法的性能,文中使用Matlab 2020a實(shí)現(xiàn)網(wǎng)絡(luò)模型的構(gòu)建和訓(xùn)練,操作系統(tǒng)為Windows 10,內(nèi)存16 GB。文中實(shí)驗(yàn)采用美國(guó)國(guó)家航空航天局(National Aeronautics and Space Administration,NASA)鋰離子電池性能退化試驗(yàn)數(shù)據(jù)集[15]進(jìn)行算法驗(yàn)證和模型比較,該數(shù)據(jù)庫(kù)選用18650鋰離子蓄電池進(jìn)行循環(huán)充放電的老化試驗(yàn),循環(huán)充放電導(dǎo)致鋰離子電池的性能發(fā)生退化,造成實(shí)際電池容量衰減,每個(gè)完整的充放電周期包含充電、放電和阻抗測(cè)量三個(gè)工作過程。實(shí)驗(yàn)過程如下:① 鋰離子電池在電流為1.5A恒流狀態(tài)下進(jìn)行充電,電壓上升至4.2 V,在恒壓模式下繼續(xù)保持充電狀態(tài),直到充電電流降至 20 mA,則表示充電已經(jīng)結(jié)束; ② 鋰離子電池在恒流模式下進(jìn)行放電,直到電壓達(dá)到設(shè)定的某一截止電壓時(shí)停止放電;③ 實(shí)驗(yàn)測(cè)量鋰離子電池的阻抗通過EIS 頻率掃描來實(shí)現(xiàn),通常設(shè)置掃描范圍為0.1~5×103Hz。
文中將電池容量C作為鋰離子電池性能退化的直接健康因子,以F1~F5指標(biāo)為間接影響因子,構(gòu)建BPNN。F1,F2分別表示為等壓升、等流降充電時(shí)間間隔,F(xiàn)3表示為等壓降放電時(shí)間間隔,F(xiàn)4,F5分別表示為充電、放電過程中的平均溫度。
其中第一個(gè)和第二個(gè)間接健康因子是從鋰電池的恒流/恒壓充電曲線中提取的。如圖2(a)所示,在恒流充電過程中,電壓從較低的值升為較高的值,取這一階段為F1。如圖2(b)所示,在恒壓充電過程中,電流從較高的值下降為一個(gè)穩(wěn)定值,這一階段為F2,鋰電池的總充電時(shí)間會(huì)隨著電池容量的衰減而逐漸縮短。由于在實(shí)際情況中,存在著不完全充放電的現(xiàn)象,故F1是人工設(shè)定的兩個(gè)電壓之間的時(shí)間間隔,F(xiàn)2也是人工設(shè)定的兩個(gè)電流之間的時(shí)間間隔。
圖2 F1,F2,F3間接影響因子提取
類比F1和F2的提取方法,從電池的放電電壓曲線中提取等壓降放電時(shí)間間隔為F3,如圖2(c)所示,可明顯看出等壓降放電時(shí)間間隔隨著充放電周期的增長(zhǎng)而呈現(xiàn)遞減的趨勢(shì)。將充放電過程中的平均溫度作為F4和F5,可以使得在線容量的估計(jì)更為簡(jiǎn)便,圖3(a)所示為F1開始時(shí)刻到F2結(jié)束時(shí)刻之間的電池平均溫度,圖3(b)所示為F3時(shí)間段內(nèi)的電池平均溫度。
通過對(duì)數(shù)據(jù)進(jìn)行處理獲得先驗(yàn)知識(shí),如圖4所示。
圖3 F4,F5間接影響因子提取
圖4 獲取的先驗(yàn)知識(shí)
其中,圖4(a)表示F1與C呈單調(diào)遞增關(guān)系;圖4(b)表示F2與C呈單調(diào)遞減關(guān)系;圖4(c)表示F3與C呈單調(diào)遞增關(guān)系;圖4(d)表示F5與C呈單調(diào)遞減關(guān)系。由圖4可知,獲得4條先驗(yàn)知識(shí)均可添加到BPNN的訓(xùn)練中,其中,F(xiàn)4與C并不存在單調(diào)性關(guān)系。
2.2.2 預(yù)測(cè)誤差對(duì)比
以增加一條先驗(yàn)知識(shí)為例,證明所提算法的有效性。圖5為當(dāng)懲罰因子μ=1,訓(xùn)練集為40和30,增加F1與C單調(diào)遞增約束和W-PSO,128和138個(gè)測(cè)試集的預(yù)測(cè)結(jié)果。圖6為當(dāng)懲罰因子μ=0.1和μ=0.5,訓(xùn)練集為40,增加F1與剩余容量C單調(diào)遞增約束和W-PSO,128個(gè)測(cè)試集的預(yù)測(cè)結(jié)果。其中,預(yù)測(cè)結(jié)果的好壞以平均誤差R(R=均方誤差SSE/測(cè)試樣本個(gè)數(shù))的大小進(jìn)行衡量,R越小,預(yù)測(cè)誤差越小,算法性能更優(yōu)。
圖5 不同算法預(yù)測(cè)平均誤差對(duì)比
圖6 不同算法預(yù)測(cè)平均誤差對(duì)比
由圖5可看出,標(biāo)準(zhǔn)PSO-BP算法的平均誤差R1最大,W-PSO無約束條件算法的平均誤差R2次之,文中所改進(jìn)的W-PSO有約束條件算法的平均誤差R3最小,即文中算法在鋰電池?cái)?shù)據(jù)為小樣本條件下具有更好的預(yù)測(cè)性能。
由圖6可知,懲罰因子μ的大小會(huì)影響文中算法性能,μ越大預(yù)測(cè)誤差越小,μ值的取值范圍可通過均方誤差的量級(jí)確定。當(dāng)μ取值不同時(shí),所對(duì)應(yīng)的誤差見表1,其中R13表示W(wǎng)-PSO無約束的條件下與W-PSO有約束的條件下的差值,其中R23表示標(biāo)準(zhǔn)PSO的條件下與W-PSO有約束的條件下的差值。
表1 平均誤差分析
文中通過將先驗(yàn)知識(shí)添加到BPNN的性能函數(shù)中以此提高鋰電池剩余使用壽命預(yù)測(cè)模型的精度以及增強(qiáng)網(wǎng)絡(luò)的魯棒性,可得到以下結(jié)論:
1) 構(gòu)建自適應(yīng)變化的慣性權(quán)重系數(shù),提出W-PSO算法,將先驗(yàn)知識(shí)以單調(diào)性約束的形式加入到BPNN性能函數(shù)中。
2) 利用W-PSO算法能夠增強(qiáng)權(quán)衡局部搜索以及全局搜索的能力,避免網(wǎng)絡(luò)陷入局部最優(yōu)解,當(dāng)模型的訓(xùn)練集個(gè)數(shù)相同時(shí),誤差隨著約束項(xiàng)系數(shù)的增大而減小。
3) 采用NASA鋰電池失效數(shù)據(jù)集,通過實(shí)驗(yàn)對(duì)比分析文中所提算法與其他常用鋰電池壽命預(yù)測(cè)算法,可得文中算法構(gòu)建的模型平均誤差下降了5%,具有更高的預(yù)測(cè)精度,且該方法可與大樣本條件下的模型預(yù)測(cè)方法進(jìn)行對(duì)比分析研究。