周曉莉, 張 豐, 杜震洪*, 曹敏杰, 劉仁義
(1.浙江大學(xué) 浙江省資源與環(huán)境信息系統(tǒng)重點實驗室, 浙江 杭州 310028; 2.浙江大學(xué) 地球科學(xué)學(xué)院, 浙江 杭州 310027)
?
基于CRBM算法的時間序列預(yù)測模型研究
周曉莉1,2, 張 豐1,2, 杜震洪1,2*, 曹敏杰1,2, 劉仁義1,2
(1.浙江大學(xué) 浙江省資源與環(huán)境信息系統(tǒng)重點實驗室, 浙江 杭州 310028; 2.浙江大學(xué) 地球科學(xué)學(xué)院, 浙江 杭州 310027)
針對受限玻爾茲曼機(restricted Boltzmann machines,RBM)算法對時序數(shù)據(jù)預(yù)測存在抽取抽象特征向量能力較差和梯度下降能力有限的問題,基于CRBM(conditional restricted Boltzmann machines)算法以及信念網(wǎng)絡(luò)(deep belief network,DBN)模型,構(gòu)建了一種非線性的CRBM-DBN深度學(xué)習(xí)模型,并采用高斯分布處理輸入特征值和對比散度抽樣,用于預(yù)測時序數(shù)據(jù). 實驗以浙江省近岸海域赤潮時序數(shù)據(jù)作為輸入特征值,討論該模型的深度及參數(shù)選取,并與經(jīng)典的深度學(xué)習(xí)模型RBM、DAE和淺層學(xué)習(xí)中的BP神經(jīng)網(wǎng)絡(luò)進行對比,實驗驗證CRBM對于赤潮時序數(shù)據(jù)的預(yù)測擬合度要明顯優(yōu)于其他3種模型,該模型可有效用于赤潮類時序數(shù)據(jù)的趨勢性預(yù)測.
受限玻爾茲曼機;CRBM深度建模;深度信念網(wǎng)絡(luò)模型;高斯分布
機器學(xué)習(xí)泰斗HINTON等[1]2006年提出了深度學(xué)習(xí)的概念,并成功解決了人工神經(jīng)網(wǎng)絡(luò)局部最小值和過度擬合等問題[2].深度信念網(wǎng)絡(luò)(deep belief network, DBN)模型,結(jié)合監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí)的優(yōu)點,挖掘高維特征,自下而上逐層抽取特征值,以達到降維的目的.DBN模型已被成功應(yīng)用于計算機視覺、用戶評分的協(xié)同過濾建模[3]、微軟的同聲傳譯系統(tǒng)[4]、符號識別和文本分類[5]等.尤其是面向丟失或不確定性數(shù)據(jù)時,DBN模型中的核心算法RBM能夠有效地動態(tài)處理批量矩陣,更新模型權(quán)重和偏移量.
然而,目前RBM的研究多集中于分類技術(shù),忽略了RBM的結(jié)構(gòu)輸出預(yù)測研究[6],同時RBM對于連續(xù)非靜止的時序數(shù)據(jù)預(yù)測存在受限性[7],具體表現(xiàn)在梯度下降能力有限和抽取特征向量能力較差兩方面.本文研究的對象是連續(xù)非靜止數(shù)據(jù),具有時序數(shù)據(jù)的特征.時序數(shù)據(jù)在采樣過程中包含更多的噪音,并對時間軸有很強的依賴性,輸入軸輸入的時刻不同,輸出軸的結(jié)果也會相應(yīng)不同[7].對此,本文在RBM算法的基礎(chǔ)上對DBN模型進行了改進.結(jié)合CRBM算法與DBN模型,構(gòu)建一種非線性的CRBM-DBN深度學(xué)習(xí)模型.在CRBM-DBN模型中,采用高斯分布處理輸入時序數(shù)據(jù),對比散度進行抽樣,通過自動學(xué)習(xí)方式來抽取高層次的特征值,從而實現(xiàn)對時序數(shù)據(jù)的預(yù)測研究.
為了驗證構(gòu)建的CRBM-DBN預(yù)測模型對于連續(xù)時序數(shù)據(jù)輸出層預(yù)測的有效性,本研究以浙江省近岸海域赤潮時序數(shù)據(jù)作為輸入特征值,并和經(jīng)典的深度學(xué)習(xí)模型,比如RBM算法、DAE算法做對比分析.除此之外,還與淺層學(xué)習(xí)中經(jīng)典的BP神經(jīng)網(wǎng)絡(luò)算法進行對比.
1.1 DBN模型
DBN模型是一種經(jīng)典的伯努利-伯努利深度學(xué)習(xí)模型,由輸入層和輸出層構(gòu)成,中間由多個隱含隨機單元層分隔,這些神經(jīng)網(wǎng)絡(luò)層通過RBM堆棧提取前一層神經(jīng)網(wǎng)絡(luò)的特征激活單元作為下一層的訓(xùn)練數(shù)據(jù),從而有效訓(xùn)練了整個網(wǎng)絡(luò)層.DBN結(jié)構(gòu)如圖1所示.
圖1 DBN模型結(jié)構(gòu)圖Fig.1 The structure of deep belief network model
從圖1中可以看出,RBM是DBN模型的基本網(wǎng)絡(luò)結(jié)構(gòu),有著核心的地位.DBN模型自下而上逐層訓(xùn)練RBM,可以從高維復(fù)雜的輸入數(shù)據(jù)中抽取出更加抽象的空間向量.并通過訓(xùn)練大量的無標(biāo)簽樣本數(shù)據(jù)以獲取數(shù)據(jù)所隱含的特征,將一些錯誤或是冗余的信息逐層弱化.最后用BP神經(jīng)網(wǎng)絡(luò)反向微調(diào)權(quán)值,從而降低了數(shù)據(jù)的復(fù)雜度,減少了計算量,使模型達到整體最優(yōu)的狀態(tài).
訓(xùn)練RBM時,采用梯度下降的方法來評估參數(shù)θ={W,v,h,b,c},采用式(1)求取最大似然概率.
minw(-lgP(v,h)),
(1)
式(1)中,P(v,h)是隱含層和可見層的聯(lián)合概率,v為可視節(jié)點,h為隱含節(jié)點,b為隱含節(jié)點的偏置量,c為可視節(jié)點的偏置量.由隨機梯度下降算法進行求解.由于歸一化因子的存在,使用傳統(tǒng)的最大對數(shù)似然法計算參數(shù)θ時,因計算量過大,很難將這些參數(shù)計算出來[8].
自HINTON提出對比散度(contrastive divergence, CD)算法后,CD成了訓(xùn)練RBM的標(biāo)準(zhǔn)抽樣方法,吉布斯鏈(Gibbs chain)運行僅需要幾次循環(huán)便可很好地獲得估計值.實現(xiàn)了RBM的快速學(xué)習(xí),同時獲得了趨近理想的參數(shù),既提高了學(xué)習(xí)的計算速度,又保證了計算精度.
1.2 RBM算法
受限玻爾茲曼機(RBM),是玻爾茲曼機(Boltzmann machines,BM)中的一種.由于層內(nèi)神經(jīng)元之間沒有關(guān)聯(lián)性,可以很大程度地提高網(wǎng)絡(luò)模型訓(xùn)練學(xué)習(xí)的效率[9],因而被引入到DBN模型中.每層RBM結(jié)構(gòu)中含有一個可見單元和一個隱藏單元,可見單元由觀察數(shù)值構(gòu)成,通常為二值型數(shù)據(jù),隱藏單元是一串隨機生成的二值型數(shù)據(jù).單層RBM結(jié)果如圖2所示.
圖2 RBM網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 The structure of restricted Boltzmann machine network
在HINTON最初提出的DBN模型中,底層RBM由可視單元構(gòu)成,多個隱含層堆棧在其上,和服從二值分布,每個節(jié)點的取值只能為0或1.當(dāng)節(jié)點取值為1時,表示該神經(jīng)元當(dāng)前處于激活狀態(tài),0則表示該神經(jīng)元為抑制狀態(tài).RBM能夠?qū)⒖梢晢卧成涞诫S機的二值隱含層上,從而獲得更多信息的特征向量.
RBM網(wǎng)絡(luò)結(jié)構(gòu)是一種典型的基于能量函數(shù)的模型,定義了可視特征矢量和隱藏節(jié)點矢量的分布概率.依據(jù)可見層的樣本,用條件分布概率P(h|v)的方法計算隱含層,以激活隱含層的狀態(tài),如式(2)所示:
(2)
可見單元的激活概率公式如式(3)所示,依據(jù)已求取的隱藏節(jié)點的數(shù)值,更新可視節(jié)點的數(shù)值和相應(yīng)的分布概率P(v|h).
(3)
式(3)中,c為可視節(jié)點的偏移量,權(quán)值和偏移量都隨訓(xùn)練次數(shù)更新.
可見層和隱含層之間的聯(lián)合概率函數(shù)涉及能量函數(shù),如式(4)所示.
P(v,h)=exp(-E(v,h))/Z[10],
(4)
其中,
近幾年,RBM算法在深度學(xué)習(xí)模型中獲得了很高的關(guān)注度,但其在時序數(shù)據(jù)預(yù)測方面存在不足,比如梯度下降能力有限等影響預(yù)測能力.對此,本文在RBM基礎(chǔ)上對DBN模型進行了改進,構(gòu)建了適用于時序數(shù)據(jù)預(yù)測的深度學(xué)習(xí)模型.
2.1 CRBM-DBN預(yù)測模型構(gòu)建
為了解決RBM在時序數(shù)據(jù)預(yù)測上的不足,本文需要對DBN模型進行改進.深度學(xué)習(xí)領(lǐng)域前沿有3種改進RBM算法的模型,分別為ConditionalRBM、TemporalRBM和GatedRBM,這3種模型都能較好地擬合時序數(shù)據(jù)[11].本文只討論CRBM(conditionalrestrictedBoltzmannmachines)算法對時序數(shù)據(jù)的預(yù)測研究.
CRBM算法是RBM算法的擴展,繼承了RBM算法的很多優(yōu)良特性,包括簡易的推理過程和有效的訓(xùn)練過程[12],其網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示.CRBM算法將RBM結(jié)構(gòu)中的一些限制參數(shù)用參數(shù)化函數(shù)來替代[13],能夠獲得豐富而分散的隱含節(jié)點狀態(tài).本文采用CRBM算法替代DBN模型中的核心算法RBM,構(gòu)建了CRBM-DBN預(yù)測模型,以用于時序數(shù)據(jù)的預(yù)測.
圖3 CRBM網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.3 The structure of conditional restricted Boltzmann machines network
CRBM是目前用于輸出值結(jié)構(gòu)化預(yù)測的有效概率模型,包括3層:歷史層、隱含層和當(dāng)前層.從圖3可以看出,目標(biāo)幀t和隱含節(jié)點是對稱連接的,共同受(t-2)和(t-1)幀的可視節(jié)點調(diào)控.(t-2)和(t-1)的輸入值可以作為對當(dāng)前時間t的可視層和隱含層之間構(gòu)建的補充.這種補充關(guān)系最直接的表現(xiàn)在于動態(tài)更新可視節(jié)點和隱藏節(jié)點的偏量值[14].更新后的和如式(5)和(6)所示.
(5)
(6)
其中:b_stari表示隱含節(jié)點i的動態(tài)偏移量,c_starj表示可視節(jié)點j的動態(tài)偏移量,vkk-q為可視節(jié)點k在t-q時刻的單元值,αkit-q為可視節(jié)點k在t-q時間段與當(dāng)前時間段隱含節(jié)點i的有向連接的權(quán)重值,βkjt-q為可視節(jié)點k在t-q時間段與當(dāng)前可視節(jié)點j的有向連接的權(quán)重值.式中,b和c是靜態(tài)偏移量,共同構(gòu)成動態(tài)偏移量的數(shù)值.
在圖3中,AR指的是自回歸模型(Autoregressive models),AR能夠?qū)⑶耙粋€時間幀的可視單元與當(dāng)前可視結(jié)構(gòu)相連接,而且能直接連接前一個時間幀的可視單元和當(dāng)前的隱含結(jié)構(gòu).
CRBM會在短時間內(nèi)不斷訓(xùn)練,以保證在實時的環(huán)境中保持魯棒性和有效性[14].本文模型在CRBM的隱含層中,加入了稀疏矩陣來激活單元層,實現(xiàn)對高維數(shù)據(jù)的降維,低維的編碼能更本質(zhì)地描述數(shù)據(jù),也使得較少的特征向量能夠較精確地表征原始高維信號,因此可以避免隱含層陷入過度擬合的問題.
CRBM一個重要的特征是一旦該層被訓(xùn)練,便可將該層加到DBN模型中[15],這樣在保留前一層CRBM網(wǎng)絡(luò)的基礎(chǔ)上,使用相同的方式來訓(xùn)練最近一層的CRBM,從而構(gòu)建一種用于預(yù)測的CRBM-DBN深度學(xué)習(xí)模型,其結(jié)構(gòu)如圖4所示.
圖4 CRBM-DBN預(yù)測模型結(jié)構(gòu)圖Fig.4 The structure of CRBM-DBN prediction model
從圖4可以看到,文中構(gòu)建的CRBM-DBN模型中共有2層CRBM,將(t-2)和(t-1)幀段的可視單元作為原始幀,t,(t+1)和(t+2)為目標(biāo)幀,原始幀對目標(biāo)幀起補充作用,3個目標(biāo)幀與隱含層構(gòu)成對稱性網(wǎng)絡(luò).AR模型將原始幀和目標(biāo)幀以及對稱的隱含層相連接,共同調(diào)配權(quán)重和偏移量.更新后的權(quán)重值和偏移量用于微調(diào)階段,在CRBM-DBN預(yù)測模型中從輸入層到多個CRBM層,再到輸出層,整個過程自下而上進行.
2.2 高斯分布處理輸入特征向量
CRBM層是由2個隨機二值單元層,即伯努利-伯努利型構(gòu)成的對稱網(wǎng)絡(luò)結(jié)構(gòu),可視單元的數(shù)據(jù)集v∈{0,1}D和序列化的隱含單元層h∈{0,1}F [16].文中的輸入層數(shù)據(jù)是環(huán)境理化因子,包括溫度、鹽度、溶解氧、COD等要素,是連續(xù)的實數(shù)值.如果直接使用這些連續(xù)的時序數(shù)據(jù)會造成信息丟失,因而需要對輸入特征向量進行處理.目前主要有2種處理方法:HINTON等[17]提出的將輸入數(shù)據(jù)編碼為伯努利型,以及SCH?LKOPF等[18]提出的直接修改能量函數(shù),將高斯分布的內(nèi)容直接放到模型中,即高斯-伯努利型網(wǎng)絡(luò)結(jié)構(gòu).因第1種方法會在預(yù)測模型中增加不必要的噪音,所以本文采用高斯分布.
為了獲取高斯分布的單元值,需要在CRBM網(wǎng)絡(luò)的能量函數(shù)中引入平方項,以滿足CRBM條件性獨立的假設(shè),如式(7)所示:
(7)
通過高斯分布處理后,輸入的環(huán)境理化因子數(shù)據(jù)可正常地在CRBM-DBN模型中訓(xùn)練學(xué)習(xí).在正向抽樣階段,對隱含節(jié)點的狀態(tài)值進行更新,公式如式(8)所示:
(8)
式(8)中,δi為與第j個隱含神經(jīng)元相連的神經(jīng)元的狀態(tài)值,α是0到1之間的隨機數(shù),Sj為第j個神經(jīng)元的狀態(tài)值.
在負(fù)向抽樣階段,根據(jù)隱含層的激活概率值和狀態(tài)值,更新可視層神經(jīng)元的概率值和狀態(tài)值,對應(yīng)公式如式(9)所示:
(9)
其中N(μ,s2),μ期望值為0,s2方差為1,服從標(biāo)準(zhǔn)正態(tài)分布.
文中,底層CRBM的輸入層需要高斯分布處理,處理后形成高斯-伯努利型CRBM,再經(jīng)過抽樣權(quán)值更新,進入第2層CRBM,這時需將前一層CRBM的隱含層作為該層的輸入層,形成伯努利-伯努利型CRBM網(wǎng)絡(luò)結(jié)構(gòu).
2.3 抽樣方法
對比散度采樣時的快速性和精確性在CRBM中仍然得到了很好的體現(xiàn),因此在CRBM層中仍采用經(jīng)典的對比散度抽樣法.其中,吉布斯鏈(Gibbs chain)是由訓(xùn)練數(shù)據(jù)集中的一個訓(xùn)練樣例(0)初始化,通過次循環(huán)后獲得的最終取樣綜合(k). HINTON等[1]認(rèn)為,雖然一次吉布斯采樣得到的數(shù)值與真實分布存在一定的差異,但已能滿足實踐的需求,所以本文采取此方法.
一次Gibbs采樣過程,由2個階段構(gòu)成,一個是更新所有的隱含單元,另一個是更新所有的可視單元.因此,抽樣過程不僅是對隱含節(jié)點和可視節(jié)點的抽樣,更是對權(quán)值和偏移量的更新.在抽樣階段,隱含節(jié)點和可視節(jié)點的激活概率值更新公式如下:
(10)
(11)
式(10)、(11)中,t-q為第(t-q)時刻的可視節(jié)點和對稱的隱含節(jié)點的狀態(tài)值.
在底層CRBM中,每個條件矢量hj,vi都對應(yīng)著特定的概率分布值,即hj服從伯努利分布,vi服從高斯分布.因此在每個訓(xùn)練案例中需要從不同的分布模型中取樣,以確保使用多個持久鏈.
CRBM-DBN模型在預(yù)訓(xùn)練階段,底層CRBM的輸入可視單元是高斯型,對應(yīng)的隱含單元是伯努利型,即高斯-伯努利型CRBM.將當(dāng)前堆棧的隱含層作為上一層CRBM的可視層,形成伯努利-伯努利型CRBM,自動完成自下而上的無監(jiān)督學(xué)習(xí)過程,使訓(xùn)練誤差和泛化誤差均顯著降低.在微調(diào)階段,采用softmax回歸算法代替?zhèn)鹘y(tǒng)的Logistic算法,從而使輸出的任意實數(shù)不會出現(xiàn)收斂過擬合現(xiàn)象.
3.1 數(shù)據(jù)來源及預(yù)處理
本實驗采用浙江省近岸海域站點2008~2012年間的數(shù)據(jù),該海域每年爆發(fā)赤潮1次以上,因此樣本數(shù)據(jù)具有一定的代表性.
訓(xùn)練數(shù)據(jù)集由赤潮生物和水環(huán)境因子組成,水環(huán)境因子包括pH值、水溫、鹽度、化學(xué)需氧量、溶解氧、溶解氧飽和度、亞硝酸鹽-氮、硝酸鹽-氮、氨氮、硅酸鹽、磷酸鹽和葉綠素共12個參數(shù).本文構(gòu)建的CRBM-DBN模型將水環(huán)境因子作為輸入層特征值,赤潮生物作為輸出層向量.
鑒于輸入層中每種參數(shù)的數(shù)量級不同,為了避免因此引起網(wǎng)絡(luò)模型的預(yù)測誤差,需要利用線性插值法將12個輸入層參數(shù)歸一化到[0.1,0.9],具體如式(12)所示:
(12)
由于輸出層赤潮生物細(xì)胞數(shù)量跨越的數(shù)量級范圍較大,因此利用對數(shù)插值的方法,將其歸一化到[0.1,0.9],如式(13)所示:
(13)其中xmax和xmin是輸入層樣本數(shù)據(jù)中的最大值和最小值,ymax和ymin分別是輸出層樣本數(shù)據(jù)中的最大值和最小值.當(dāng)赤潮生物量為0或者缺測時,其對應(yīng)的標(biāo)準(zhǔn)值為0.1.文中構(gòu)建的深度學(xué)習(xí)模型源數(shù)據(jù)經(jīng)過式(12)和(13)預(yù)處理后,能有效減少由數(shù)據(jù)誤差帶來的網(wǎng)絡(luò)模型預(yù)測誤差,擬合效果更好.
3.2 模型評價標(biāo)準(zhǔn)
采用3個標(biāo)準(zhǔn)值來評價DBN模型的預(yù)測效果,分別是均方根誤差(root mean square error, RMSE),絕對平均誤差(mean absolute error, MAE)和平均相對誤差(mean relative error,MRE),
這3個標(biāo)準(zhǔn)值能夠代表構(gòu)建后的深度學(xué)習(xí)模型預(yù)測能力的穩(wěn)定性.
對CRBM網(wǎng)絡(luò)模型最為直接的評估方法是對學(xué)習(xí)數(shù)據(jù)的對數(shù)似然度估計.但因此方法計算量過大,難以實際應(yīng)用,通常采用重構(gòu)誤差(reconstruction error)法進行簡單評估,即
(14)
其中,X表示mini-batch矩陣,aVis為當(dāng)前預(yù)測的可視單元的狀態(tài)值,真實值和預(yù)測值之間的偏差累積起來構(gòu)成了重構(gòu)誤差.通過重構(gòu)誤差值的變化,計算最佳狀態(tài)的CRBM-DBN模型深度,也就是CRBM的層數(shù).
3.3 CRBM網(wǎng)絡(luò)結(jié)構(gòu)深度及參數(shù)選取
實驗中通過逐層增加CRBM層數(shù),觀察其變動情況,以確定CRBM網(wǎng)絡(luò)的深度,如圖5所示.
圖5 多層CRBM訓(xùn)練時重構(gòu)誤差值Fig.5 The reconstruction error of multiply layers of CRBM
圖5(a)表示第1層CRBM網(wǎng)絡(luò),訓(xùn)練時重構(gòu)誤差值變化劇烈;到第2層CRBM網(wǎng)絡(luò)(b),整體呈下降趨勢,后期趨勢放緩,達到了穩(wěn)定的狀態(tài);但到第3層CRBM網(wǎng)絡(luò)(c),上下波動劇烈,并且重構(gòu)誤差值有累積現(xiàn)象;(d)是第4層CRBM,波動更加劇烈,但波動范圍很小.造成這種現(xiàn)象的原因可能是CRBM網(wǎng)絡(luò)層數(shù)增加,致使誤差累積[19],不適用于預(yù)測.
文中將CRBM深度設(shè)為2層,即共有2個隱含單元層和1個可見單元層.可見單元層的輸入特征值設(shè)為12個,對于隱含節(jié)點的個數(shù)目前還沒有很成熟的理論計算得到最佳狀態(tài)值.本文以RMSE、MAE和MRE為評價標(biāo)準(zhǔn),通過實驗選取隱含節(jié)點的數(shù)目.從圖6中可以發(fā)現(xiàn),當(dāng)隱含節(jié)點數(shù)為11時,相應(yīng)的RMSE、MAE和MRE值最小.
圖6 不同隱含節(jié)點數(shù)的預(yù)測誤差Fig.6 The prediction error of different numbers of hidden nodes
在預(yù)訓(xùn)練階段,每一層CRBM網(wǎng)絡(luò)訓(xùn)練迭代1 000次,構(gòu)建雙層對稱網(wǎng)絡(luò).在CRBM中原始幀數(shù)和目標(biāo)幀數(shù)都很重要.由于樣本數(shù)據(jù)的輸入特征值僅有12個,原始幀個數(shù)的取值只能為nT=1,2,3.如圖7所示,多次實驗發(fā)現(xiàn)隨著原始幀nT個數(shù)的增長,并沒有更好的預(yù)測表現(xiàn).造成這種現(xiàn)象的原因可能是,靠近目標(biāo)幀的原始矢量更具有類似的信息,能更好地評估當(dāng)前的目標(biāo)矢量.從圖7中可以看出,原始幀為1時,對應(yīng)的RMSE、MAE和MRE的誤差值相對較低.CRBM層中涉及的噪音因子和稀疏因子分別設(shè)為0.4和10.
圖7 不同幀數(shù)的預(yù)測誤差Fig.7 The prediction error of different numbers of previous frames
根據(jù)圖6和7的實驗結(jié)果,設(shè)定原始幀數(shù)為1,隱含節(jié)點數(shù)為11.
在CRBM-DBN模型中,學(xué)習(xí)率的選取比較重要,若取值較大,會導(dǎo)致重構(gòu)誤差值急劇增大,若取值較小,則CRBM網(wǎng)絡(luò)的訓(xùn)練學(xué)習(xí)能力一般.為了保持預(yù)測模型的穩(wěn)定性,一般傾向于選擇較小的學(xué)習(xí)率,比如取值為0.001.文中的CRBM網(wǎng)絡(luò)是一種高斯-伯努利型網(wǎng)絡(luò),因而對于學(xué)習(xí)率的敏感性要高于伯努利-伯努利型CRBM,這時選擇的學(xué)習(xí)率數(shù)值要盡可能小.如表1所示,對各個數(shù)量級的學(xué)習(xí)率分別進行實驗,找出最佳狀態(tài)的學(xué)習(xí)率值.
表1 不同學(xué)習(xí)率下的預(yù)測誤差Table 1 The prediction errors of different learning rates
從表1可以發(fā)現(xiàn),學(xué)習(xí)率λ值的變化對預(yù)測誤差產(chǎn)生了一定的影響.在同等隱含節(jié)點數(shù)和原始幀數(shù)的條件下,λ=0.000 1時預(yù)測效果最佳.
3.4 時序數(shù)據(jù)預(yù)測結(jié)果分析
將經(jīng)過歸一化處理的數(shù)據(jù)集依照時間的序列依次劃分為訓(xùn)練集Dtrain和測試集Dtest,從赤潮樣本數(shù)據(jù)集中選擇前200個時次的數(shù)據(jù)作為訓(xùn)練集,即2008~2011年間的數(shù)據(jù),選擇后41個時次的數(shù)據(jù)作為測試集,即2012年的采樣數(shù)據(jù).2012年共有50個時序數(shù)據(jù),雖不完整,但也滿足時序特性.Dtrain中的12個特征維作為CRBM-DBN模型訓(xùn)練階段的輸入層數(shù)據(jù),Dtest中的12個特征維作為模型預(yù)測階段的輸入層數(shù)據(jù).
CRBM-DBN模型在預(yù)測階段輸出赤潮生物量的數(shù)值,對此,筆者對深度學(xué)習(xí)的RBM算法和DAE算法,以及淺層學(xué)習(xí)的BP神經(jīng)網(wǎng)絡(luò)模型,進行對比實驗.CRBM網(wǎng)絡(luò)模型的參數(shù)設(shè)計依據(jù)3.3節(jié)的實驗結(jié)果,選擇最優(yōu)的參數(shù)值,其中學(xué)習(xí)率λ=0.000 1,原始幀nT=1.以RMSE、MAE和MRE作為預(yù)測結(jié)果的評價標(biāo)準(zhǔn),結(jié)果如表2所示.
表2 預(yù)測樣本的預(yù)測誤差比較Table 2 The prediction errors of test samples
從表2可以看到,深度學(xué)習(xí)的3個模型預(yù)測精度要明顯高于淺層學(xué)習(xí),由RMSE、MAE和MRE3個評價標(biāo)準(zhǔn)值可知,深度學(xué)習(xí)中的CRBM模型表現(xiàn)最優(yōu).此外,CRBM模型誤差的波動性也要明顯小于其他3種算法.各模型預(yù)測結(jié)果的對比如圖8~10所示,需要說明的是在圖8~10中原本x軸的刻度值應(yīng)為具體的采樣時間,但涉及數(shù)據(jù)的保密性,采用序號的方式表示,序號的大小代表時相的前后,比如序號9是序號8的前一個時相.
由圖8可知,BP神經(jīng)網(wǎng)絡(luò)在預(yù)測過程中出現(xiàn)了梯度過度下降的情況,尤其是赤潮爆發(fā)期,相對于實際值,梯度下降超過20%.相對爆發(fā)期,赤潮恢復(fù)期的BP神經(jīng)網(wǎng)絡(luò)能較好地控制過度擬合的現(xiàn)象.本文在CRBM算法中引入了稀疏率和稀疏因子,有效防止了過度擬合,使基于CRBM算法構(gòu)建的深度學(xué)習(xí)模型能更好地控制梯度過度下降的問題.
圖8 CRBM算法和BP網(wǎng)絡(luò)預(yù)測結(jié)果對比Fig.8 The CRBM model comparing with the BP model on prediction result
圖9 CRBM算法和RBM算法預(yù)測結(jié)果對比Fig.9 The CRBM model comparing with the RBM model on prediction result
由表2可知,RBM算法的預(yù)測誤差RMSE為0.078 6,低于DAE和BP算法,說明其預(yù)測趨勢精度較高.由圖9可知,RBM算法預(yù)測的曲線和實際值在趨勢上更一致,但存在梯度不能很好下降的情況,因此其對應(yīng)的MAE和MRE的值就相對較高.而基于CRBM算法構(gòu)建的深度學(xué)習(xí)模型采用CD抽樣法降低梯度,獲取估計值,由實驗效果可知,梯度下降結(jié)果明顯,獲取了高精度的估計值.
DAE算法也是一種經(jīng)典的深度學(xué)習(xí)模型,訓(xùn)練過程包含編碼器和解碼器兩部分,采用無監(jiān)督的方式進行學(xué)習(xí),主要用于解決無監(jiān)督的反向傳導(dǎo)問題.
由圖10可知,DAE算法的預(yù)測誤差RMSE、MAE和MRE在4種算法中相對較差,DAE算法并不能很好地擬合赤潮生物量的變化趨勢,尤其是從第30個樣本之后,對赤潮生物量的預(yù)測基本趨于直線,訓(xùn)練效果不夠靈敏.引起這一現(xiàn)象的原因可能是DAE算法在隱含層中疊加了多個神經(jīng)元層,增加了約束條件,對于這種高維時序數(shù)據(jù)無法獲得良好的預(yù)測效果.
圖10 CRBM算法和DAE算法預(yù)測結(jié)果對比Fig.10 CRBM model comparing with DAE on prediction result
提出了一種基于CRBM算法的深度學(xué)習(xí)網(wǎng)絡(luò)模型.在隱含層的聯(lián)合分布概率和偏移量條件下要少于RBM的多模式,適用于具有時間序列特征的數(shù)據(jù)預(yù)測.在對浙江省近岸海域赤潮時序數(shù)據(jù)的預(yù)測中,本文構(gòu)建的CRBM-DBN深度學(xué)習(xí)模型預(yù)測誤差RMSE為4.02%,MAE為3.06%,MRE為7.19%,這3個評價指標(biāo)值均要低于RBM、DAE和BP模型,所以該模型較適用于赤潮這類時序數(shù)據(jù)的預(yù)測.下一步筆者將重點研究該模型對其他類型的時序數(shù)據(jù)的擬合及預(yù)測效果.
[1] HINTON G E, SALAKHUTDINOV R R. Reducing the dimensionality of data with neural networks[J]. Science,2006,313(5786):504-507.
[2] KUREMOTO T, KIMURA S, KOBAYASHI K, et al. Time series forecasting using a deep belief network with restricted Boltzmann machines[J]. Neurocomputing,2014,137:47-56.
[3] SALAKHUTDINOV R, MNIH A, HINTON G. Restricted Boltzmann machines for collaborative filtering[C]// Proceedings of the 24th International Conference on Machine Learning.New York:ACM,2007:791-798.
[4] MARKOFF J. Scientists see promise in deep-learning programs[N]. New York Times,2012-11-27.
[5] LAROCHELLE H, BENGIO Y. Classification using discriminative restricted Boltzmann machines[C]// Proceedings of the 25th International Conference on Machine Learning.New York:ACM,2008:536-543.
[6] MNIH V, LAROCHELLE H, HINTON G E. Conditional restricted Boltzmann machines for structured output prediction[C]// 28th Conference on Uncertainty in Artificial Intelligence,2012:514-522.
[8] 陳翠平.基于深度信念網(wǎng)絡(luò)的文本分類算法[J].計算機系統(tǒng)應(yīng)用,2015,24(2):121-126.
CHEN Cuiping. Text categorization based on deep belief network[J]. Computer Systems and Applications,2015,24(2):121-126.
[9] 劉建偉,劉媛,羅雄麟.玻爾茲曼機研究進展[J].計算機研究與發(fā)展,2014,51(1):1-16.
LIU Jianwei, LIU Yuan, LUO Xionglin. Research and development on Boltzmann machine[J]. Journal of Computer Research and Development,2014,51(1):1-16.
[10] HINTON G E. A practical guide to training restricted Boltzmann machines[C]∥Neural Networks: Tricks of the Trade. Heidelberg:Springer,2012:599-619.
[11] SPILIOPOULOU A. Investigation of Deep CRBM Networks in modeling Sequential Data[D]. Edinburgh:University of Edinburgh,2008.
[12] MONTUFAR G, AY N, ZAHEDI K. Geometry expressive power of conditional restricted Boltzmann machines[R]. New Mexico:Santa Fe Institute,2014.
[13] BENGIO Y. Learning deep architectures for AI[J]. Foundations and Trends in Machine Learning,2009,2(1):1-127.
[14] CHEN S, AMMAR H B, TUYLS K, et al. Conditional restricted Boltzmann machines for negotiations in highly competitive and complex domains[C]// Proceedings of the Twenty-Third International Joint Conference on Artificial Intelligence.Palo Alto:AAAI Press,2013:69-75.
[15] TAYLOR G W, HINTON G E. Factored conditional restricted Boltzmann machines for modeling motion style[C]// Proceedings of the 26th Annual International Conference on Machine Learning.New York:ACM,2009:1025-1032.
[16] SALAKHUTDINOV R, LAROCHELLE H. Efficient learning of deep Boltzmann machines[J/OL]. Journal of Machine Learning Research,2010,9(8):693-700.
[17] HINTON G E. To recognize shapes, first learn to generate images[J]. Progress in Brain Research,2007,165(6):535-547.
[18] SCH?LKOPF B, PLATT J, HOFMANN T. Modeling human motion using binary latent variables[C]//Advances in Neural Information Processing Systems 19: Proceeding of the 2006 Conference. Cambridge: MIT Press,2007:1345-1352.
[19] 單外平.基于深度信念網(wǎng)絡(luò)的變速器故障分類識別研究[D].廣州:華南理工大學(xué),2015.
SHAN Waiping. Classification and Recognition of Transmission Fault Based on Deep Belief Network[D]. Guangzhou: South China University of Technology,2015.
A study on time series prediction model based on CRBM algorithm.
ZHOU Xiaoli1,2, ZHANG Feng1,2, DU Zhenhong1,2, CAO Minjie1,2, LIU Renyi1,2
(1.ZhejiangProvincialKeyLaboratoryofResourcesandEnvironmentalInformationSystem,ZhejiangUniversity,Hangzhou310028,China; 2.DepartmentofEarthSciences,ZhejiangUniversity,Hangzhou310027,China)
Restricted Boltzmann machines (RBM) algorithm has a poor performance in extracting feature vector and gradient descent when it is used to predict time-series data. To solve the above problems, a non-linear deep learning model was constructed based on conditional restricted Boltzmann machines (CRBM) combining with deep belief network (DBN). The model processed the input feature vectors with Gaussian distribution and samples with classical contrastive divergence to predict continuous time-series data. Our experiment adopted the time-series data of red tide in Zhejiang costal, and discussed the selection of network depth and training parameters in the model, then compared the deep learning model to classical RBM, DAE deep learning network and BP neural network shadow learning. The results showed that the prediction fitting of CRBM was superior to the other three models. This model can effectively predict the time-series of red tide.
restricted Boltzmann machines; deep architecture of CRBM; deep belief network model; Gaussian distribution
2015-08-06.
國家自然科學(xué)基金資助項目(41471313,41101356,41101371,41171321);國家科技基礎(chǔ)性工作專項(2012FY112300);海洋公益性行業(yè)科研專項經(jīng)費資助(2015418003,201305012).
周曉莉(1990-),ORCID:http://orcid.org/0000-0002-9097-5682,女,碩士研究生,主要從事海洋GIS及深度學(xué)習(xí)研究.
*通信作者,ORCID:http://orcid.org/0000-0001-9449-0415,E-mail:duzhenhong@zju.edu.cn.
10.3785/j.issn.1008-9497.2016.04.011
P 208
A
1008-9497(2016)04-442-10
Journal of Zhejiang University(Science Edition), 2016,43(4):442-451