馮 勇,馮述放,羅 娜
(華東理工大學(xué)能源化工過程智能制造教育部重點(diǎn)實(shí)驗(yàn)室, 上海 200237)
時間序列是指變量按照時間順序記錄的觀測序列[1],廣泛存在于金融[2]、交通[3]、工業(yè)生產(chǎn)[4]等多種場景。時間序列可以分為一元和多元時間序列,以多元時間序列場景居多。多元時間序列的變元之間存在復(fù)雜的耦合關(guān)系,呈現(xiàn)出明顯的非線性、非平穩(wěn)性[5]。
時間序列分析作為數(shù)理統(tǒng)計(jì)學(xué)的重要分支,其目的在于挖掘出時序數(shù)據(jù)的變化規(guī)律進(jìn)而預(yù)測事物的發(fā)展趨勢[6]。時間序列的預(yù)測結(jié)果有助于人們把握事物的變化方向,對于日常生活的安排、生產(chǎn)過程的控制、社會活動的調(diào)度都具有重要的參考價(jià)值,能夠進(jìn)一步實(shí)現(xiàn)資源分配的優(yōu)化與經(jīng)濟(jì)效益的提升[7]。
在時間序列預(yù)測問題中,傳統(tǒng)的統(tǒng)計(jì)模型如差分整合移動平均自回歸模型[8]、向量自回歸(Vector Auto-Regression, VAR)模型[9]均無法適應(yīng)當(dāng)今大量時序數(shù)據(jù)的建模需求。典型的機(jī)器學(xué)習(xí)模型如隱馬爾可夫方法[10]、支持向量機(jī)回歸(Support Vector mach ine Regression, SVR)[11]、人工神經(jīng)網(wǎng)絡(luò)[12]、極限梯度提升(XGBoost)[13]等雖已廣泛應(yīng)用,但面對海量數(shù)據(jù)處理時無法深度挖掘數(shù)據(jù)特征,容易陷入局部最優(yōu)值[14]。遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)[15]在序列特征中依靠自身隱藏層狀態(tài)的迭代與每個時間步輸入的獲取,能夠靈活地捕獲建模變量與輸出序列的非線性關(guān)系。傳統(tǒng)的RNN 在輸入過長時存在梯度消失問題,不能捕獲長時間的依賴。為此,長短期記憶(Long Short Term Memory, LSTM)網(wǎng)絡(luò)[16]和門控循環(huán)單元(GRU)網(wǎng)絡(luò)[17]被相繼提出,從而有效地把握了時間序列中的長期信息。
在循環(huán)神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,為進(jìn)一步挖掘時間序列中的頻率特性,Jan 等[18]提出了分割隱藏狀態(tài)矩陣的時鐘循環(huán)神經(jīng)網(wǎng)絡(luò)(Clockwork Recurrent Neural Network, CWRNN),其中隱含層被劃分為多個獨(dú)立的模塊,每個模塊按照自己的時間粒度處理輸入,僅按照規(guī)定的時鐘速率進(jìn)行計(jì)算,依靠長周期單元對長期數(shù)據(jù)的保持和傳遞,在一定程度上解決了傳統(tǒng)RNN 的長期依賴問題。由于引入了長期鏈的RNN網(wǎng)絡(luò),存在短期信息權(quán)重過低的問題,無法快速響應(yīng)短期突變數(shù)據(jù)。Hu 等[19]在LSTM 基礎(chǔ)上,提出了轉(zhuǎn)換門控的LSTM 來提高捕獲短期突變信息的能力,但由于轉(zhuǎn)換門控機(jī)制在輸入時序較長時會過度地丟棄遠(yuǎn)期信息,導(dǎo)致失去全局區(qū)域的信息特征。
由于測量噪聲與環(huán)境干擾的影響,應(yīng)用于實(shí)際場景下的時序預(yù)測模型需要提升在數(shù)據(jù)波動下的魯棒性與泛化能力。Chen 等[20]提出了稀疏模態(tài)加性模型,將稀疏模型應(yīng)用于高維數(shù)據(jù)分析,通過對模態(tài)回歸度量、數(shù)據(jù)相關(guān)假設(shè)空間和正則表達(dá)式在加法器中的整合,確保了模型對復(fù)雜噪聲的魯棒性,有效消除了模型對非高斯噪聲的數(shù)據(jù)敏感,實(shí)現(xiàn)了噪聲環(huán)境下的有效預(yù)測。Zhao 等[21]提出了一種自適應(yīng)稀疏量化核最小均方算法,將稀疏化規(guī)則、權(quán)重自適應(yīng)調(diào)整、順序異常值準(zhǔn)則和量化預(yù)測相結(jié)合,在面對噪聲數(shù)據(jù)時取得了較好的預(yù)測性能。時間卷積網(wǎng)絡(luò)[22]通過在長時間序列上膨脹因子的設(shè)置,在數(shù)據(jù)提取上具有稀疏后歸并的特性,經(jīng)過多層時間卷積網(wǎng)路的運(yùn)算,在時間序列預(yù)測問題上也呈現(xiàn)出良好的精度,但由于訓(xùn)練的神經(jīng)元數(shù)目過多,容易陷入局部最優(yōu)值。
總的來說,多元時間序列預(yù)測存在兩個難題:一是如何平衡長期歷史信息與短期突變信息,從而保證模型的精度[23];二是在環(huán)境變化時,模型如何排除噪聲干擾,有效提取特征[24]。長期歷史信息能夠提供更豐富、全面的數(shù)據(jù)參考,從而保證預(yù)測結(jié)果符合長期趨勢,減小預(yù)測誤差,但長期信息也會對短期信息造成干擾。部分時間較遠(yuǎn)的歷史數(shù)據(jù)對當(dāng)前產(chǎn)品指標(biāo)的影響相對較小,甚至?xí)a(chǎn)生遺留噪聲,造成錯誤的規(guī)律導(dǎo)向[25];另一方面,大部分的產(chǎn)品指標(biāo)往往與近期的生產(chǎn)工況密切相關(guān),歷史信息過長也會降低模型對短期信息分配的權(quán)重,無法敏銳捕獲短期信息會使得預(yù)測結(jié)果出現(xiàn)明顯的滯后,無法及時反映生產(chǎn)工況帶來的指標(biāo)影響[26]。
本文采用CWRNN 原有的網(wǎng)絡(luò)結(jié)構(gòu),將神經(jīng)單元分成不同時鐘激活周期的神經(jīng)單元組,設(shè)計(jì)了時鐘觸發(fā)長短期記憶網(wǎng)絡(luò)(CWTLSTM),主要改進(jìn)如下:
(1) 根據(jù)不同神經(jīng)單元組周期的劃分,將神經(jīng)元分為主干網(wǎng)絡(luò)鏈(持續(xù)激活)與短期信息增強(qiáng)鏈(非持續(xù)激活)。主干網(wǎng)絡(luò)鏈主要負(fù)責(zé)狀態(tài)的計(jì)算與保持,短期信息增強(qiáng)鏈只在激活時負(fù)責(zé)對當(dāng)前時間步的信息獲??;通過鏈路傳輸結(jié)構(gòu)的設(shè)計(jì),只允許數(shù)據(jù)從短期信息增強(qiáng)鏈單向流動到主干網(wǎng)絡(luò)鏈,在短期信息增強(qiáng)鏈激活時,加強(qiáng)該時刻對突變信息的捕捉能力。
(2) 對短期信息增強(qiáng)鏈而言,在當(dāng)前時間不是神經(jīng)元時鐘激活周期的整數(shù)倍時,將對應(yīng)的神經(jīng)元狀態(tài)置為0 而不是保持上一時刻的狀態(tài),形成算法上的稀疏結(jié)構(gòu),保證短期鏈不受長期信息干擾,增強(qiáng)當(dāng)前輸入的權(quán)重,加強(qiáng)噪聲數(shù)據(jù)的淘汰概率。
(3) 將CWRNN 中神經(jīng)元載體從簡單RNN 單元變?yōu)長STM 單元,以此保證在面對較長的時間序列時,加強(qiáng)主干網(wǎng)絡(luò)鏈對長期信息的狀態(tài)保持能力,使得模型進(jìn)一步具備平衡長短期信息的能力。
時間序列預(yù)測屬于回歸問題,對于單時序預(yù)測問題而言,設(shè)x∈R 為觀測變量,在一個時間段{1,2,3,···,t}內(nèi),能夠觀測得到單變量時間序列xt=[x1,x2,···,xt]T,預(yù)測目標(biāo)是預(yù)測時間序列的下一個值xt+1,預(yù)測完全依賴變量自身變化的規(guī)律延續(xù)性[27]。
多元時間序列是多個一元時間序列的復(fù)雜組合,多元時序預(yù)測中,有時間段 {1,2,3,···,t}內(nèi)的目標(biāo)變量序列yt=[y1,y2,···,yt]T,預(yù)測目標(biāo)為yt+1;m個一元序列在該時間段內(nèi)的觀測結(jié)果可以表示為
其中:Xt為外生驅(qū)動變量矩陣;表示第m個變量的時序變量序列;表示第m個變量的t時刻的值;m為觀測序列數(shù)量。
多元時間序列預(yù)測的基本思想是一方面根據(jù)事物自身發(fā)展的延續(xù)性,統(tǒng)計(jì)分析過往的時間序列數(shù)據(jù),實(shí)現(xiàn)yt的趨勢預(yù)測[28];另一方面,考慮到Xt對yt+1的影響,使用驅(qū)動變量的歷史數(shù)據(jù)作為建模輸入以增強(qiáng)預(yù)測的精度與可信度。因此,將作為驅(qū)動變量,時間序列預(yù)測模型如式(2)所示:
其中:F(·) 表示多元時序預(yù)測模型對Xt的運(yùn)算過程;εt+1為t+1時刻模型的預(yù)測殘差。由式(2)可知,多元時間序列預(yù)測的重點(diǎn)在于如何開發(fā)精確有效的模型使得殘差最小,實(shí)現(xiàn)精準(zhǔn)預(yù)測。
CWTLSTM 的結(jié)構(gòu)如圖1 所示。將LSTM 單元分為若干組,網(wǎng)絡(luò)中共有u個LSTM 單元,平均分配給g個擁有不同輸出周期Tgroup={T1,T2,T3,···,Tg} 的單元組,每個組含有k=u/g個單元。
計(jì)算過程中,只有在輸入時間步t是Tgroup的整數(shù)倍時,對應(yīng)的神經(jīng)元才能進(jìn)入激活狀態(tài),接收當(dāng)前時刻的輸入xt、上一時刻隱藏層狀態(tài)ht?1,完成神經(jīng)元狀態(tài)的更新與輸出;否則該單元對應(yīng)的細(xì)胞狀態(tài)ct與輸出ht均為0,輸出無法傳遞至下一時間步的運(yùn)算,稱為未激活狀態(tài)。
如圖1 所示,CWTLSTM 一方面只允許右側(cè)分組向左側(cè)分組單向地傳遞狀態(tài)信息,另一方面不同組具有不同的激活周期,根據(jù)周期的不同,在指定的時間步上激活并參與運(yùn)算。最左側(cè)滿足Tgroup=1 條件的神經(jīng)單元組為主干網(wǎng)絡(luò),在每個時間步上都能持續(xù)觸發(fā)激活狀態(tài),接受上一時刻網(wǎng)絡(luò)中所有神經(jīng)單元的狀態(tài)與當(dāng)前輸入,能夠保存所有時間尺度上的信息。其余分組的神經(jīng)單元一般設(shè)置Tgroup>1 ,構(gòu)成短期信息增強(qiáng)鏈,只在t是Tgroup整數(shù)倍的時間步上激活,無法保持上一時刻的狀態(tài)數(shù)據(jù),激活時才能向下一時間步傳遞細(xì)胞狀態(tài)與輸出。模型中只有Tgroup=1的主干網(wǎng)絡(luò)鏈能夠長期存儲歷史信息,而短期信息增強(qiáng)鏈自身的歷史信息流向會被強(qiáng)制切斷,此類神經(jīng)單元組可以視為不包含歷史信息的輸入增強(qiáng)模塊,單向地將信息傳遞至主干網(wǎng)絡(luò)鏈。因此,合理設(shè)置短期信息增強(qiáng)鏈的數(shù)目與周期能使模型增加近期輸入信息的分配權(quán)重,便于捕獲短期信息突變。
圖1 CWTLSTM 結(jié)構(gòu)圖Fig.1 Structure of CWTLSTM
LSTM 單元各部分的計(jì)算如下:
式中xt、it、ft、c?t、ot、ct、ht分別表示t時刻的變量輸入、輸入門結(jié)果、遺忘門結(jié)果、候選細(xì)胞狀態(tài)、輸出門結(jié)果、細(xì)胞狀態(tài)、細(xì)胞輸出;Wi、Wf、Wc、Wo分別表示輸入門權(quán)重矩陣、遺忘門權(quán)重矩陣、細(xì)胞更新權(quán)重矩陣、輸出門權(quán)重矩陣;σ(·)為對應(yīng)位置的激活函數(shù);b為對應(yīng)的偏差。
CWTLSTM 在輸入門、遺忘門、細(xì)胞更新策略、輸出門這4 個位置同時設(shè)立時鐘觸發(fā)策略,對每個門進(jìn)行調(diào)整。權(quán)重矩陣Wi、Wf、Wc、Wo均按照周期性激活的特性進(jìn)行計(jì)算,各組的權(quán)重子矩陣在不是本組周期整數(shù)倍的時間步上均為 0 矩陣,以此表示未激活細(xì)胞的缺省狀態(tài)。以第j組神經(jīng)單元為例,運(yùn)算規(guī)則如下:
其中:Wij、Wf j、Wcj、Woj分別表示第j組神經(jīng)元的輸入門、遺忘門、細(xì)胞更新與輸出門的權(quán)重矩陣;Wjq(q∈){1,2表,···,示g}第組j內(nèi)第q個神經(jīng)元的權(quán)重矩陣;為t當(dāng)前時間步;Tj表示第j組神經(jīng)元的激活周期;表t%T示j=當(dāng)0前時間步被第t組激j活周期Tj整除,即為tTj的整數(shù)t%倍Tj;≠0表示其他情況。根據(jù)式(3)和式(4)可知:在不考慮各門控單元偏移量bi、bf、bc、bo的情況下,對第j組神經(jīng)單元而言,非周期整數(shù)倍的時間步上其輸出hjt、cjt均為 0 矩陣。
當(dāng)t%Tgroup≠0 時,ht與ct均為0,該LSTM 神經(jīng)元不參與下一時間步的交互運(yùn)算,從而形成該時刻該神經(jīng)元在算法上的缺省稀疏。對于一個不向外界傳遞參數(shù)的非激活單元而言,其內(nèi)部參數(shù)狀態(tài)無法對網(wǎng)絡(luò)其他部分造成干擾,因此可以通過給神經(jīng)元的輸出ht與ct賦零值來表達(dá)非激活狀態(tài)下的神經(jīng)元特征,以此封鎖該神經(jīng)元向下一時刻網(wǎng)絡(luò)的狀態(tài)傳遞,而不必修改數(shù)量龐大的權(quán)重矩陣。這樣一方面保證了時間復(fù)雜度的降低,從對整個網(wǎng)絡(luò)的所有權(quán)重矩陣的操作改為對非激活單元輸出值的操作,其執(zhí)行速度上有明顯提升;另一方面也防止了各門控機(jī)制的權(quán)重在時間步上變化不連續(xù)的情況出現(xiàn),避免了因矩陣不滿秩而導(dǎo)致在梯度計(jì)算時出現(xiàn)求導(dǎo)錯誤的危險(xiǎn)。
圖2 為分頻規(guī)則為[1,2,1]時的CWTLSTM示例。將神經(jīng)單元分成3 組,分別賦予1、2、1 的激活周期,由于第1 組、第3 組的Tgroup均為1,因此持續(xù)激活始終參與運(yùn)算,均為主干網(wǎng)絡(luò)鏈;第2 組的Tgroup為2,因此只在偶數(shù)時間步時輸出進(jìn)行運(yùn)算,而在奇數(shù)步時細(xì)胞狀態(tài)與單元輸出均為0,使得下一時間步該神經(jīng)單元在計(jì)算輸出時,從本單元接收的狀態(tài)數(shù)值為0,進(jìn)而使得加權(quán)求和時輸入數(shù)據(jù)的權(quán)重增加。
圖2 分頻規(guī)則為[1,2,1]的CWTLSTMFig.2 CWTLSTM with frequency division rule [1,2,1]
從數(shù)據(jù)捕獲的角度看,CWTLSTM 存在不同時間步間的稀疏計(jì)算,如果主干網(wǎng)絡(luò)神經(jīng)單元數(shù)較少,在訓(xùn)練過程中可能會導(dǎo)致一定的數(shù)據(jù)損失,但是稀疏特性卻能夠保證模型在訓(xùn)練時不易陷入過擬合狀態(tài)和局部最優(yōu)值,因此在噪聲環(huán)境中能夠保持模型的泛用性與精確度。
圖1 中神經(jīng)單元組被激活時,內(nèi)部每個單元能夠接受上一時刻同一組內(nèi)所有單元的細(xì)胞狀態(tài)與輸出;但在各個分組間的交互上,每個神經(jīng)單元組只允許神經(jīng)元狀態(tài)h單向地傳給位于其左側(cè)的神經(jīng)單元組。同樣,圖2 中示出的各組間的信息交互只能從下向上傳遞,以此保證短期信息增強(qiáng)鏈的信息匯入主干網(wǎng)絡(luò)鏈,并將訓(xùn)練重點(diǎn)放在最上側(cè)的主干網(wǎng)絡(luò)鏈上。
CWTLSTM 的另一個改進(jìn)是對LSTM 網(wǎng)絡(luò)中狀態(tài)傳遞矩陣 Mask 的調(diào)整。在LSTM 網(wǎng)絡(luò)中,原始的Mask矩陣為全1 矩陣,表示同一時間步上神經(jīng)單元之間的全連接,每個LSTM 單元獲取上一時刻所有LSTM 單元狀態(tài)。以整個網(wǎng)絡(luò)的遺忘門輸出為例,分析Mask傳遞矩陣的作用。對LSTM 網(wǎng)絡(luò)整體,數(shù)學(xué)表達(dá)式為
其中:Wfh為狀態(tài)權(quán)重矩陣,表示LSTM 網(wǎng)絡(luò)對上一時刻網(wǎng)絡(luò)狀態(tài)的響應(yīng)能力;Wf x為輸入權(quán)重矩陣,表示網(wǎng)絡(luò)對當(dāng)前輸入的響應(yīng)能力;運(yùn)算符 ? 為哈達(dá)瑪乘法,表示符號前后矩陣相同位置元素對應(yīng)相乘構(gòu)成新矩陣(C=A?B?cij=aij?bij)。由式(6)可知,LSTM 網(wǎng)絡(luò)的 Mask 矩陣為全1 矩陣,每個LSTM 單元接受來自上一時刻的所有LSTM 單元輸出并進(jìn)行計(jì)算。
為實(shí)現(xiàn)CWTLSTM 的功能,將CWTLSTM 神經(jīng)元之間的連接矩陣 Mask 劃分為g×g個塊矩陣組成的稀疏掩碼矩陣,狀態(tài)傳遞矩陣 Mask 為塊上三角矩陣,表達(dá)式為
其中:Mij表示分組j向分組i的傳遞權(quán)重矩陣,大小為k×k(k為分組內(nèi)的神經(jīng)元數(shù)目),Mij= Ones 為全1 矩陣時,表示分組i能夠接受分組j的神經(jīng)元輸出值hj;Mij= 0 為零子矩陣時,表示對應(yīng)分組j無法向分組i傳遞神經(jīng)元輸出值hj。
將 Mask 矩陣與網(wǎng)絡(luò)各門控機(jī)制的單元權(quán)重矩陣W·,h對應(yīng)元素相乘,即可控制CWTLSTM 各個神經(jīng)單元對上一時刻網(wǎng)絡(luò)輸出的響應(yīng)能力。
其中:W·,h(Wi,h、Wf,h、Wc,h、Wo,h)表示CWTLSTM的各門控機(jī)制對所有上一時刻隱藏狀態(tài)的權(quán)重分配;Wij= 0 矩陣表示分組i對分組j的神經(jīng)元輸出值h賦予的關(guān)注權(quán)重均為0,其子矩陣均表示正常運(yùn)算。
如式(9)和圖2 所示,網(wǎng)絡(luò)只允許下層分組的神經(jīng)單元向上層分組傳遞狀態(tài)信息,一方面可以避免模型在短期信息增強(qiáng)鏈在未激活時進(jìn)行無意義的計(jì)算,提升運(yùn)算效率;另一方面也能保證底層神經(jīng)元激活時只受輸入影響,避免其他組狀態(tài)值的影響導(dǎo)致W·h增大,保持神經(jīng)元對當(dāng)前輸入的強(qiáng)相關(guān)性,保證模型增強(qiáng)輸入的作用。
在圖3 的示例中,將CWTLSTM 分為2 組,Tgroup分別為[1, 2],此時CWTLSTM 將主要以分組1 為主要運(yùn)算模塊,主干網(wǎng)絡(luò)同時接受當(dāng)前輸入、上一時刻的自身神經(jīng)元狀態(tài)Hgroup1與增益網(wǎng)絡(luò)的狀態(tài)Hgroup2。Tgroup=2的分組每2 個時間步激活一次,對當(dāng)前輸入進(jìn)行運(yùn)算得到細(xì)胞輸出與細(xì)胞狀態(tài)后,才向主干網(wǎng)絡(luò)傳遞一次本組的運(yùn)算結(jié)果,顯式地增強(qiáng)激活時刻輸入的權(quán)重占比。顯而易見,越遠(yuǎn)離輸出時間步的輸入,增益對網(wǎng)絡(luò)整體的輸出結(jié)果影響越??;越靠近輸出時間步的輸入,增益對主干網(wǎng)絡(luò)的影響越大,因此,輸入增強(qiáng)鏈主要增強(qiáng)了短期內(nèi)的信息,稱為短期信息增強(qiáng)鏈。短期信息增強(qiáng)鏈向主干網(wǎng)絡(luò)鏈的單向傳遞結(jié)構(gòu),在主干網(wǎng)絡(luò)保留長期信息的基礎(chǔ)上,可以提升對短期信息的捕獲能力。
圖3 短期信息增益說明Fig.3 Description of short-term information gain
CWTLSTM 整體的權(quán)重更新方式仍然遵從LSTM網(wǎng)絡(luò)反向傳播的訓(xùn)練規(guī)則,由于 Mask 與W,h始終保持對應(yīng)位置元素相乘的狀態(tài),因此對W,h訓(xùn)練更新可以看作是對 Mask?W,h整體的訓(xùn)練計(jì)算。本文使用梯度下降法更新以完成所有參數(shù)的尋優(yōu),關(guān)鍵點(diǎn)在于計(jì)算所有參數(shù)基于損失函數(shù)的偏導(dǎo)數(shù)[29],步驟如下:
(1) 按照網(wǎng)絡(luò)的前饋運(yùn)算公式(10)得到CWTLSTM在t時刻的輸出值為ht:
已知損失函數(shù)為 Loss ,定義t時刻的狀態(tài)梯度為遺忘門、輸入門、細(xì)胞更新、輸出門梯度分別為:
根據(jù)鏈?zhǔn)角髮?dǎo)與導(dǎo)數(shù)乘法展開,得到:
(2) 將循環(huán)神經(jīng)網(wǎng)絡(luò)展開,通過t時刻的梯度反向計(jì)算神經(jīng)元上一時刻的損失函數(shù)對單元輸出的偏導(dǎo)數(shù) δt?1;在LSTM 網(wǎng)絡(luò)中存在梯度關(guān)系為
由此可以反向推導(dǎo)之前每一時刻的梯度數(shù)值,并可根據(jù)式(11)得到 δf,k、δi,k、δ~c,k、δo,t,便于后續(xù)運(yùn)算。
(3) 計(jì)算得到t時刻每個權(quán)重的梯度:
對循環(huán)網(wǎng)絡(luò)而言,最終的梯度是各個時刻的梯度之和,由此得到一個樣本的損失函數(shù)對權(quán)重矩陣的梯度值:
使用相應(yīng)的優(yōu)化器來更新權(quán)重,向損失函數(shù)梯度小的方向進(jìn)行迭代,使得 Loss 函數(shù)降低[30]。
同理,可根據(jù)式(11)的前項(xiàng)公式與式(13)中梯度展開方法,推導(dǎo)得到各門控單元的輸入權(quán)重矩陣W·x與偏移量b·的計(jì)算公式:
在訓(xùn)練階段,CWTLSTM 根據(jù)式(14)~式(16)在每個迭代周期中利用梯度下降方向作為尋優(yōu)方向,修改權(quán)重矩陣(模型的可訓(xùn)練參數(shù))以減小誤差,不斷地在可行域中找到令損失函數(shù)最小的最優(yōu)解,直至完成完整的模型訓(xùn)練。
LSTM 的可訓(xùn)練參數(shù)有W·h、W·x、b·,假設(shè)存在u個神經(jīng)單元,數(shù)據(jù)集的輸入維度為d,共有d個特征數(shù)目,則每個單元共有 4u2個狀態(tài)權(quán)重參數(shù)、4u×d個輸入狀態(tài)權(quán)重參數(shù)與 4u個偏移量參數(shù),故LSTM的空間復(fù)雜度為O(4u(u+d+1))。此外LSTM 代碼包中存在不參與訓(xùn)練的參數(shù)(如Mask 矩陣參數(shù)等模型底層支持變量),種類較多且不便計(jì)數(shù),此類參數(shù)記為ot個,則LSTM 總的空間復(fù)雜度為O(4u(u+d+1)+ot)。CWTLSTM 的可訓(xùn)練參數(shù)與LSTM 數(shù)目相同,空間復(fù)雜度為O(4u(u+d+1)) ,為實(shí)現(xiàn)網(wǎng)絡(luò)特有功能,每個神經(jīng)單元增添的參數(shù)有:用以辨別激活時間步的周期參數(shù) period、在非激活狀態(tài)下的輸出htemp=0 與ctemp=0=0 ,共計(jì) 3u個參數(shù)。額外參數(shù)量加上LSTM 的原有參數(shù)量,得到CWTLSTM的空間復(fù)雜度為O(u(4u+4d+7)+ot)。
LSTM 的底層運(yùn)算設(shè)計(jì)非常繁瑣且復(fù)雜,假設(shè)總體的時間復(fù)雜度為O(all)。已知在原始LSTM訓(xùn)練過程中,狀態(tài)權(quán)重矩陣計(jì)算的時間復(fù)雜度為O(u3) ,輸入權(quán)重矩陣相關(guān)計(jì)算的時間復(fù)雜度為O(ud) ,因此必然有 all>4u(u2+d)。在CWTLSTM中,當(dāng)神經(jīng)元處于非激活狀態(tài)時需要設(shè)置臨時輸出htemp=0與ctemp=0,其最大時間復(fù)雜度為其中g(shù)為神經(jīng)單元組數(shù),可知因此,CWTLSTM 總的時間復(fù)雜度為O(all) ,可認(rèn)為CWTLSTM 與LSTM 的時間復(fù)雜度基本相同。
本文首先采用開源的空氣污染數(shù)據(jù)集[31]進(jìn)行初步的模型性能探討,再利用現(xiàn)場采集的水泥篦冷機(jī)數(shù)據(jù)集進(jìn)行進(jìn)一步的模型性能分析。
自相關(guān)函數(shù)(Auto Correlation Function, ACF)[32]描述了序列的當(dāng)前值與其過去值之間的相關(guān)程度,描述隨機(jī)變量X在任意不同時刻之間的相關(guān)程 度Rt1,t2[33]。
其中:Xt1、Xt2分別表示時刻X的觀測序列;μt1、μt2分別為Xt1、Xt2的均值;σt1、σt2分別為Xt1、Xt2的標(biāo)準(zhǔn)差。Rt1,t2的數(shù)值越接近1,表示與兩個時刻對應(yīng)的觀測序列相關(guān)性越高。
將CWTLSTM 與VARMAX[34]、SVR[35]、XGBoost[36]、CWRNN[37]、LSTM[38]等基準(zhǔn)模型進(jìn)行比較,觀測本文模型的預(yù)測性能。為了量化預(yù)測模型的有效性,采用均方根誤差(RMSE)、平均絕對誤差(MAE)、平均絕對百分比誤差(MAPE)、回歸平方和與總離差平方和之比值(R2)這些分析指標(biāo)進(jìn)行數(shù)值驗(yàn)證,分別如式(18)~式(21)所示。
RMSE、MAE、MAPE 越小,表明預(yù)測值與真實(shí)值的誤差越小,模型精度越高;R2越大表示預(yù)測值與真實(shí)值的相關(guān)性系數(shù)越高,模型的擬合效果越好。
空氣污染數(shù)據(jù)集采集于意大利城市內(nèi)嚴(yán)重污染地區(qū),記錄了包括一氧化碳、苯、二氧化氮在內(nèi)共計(jì)12 種空氣污染物的濃度,采樣周期為1 h,處理后的有效數(shù)據(jù)總計(jì)7 865 條,預(yù)測變量為一氧化碳質(zhì)量濃度。
將該數(shù)據(jù)集數(shù)據(jù)按照0.6∶0.2∶0.2 的比例劃分為訓(xùn)練集、驗(yàn)證集、預(yù)測集,圖4 分別示出了訓(xùn)練集、驗(yàn)證集、預(yù)測集在200 個采樣時間步(200 h)的原始數(shù)據(jù)曲線與ACF 曲線。ACF 曲線具有明顯的周期相關(guān)特性,而在一個周期的時間長度內(nèi),基本只有短期數(shù)據(jù)呈現(xiàn)較高的相關(guān)性。在實(shí)驗(yàn)中設(shè)定時間步長(Time step)為對照參數(shù),分別設(shè)置為10、48(時長為空氣污染數(shù)據(jù)集的兩個顯著周期),比較在該數(shù)據(jù)上短期信息增強(qiáng)能否提供有效的數(shù)據(jù)支持。其余參數(shù)batch 為128,epochs 為200,分頻序列為[1,2,3]。
圖4 一氧化碳質(zhì)量濃度的原始數(shù)據(jù)曲線與ACF 曲線Fig.4 Original data curves and ACF curves of CO mass concentration
設(shè)置XGboost 的最大樹深度為20,弱估計(jì)器的數(shù)量(樹的個數(shù))為80;SVR 的參數(shù)為高斯核函數(shù),懲罰系數(shù)(C)為0.5,核參數(shù)gamma 為0.3;LSTM、CWRNN、CWTLSTM 均設(shè)置96 個神經(jīng)單元加一層單個神經(jīng)元的全連接層。
對不同模型進(jìn)行訓(xùn)練,預(yù)測結(jié)果見表1,表中的加粗部分表示最優(yōu)指標(biāo)(取自多次調(diào)參后的最優(yōu)結(jié)果),前100 個點(diǎn)的預(yù)測曲線如圖5 所示。
由表1 可得,當(dāng)Time step=10 時,CWTLSTM 取得了所有模型中的最好性能;當(dāng)Time step=48 時,CWTLSTM 的RMSE、MAE、R2均最小,但MAPE 的結(jié)果遜于SVR 與XGBoost。觀察圖5 可以看到,SVR 與XGBoost 均有明顯的預(yù)測滯后,在明顯的數(shù)據(jù)波動時是使用前一時刻的觀測變量值代替預(yù)測值,數(shù)值結(jié)果上MAPE 較小,但預(yù)測趨勢的跟隨性能較差。CWRNN 與CWTLSTM 的跟隨速度較快,在80 到100 樣本區(qū)間中,CWTLSTM 面對頻繁變化小波動仍然能夠獲得更加精準(zhǔn)穩(wěn)定的預(yù)測表現(xiàn)。
圖5 空氣污染結(jié)果對比 (Time step=48)Fig.5 Comparison of air pollution results(Time step=48)
表1 空氣污染數(shù)據(jù)集上各模型的預(yù)測結(jié)果對比Table 1 Comparison of prediction results of various models on the air pollution dataset
比較時間步長為10、48 條件下的預(yù)測結(jié)果,使用長時間序列預(yù)測的結(jié)果普遍較好,一定程度上證明空氣污染數(shù)據(jù)集合具有長期信息的依賴性。CWTLSTM 在能夠快速響應(yīng)數(shù)據(jù)變化的同時,也能充分利用整個時間步長上的數(shù)據(jù),使得預(yù)測性能有所提升。
篦冷機(jī)在水泥生產(chǎn)中占有相當(dāng)重要的地位,其熱分布是評價(jià)水泥生產(chǎn)的能量利用效率重要指標(biāo)。Geng 等[39]通過對某水泥廠爐排冷卻器的熱量分布計(jì)算,計(jì)算出了篦冷機(jī)換熱系統(tǒng)中二次風(fēng)、三次風(fēng)、熟料排出熱和表面散熱分別占系統(tǒng)總熱量的50%、40%、9%和1%,回收熱量具有重要的商業(yè)價(jià)值。
篦冷機(jī)數(shù)據(jù)集記錄了某水泥生產(chǎn)工廠篦冷機(jī)在換熱過程中的實(shí)際數(shù)據(jù),采樣頻率為1 min,總計(jì)54 個狀態(tài)觀測變量與操作變量,如二次風(fēng)溫度、三次風(fēng)溫度、多個位置的風(fēng)機(jī)頻率、一二級活動篦床篦速、生料流量等。目標(biāo)預(yù)測變量為二次風(fēng)溫度,是衡量水泥生產(chǎn)中廢熱回收率的主要指標(biāo)[40]。
將篦冷機(jī)數(shù)據(jù)集按照0.6∶0.2∶0.2 的比例劃分為訓(xùn)練集、驗(yàn)證集、預(yù)測集,圖6 示出了訓(xùn)練集、驗(yàn)證集、預(yù)測集在200 個采樣時間步長(200 min)的原始數(shù)據(jù)曲線和ACF 曲線。觀測二次風(fēng)溫度的ACF曲線,可得該預(yù)測指標(biāo)沒有顯著的周期特性。以自相關(guān)函數(shù)值大于0.3 為標(biāo)準(zhǔn),當(dāng)時間步長約小于50 時,該預(yù)測序列在所有數(shù)據(jù)子集均具有較高的數(shù)據(jù)相關(guān)性(且驗(yàn)證集與預(yù)測集的ACF 曲線在時間步長為50 時有明顯拐點(diǎn))。在各數(shù)據(jù)子集中,該預(yù)測序列在時間步長約20 以內(nèi)的自相關(guān)函數(shù)值均大于0.5,因此在模型比對實(shí)驗(yàn)中分別取時間步長20 與50 作為建模時間步長,以驗(yàn)證CWTLSTM 的魯棒性及抗噪聲能力。其他參數(shù)設(shè)置為:batch 為128,epochs為200,分頻序列為[1,2,3],將總計(jì)14 000 條記錄進(jìn)行最大、最小歸一化處理。
圖6 二次風(fēng)溫度原始數(shù)據(jù)曲線與ACF 曲線Fig.6 Original data curves and ACF curves of secondary air temperature
設(shè)置XGboost 的最大樹深度為30,弱估計(jì)器的數(shù)量(樹的個數(shù))為150;SVR 的參數(shù)為高斯核函數(shù),懲罰系數(shù)C 為0.9,核參數(shù)gamma 為0.5;LSTM、CWRNN、CWTLSTM 均設(shè)置96 個神經(jīng)單元加一層單個神經(jīng)元的全連接層。
各模型對二次風(fēng)溫度的預(yù)測結(jié)果見表2,表中加粗部分表示最優(yōu)指標(biāo)(取自多次調(diào)參后的最優(yōu)結(jié)果)。前100 個樣本的預(yù)測結(jié)果如圖7 所示。
從表2 可知,當(dāng)時間步長為20、50 時,CWTLSTM的RMSE、MAE、MAPE、R2均最優(yōu)。從圖7 可以看出,VARMAX 的預(yù)測差異較大;SVR 有明顯的數(shù)據(jù)滯后;XGBoost、LSTM 與CWRNN 在波峰處的跟隨效果較差;CWTLSTM 在跟蹤和數(shù)據(jù)誤差上都有不錯的表現(xiàn)。
圖7 二次風(fēng)溫度預(yù)測結(jié)果對比(Time step=50)Fig.7 Comparison of prediction results of secondary air temperature(Time step=50)
表2 二次風(fēng)溫度預(yù)測結(jié)果對比Table 2 Comparison of prediction results of secondary air temperature
由圖4 與圖6 可知,空氣污染數(shù)據(jù)集與篦冷機(jī)溫度數(shù)據(jù)集的共通性在于目標(biāo)變量的短期自相關(guān)性較高,但更長時間跨度的數(shù)據(jù)也能具備參考價(jià)值,因此,CWTLSTM 接受長輸入時的預(yù)測結(jié)果比短時間步輸入效果更好。同時CWTLSTM 的預(yù)測值對真實(shí)值波動的跟隨性能較好,表明CWTLSTM 既可以有效挖掘長期序列的信息特征,也具備增強(qiáng)短期信息的采樣優(yōu)勢,可以快速響應(yīng)驅(qū)動變量的突變。
圖8 為不同時間步長下各模型對二次風(fēng)溫度的預(yù)測RMSE 結(jié)果(每個時間步條件下取10 次實(shí)驗(yàn)結(jié)果的均值)。當(dāng)時間步長大于25 后,各個多元時序模型的指標(biāo)數(shù)據(jù)基本維持不變,該數(shù)據(jù)集中,短期數(shù)據(jù)即可完成精確有效的預(yù)測結(jié)果;面對時間步較長的輸入時,長期記憶能力較差的CWRNN 影響較小,而LSTM 的效果較差,一定程度證明過多的長期數(shù)據(jù)(無用的歷史工況)對于模型可能會起到干擾的作用。當(dāng)CWTLSTM 接受長期輸入時,既可以充分利用長期數(shù)據(jù)信息,也能適應(yīng)短期數(shù)據(jù)變化對結(jié)果的影響,從結(jié)果上初步證明該模型能保持長短期數(shù)據(jù)的平衡。
圖8 不同時間步長的結(jié)果比對Fig.8 Comparison of results of different time step lengths
圖9 示出了實(shí)際工業(yè)數(shù)據(jù)集中的批次誤差結(jié)果。由圖9(a)可得,訓(xùn)練集上LSTM 訓(xùn)練曲線最好,CWRNN 曲線最差,而CWTLSTM 在稀疏分布矩陣的影響下也未顯著降低訓(xùn)練時的精度;在驗(yàn)證集上CWTLSTM 的誤差反而小于LSTM 的誤差。生產(chǎn)工況的變化與噪聲干擾會造成訓(xùn)練集與驗(yàn)證集數(shù)據(jù)分布的不同,這導(dǎo)致LSTM 網(wǎng)絡(luò)出現(xiàn)過擬合情況,使得驗(yàn)證精度降低;由于CWTLSTM 里稀疏矩陣的設(shè)置,加強(qiáng)了CWTLSTM 的噪聲淘汰概率,保證了CWTLSTM的泛化能力。
圖9 不同批次結(jié)果比對Fig.9 Comparison of results of different batches
LSTM、CWRNN、CWTLSTM 在10 次測試下的RMSE 對比如圖10 所示。可以看到CWTLSTM 的預(yù)測精度明顯優(yōu)于LSTM、CWRNN 模型的預(yù)測精度,其最小值和均值均優(yōu)于其他模型,并且RMSE 數(shù)據(jù)波動范圍較小。初步認(rèn)為,相較于LSTM 原始結(jié)構(gòu),CWTLSTM 的分頻激活機(jī)制能夠有效提高模型的預(yù)測精度。
圖10 多組測試的RMSE 對比Fig.10 RMSE comparison for multiple tests
圖11 示出了不同分組頻率分配策略對CWRNN、CWTLSTM 的影響,數(shù)據(jù)為多次實(shí)驗(yàn)的平均RMSE結(jié)果。CWRNN 與CWTLSTM 受到分頻特性影響的趨勢基本相同,均對分頻策略有一定依賴,但變化幅度不同。CWRNN 波動較小,源自其內(nèi)部狀態(tài)數(shù)據(jù)的自保留性,關(guān)注長期信息的存儲,在未激活狀態(tài)下仍然有隱藏層狀態(tài)進(jìn)行狀態(tài)更新,因此分組與分頻對其影響較?。籆WTLSTM 在未激活時還會更極端地將所有狀態(tài)置0,對短期信息的依賴較大,因此受分組頻率的影響較大。
從圖11 的結(jié)果看,短期激活更合適CWTLSTM的周期分配,建議在1、2、3 等較小自然數(shù)排列中進(jìn)行選擇,如{1,1,1}、{1,1,2}、{1,1,3}、{1,2}等。當(dāng)某些分組的頻率分配過于不合理時,如[1,8]中第二分組每8 個時間步才激活一次,輸入增強(qiáng)鏈的觸發(fā)次數(shù)會導(dǎo)致輔助網(wǎng)絡(luò)一直缺失,RMSE 數(shù)值較大,所以CWTLSTM 應(yīng)選擇較小的激活周期作為輸入增強(qiáng)鏈的周期。
圖11 不同分組頻率結(jié)果對比Fig.11 Comparison of results of different grouping frequencies
周期為1 的單元組占比不能過小,防止主干網(wǎng)絡(luò)鏈在整個網(wǎng)絡(luò)模型中的輸出占比不夠,影響模型精度。從{1,1,2}、{1,2,1}、{1,2,3}周期排列的對比中看到,周期分組采用從小到大的排序方式,可以減少下方的短期增強(qiáng)鏈對上方短期增強(qiáng)鏈的狀態(tài)值輸入,防止中間層的狀態(tài)權(quán)重矩陣Wh數(shù)值過大,影響神經(jīng)元Wx的權(quán)重大小,干擾增強(qiáng)輸入的功能。其中{1,1,2}周期排列的最底層周期為2 的輸入增強(qiáng)鏈,上一時刻的輸出為0,且無其他狀態(tài)輸出能夠傳遞至該神經(jīng)單元組,其輸出完全取決于當(dāng)前時刻的輸入,因此能夠更好地發(fā)揮短期信息增強(qiáng)的作用。
當(dāng)分頻策略為[1,1]或者[1,1,1]時,由于沒有稀疏單元,相當(dāng)于每個神經(jīng)元在每個時間步都處于激活狀態(tài),無法起到增強(qiáng)短期輸入數(shù)據(jù)的作用,因此比其他分頻策略差。區(qū)別在于[1,1]將網(wǎng)絡(luò)化為兩個分組,第二分組只能單向傳遞狀態(tài)給第一分組;而[1,1,1]具備3 個分組,第三分組單向地傳遞自身狀態(tài)至第二與第一分組,第二分組單向傳遞狀態(tài)至第一分組。兩者之間存在性能差異,證明組間的單向信息流動結(jié)構(gòu)也會對模型的噪聲淘汰概率造成影響。實(shí)驗(yàn)結(jié)果證明,CWTLSTM 的性能受到分組策略的影響,合理分組并設(shè)置分組周期對CWTLSTM 模型的性能提升有重要作用。
現(xiàn)有的多元時間序列預(yù)測方法無法有效平衡短期突變信息的捕獲與長期記憶信息的存儲,造成預(yù)測結(jié)果精確度較低。為解決該問題,本文提出了能夠在保持長期信息基礎(chǔ)上增強(qiáng)短期信息捕獲能力的CWTLSTM 模型。在空氣污染公開數(shù)據(jù)集和水泥篦冷機(jī)數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果可以證明:
(1)CWTLSTM 模型結(jié)構(gòu)能有效增強(qiáng)近期的數(shù)據(jù)輸入,保證對短期突變信息的敏銳捕獲,實(shí)現(xiàn)模型在長短期時間序列數(shù)據(jù)上的計(jì)算精度。
(2)在算法層面上的稀疏處理使得CWTLSTM具有一定的魯棒性和泛化能力,加強(qiáng)對噪聲的淘汰概率,使得訓(xùn)練好的模型在不同數(shù)據(jù)分布下能夠穩(wěn)定預(yù)測。