杜京義 劉 鑫 柳慶莉 王佳程
(西安科技大學電氣與控制工程學院 陜西 西安 710054)
鋰電池由于具備循環(huán)使用壽命長、無記憶效應、能量密度高、自放電率低和高性價比等優(yōu)勢,已被廣泛應用于工業(yè)、日常生活等領(lǐng)域[1]。充電剩余時間作為鋰電池荷電狀態(tài)(State of Charge,SOC)的重要參數(shù),反映了鋰電池充電狀態(tài)與時間的關(guān)系[2]。充電剩余時間的準確預測能夠有效發(fā)現(xiàn)和避免鋰電池過充等不安全行為,為鋰電池的穩(wěn)定性提供保障。
文獻[3]提出了一種基于三段式的支持向量回歸(SVR)模型來預測鋰電池的充電剩余時間,根據(jù)三段式模型分別建立不同的預測模型,但是各個模型的決定參數(shù)單一,易受復雜充電環(huán)境的影響。文獻[4]針對鋰電池的充電時間受充電溫度的影響,設(shè)計了鋰電池在不同溫度下充電、同一溫度下放電的實驗。通過有理數(shù)逼近的擬合方法建立不同溫度下的標準充電的經(jīng)驗模型,根據(jù)充電溫度可以預測鋰電池的充電時間。但模型對數(shù)據(jù)特征的依賴性較強,泛化性較弱。文獻[5]基于擴展卡爾曼濾波-高斯過程回歸(EKF-GPR)并利用日常片段數(shù)據(jù)可以在有限的誤差范圍內(nèi)對電池的實時全充時間進行預測,但是對模型的精度要求較高。文獻[6]將信息?;?IG)和支持向量回歸模型相結(jié)合預測鋰電池充電剩余時間,通過信息粒化降低樣本輸入規(guī)模,并運用重新組合的樣本對訓練預測模型。但是在樣本有限的情況下表示復雜函數(shù)的能力有限。文獻[7]提出一種基于自回歸集成滑動平均模型(ARIMA)和粒子濾波(PF)融合預測框架,對鋰電池剩余使用壽命預測,較好地突出了電池數(shù)據(jù)隨著時間序列的變化規(guī)律,但是在預測中不能較好地表達數(shù)據(jù)的非線性相關(guān)性。
針對上述方法的不足,為了滿足充電剩余時間預測對準確性和穩(wěn)定性的要求,本文提出基于IndyLSTM的鋰電池充電剩余時間預測方法。該方法可以挖掘數(shù)據(jù)之間的內(nèi)在關(guān)系,自動提取有效特征,并建立高維度特征預測模型;同時引入忘記門、輸入門、輸出門,使得自循環(huán)的權(quán)重是變化的,不同時刻的積分尺度可以動態(tài)改變,從而具有長短期記憶功能。實驗結(jié)果表明:在鋰電池充電剩余時間預測中,相較于常規(guī)的LSTM和SVR模型,IndyLSTM模型預測效果更好,證明了該預測方法的可行性和有效性。
原始的神經(jīng)網(wǎng)絡(luò)是層與層之間的神經(jīng)元相互連接,層內(nèi)神經(jīng)元不連接[8]。其構(gòu)造的是點與點之間的映射,因此無法學習到序列數(shù)據(jù)之間存在的內(nèi)在聯(lián)系,不能有效地解決序列數(shù)據(jù)問題[9-10]。LSTM是長短期記憶網(wǎng)絡(luò),通過引入相應的“門”結(jié)構(gòu),獲得了可以長期記憶歷史重要數(shù)據(jù)的功能,并且解決了在梯度反向傳播過程中容易產(chǎn)生梯度消失的問題,能更好地處理序列相關(guān)數(shù)據(jù)[11-12]。IndyLSTM是LSTM的變體,不同之處在于:其中隱藏層內(nèi)的各個單元時間步上互不相連,循環(huán)權(quán)重不再是全矩陣,而是對角矩陣[13]。即每個IndyLSTM單元的輸出和細胞狀態(tài)僅取決于輸入及其自身的輸出和細胞狀態(tài),而不是輸入以及層中所有單元的輸出和細胞狀態(tài)。并且每個IndyLSTM單元的參數(shù)數(shù)量與隱藏層節(jié)點數(shù)量呈線性關(guān)系,而常規(guī)的LSTM則為二次方,從而可能導致更小和更快的模型。但是IndyLSTM在每個參數(shù)的精確度和總體精度方面,始終優(yōu)于常規(guī)的LSTM。
IndyLSTM單元內(nèi)部結(jié)構(gòu)如圖1所示,IndyLSTM單元的“門”結(jié)構(gòu)是通過Sigmoid激活函數(shù)和逐點乘法操作實現(xiàn)的,ft為忘記門、it為輸入門、ot為輸出門。每一個IndyLSTM單元有三個輸入:上一時刻的輸出ht-1、上一時刻的細胞狀態(tài)ct-1和當前時刻的輸入xt;兩個輸出:當前時刻的輸出值ht和細胞狀態(tài)ct。IndyLSTM的核心思想是引入了細胞狀態(tài)連接,細胞狀態(tài)用來存放想要記憶的信息,同時引入“門”結(jié)構(gòu)用來控制信息的更新與輸出。
圖1 IndyLSTM單元內(nèi)部結(jié)構(gòu)
IndyLSTM單元內(nèi)部傳輸方式如下:
(1) 通過忘記門決定從細胞狀態(tài)中舍棄或保留哪些信息。其接收ht-1和xt,輸出一個0~1之間的數(shù)值與上一時刻的細胞狀態(tài)ct-1相乘(1表示完全保留之前的信息,0則表示完全舍棄之前的信息)。
ft=δg(Wfxt+uf?ht-1+bf)
(1)
it=δg(Wixt+ui?ht-1+bi)
(2)
(3)
(4)
(4) 通過輸出門和細胞狀態(tài)確定當前時刻需要輸出的信息。
ot=δg(Woxt+uo?ht-1+bo)
(5)
ht=ot?δh(ct)
(6)
式(1)-式(6)中:δg為Sigmoid激活函數(shù);δc、δh為tanh激活函數(shù);W*和u*為權(quán)重;b*為偏置;?為Hadamard積。
本文以鋰電池電壓Bv、鋰電池電流Bi、鋰電池溫度Bt、充電電壓Cv、充電電流Ci作為模型輸入預測充電剩余時間。構(gòu)建的IndyLSTM預測框架如圖2所示。
IndyLSTM預測模型搭建過程具體如下:
(1) 數(shù)據(jù)集劃分:在模型開始訓練之前,為了保證測試數(shù)據(jù)的獨立性需要將數(shù)據(jù)劃分成訓練集和測試集。本文采用美國國家航空航天(NASA)的鋰電池充電過程公開數(shù)據(jù)作為數(shù)據(jù)集,數(shù)據(jù)樣本有3 815個,隨機選取315個樣本作為測試集數(shù)據(jù),其余樣本作為訓練集數(shù)據(jù)。
(2) 數(shù)據(jù)預處理:不同屬性的數(shù)據(jù)往往具有不同的量綱,如果量綱差距過大會影響模型學習的結(jié)果。為了提高模型的泛化能力,消除不同屬性間的量綱影響,使用數(shù)據(jù)標準化確保數(shù)據(jù)處于一個合理的分布范圍內(nèi)。本文首先對訓練集數(shù)據(jù)進行標準化處理并保存標準化參數(shù),然后使用保存的標準化參數(shù)對測試集數(shù)據(jù)進行處理。標準化后的數(shù)據(jù)服從標準正態(tài)分布:
(7)
(3) 訓練IndyLSTM模型:將預處理后的訓練數(shù)據(jù)輸入到IndyLSTM模型,訓練預測模型。在訓練過程中,一般以損失函數(shù)作為網(wǎng)絡(luò)模型對訓練數(shù)據(jù)擬合能力的衡量標準[8]。本文使用均方誤差(MSE)作為模型每次訓練的損失函數(shù),然后采用Adam算法進行模型權(quán)重的優(yōu)化更新,使預測結(jié)果向優(yōu)化目標靠近。多次迭代直至訓練得到滿足誤差要求的IndyLSTM預測模型。
本文使用TensorFlow深度學習框架搭建預測模型。該模型采用雙層IndyLSTM循環(huán)網(wǎng)絡(luò)預測充電剩余時間,每層12個隱層節(jié)點。輸入維度與輸入數(shù)據(jù)的特征屬性相同設(shè)置為5,輸出維度設(shè)置為1。損失函數(shù)選擇回歸預測常用的均方誤差(MSE),Adam作為模型的優(yōu)化算法。為了增強模型的泛化能力采用小批量訓練,每次輸入60個樣本數(shù)據(jù),將其中20個樣本數(shù)據(jù)作為1個小序列,迭代300次,學習率設(shè)置為0.005。模型訓練完成之后預測充電剩余時間,根據(jù)預測數(shù)據(jù)與真實數(shù)據(jù)計算均方根誤差(RMSE)和平均絕對誤差百分比(MAPE),以此評價模型的預測結(jié)果。其中MSE、RMSE和RMSE的計算公式分別為:
(8)
(9)
(10)
本文數(shù)據(jù)來源于美國國家航空航天(NASA)的鋰電池充電過程公開數(shù)據(jù)集。其充電過程分為兩個階段:首先,在1.5 A的恒流(CC)模式下進行充電,直到電池電壓達到4.2 V,然后以恒定電壓(CV)模式繼續(xù)充電,直到充電電流降至20 mA時停止充電。鋰電池充電過程公開數(shù)據(jù)如圖3所示,可以看出鋰電池充電過程是非線性的。
圖3 電池充電過程公開數(shù)據(jù)
模型訓練采用Google開放的Colaboratory平臺完成。該平臺向開發(fā)者提供了免費的Tesla K80 GPU使用,不用做任何配置,完全運行在云端。在模型訓練的過程中,首先將鋰電池充電過程公開數(shù)據(jù)集劃分為訓練集和測試集,并將其標準化至[-1,1]區(qū)間,以消除不同屬性數(shù)據(jù)之間的量綱影響;然后將訓練集輸入到模型中開始訓練,模型訓練完成之后開始預測;最后將預測數(shù)據(jù)和測試集中的真實數(shù)據(jù)進行對比分析從而調(diào)節(jié)整個網(wǎng)絡(luò)模型的參數(shù),直至得到滿足誤差要求的預測模型。
為了驗證該模型的可行性和有效性,采用常規(guī)的LSTM模型和支持向量回歸模型SVR作為對比參考。首先,在給定的訓練集上,訓練IndyLSTM、LSTM和SVR模型;然后,將訓練好的模型應用在測試集上獲取測試結(jié)果并比較其性能。圖4-圖6分別給出了IndyLSTM、LSTM和SVR模型預測數(shù)據(jù)和真實數(shù)據(jù)的對比圖。其中IndyLSTM和LSTM模型采用相同的深度、寬度和超參數(shù),SVR模型采用徑向基函數(shù)作為核函數(shù),并使用交叉驗證的方式尋找核函數(shù)的寬帶系數(shù)g和誤差懲罰因子C,最優(yōu)參數(shù)g=1,C=2 500。
圖4 IndyLSTM模型預測數(shù)據(jù)和真實數(shù)據(jù)的對比圖
圖5 LSTM模型預測數(shù)據(jù)和真實數(shù)據(jù)的對比圖
圖6 SVR模型預測數(shù)據(jù)和真實數(shù)據(jù)的對比圖
在IndyLSTM模型的每一層中,其參數(shù)數(shù)量和節(jié)點個數(shù)為線性關(guān)系而常規(guī)的LSTM則為二次方,此特性使模型更小更快,并且不太容易過度擬合。從圖4和圖5可直觀看出,當模型的深度和寬度相同時,IndyLSTM模型相較于LSTM模型,其預測數(shù)據(jù)和真實數(shù)據(jù)擬合效果更好,沒有出現(xiàn)明顯的偏差,而LSTM模型在拐點處與真實數(shù)據(jù)有較大偏差。實驗結(jié)果證明在預測鋰電池充電剩余時間中IndyLSTM模型的預測效果優(yōu)于LSTM模型。SVR模型的預測結(jié)果如圖6所示,其預測數(shù)據(jù)和真實數(shù)據(jù)的趨勢大致相同,但是在拐點處預測數(shù)據(jù)與真實數(shù)據(jù)也存在一定的偏差。對比來看,IndyLSTM模型可以通過多種非線性運算自動提取數(shù)據(jù)的有效特征,相較于SVR模型可以表現(xiàn)出比較好的預測效果。
為了更好地體現(xiàn)三種模型對比的結(jié)果,本文采用均方根誤差(RMSE)和平均絕對誤差百分比(MAPE)作為各個模型的評價指標,指標越小,模型預測效果越好。三種模型的評價指標如表1所示??梢钥闯鯥ndyLSTM模型的均方根誤差和平均絕對誤差百分比要明顯小于LSTM和SVR模型的均方根誤差和平均絕對誤差百分比,其中IndyLSTM模型相較于LSTM和SVR模型預測結(jié)果的均方根誤差分別降低了40.803%和46.345%,平均絕對誤差百分比分別降低了7.633和5.670百分點,進一步證明了IndyLSTM模型在鋰電池充電剩余時間預測中優(yōu)于常規(guī)的LSTM和SVR模型。從均方根誤差和平均絕對誤差百分比評估的整體效果可以看出,IndyLSTM模型可以充分利用鋰電池充電過程的相關(guān)數(shù)據(jù)進行充電剩余時間預測,其預測效果更加準確和穩(wěn)定。
表1 三種模型的評價指標
本文提出一種基于IndyLSTM的鋰電池充電剩余時間預測方法,該方法可以自動挖掘數(shù)據(jù)間的關(guān)系,從而構(gòu)建一個最優(yōu)的預測模型;同時引入忘記門、輸入門、輸出門,使其具有長短期記憶功能,解決了梯度消失的問題。采用美國國家航空航天(NASA)的鋰電池充電過程公開數(shù)據(jù)進行訓練并測試。實驗結(jié)果表明:在實驗條件盡量保持一致的情況下,IndyLSTM模型相比于常規(guī)的LSTM和SVR模型在準確性和穩(wěn)定性方面有了較高的提升,為預測鋰電池充電剩余時間提供了新的方法。