• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于一維卷積神經(jīng)網(wǎng)絡(luò)與長短期記憶網(wǎng)絡(luò)結(jié)合的電池荷電狀態(tài)預(yù)測方法

      2021-07-02 00:36:42倪水平李慧芳
      計算機(jī)應(yīng)用 2021年5期
      關(guān)鍵詞:神經(jīng)元卷積神經(jīng)網(wǎng)絡(luò)

      倪水平,李慧芳

      (河南理工大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院,河南焦作 454003)

      (*通信作者電子郵箱lihuifang1112@163.com)

      0 引言

      美國先進(jìn)電池聯(lián)合會(United States Advanced Battery,USABC)將電池荷電狀態(tài)(State-Of-Charge,SOC)定義為:電池在一定放電倍率下,剩余電量與在相同條件下額定電量的比值。對電池SOC的準(zhǔn)確穩(wěn)定估計有助于保護(hù)電池不會因為過沖過放而引起電池?fù)p傷,這是電池管理的重要環(huán)節(jié)[1]。影響電池SOC 的因素有很多。在電池能夠正常使用的情況下,影響電池SOC預(yù)測的最主要因素是電流、電壓、電阻和環(huán)境溫度等。本文在室溫下對電池進(jìn)行循環(huán)充放電實驗得到電流、電壓、電阻以及對應(yīng)的SOC,通過電流、電壓、電阻預(yù)測電池SOC。電流、電壓、電阻與電池SOC 之間具有非線性映射關(guān)系。

      傳統(tǒng)的安時積分法具有累計誤差的缺陷[2],且需要提前獲得電池的初始SOC[3];傳統(tǒng)的開路電壓法需要相當(dāng)長的測量時間[4];現(xiàn)有的Kalman 濾波法的計算量大[5]且需要預(yù)先建立復(fù)雜的電池模型[6-7],這會影響電池的SOC 估計精確度。神經(jīng)網(wǎng)絡(luò)法具有較強(qiáng)的非線性映射能力,反向傳播神經(jīng)網(wǎng)絡(luò)(Back Propagation Neural Network,BPNN)方法[8-10]被用于電池SOC 預(yù)測。隨著深度學(xué)習(xí)中卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)與循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)在多個領(lǐng)域的廣泛應(yīng)用,與深度學(xué)習(xí)相關(guān)的算法被用于電池SOC 的預(yù)測。RNN 可以有效保存歷史輸入信息,且具有時序記憶能力[11],但SimpleRNN(Simple Recurrent Neural Network)會隨著時間步的延長而發(fā)生信息丟失。長短期記憶(Long Short-Term Memory,LSTM)神經(jīng)網(wǎng)絡(luò)依賴于過去樣本的輸入且有效解決了SimpleRNN 無法捕獲長期依賴性的問題[12]。CNN 通過設(shè)置多個不同的卷積核達(dá)到充分提取輸入信息中不同特征之間深層高級特征的目的[13],CNN 結(jié)合RNN 的網(wǎng)絡(luò)模型同時具有提取輸入數(shù)據(jù)中高級特征和保存歷史輸入信息的能力。

      針對電池SOC 預(yù)測精確度與穩(wěn)定性問題,本文提出一種將一維卷積神經(jīng)網(wǎng)絡(luò)(one-Dimensional Convolutional Neural Network,1D CNN)與LSTM 結(jié) 合 的1D CNN-LSTM(one-Dimensional Convolutional Neural Network combined with Long Short-Term Memory)模型預(yù)測電池SOC,利用1D CNN 提取數(shù)據(jù)的空間特征,LSTM保存歷史輸入信息。該方法在充分使用輸入數(shù)據(jù)的特征信息的同時,又能保存歷史輸入信息并與當(dāng)前的輸入信息一起映射到當(dāng)前的預(yù)測SOC。與BPNN 模型、1D CNN 模型、門控循環(huán)單元(Gated Recurrent Unit,GRU)模型、1D CNN 與GRU 結(jié) 合 的1D CNN-GRU(one-Dimensional Convolutional Neural Network combined with Gated Recurrent Unit)模型、LSTM 模型和SimpleRNN 模型相比,1D CNN-LSTM模型具有更準(zhǔn)確穩(wěn)定的SOC預(yù)測效果。

      1 1D CNN-LSTM聯(lián)合深度神經(jīng)網(wǎng)絡(luò)

      1D CNN 與LSTM 循環(huán)神經(jīng)網(wǎng)絡(luò)聯(lián)合 的1D CNN-LSTM 深度神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)如圖1所示。輸入層Ct、Vt和Rt分別表示第t個樣本的電流、電壓和電阻。隱藏層由1D CNN 層與LSTM 層組成。一層全連接層(Fully Connected Layer,F(xiàn)CL)作為輸出層用于回歸預(yù)測,該層將輸出預(yù)測值SOC。

      圖1 1D CNN-LSTM模型結(jié)構(gòu)Fig.1 Structure of 1D CNN-LSTM model

      1.1 1D CNN提取數(shù)據(jù)空間特征

      CNN是由LeCun等[14]在深度學(xué)習(xí)研究中首次提出的一種成功的深度學(xué)習(xí)架構(gòu),同時也是一種有效用于特征提取和模式識別的前饋神經(jīng)網(wǎng)絡(luò)[15],最常應(yīng)用在圖像領(lǐng)域中的監(jiān)督學(xué)習(xí)問題上,例如計算機(jī)視覺、圖像識別等。CNN可通過卷積層的濾波器提取輸入數(shù)據(jù)之間的相互關(guān)系。

      CNN 使用少量參數(shù)捕捉輸入數(shù)據(jù)的空間特征,并將其組合起來形成高級數(shù)據(jù)特征,最終將這些高級數(shù)據(jù)特征輸入全連接層進(jìn)行進(jìn)一步的回歸預(yù)測或分類預(yù)測。

      典型的CNN 結(jié)構(gòu)由輸入層、卷積層、池化層、全連接層和輸出層組成。經(jīng)過多個濾波器操作之后,CNN 可以通過逐層的卷積和池化操作提取數(shù)據(jù)特征。濾波器可根據(jù)輸入數(shù)據(jù)的大小以及提取特征的需要設(shè)置適當(dāng)?shù)拇翱诖笮∫约按翱诨瑒拥牟椒笮 5湫途矸e神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。

      圖2 典型卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Structure of typical CNN

      由于CNN 已經(jīng)成功地應(yīng)用于二維圖像的處理方面,因此也可以將相同的思想用于處理一維數(shù)據(jù)[16]。在卷積層中,輸入的數(shù)據(jù)信息在流向下一層之前需要經(jīng)過卷積操作和激活函數(shù)的計算。該操作如式(1)所示:

      式中:Wcnn表示濾波器的權(quán)重系數(shù),即卷積核;xt表示第t個輸入樣本數(shù)據(jù)信息;*表示xt與Wcnn之間的離散卷積運算;bcnn為偏置參數(shù),將在對模型進(jìn)行訓(xùn)練時通過學(xué)習(xí)獲得;σcnn表示激活函數(shù);ht表示卷積操作結(jié)束后的輸出數(shù)據(jù)。單個輸入樣本由電流、電壓和電阻組成。含有3 個神經(jīng)元節(jié)點的一維卷積層的計算過程如圖3所示。

      圖3 一維卷積層機(jī)制Fig.3 1D convolutional layer mechanism

      每個神經(jīng)元均包含一個濾波器。輸入數(shù)據(jù)將與每一個濾波器作卷積操作,結(jié)果將會被堆疊在一起作為輸出數(shù)據(jù)。例如,當(dāng)使用濾波器(-1,0),滑動窗口的步長為1,沒有偏置參數(shù)時,則第1 個輸出為C1×(-1) +V1× 0=-C1,第2 個輸出為V1×(-1) +R1× 0=-V1;當(dāng)使用濾波器(0,1),窗口的滑動步長為1,沒有偏置參數(shù)時,則第1 個輸出為C1×0+V1×1=V1,第2 個輸出為V1×0+R1×1=R1;當(dāng)使用濾波器(1,0),窗口的滑動步長為1,沒有偏置參數(shù)時,則第1 個輸出為C1×1+V1×0=C1,第2個輸出為V1× 1+R1× 0=V1。

      一個卷積層通常包含多個具有相同維度大小的不同的濾波器[16]。為獲取不同的數(shù)據(jù)特征,在一維卷積層中設(shè)置相同大小的不同濾波器。濾波器的大小不能超過單個樣本數(shù)據(jù)的大小。若輸入的單個樣本數(shù)據(jù)維度為p,濾波器窗口的高度為q,則經(jīng)過一維卷積操作后輸出的單個樣本數(shù)據(jù)維度為p-q+1。如圖3 所示,一個一維卷積層中設(shè)置3 個高度(q)均為2 的濾波器,輸入的樣本數(shù)據(jù)維度(p)為3,則該樣本數(shù)據(jù)經(jīng)過一個濾波器時輸出的特征樣本維度為3-2+1=2。

      由于本文中樣本數(shù)據(jù)的單個樣本高度為3,本文將濾波器的高度設(shè)置為2。不同的濾波器會提取不同的數(shù)據(jù)特征。卷積層的卷積操作可以可視化為一個相同大小的滑動窗口,以一定的步長沿著輸入數(shù)據(jù)移動。對于窗口的每次停留,輸入數(shù)據(jù)被檢查的部分將會和過濾器之間作內(nèi)部積的計算,并將計算結(jié)果作為輸出數(shù)據(jù)的一個特征元素。

      對于空間維度較低的數(shù)據(jù),可以使用卷積層來提取數(shù)據(jù)特征,而無需添加池化層。

      1.2 LSTM保存歷史輸入信息

      SimpleRNN 可有效解決非線性數(shù)值型時間序列的回歸預(yù)測問題,但在對模型進(jìn)行訓(xùn)練的過程中,隨著時間步的推移,會發(fā)生梯度下降或者梯度爆炸的現(xiàn)象。這將會使得前期的歷史輸入信息發(fā)生丟失或者產(chǎn)生無效信息,從而導(dǎo)致預(yù)測結(jié)果錯誤。隨著SimpleRNN 層的增加,網(wǎng)絡(luò)最終將變得不可訓(xùn)練。為解決上述問題,Hochreiter等[17]提出了LSTM算法,該算法可以將數(shù)據(jù)信息存儲到更長的時間步長。LSTM 卷積神經(jīng)網(wǎng)絡(luò)的展開圖如圖4 所示,其中Xn與hn分別表示模型的第n個輸入數(shù)據(jù)與輸入數(shù)據(jù)所對應(yīng)的輸出數(shù)據(jù)。

      圖4 LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)Fig.4 LSTM recurrent neural network

      對于有規(guī)律的數(shù)值型時間序列,即當(dāng)時間(序列順序)對數(shù)據(jù)很重要時,Xn表示一個數(shù)據(jù)批量,這一個數(shù)據(jù)批量組成一個樣本;當(dāng)序列順序?qū)π蛄袛?shù)據(jù)不重要時,Xn表示單個樣本點。如本文的實驗數(shù)據(jù)為序列順序不重要的序列數(shù)據(jù),則Xn表示由電流、電壓和電阻組成的單個樣本,hn表示第n個樣本的預(yù)測值SOC。LSTM的單元結(jié)構(gòu)如圖5所示。

      圖5 LSTM單元結(jié)構(gòu)Fig.5 LSTM cell structure

      LSTM單元可使用有效信息填充狀態(tài)單元,也可刪除無效信息。這個過程中使用的結(jié)構(gòu)稱為門限。門限由1個sigmoid函數(shù)點乘1 個矩陣組成。sigmoid 函數(shù)輸出1 個0 到1 之間的數(shù)值來描述每個信息通過門限的程度,其中0 表示所有信息禁止通過,1表示所有信息通過。

      LSTM的更新公式如式(2)~(6)所示:

      其中:σ和tanh 分別表示sigmoid 激活函數(shù)和雙曲正切激活函數(shù);W和b分別表示權(quán)值矩陣和偏置參數(shù);xt表示LSTM 單元在t時刻的輸入;ht表示在t時刻xt對應(yīng)單元的輸出;ct表示LSTM 在t時刻的狀態(tài)單元。整個LSTM 單元包括3個門限,即遺忘門ft、輸入門it和輸出門ot。

      2 實驗環(huán)境與實驗數(shù)據(jù)集

      2.1 實驗環(huán)境

      實驗硬件設(shè)施使用Intel Xeon Gold 5118 CPU@2.30 GHz服務(wù)器,Window10 旗艦版64 位操作系統(tǒng),16 GB 運行內(nèi)存和500 GB 硬盤。編程軟件為Jupyter Notebook,并以基于TensorFlow 的深度學(xué)習(xí)框架Keras 作為支撐,實現(xiàn)1D CNNLSTM聯(lián)合神經(jīng)網(wǎng)絡(luò)仿真模型的構(gòu)建。

      2.2 實驗數(shù)據(jù)集

      本文從美國馬里蘭(Maryland)大學(xué)的高級生命周期工程中心(Center for Advanced Life Cycle Engineering,CALCE)[18]電池研究小組獲取K2 型號LiFePO4 電池的部分測試數(shù)據(jù)作為本文的實驗數(shù)據(jù),在恒溫下對K2 型號LiFePO4 電池進(jìn)行恒流放電,再進(jìn)行恒壓充電,一次放電過程和一次充電過程為一個充放電循環(huán)。CALCE 電池研究小組已對K2 型號LiFePO4電池進(jìn)行多次循環(huán)充放電實驗并記錄了實驗數(shù)據(jù)。

      獲取CALCE中編號為K2-016的數(shù)據(jù)包中的部分?jǐn)?shù)據(jù),共包括16 219 個樣本數(shù)據(jù)。將這16 219 個樣本劃分為訓(xùn)練集、驗證集和測試集3 個數(shù)據(jù)集,其中訓(xùn)練集包含11 364 個樣本,驗證集包含2 430 個樣本,測試集包含2 425 個樣本。訓(xùn)練集的電流、電壓、電阻和實際SOC 分別如圖6(a)、圖6(b)、圖7(a)和圖7(b)所示。

      圖7 訓(xùn)練集電阻和實際SOCFig.7 Resistance and actual SOC of training set

      測試集的電流、電壓、電阻和實際SOC 分別如圖8(a)、圖8(b)、圖8(c)和圖8(d)所示。

      圖8 測試集電流、電壓、電阻和實際SOCFig.8 Current,voltage,resistance and actual SOC of test set

      SOC 與電流、電壓和電阻的關(guān)系分別如圖9(a)、圖9(b)和圖9(c)所示。圖9中的電流、電壓、電阻和實際SOC 均為測試集中的數(shù)據(jù)。

      圖9 SOC與電流、電壓、電阻的關(guān)系Fig.9 Relation between SOC and current,voltage,resistance

      2.3 實驗數(shù)據(jù)預(yù)處理

      電池剩余電量SOC 保持在0~1的數(shù)值,而電流、電壓和電阻的取值范圍差別較大,為提高算法的訓(xùn)練速度和靈敏性,因此需要對原始訓(xùn)練集、驗證集和測試集的輸入數(shù)據(jù)(電流、電壓、電阻)作標(biāo)準(zhǔn)化處理。因為在模型訓(xùn)練過程中使用取值范圍差別較大的數(shù)據(jù)時,模型雖會自動適應(yīng)這種取值范圍不同的數(shù)據(jù),但模型的學(xué)習(xí)過程將會變得困難。這里選用的數(shù)據(jù)標(biāo)準(zhǔn)化處理方法如式(7)所示:

      表1 原始電流、電壓和電阻Tab.1 Origin current,voltage and resistance

      表2 標(biāo)準(zhǔn)化后的電流、電壓和電阻Tab.2 Standardized current,voltage and resistance

      3 1D CNN-LSTM模型設(shè)置

      在1D CNN-LSTM 模型中,設(shè)置一層具有192 個神經(jīng)元節(jié)點的1D CNN 層,一層具有64 個神經(jīng)元節(jié)點的LSTM 層,一層具有一個節(jié)點的全連接層(又稱為密集連接層)。為防止模型在訓(xùn)練過程中發(fā)生過擬合,設(shè)置LSTM 層的層間dropout 值為0.5,循環(huán)dropout 值為0.2;設(shè)置模型最大迭代步數(shù)為10 000;模型訓(xùn)練時的批處理大小為64。

      為加快模型收斂,并降低模型學(xué)習(xí)周期,相比于Sigmoid等激活函數(shù),采用修正線性單元(Rectified Linear Unit,ReLU)激活函數(shù)會明顯減少模型整個學(xué)習(xí)過程中的計算量[19]。因此在1D CNN 層與LSTM 層均設(shè)置ReLU 非線性激活函數(shù)。ReLU函數(shù)如式(8)所示:

      其中:x表示上一層神經(jīng)網(wǎng)絡(luò)的輸出向量。ReLU 使得輸入的正值不變,負(fù)值變?yōu)?,這種操作將減少參數(shù)間的依存關(guān)系,使神經(jīng)網(wǎng)絡(luò)具有稀疏性,緩解過擬合問題。

      在模型訓(xùn)練、驗證和測試的過程中,在前向傳播的最后一步使用均方誤差(Mean Square Error,MSE)作為模型誤差函數(shù)。并使用平均絕對誤差(Mean Absolute Error,MAE)作為驗證模型電池SOC 預(yù)測效果的指標(biāo)函數(shù)。MSE 與MAE 如式(9)和式(10)所示:

      其中:yk和分別表示在k時刻的實際SOC 與預(yù)測SOC。MSE和MAE 均可用來衡量預(yù)測目標(biāo)與實際目標(biāo)之間的偏差。MSE是實際目標(biāo)和預(yù)測目標(biāo)之間差的平方,然后再求和平均,平方數(shù)據(jù)更容易作微分操作,因此MSE 常被用作回歸預(yù)測時的損失函數(shù)。MAE 是絕對誤差的平均值,能較好地反映預(yù)測目標(biāo)與實際目標(biāo)之間誤差的實際情況。

      在1D CNN-LSTM 模型訓(xùn)練的過程中,使用Adam[20]優(yōu)化函數(shù)更新模型的權(quán)重與偏置。Adam 的更新過程如式(11)~(15)所示:

      其中:mt和nt分別表示t時刻梯度的一階矩估計和二階矩估計,是E[ft(θt)]和E的近似表示;分別表示對mt和nt的修正,是對期望的近似無偏估計;θt表示模型參數(shù)。Adam 函數(shù)為Keras 深度學(xué)習(xí)框架中的內(nèi)置函數(shù)可直接調(diào)用,且Adam 中的參數(shù)使用文獻(xiàn)[20]中得到的參數(shù)設(shè)置作為默認(rèn)參數(shù)設(shè)置,其中學(xué)習(xí)率α為0.001,衰減因子β1和β2分別為0.9和0.999,常量ε為10-8。

      ③戶外廁所應(yīng)布置在院子角落,盡量位于居室和廚房下風(fēng)向,以保證廁所面南、向陽、通風(fēng)的要求,儲糞池位置選擇要考慮宜于清掏和出渣需要。

      1D CNN-LSTM模型的訓(xùn)練過程如下所示。

      步驟1 隨機(jī)初始化模型參數(shù)。設(shè)置完成1D CNN-LSTM模型;隨機(jī)初始化模型的權(quán)重和偏差。

      步驟2 模型前向傳播過程。計算1D CNN-LSTM 模型隱藏層與輸出層的輸出。

      步驟3 模型反向傳播過程。計算隱藏層和輸出層的誤差以及偏導(dǎo)數(shù)。

      步驟4 權(quán)重訓(xùn)練。將通過反向傳播得到的偏導(dǎo)數(shù)用于更新網(wǎng)絡(luò)權(quán)重和偏差。

      步驟5 判斷是否達(dá)到最大迭代步數(shù)。若達(dá)到最大迭代步數(shù),則模型訓(xùn)練結(jié)束,否則將目前的迭代步數(shù)增加1,并回到步驟2。

      3.1 模型最佳迭代步數(shù)選擇

      使用訓(xùn)練集(11 364樣本)訓(xùn)練設(shè)置完成的1D CNN-LSTM模型,使用驗證集(2 430 樣本)驗證模型每一步的訓(xùn)練效果。為防止模型在驗證集上發(fā)生過擬合,最后使用測試集(2 425樣本)測試最終模型。

      為確定合適的訓(xùn)練步數(shù),圖10 繪制訓(xùn)練集與驗證集在模型訓(xùn)練過程中每一步的MSE,訓(xùn)練步數(shù)從0 步增加到10 000步。如圖10 所示,MSE 在模型訓(xùn)練到300 步以后迅速下降到0.01%以下。模型的訓(xùn)練MSE 和驗證MSE 在4 000~6 500 和8 200~8 900 這兩個訓(xùn)練步數(shù)區(qū)間內(nèi)觀測到波動,MSE 突然增加,但很快穩(wěn)定下來,之后又增加。說明Adam 優(yōu)化算法從一個局部最優(yōu)值跳躍到另一個局部最優(yōu)值。訓(xùn)練和驗證MSE均在6 500 步到8 200 步之間達(dá)到全局最小值。本文將1D CNN-LSTM模型的最佳訓(xùn)練步數(shù)設(shè)置為7 000步。

      圖10 訓(xùn)練步數(shù)從0到10 000時模型訓(xùn)練MSE值與驗證MSE值Fig.10 Training MSE and verification MSE of model when training step number varies from 0 to 10 000

      3.2 隱藏層中節(jié)點數(shù)量設(shè)置

      1D CNN-LSTM 模型隱藏層中有1D CNN 層 和LSTM 層。1D CNN 層中神經(jīng)元節(jié)點個數(shù)的設(shè)置與LSTM 層中神經(jīng)元節(jié)點個數(shù)的設(shè)置都將影響模型的SOC 估計效果。分別對1D CNN 層與LSTM 層中神經(jīng)元節(jié)點數(shù)量的設(shè)置進(jìn)行分析。將LSTM 層的神經(jīng)元節(jié)點數(shù)量設(shè)為N1,1D CNN 層的神經(jīng)元節(jié)點數(shù)量設(shè)為N2。

      在1D CNN-LSTM 模型隱藏層中,分析LSTM 層中設(shè)置不同神經(jīng)元節(jié)點數(shù)量對1D CNN-LSTM 模型SOC 預(yù)測結(jié)果的影響,只改變N1的大小并固定模型中的其他設(shè)置。設(shè)置一層具有64 個神經(jīng)元節(jié)點的1D CNN 層,濾波器高度為2;設(shè)置一層具有N1個神經(jīng)元節(jié)點的LSTM 層,N1取6、64、192、320;批處理大小為64。LSTM 層中設(shè)置不同神經(jīng)元節(jié)點數(shù)量的模型預(yù)測誤差如圖11所示。

      圖11 LSTM層中設(shè)置不同神經(jīng)元節(jié)點數(shù)量的模型預(yù)測誤差Fig.11 Model prediction error under different numbers of neuron nodes of LSTM layer

      隨著LSTM 層神經(jīng)元節(jié)點數(shù)量N1的增加,MSE、MAE與最大誤差開始呈現(xiàn)下降的趨勢,但隨著N1的持續(xù)增加,這3個指標(biāo)又呈現(xiàn)上升的趨勢。當(dāng)N1為64 時,1D CNN-LSTM 模型的指標(biāo)MSE、MAE 和最大誤差均保持最小。LSTM 層中設(shè)置不同節(jié)點數(shù)量時的1D CNN-LSTM模型MSE、MAE和最大誤差如圖12所示。

      圖12 LSTM層中設(shè)置不同神經(jīng)元節(jié)點數(shù)量時模型MSE、MAE和最大誤差Fig.12 MSE,MAE and maximum error of model under different numbers of neuron nodes of LSTM layer

      同理,分析1D CNN 層中設(shè)置不同神經(jīng)元節(jié)點數(shù)量對1D CNN-LSTM 模型SOC 預(yù)測結(jié)果的影響,只改變N2的大小并固定模型中的其他設(shè)置。設(shè)置一層具有64 個神經(jīng)元節(jié)點的LSTM 層;設(shè)置一層具有N2個神經(jīng)元節(jié)點的1D CNN 層,濾波器高度為2,N2取6、64、192、320;批處理大小為64。

      1D CNN 層中設(shè)置不同節(jié)點數(shù)量時的模型MSE、MAE 和最大誤差如表3 所示。隨著1D CNN 層神經(jīng)元節(jié)點數(shù)量N2的增加,MSE、MAE 與最大誤差開始呈現(xiàn)下降的趨勢;但隨著N2的持續(xù)增加,這3 個指標(biāo)又呈現(xiàn)上升的趨勢。雖然當(dāng)N2為192 時,1D CNN-LSTM 模型的指標(biāo)MAE 較N2為64 時有所升高,但模型的指標(biāo)MSE 與最大誤差均下降,當(dāng)模型指標(biāo)MSE較小時,模型具有更好的穩(wěn)定性。為提高1D CNN-LSTM 模型預(yù)測準(zhǔn)確度與穩(wěn)定性,并避免由于模型過于復(fù)雜而導(dǎo)致模型過擬合,應(yīng)適當(dāng)?shù)卦龃驨1和N2。

      表3 1D CNN層中設(shè)置不同節(jié)點數(shù)量時的MSE、MAE和最大誤差Tab.3 MSE,MAE and maximum error of model under different numbers of neuron nodes of 1D CNN layer

      通過上述分析,本文將模型中的1D CNN 層神經(jīng)元節(jié)點數(shù)量設(shè)置為192,LSTM層神經(jīng)元節(jié)點數(shù)量設(shè)置為64。

      3.3 批處理大小設(shè)置

      批處理大小為一次訓(xùn)練時的樣本數(shù)量,將整個樣本分成幾個小批量,輸入到1D CNN-LSTM 模型中。在模型訓(xùn)練過程中分析不同批處理大小對1D CNN-LSTM 模型SOC 預(yù)測結(jié)果的影響,將只改變批處理大小的設(shè)置并固定模型中的其他設(shè)置。根據(jù)上述對隱藏層節(jié)點數(shù)量設(shè)置的研究,設(shè)置一層具有192個神經(jīng)元節(jié)點的1D CNN 層,濾波器高度為2;設(shè)置一層具有64 個神經(jīng)元節(jié)點的LSTM 層;批處理大小取64 和192。設(shè)置不同批處理大小的模型預(yù)測誤差如圖13所示。

      圖13 設(shè)置不同批處理大小的模型預(yù)測誤差Fig.13 Predicted errors under different batch sizes

      設(shè)置不同批處理大小的1D CNN-LSTM模型MSE、MAE和最大誤差如表4 所示。隨著批處理大小的增加,模型的MSE、MAE 和最大誤差均呈現(xiàn)升高趨勢,即模型的SOC 預(yù)測效果在變差。因此本文將批處理大小設(shè)置為64。

      表4 設(shè)置不同批處理大小時的模型MSE、MAE和最大誤差Tab.4 MSE,MAE and maximum error of model under different batch sizes

      3.4 隱藏層層數(shù)設(shè)置

      在1D CNN-LSTM 模型隱含層中,分析隱藏層中層數(shù)的設(shè)置對1D CNN-LSTM 模型SOC 預(yù)測結(jié)果的影響,只改變隱藏層的層數(shù)設(shè)置并固定模型中的其他設(shè)置。設(shè)1D CNN 層的層數(shù)為M1,設(shè)LSTM層的層數(shù)為M2。

      分析1D CNN 層與LSTM 層的層數(shù)的設(shè)置對模型SOC 預(yù)測結(jié)果的影響,只改變M1與M2的大小并固定模型中的其他設(shè)置。設(shè)置M1層具有192 個神經(jīng)元節(jié)點的1D CNN 層,濾波器高度為2;設(shè)置M2層具有64個神經(jīng)元節(jié)點的LSTM 層;批處理大小取64;M1取1和2。M2取1和2。如圖14為M1與M2分別取不同值時模型的預(yù)測誤差。

      圖14 設(shè)置不同隱藏層數(shù)量時的模型預(yù)測誤差Fig.14 Prediction errors under different hidden layer numbers

      設(shè)置不同隱藏層層數(shù)時的模型MSE、MAE 和最大誤差如表5 所示。當(dāng)M1與M2均為1 時,1D CNN-LSTM 模型的3 個指標(biāo)均保持最小;當(dāng)M1為1 且M2為2 時,模型的3 個指標(biāo)均升高;當(dāng)M1為2且M2為1時,模型的MSE、MAE和最大誤差升高的幅度更明顯。M1和M2數(shù)量的增加并沒有提高模型的預(yù)測精確度。

      表5 設(shè)置不同隱藏層層數(shù)時的模型MSE、MAE和最大誤差Tab.5 MSE,MAE and maximum error of model under different hidden layer numbers

      通過實驗分析,本文將在1D CNN-LSTM 模型中設(shè)置一層1D CNN層與一層LSTM層。

      4 對比實驗分析

      對比分析1D CNN-LSTM 模型與1D CNN 模型、BPNN 模型、1D CNN-GRU 模型、LSTM 模型、GRU 模型和SimpleRNN 模型的電池SOC預(yù)測效果。

      BPNN 模型、1D CNN 模型與1D CNN-LSTM 模型的SOC預(yù)測誤差如圖15所示。

      圖15 1D CNN-LSTM模型、1D CNN模型和BPNN模型的預(yù)測誤差Fig.15 Prediction errors of 1D CNN-LSTM model,1D CNN model and BPNN model

      與1D CNN-LSTM模型相比,1D CNN模型與BPNN模型不依賴于過去樣本的輸入,圖15 中顯示這兩種模型預(yù)測誤差值具有較大波動。1D CNN-LSTM 模型因為有LSTM 層的存在而具有保存歷史輸入信息的能力。相比之下,1D CNN-LSTM 模型的SOC 預(yù)測值更準(zhǔn)確和平滑。1D CNN-LSTM 模型的最大預(yù)測誤差為0.99%。與1D CNN 模型和BPNN 模型相比,1D CNN-LSTM模型的最大預(yù)測誤差率分別降低了1.05個百分點和1.31個百分點。

      1D CNN-LSTM 模型與1D CNN-GRU 模型因為有LSTM 與GRU 的存在才具有保存歷史輸入信息的能力。LSTM 與GRU均是為了優(yōu)化SimpleRNN 而提出的循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。針對本文的電池SOC 預(yù)測問題,LSTM 與GRU 具有不同的預(yù)測效果。在本文的實驗中,1D CNN-LSTM 模型比1D CNN-GRU 模型更適合電池SOC 的預(yù)測。與1D CNN-GRU 模型相比,1D CNN-LSTM 模型的最大預(yù)測誤差率降低了1.95 個百分點。1D CNN-LSTM 模型和1D CNN-GRU 模型的電池SOC 預(yù)測誤差如圖16所示。

      圖16 1D CNN-LSTM模型和1D CNN-GRU模型的預(yù)測誤差Fig.16 Prediction errors of 1D CNN-LSTM model and 1D CNN-GRU model

      1D CNN-LSTM 模型、1D CNN 模型、BPNN 模型、1D CNNGRU 模型、LSTM 模型、GRU 模型和SimpleRNN 模型的MSE、MAE 和最大誤差如表6 所示。BPNN 模型為典型的非線性映射模型,全部由全連接層組成,該模型不具有從輸入數(shù)據(jù)中提取高級數(shù)據(jù)特征的能力,也不具有保存歷史輸入信息的能力。1D CNN模型由一維卷積層和全連接層組成,該模型則能夠從輸入數(shù)據(jù)中提取高級數(shù)據(jù)特征。由表6 可知,LSTM 模型、GRU 模型和SimpleRNN 模型的MSE、MAE 和最大誤差均較大,其最大誤差分別達(dá)到了27.61%、62.75%和47.84%,因此僅使用循環(huán)神經(jīng)網(wǎng)絡(luò)的模型不能降低SOC 的預(yù)測誤差,可將CNN 與RNN 相結(jié)合達(dá)到降低電池SOC 預(yù)測誤差的目的。1D CNN-LSTM 模型由一維卷積層與LSTM 層和全連接層組成,1D CNN-GRU 模型由一維卷積層與GRU 層和全連接層組成,由表6 可知,與1D CNN 模型、BPNN 模型、1D CNN-GRU 模型、LSTM 模型、GRU 模型和SimpleRNN 模型相比,1D CNN-LSTM模型的最大預(yù)測誤差率分別降低了1.05、1.31、1.95、26.62、61.76 和46.85 個百分點。對比模型的具體參數(shù)設(shè)置如表7所示。

      表6 七種電池SOC預(yù)測模型的MSE、MAE和最大誤差Tab.6 MSE,MAE and maximum error of 7 kinds of battery SOC prediction models

      上述7 種電池SOC 預(yù)測模型的輸出層中均設(shè)置一層僅含有一個節(jié)點且無激活函數(shù)的全連接層輸出預(yù)測值SOC,且所有模型均具有相同的優(yōu)化函數(shù)、隱層激活函數(shù)、誤差函數(shù)和批處理大小。7種電池SOC預(yù)測模型設(shè)置如表7所示。

      表7 七種電池SOC預(yù)測模型設(shè)置Tab.7 Settings of 7 kinds of battery SOC prediction models

      5 結(jié)語

      針對電池的SOC 預(yù)測穩(wěn)定性及準(zhǔn)確度問題,本文提出一維CNN 與LSTM 結(jié)合的SOC 預(yù)測模型,該方法通過一維CNN有效地提取數(shù)據(jù)的高級數(shù)據(jù)特征,達(dá)到充分獲取輸入數(shù)據(jù)中重要信息的目的,并通過使用LSTM 循環(huán)神經(jīng)網(wǎng)絡(luò)保存歷史輸入信息,使前期的輸入信息與當(dāng)前的輸入一起映射到當(dāng)前的輸出。通過分析模型中隱藏層層數(shù)、1D CNN 層與LSTM 層神經(jīng)元節(jié)點數(shù)、和批處理大小的變化對1D CNN-LSTM 模型SOC 預(yù)測效果的影響,最終確定模型的最優(yōu)設(shè)置。1D CNNLSTM 模型的MSE、MAE 和最大預(yù)測誤差分別為0.002 9%、0.402 7%和0.99%。滿足電池SOC 的估計要求。為進(jìn)一步降低電池SOC 的預(yù)測誤差,可進(jìn)一步考慮將注意力機(jī)制應(yīng)用于電池SOC 的預(yù)測,注意力機(jī)制具有關(guān)注輸入數(shù)據(jù)中重要信息的能力,并結(jié)合循環(huán)神經(jīng)網(wǎng)絡(luò)達(dá)到降低電池SOC 預(yù)測誤差的目的。

      猜你喜歡
      神經(jīng)元卷積神經(jīng)網(wǎng)絡(luò)
      《從光子到神經(jīng)元》書評
      自然雜志(2021年6期)2021-12-23 08:24:46
      基于3D-Winograd的快速卷積算法設(shè)計及FPGA實現(xiàn)
      神經(jīng)網(wǎng)絡(luò)抑制無線通信干擾探究
      電子制作(2019年19期)2019-11-23 08:42:00
      從濾波器理解卷積
      電子制作(2019年11期)2019-07-04 00:34:38
      躍動的神經(jīng)元——波蘭Brain Embassy聯(lián)合辦公
      基于傅里葉域卷積表示的目標(biāo)跟蹤算法
      基于神經(jīng)網(wǎng)絡(luò)的拉矯機(jī)控制模型建立
      復(fù)數(shù)神經(jīng)網(wǎng)絡(luò)在基于WiFi的室內(nèi)LBS應(yīng)用
      基于二次型單神經(jīng)元PID的MPPT控制
      毫米波導(dǎo)引頭預(yù)定回路改進(jìn)單神經(jīng)元控制
      伊宁市| 特克斯县| 定州市| 巧家县| 子长县| 郎溪县| 凤台县| 南漳县| 浦城县| 库车县| 文昌市| 抚松县| 呈贡县| 建宁县| 丹寨县| 泰州市| 清流县| 手游| 朝阳县| 资源县| 紫阳县| 开鲁县| 抚州市| 达拉特旗| 海伦市| 商水县| 肇庆市| 徐汇区| 紫金县| 射阳县| 涡阳县| 吉水县| 尉氏县| 建阳市| 集安市| 加查县| 新巴尔虎右旗| 枣庄市| 凯里市| 读书| 辉南县|