劉麗麗,劉玉璽,王河山+
(1.陜西師范大學 物理學與信息技術(shù)學院,陜西 西安 710062;2.鄭州大學 電氣工程學院,河南 鄭州 450001)
多變量時間序列[1-5]一般都有著較高的維度特征,其中各個特征不僅受過去值的影響,同時各個變量也有著較強的時間依賴性,因此多變量時間序列預測難度較高[6]。
回聲狀態(tài)網(wǎng)絡(ESN)[7,8]作為一種優(yōu)化的RNN網(wǎng)絡,能夠避免RNN中反向傳播和梯度下降出現(xiàn)的計算復雜度、收斂緩慢和陷入局部最優(yōu)等問題[9]。
經(jīng)典的ESN模型結(jié)構(gòu)簡單,僅采用一個隨機稀疏連接的儲備池,因此被廣泛用于時間序列相關(guān)的應用中[10-12]。ESN網(wǎng)絡僅采用了單個儲存池,對于較為龐大的數(shù)據(jù)與變量波動較大的數(shù)據(jù)來說,其動態(tài)豐富度不足以滿足預測需求。Gallicchio等[13]提出了基于ESN的深度學習框架,利用多個儲備池來豐富網(wǎng)絡內(nèi)部的動力學特性。Wuzhou等[14]利用一種新型的鏈式ESN結(jié)構(gòu)來學習輸入的局部特征,也取得了較好的效果。深度ESN也能夠進一步增加網(wǎng)絡的短期記憶容量與動態(tài)特性[15]。多層網(wǎng)絡效果明顯優(yōu)于單層網(wǎng)絡[16]。但是,現(xiàn)有的深度ESN網(wǎng)絡采用多個儲存池堆疊或并行的方式以增加其特征映射和提取能力。這種方式卻忽略了面向?qū)嶋H對象時的魯棒性,也沒有解決隨機的輸入權(quán)重和冗余的特征。
本文在提出的疊式深度ESN框架基礎上利用生成式AE算法獲得穩(wěn)定的輸入權(quán)值,并通過BD算法進行權(quán)值篩選,從而獲得有效特征以提高預測精度。
ESN通過初始化初始參數(shù)和網(wǎng)絡動態(tài)構(gòu)造出一個高維非線性空間,可以通過非線性空間組合得出期望的輸出。ESN的快速性和高準確性使得其在多個領(lǐng)域得到了廣泛的應用,尤其是其短期記憶能力使得ESN網(wǎng)絡在時序任務上有著較為突出的表現(xiàn)。
對于給定的輸入 {U,Y}, ESN由3個部分組成:①輸入部分U是由K×I維的矩陣構(gòu)成,其中I是輸入個數(shù);②儲存池狀態(tài)矩陣R是由N×I維的矩陣構(gòu)成,其中N是儲備池單元數(shù)量;③輸出部分,包括L×I維的輸出O。 而每一層之間都有連接矩陣,從輸入層到儲備池之間的連接矩陣稱之為輸入權(quán)重矩陣Win∈RN×K, 儲備池內(nèi)部的稀疏連接矩陣W∈RN×N, 和一個輸出層到儲備池的反饋矩陣Wback∈RN×L, 這3個矩陣都是在網(wǎng)絡訓練前初始化生成的,整個網(wǎng)絡需要訓練的是儲備池到輸出層的權(quán)重矩陣Wout。 ESN有著結(jié)構(gòu)簡單,訓練快速等優(yōu)點。
基本的回聲狀態(tài)網(wǎng)絡模型的結(jié)構(gòu)如圖1所示,其中虛線箭頭代表了需要被訓練的權(quán)值。儲備池狀態(tài)和輸出的更新方程在時間步t∈{1,2,…,I} 時為
圖1 基本回聲狀態(tài)網(wǎng)絡結(jié)構(gòu)
R(t)=f(Win·U(t)+W·R(t-1)+Wback·O(t-1))
(1)
O(t)=fout(Wout·R(t))
(2)
其中,f為儲備池狀態(tài)的激活函數(shù),一般取值為tanh,fout為輸出層的激活函數(shù),一般取為linear或者tanh,本文取linear。最終,輸出權(quán)重矩陣通過廣義逆算法計算,如式(3)所示
(3)
當ESN網(wǎng)絡中儲備池內(nèi)部的稀疏連接矩陣的譜半徑小于1時,ESN將具有“回聲”即短時記憶性的效應。
ESN-AE(Auto-encoder)模型是利用ESN作為中間網(wǎng)絡構(gòu)成的自編碼回歸器,其特點是利用輸入等于輸出,以更好獲得輸入數(shù)據(jù)特征,其特征映射矩陣可以通過式(3)獲得。ESN-AE一般作為兩層結(jié)構(gòu),第一層通過將輸入數(shù)據(jù)映射到N維特征空間,第二層則利用得到的映射矩陣作為輸入權(quán)重矩陣,以提取輸入樣本特征。ESN-AE有著較好的特征提取能力。受到流形學習在半監(jiān)督問題的邊緣概率分布影響,提出了生成式AE(AE-GESN)算法。在生成式AE中引入流形正則化,能夠保證相鄰的原始數(shù)據(jù)在輸出空間中更加接近,能夠獲得比普通ESN-AE更好的效果。
(4)
(5)
(6)
一般情況,計算式(6)關(guān)于輸出權(quán)重Wout的梯度為
(7)
其中,C為N×N的對角矩陣且其中對角元素為κ, 通過設置梯度為0,可以得到生成式ESN-AE的解分為兩個。第一個是當訓練樣本輸入大于儲備池大小時,則有
(8)
而當輸入樣本個數(shù)小于儲備池大小時,則R中列多于行,則生成式ESN-AE的解為
(9)
通常,參數(shù)κ設置為1,參數(shù)λ設置為0.9。因此,獲得了之后的新的輸入權(quán)重則為每一層中經(jīng)過生成式ESN-AE算法的計算,BD-AE-SGESN算法中每一層的輸入權(quán)重
(10)
Dropout作為一種有效的正則化方法常用于深度神經(jīng)網(wǎng)絡中。由于在訓練較大的網(wǎng)絡結(jié)構(gòu)時很難找到每一層的最優(yōu)參數(shù),Dropout提供了一種通過固定丟棄概率的方法,以隨機丟棄隱層輸出和連接矩陣來組合多層網(wǎng)絡。其中每一層單元有著同樣概率,然后這些單元被丟棄,然而固定的丟棄概率不能夠有效考慮到特征層中特征的重要性。當在每個隱層中引入相同比例的噪聲后,沒有充分考慮到每一層中的特征對網(wǎng)絡的貢獻度的差別,使得Dropout本身的有效性降低[18]。與Dropout不同的是,Biased Dro-pout[18]根據(jù)隱層對網(wǎng)絡的貢獻度將其分成兩部分,并分別設置不同的丟棄概率,以對輸入權(quán)重剪枝的同時保留更多有用的特征。同時,另有研究[19]將其應用于連接矩陣以對不同層之間的特征進行特征選擇,從而減少網(wǎng)絡中的過擬合現(xiàn)象。
受到此類思想的啟發(fā),本文提出了Biased Drop-weight偏置剪枝算法(BD),根據(jù)輸入層對應的輸出設置不同的丟棄概率,以對輸入特征進行選擇。通過設置閾值將輸入層的輸出分為高激活組和低激活組,并設置不同的丟棄概率,來選擇有效的輸入特征。
將輸入層視作相互獨立的輸入單元,其對整體網(wǎng)絡結(jié)構(gòu)的輸出有著不同的貢獻度,BD算法將輸入層的輸出根據(jù)值的大小分成兩組,分別是gh和gl。gh組對應的是對網(wǎng)絡有著較高貢獻度的,對應的丟棄率ph應較低;gl組對應的是對網(wǎng)絡有著較低貢獻度的,對應的丟棄率較高。在實驗中,采用輸入層的輸出的中位數(shù)作為閾值來分組。在訓練階段,通過丟棄概率將兩組中對應的不同的輸出設置為0,保留的輸出值將會保持不變。
mαj~Bernoulli(1-ph)
(11)
對應gl組中的索引值βi∈β
mβi~Bernoulli(1-pl)
(12)
即最終得到的m向量為單位向量或者為0。將M同輸入層進行點積運算,來對輸入特征進行選擇。式(1)更新為
(13)
其中,⊙表示矩陣的元素積,即相同大小的矩陣相同位置元素相乘。
深度ESN框架的目標主要是為了解決ESN短時記憶能力的局限性,為了增加訓練集中輸出的特征與模型的魯棒性,提出了結(jié)合BD和AE-GESN算法的深度ESN框架。
BD-AE-SGESN是由多層ESN模型堆疊構(gòu)成的,每一層ESN的輸入權(quán)重首先由AE-GESN算法獲得,這樣能有效保留輸入特征的輸入權(quán)值,之后通過BD算法進行剪枝以進一步保留有效特征,整體結(jié)果如圖2所示。通過BD算
圖2 BD-AE-SGESN模型網(wǎng)絡結(jié)構(gòu)(3層為例)
法對每一層ESN的輸入進篩選后,每一層就可以學到不同的輸入的動態(tài)特征。同時,每一層的輸入都包含了之前一層的輸出作為新的輸入。通過多層深度的學習,BD-AE-SGESN最終能夠有效映射所有有效輸入的動態(tài)特征,以獲得最終預測結(jié)果。為了能夠使得網(wǎng)絡保持穩(wěn)定,所有模型的儲備池大小,反饋矩陣Wback和儲備池稀疏連接矩陣W是初始化生成后共享的。
R(n)(t)=f(M⊙(Win·I(n)(t))+W·R(n)(t-1)+
Wback·O(n)(t-1))
(14)
(15)
其中,I(n)(t) 為第n層的輸入,除了第一層是由BD算法得到的輸入外,其余層將由之前一層的輸入一同生成,如式(16)所示
(16)
BD算法對每一層的有效特征進行選擇,使得每一層的網(wǎng)絡能夠充分映射動態(tài)特征。第n層得到的輸出權(quán)值矩陣的計算公式為
(17)
(18)
通過堆疊式獲得的模型在多變量時間序列預測上有著更強的魯棒性,同時也能夠更靈活調(diào)整層數(shù)以應對不用的對象類型。當一層中的輸入有著較多干擾或者相關(guān)度較低變量時,BD-AE-SGESN中其它層將會通過選擇有效的特征將提供較為穩(wěn)定的輸出。
此仿真實驗是在Intel Core i5-10400F CPU,主頻1.90 GHz,16 GB內(nèi)存,MATLAB R2020a的編程環(huán)境下完成的。
在此章節(jié),為了驗證提出模型的有效性,3個多變量時間序列數(shù)據(jù)集作為實驗所用的基準數(shù)據(jù)集,分別是經(jīng)典的NARMA多變量混沌系統(tǒng)[20],北京西城區(qū)官園PM2.5濃度[21]和基本負荷運行的聯(lián)合循環(huán)電廠的電力輸出[22](CPP)。其中,NARMA系統(tǒng)由式(19)生成
(19)
PM2.5濃度和CPP數(shù)據(jù)對于衡量空氣質(zhì)量和工業(yè)指標有著極為重要的作用,由于多變量的因素使得目標值的預測較為困難。所采用數(shù)據(jù)集的基本屬性信息見表1。
表1 實驗基準數(shù)據(jù)集
為了消除數(shù)據(jù)中出現(xiàn)的量綱差異,按照式(20)對數(shù)據(jù)進行歸一化處理
(20)
歸一化均方根誤差(NMSE)和相對于ESN的提升百分比(IM)作為評價指標來評估目標模型BDSEN在時間序列預測應用的性能,其計算公式分別為
(21)
(22)
其中,o(t) 代表網(wǎng)絡的輸出,而y(t) 為測試集的實際輸出,σ2表示了o(t) 的方差,No代表輸出的總數(shù)即樣本數(shù)量。除了原始ESN之外,選擇3個較為主流的時間序列預測算法同所提出的BD-AE-SGESN模型完成對比實驗,以橫向?qū)Ρ缺疚乃惴?。分別為SVM[23]、LSTM[24]和Deep-ESN[25]。為了控制變量使得結(jié)果更加科學,其中,ESN、Deep-ESN和本文所提出的算法采用相同尺度的儲備池,采用相同深度。同時,為了使得實驗結(jié)果更加準確并進行縱向?qū)Ρ龋肓薙ESN(僅采用疊式ESN的結(jié)構(gòu)的模型)作為消融模型。BD-AE-SGESN模型的參數(shù)設置見表2。
表2 BDSEN參數(shù)設置
其中參數(shù)設置均是根據(jù)驗證集的最終結(jié)果進行調(diào)試,深度的設置為當驗證集結(jié)果開始下降時立刻停止,并選擇最后一次設定的深度值作為最終結(jié)果。
為了直觀比較不同數(shù)據(jù)集與不同模型之間的預測性能,通過可視化目標模型與基礎模型的預測曲線與誤差曲線來直觀分析穩(wěn)定性差異情況。3.3.1小節(jié)~3.3.3小節(jié)展示了不同模型的預測結(jié)果并在最后展示了不同模型在3個數(shù)據(jù)集上的10次實驗結(jié)果的表現(xiàn),3.3.4小節(jié)對BD算法中的參數(shù)進行了分析。
3.3.1 NARMA
選擇NARMA數(shù)據(jù)中的第8170~8300時間步作為可視化數(shù)據(jù),圖3(a)展示了ESN和BD-AE-SGESN在選定時間步上與原始數(shù)據(jù)的擬合程度;圖3(b)展示了對應時間步上兩個模型與原始數(shù)據(jù)的誤差大小。
BD-AE-SGESN和其它的對比用模型的最終實驗結(jié)果呈現(xiàn)在表3中。
表3 NARMA數(shù)據(jù)集預測結(jié)果
3.3.2 PM2.5
選擇PM2.5數(shù)據(jù)中的第26012~26162時間步作為可視化數(shù)據(jù),圖4(a)展示了ESN和BD-AE-SGESN在選定時間步上與原始數(shù)據(jù)的跟蹤曲線;圖4(b)展示了對應時間步上兩個模型與原始數(shù)據(jù)的誤差。最終結(jié)果將值恢復為原始值域,可以看出,在拐點處,BD-AE-SGESN的跟蹤效果要好于ESN。BD-AE-SGESN和其它算法的對比結(jié)果見表4。
表4 PM2.5數(shù)據(jù)集預測結(jié)果
圖4 PM2.5數(shù)據(jù)集結(jié)果對比
3.3.3 CPP
對于CPP則選擇數(shù)據(jù)中的第7825~8025時間步進行可視化,圖5(a)展示了ESN和BD-AE-SGESN在選定時間步上與原始數(shù)據(jù)的擬合程度;圖5(b)展示了對應時間步上兩個模型與原始數(shù)據(jù)的誤差。表5展示的是BD-AE-SGESN同其它算法的對比結(jié)果。
表5 CPP數(shù)據(jù)集預測結(jié)果
圖5 CPP數(shù)據(jù)集結(jié)果對比
圖6為時間序列預測結(jié)果圖。通過10次實驗得到平均預測誤差,可以看出所提出的BD-AE-SGESN結(jié)果較好。
圖6 平均預測誤差
3.3.4 BD算法參數(shù)影響
BD算法中的Pl和Ph對每一層中的特征個數(shù)有著較為明顯的影響,有效的特征可以提升模型的預測精度。針對不同的任務類型,丟棄率需要根據(jù)實際進行調(diào)整,其對結(jié)果的影響如圖7所示。
圖7 BD算法中參數(shù)對結(jié)果的影響
3.3.5 算法時間復雜度分析
BD-AE-SGESN模型的時間復雜度主要由3個過程來決定:儲備池狀態(tài)的更新、GESN-AE算法和BD算法迭代與最終的模型訓練。其中,對模型時間復雜度影響較深的參數(shù)主要為深度n,儲備池大小N,輸入序列維度Ntrain和輸入序列的長度I。則BD-AE-SGESN算法復雜度為O(2·NtrainNnI), 盡管在時間復雜度上較原始ESN的要高,但根據(jù)參數(shù)設置與實驗結(jié)果的對比可以看出,其訓練時間在可接受范圍。同Deep-ESN相比,有著較為相似的時間復雜度。通過分析,提出的模型的復雜度主要受層數(shù)與AE-GESN算法的影響,而通過實驗分析得知,較小的層數(shù)便能到較為理想的結(jié)果。
從圖3~圖6可以看出,預測曲線均圍繞實際值上下浮動,其中BD-AE-SGESN模型更貼近于實際曲線。表3~表5的誤差統(tǒng)計和提升百分比可以看出目標模型BD-AE-SGESN的預測精度要高于其它幾個模型。尤其是對于NARMA和PM2.5對象,其提升效果較為明顯。相對于Deep-ESN深度模型,BD-AE-SGESN也有著較好的性能。但是在PM2.5的數(shù)據(jù)上,所有的模型的預測精度都并不高,這是因為在多變量預測中,其它變量的干擾會影響前后時間的相關(guān)性。通過對比實驗可以發(fā)現(xiàn),所提出的模型在時間序列預測上有著較好的跟蹤性能,且在拐點處相較于ESN能夠有更好的穩(wěn)定性。
通過消融模型SESN的對比可以發(fā)現(xiàn),BD算法和GESNAE算法能夠十分有效的在多層ESN中學習到有效的特征,并對輸入權(quán)重進行剪枝以篩選輸入特征,從而提高最后模型的預測性能。由此可以看出,無論是單層ESN、Deep-ESN和LSTM,BD-AE-SGESN在時間序列預測的應用上具有優(yōu)越性。盡管所提出的模型由于深度增加的原因,算法復雜度和ESN比較較為費時,但是最終預測結(jié)果有著較好的提升。
由圖7得到BD-AE-SGESN的效果受到BD算法中的參數(shù)影響較大,是因為參數(shù)決定了每層所選擇的特征數(shù)量,通過多層的疊加,會對最終模型的性能有所影響,經(jīng)過簡單的調(diào)整,確定合適的參數(shù)可以使得BDSEN有著更優(yōu)的性能。
綜合來看,BD-AE-SGESN在非線性多變量時間序列預測應用上,有著較為穩(wěn)定且較高的性能,所提出的時間序列預測模型在時間序列預測的實用性也可以被驗證。
本文提出了一種基于Biased Drop-weight疊式自編碼回聲狀態(tài)網(wǎng)絡的多變量時間序列預測模型,利用生成式ESN-AE來在每層中生成輸入權(quán)重,之后通過采用多層有效特征的ESN網(wǎng)絡進行堆疊來提升ESN網(wǎng)絡的預測精度。其中GESN-AE和BD算法生成能夠有效保留輸入特征的輸入權(quán)重,并進行剪枝以進行特征選擇。大量的實驗分析表明,所提出的模型比其它5種模型有著更好的預測精度。同時,參數(shù)的討論也驗證通過簡單調(diào)整參數(shù)后,目標模型變化可達到較優(yōu)的表現(xiàn)。
所提出的深度學習框架也可以為ESN向深度學習的擴展提供思路。