• 
    

    
    

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

      遞歸最小二乘循環(huán)神經(jīng)網(wǎng)絡(luò)

      2022-08-30 13:51:24張春元歐宜貴
      自動化學(xué)報(bào) 2022年8期
      關(guān)鍵詞:魯棒性復(fù)雜度矩陣

      趙 杰 張春元 劉 超 周 輝 歐宜貴 宋 淇

      循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent neural networks,RNNs)作為一種有效的深度學(xué)習(xí)模型,引入了數(shù)據(jù)在時(shí)序上的短期記憶依賴.近年來,RNNs 在語言模型[1]、機(jī)器翻譯[2]、語音識別[3]等序列任務(wù)中均有不俗的表現(xiàn).但是相比前饋神經(jīng)網(wǎng)絡(luò)而言,也正因?yàn)槠涠唐谟洃浺蕾?RNNs 的參數(shù)訓(xùn)練更為困難[4-5].如何高效訓(xùn)練RNNs,即RNNs 的優(yōu)化,是RNNs能否得以有效利用的關(guān)鍵問題之一.目前主流的RNNs 優(yōu)化算法主要有一階梯度下降算法、自適應(yīng)學(xué)習(xí)率算法和二階梯度下降算法等幾種類型.

      最典型的一階梯度下降算法是隨機(jī)梯度下降(Stochastic gradient descent,SGD)[6],廣泛應(yīng)用于優(yōu)化RNNs.SGD 基于小批量數(shù)據(jù)的平均梯度對參數(shù)進(jìn)行優(yōu)化.因?yàn)镾GD 的梯度下降大小和方向完全依賴當(dāng)前批次數(shù)據(jù),容易陷入局部極小點(diǎn),故而學(xué)習(xí)效率較低,更新不穩(wěn)定.為此,研究者在SGD的基礎(chǔ)上引入了速度的概念來加速學(xué)習(xí)過程,這種算法稱為基于動量的SGD 算法[7],簡稱為Momentum.在此基礎(chǔ)上,Sutskever 等[8]提出了一種Nesterov 動量算法.與Momentum 的區(qū)別體現(xiàn)在梯度計(jì)算上.一階梯度下降算法的超參數(shù)通常是預(yù)先固定設(shè)置的,一個(gè)不好的設(shè)置可能會導(dǎo)致模型訓(xùn)練速度低下,甚至完全無法訓(xùn)練.針對SGD 的問題,研究者提出了一系列學(xué)習(xí)率可自適應(yīng)調(diào)整的一階梯度下降算法,簡稱自適應(yīng)學(xué)習(xí)率算法.Duchi 等[9]提出的AdaGrad 算法采用累加平方梯度對學(xué)習(xí)率進(jìn)行動態(tài)調(diào)整,在凸優(yōu)化問題中表現(xiàn)較好,但在深度神經(jīng)網(wǎng)絡(luò)中會導(dǎo)致學(xué)習(xí)率減小過快.Tieleman 等[10]提出的RMSProp 算法與Zeiler[11]提出的AdaDelta算法在思路上類似,都是使用指數(shù)衰減平均來減少太久遠(yuǎn)梯度的影響,解決了AdaGrad學(xué)習(xí)率減少過快的問題.Kingma 等[12]提出的Adam 算法則將RMSProp 與動量思想相結(jié)合,綜合考慮梯度的一階矩和二階矩估計(jì)計(jì)算學(xué)習(xí)率,在大部分實(shí)驗(yàn)中比AdaDelta 等算法表現(xiàn)更為優(yōu)異,然而Keskar 等[13]發(fā)現(xiàn)Adam 最終收斂效果比SGD 差,Reddi 等[14]也指出Adam 在某些情況下不收斂.

      基于二階梯度下降的算法采用目標(biāo)函數(shù)的二階梯度信息對參數(shù)優(yōu)化.最廣泛使用的是牛頓法,其基于二階泰勒級數(shù)展開來最小化目標(biāo)函數(shù),收斂速度比一階梯度算法快很多,但是每次迭代都需要計(jì)算Hessian 矩陣以及該矩陣的逆,計(jì)算復(fù)雜度非常高.近年來研究人員提出了一些近似算法以降低計(jì)算成本.Hessian-Free 算法[15]通過直接計(jì)算Hessian 矩陣和向量的乘積來降低其計(jì)算復(fù)雜度,但是該算法每次更新參數(shù)需要進(jìn)行上百次線性共軛梯度迭代.AdaQN[16]在每個(gè)迭代周期中要求一個(gè)兩層循環(huán)遞歸,因此計(jì)算量依然較大.K-FAC 算法(Kronecker-factored approximate curvature)[17]通過在線構(gòu)造Fisher 信息矩陣的可逆近似來計(jì)算二階梯度.此外,還有BFGS 算法[18]以及其衍生算法(例如L-BFGS 算法[19-20]等),它們都通過避免計(jì)算Hessian 矩陣的逆來降低計(jì)算復(fù)雜度.相對于一階優(yōu)化算法來說,二階優(yōu)化算法計(jì)算量依然過大,因此不適合處理規(guī)模過大的數(shù)據(jù)集,并且所求得的高精度解對模型的泛化能力提升有限,甚至有時(shí)會影響泛化,因此二階梯度優(yōu)化算法目前還難以廣泛用于訓(xùn)練RNNs.

      除了上面介紹的幾種類型優(yōu)化算法之外,也有不少研究者嘗試將遞歸最小二乘算法(Recursive least squares,RLS)應(yīng)用于訓(xùn)練各種神經(jīng)網(wǎng)絡(luò).RLS 是一種自適應(yīng)濾波算法,具有非??斓氖諗克俣?Azimi-Sadjadi 等[21]提出了一種RLS 算法,對多層感知機(jī)進(jìn)行訓(xùn)練.譚永紅[22]將神經(jīng)網(wǎng)絡(luò)層分為線性輸入層與非線性激活層,對非線性激活層的反傳誤差進(jìn)行近似,并使用RLS 算法對線性輸入層的參數(shù)矩陣進(jìn)行求解來加快模型收斂.Xu 等[23]成功將RLS 算法應(yīng)用于多層RNNs.上述算法需要為每個(gè)神經(jīng)元存儲一個(gè)協(xié)方差矩陣,時(shí)空開銷很大.Peter等[24]提出了一種擴(kuò)展卡爾曼濾波優(yōu)化算法,對RNNs 進(jìn)行訓(xùn)練.該算法將RNNs 表示為被噪聲破壞的平穩(wěn)過程,然后對網(wǎng)絡(luò)的狀態(tài)矩陣進(jìn)行求解.該算法不足之處是需要計(jì)算雅可比矩陣來達(dá)到線性化的目的,時(shí)空開銷也很大.Jaeger[25]通過將非線性系統(tǒng)近似為線性系統(tǒng),實(shí)現(xiàn)了回聲狀態(tài)網(wǎng)絡(luò)參數(shù)的RLS 求解,但該算法僅限于求解回聲狀態(tài)網(wǎng)絡(luò)的輸出層參數(shù),并不適用于一般的RNNs 訓(xùn)練優(yōu)化.

      針對以上問題,本文提出了一種新的基于RLS優(yōu)化的RNN 算法(簡稱RLS-RNN).本文主要貢獻(xiàn)如下:1)在RLS-RNN 的輸出層參數(shù)更新推導(dǎo)中,借鑒SGD 中平均梯度的計(jì)算思想,提出了一種適于迷你批樣本訓(xùn)練的RLS 更新方法,顯著減少了RNNs 的實(shí)際訓(xùn)練時(shí)間,使得所提算法可處理較大規(guī)模數(shù)據(jù)集.2)在RLS-RNN 的隱藏層參數(shù)更新推導(dǎo)中,提出了一種等效梯度思想,以獲得該層參數(shù)的最小二乘解,同時(shí)使得RNNs 僅要求輸出層激活函數(shù)存在反函數(shù)即可采用RLS 進(jìn)行訓(xùn)練,對隱藏層的激活函數(shù)則無此要求.3)相較以前的RLS優(yōu)化算法,RLS-RNN 只需在隱藏層和輸出層而非為這兩層的每一個(gè)神經(jīng)元分別設(shè)置一個(gè)協(xié)方差矩陣,使得其時(shí)間和空間復(fù)雜度僅約SGD 算法的3 倍.4)對RLS-RNN 的遺忘因子自適應(yīng)和過擬合預(yù)防問題進(jìn)行了簡要討論,分別給出了一種解決辦法.

      1 背景

      1.1 基于SGD 優(yōu)化的RNN 算法

      RNNs 處理時(shí)序數(shù)據(jù)的模型結(jié)構(gòu)如圖1 所示.一個(gè)基本的RNN 通常由一個(gè)輸入層、一個(gè)隱藏層(也稱為循環(huán)層)和一個(gè)輸出層組成.在圖1 中,Xs,t∈Rm×a,Hs,t∈Rm×h和Os,t∈Rm×d分別為第s批訓(xùn)練樣本數(shù)據(jù)在第t時(shí)刻的輸入值、隱藏層和輸出層的輸出值,其中,m為迷你批大小,a為一個(gè)訓(xùn)練樣本數(shù)據(jù)的維度,h為隱藏層神經(jīng)元數(shù),d為輸出層神經(jīng)元數(shù);Us-1∈Ra×h,Ws-1∈Rh×h和Vs-1∈Rh×d分別為第s批數(shù)據(jù)訓(xùn)練時(shí)輸入層到隱藏層、隱藏層內(nèi)部、隱藏層到輸出層的參數(shù)矩陣;∈R1×h和∈R1×d分別為隱藏層和輸出層的偏置參數(shù)矩陣;τ表示當(dāng)前序列數(shù)據(jù)共有τ時(shí)間步.RNNs 的核心思想是在模型的不同時(shí)間步對參數(shù)進(jìn)行共享,將每一時(shí)間步的隱藏層輸出值加權(quán)輸入到其下一時(shí)間步的計(jì)算中,從而令權(quán)重參數(shù)學(xué)習(xí)到序列數(shù)據(jù)不同時(shí)間步之間的關(guān)聯(lián)特征并進(jìn)行泛化.輸出層則根據(jù)實(shí)際問題選擇將哪些時(shí)間步輸出,比較常見的有序列數(shù)據(jù)的分類問題和預(yù)測問題.對序列數(shù)據(jù)預(yù)測問題,輸出層每一時(shí)間步均有輸出;對序列數(shù)據(jù)分類問題,輸出層沒有圖1 虛線框中的時(shí)間步輸出,即僅在最后一個(gè)時(shí)間步才有輸出.

      圖1 RNN 模型結(jié)構(gòu)Fig.1 RNN model structure

      RNNs 通過前向傳播來獲得實(shí)際輸出,其計(jì)算過程可描述為

      其中,1 為m行全1 列向量;φ(·) 和σ(·)分別為隱藏層和輸出層的激活函數(shù),常用的激活函數(shù)有sigmoid 函數(shù)與tanh 函數(shù)等.為了便于后續(xù)推導(dǎo)和表達(dá)的簡潔性,以上兩式可用增廣矩陣進(jìn)一步表示為

      RNNs 的參數(shù)更新方式和所采用的優(yōu)化算法密切相關(guān),基于SGD 算法的RNNs 模型優(yōu)化通常借助于最小化目標(biāo)函數(shù)反向傳播完成.常用目標(biāo)函數(shù)有交叉熵函數(shù)、均方誤差函數(shù)、Logistic 函數(shù)等.這里僅考慮均方誤差目標(biāo)函數(shù)

      式中,?為Hadamard 積,為輸出層非激活線性輸出,即

      則該層參數(shù)更新規(guī)則可定義為

      其中,α為學(xué)習(xí)率.

      則該層參數(shù)更新規(guī)則可定義為

      1.2 RLS 算法

      RLS 是一種最小二乘優(yōu)化算法的遞推化算法,不但收斂速度很快,而且適用于在線學(xué)習(xí).設(shè)當(dāng)前訓(xùn)練樣本輸入集Xt={x1,···,xt},對應(yīng)的期望輸出集為.其目標(biāo)函數(shù)通常定義為

      其中,w為權(quán)重向量;λ∈(0, 1] 為遺忘因子.

      令?wJ(w)=0,可得

      整理后可表示為

      其中,

      為了避免昂貴的矩陣求逆運(yùn)算且適用于在線學(xué)習(xí),令

      將式(21)和式(22)改寫為如下遞推更新形式

      由Sherman-Morrison-Woodbury 公式[27]易得

      其中,

      其中,gt為增益向量.進(jìn)一步將式(23)、(25)和(26)代入式(20),可得當(dāng)前權(quán)重向量的更新公式為

      其中,

      2 基于RLS 優(yōu)化的RNNs 算法

      RLS 算法雖然具有很快的學(xué)習(xí)速度,然而只適用于線性系統(tǒng).我們注意到在RNNs 中,如果不考慮激活函數(shù),其隱藏層和輸出層的輸出計(jì)算依舊是線性的,本節(jié)將基于這一特性來構(gòu)建新的迷你批RLS 優(yōu)化算法.假定輸出層激活函數(shù)σ(·)存在反函數(shù)σ-1(·),并仿照RLS 算法將輸出層目標(biāo)函數(shù)定義為

      其中,s代表共有s批訓(xùn)練樣本;為輸出層的非激活線性期望值,即

      因此,RNNs 參數(shù)優(yōu)化問題可以定義為

      由于RNNs 前向傳播并不涉及權(quán)重參數(shù)更新,因此本文所提算法應(yīng)用于RNNs 訓(xùn)練時(shí),其前向傳播計(jì)算與第1.1 節(jié)介紹的SGD-RNN 算法基本相同,Hs,t同樣采用式(3)計(jì)算,唯一區(qū)別是此處并不需要計(jì)算Os,t,而是采用式(12)計(jì)算.本節(jié)將只考慮RLS-RNN 的輸出層和隱藏層參數(shù)更新推導(dǎo).

      2.1 RLS-RNN 輸出層參數(shù)更新推導(dǎo)

      將式(35)代入式(36),得

      類似于RLS 算法推導(dǎo),以上兩式可進(jìn)一步寫成如下遞推形式

      2.2 RLS-RNN 隱藏層參數(shù)更新推導(dǎo)

      其中,η為比例因子.理論上講,不同迷你批數(shù)據(jù)對應(yīng)的η應(yīng)該有一定的差別.但考慮到各批迷你批數(shù)據(jù)均是從整個(gè)訓(xùn)練集中隨機(jī)選取,因此可忽略這一差別.根據(jù)式(16)可知,且將式(59)代入式(55),得

      其中,

      式(61)的遞歸最小二乘解推導(dǎo)過程類似于輸出層參數(shù)更新推導(dǎo).令,同樣采用上文的近似平均求解方法,易得

      綜上,RLS-RNN 算法如算法 1 所示.

      3 分析與改進(jìn)

      3.1 復(fù)雜度分析

      在RNNs 當(dāng)前所用優(yōu)化算法中,SGD 是時(shí)間和空間復(fù)雜度最低的算法.本節(jié)將以SGD-RNN 為參照,來對比分析本文提出的RLS-RNN算法的時(shí)間和空間復(fù)雜度.兩個(gè)算法采用一個(gè)迷你批樣本數(shù)據(jù)集學(xué)習(xí)的時(shí)間和空間復(fù)雜度對比結(jié)果如表1 所示.從第1 節(jié)介紹可知,τ表示序列數(shù)據(jù)時(shí)間步長度,m表示批大小,a表示單個(gè)樣本向量的維度,h表示隱藏層神經(jīng)元數(shù)量,d表示輸出層神經(jīng)元數(shù)量.在實(shí)際應(yīng)用中,a和d一般要小于h,因而RLS-RNN的時(shí)間復(fù)雜度和空間復(fù)雜度大約為SGD-RNN 的3 倍.在實(shí)際運(yùn)行中,我們發(fā)現(xiàn)RLS-RNN 所用時(shí)間和內(nèi)存空間大約是SGD-RNN 的3 倍,與本節(jié)理論分析結(jié)果正好相吻合.

      表1 SGD-RNN 與RLS-RNN 復(fù)雜度分析Table 1 Complexity analysis of SGD-RNN and RLS-RNN

      所提算法只需在RNNs 的隱藏層和輸出層各設(shè)置一個(gè)矩陣,而以前的RLS 優(yōu)化算法則需為RNNs 隱藏層和輸出層的每一個(gè)神經(jīng)元設(shè)置一個(gè)與所提算法相同規(guī)模的協(xié)方差矩陣,因而所提算法在時(shí)間和空間復(fù)雜度上有著大幅降低.此外,所提算法采用了深度學(xué)習(xí)廣為使用的迷你批訓(xùn)練方式,使得其可用于處理較大規(guī)模的數(shù)據(jù)集.

      3.2 λ 自適應(yīng)調(diào)整

      眾多研究表明,遺忘因子λ的取值對RLS 算法性能影響較大[28],特別是在RLS 處理時(shí)變?nèi)蝿?wù)時(shí)影響更大.由于本文所提算法建立在傳統(tǒng)RLS 基礎(chǔ)之上,因而RLS-RNN 的收斂質(zhì)量也易受λ的取值影響.在RLS 研究領(lǐng)域,當(dāng)前已有不少關(guān)于λ自適應(yīng)調(diào)整方面的成果[28-29],因此可以直接利用這些成果對RLS-RNN 作進(jìn)一步改進(jìn).

      在文獻(xiàn)[29]基礎(chǔ)上,本小節(jié)直接給出一種λ自適應(yīng)調(diào)整方法.對第s迷你批樣本,RLS-RNN 各層中的遺忘因子統(tǒng)一定義為

      其中,λmax接近于1,κ>1 用于控制λs更新,一般建議取2,通常κ取值越小,λs更新越頻繁;ξ是一個(gè)極小的常數(shù),防止在計(jì)算λs時(shí)分母為0;qs,和定義為

      其中,μ0建議取 7/8;μ1=1-1/(?1m),通常?1≥2;μ2=1-1/(?2m),且?2>?1.

      當(dāng)然,采用以上方式更新λs將會引入新的超參數(shù),給RLS-RNN 的調(diào)試帶來一定困難.從使用RLS-RNN 的實(shí)際經(jīng)驗(yàn)來看,也可采用固定的λ進(jìn)行訓(xùn)練,建議將λ取值設(shè)置在0.99 至1 之間.

      3.3 過擬合預(yù)防

      傳統(tǒng)RLS 算法雖然具有很快的收斂速度,但也經(jīng)常面臨過擬合風(fēng)險(xiǎn),RLS-RNN 同樣面臨這一風(fēng)險(xiǎn).類似于第3.2 節(jié),同樣可以利用RLS 領(lǐng)域關(guān)于這一問題的一些研究成果來改進(jìn)RLS-RNN.

      Ek?io?lu[30]提出了一種L1正則化RLS 方法,即在參數(shù)更新時(shí)附加一個(gè)正則化項(xiàng).對其稍加改進(jìn),則在式(50)和式(65)的基礎(chǔ)上可分別重新定義為

      實(shí)際上,除了這種方法外,讀者也可采用其他正則化方法對RLS-RNN 作進(jìn)一步改進(jìn).

      4 仿真實(shí)驗(yàn)

      為了驗(yàn)證所提算法的有效性,本節(jié)選用兩個(gè)序列數(shù)據(jù)分類問題和兩個(gè)序列數(shù)據(jù)預(yù)測問題進(jìn)行仿真實(shí)驗(yàn).其中,兩個(gè)分類問題為MNIST 手寫數(shù)字識別分類[31]和IMDB 影評正負(fù)情感分類,兩個(gè)預(yù)測問題為Google 股票價(jià)格預(yù)測[32]與北京市PM2.5 污染預(yù)測[33].在實(shí)驗(yàn)中,將著重驗(yàn)證所提算法的收斂性能、超參數(shù)α和η選取的魯棒性.在收斂性能驗(yàn)證中,選用主流一階梯度優(yōu)化算法SGD、Momentum和Adam 進(jìn)行對比,所有問題的實(shí)驗(yàn)均迭代運(yùn)行150 Epochs;在超參數(shù)魯棒性驗(yàn)證中,考慮到所提算法收斂速度非???所有問題的實(shí)驗(yàn)均只迭代運(yùn)行50 Epochs.為了減少實(shí)驗(yàn)結(jié)果的隨機(jī)性,所有實(shí)驗(yàn)均重復(fù)運(yùn)行5 次然后取平均值展示結(jié)果.此外,為了觀察所提算法的實(shí)際效果,所有優(yōu)化算法在RNNs 參數(shù)更新過程均不進(jìn)行Dropout 處理.需要特別說明的是:對前兩個(gè)分類問題,由于時(shí)變性不強(qiáng),所提算法遺忘因子采用固定值方式而不采用第3.2節(jié)所提方式;對后兩個(gè)預(yù)測問題,所提算法遺忘因子將采用第3.2 節(jié)所提方式;所提算法對4 個(gè)問題均將采用第3.3 節(jié)所提方法防止過擬合.

      4.1 MNIST 手寫數(shù)字識別分類

      MNIST 分類問題的訓(xùn)練集與測試集分別由55 000和10 000 幅 28×28 像素、共10 類灰度手寫數(shù)字圖片組成,學(xué)習(xí)目標(biāo)是能對給定手寫數(shù)字圖片進(jìn)行識別.為了適應(yīng)RNNs 學(xué)習(xí),將訓(xùn)練集和測試集中的每張圖片轉(zhuǎn)換成一個(gè)28 時(shí)間步的序列,每時(shí)間步包括28 個(gè)像素輸入,圖片類別采用One-hot 編碼.

      該問題所用RNN 模型結(jié)構(gòu)設(shè)置如下:1)輸入層輸入時(shí)間步為28,輸入向量維度為28.2)隱藏層時(shí)間步為28,神經(jīng)元數(shù)為100,激活函數(shù)為tanh(·).3)輸出層時(shí)間步為1,神經(jīng)元數(shù)為10,激活函數(shù)為tanh(·).由于 tanh-1(1)和 tanh-1(-1)分別為正、負(fù)無窮大,在具體實(shí)現(xiàn)中,對 tanh-1(x),我們約定:若x≥0.997,則 tanh-1(x)=tanh-1(0.997);若x≤-0.997,則 tanh-1(x)=tanh-1(-0.997).RNN 模型權(quán)重參數(shù)采用He 初始化[34].

      在收斂性能對比驗(yàn)證中,各優(yōu)化算法超參數(shù)設(shè)置如下:RLS 遺忘因子λ為0.9999,比例因子η為1,協(xié)方差矩陣初始化參數(shù)α為0.4,正則化因子γ為0.0001;SGD 學(xué)習(xí)率為0.05;Momentum 學(xué)習(xí)率為0.05,動量參數(shù)0.5;Adam 學(xué)習(xí)率0.001,β1設(shè)為0.9,β2為0.999,?設(shè)為 10-8.在超參數(shù)α和η選取的魯棒性驗(yàn)證中,采用控制變量法進(jìn)行測試:1)固定λ=0.9999,γ=0.0001 和η=1,依次選取α=0.01,0.1,0.2,···,1 驗(yàn)證;2)固定λ=0.9999,γ=0.0001和α=0.4,依次選取η=0.1,1,2,···,10 驗(yàn)證.

      在上述設(shè)定下,每一Epoch 均將訓(xùn)練集隨機(jī)劃分成550 個(gè)迷你批,批大小為100.每訓(xùn)練完一個(gè)Epoch,便從測試集中隨機(jī)生成50 個(gè)迷你批進(jìn)行測試,統(tǒng)計(jì)其平均分類準(zhǔn)確率.實(shí)驗(yàn)結(jié)果如圖2(a)、表2 和表3 所示.由圖2(a)可知,RLS 在第1 個(gè)Epoch 便可將分類準(zhǔn)確率提高到95%以上,其收斂速度遠(yuǎn)高于其他三種優(yōu)化算法,且RLS 的準(zhǔn)確率曲線比較平滑,說明參數(shù)收斂比較穩(wěn)定.表2 和表3記錄了該實(shí)驗(yàn)取不同的α和η時(shí)第50 Epoch 的平均分類準(zhǔn)確率.從表2 中不難看出,不同初始化因子α在第50 Epoch 的準(zhǔn)確率都在97.10%到97.70%之間波動,整體來說比較穩(wěn)定,說明α對算法性能影響較小.從表3 中可知,不同η取值的準(zhǔn)確率均在97.04%到97.80%之間,波動較小,η取值對算法性能的影響也不大.綜上,RLS 算法的α和η取值均具有較好的魯棒性.

      圖2 收斂性比較實(shí)驗(yàn)結(jié)果Fig.2 Experimental results on the convergence comparisons

      表2 初始化因子 α 魯棒性分析Table 2 Robustness analysis of the initializing factor α

      表3 比例因子 η 魯棒性分析Table 3 Robustness analysis of the scaling factor η

      4.2 IMDB 影評情感分類

      IMDB 分類問題的訓(xùn)練集和測試集分別由25 000和10 000 條電影評論組成,正負(fù)情感評論各占50%,學(xué)習(xí)目標(biāo)是能對給定評論的感情傾向進(jìn)行識別.為了適應(yīng)RNNs 學(xué)習(xí),首先從Keras 內(nèi)置數(shù)據(jù)集加載訓(xùn)練集和測試集的各條評論,選取每條評論前32個(gè)有效詞構(gòu)成一個(gè)時(shí)間步序列,然后對該評論中的每個(gè)有效詞以GloVe.6B 預(yù)訓(xùn)練模型[35]進(jìn)行詞嵌入,使得每個(gè)時(shí)間步包括50 個(gè)輸入維度,評論的正負(fù)情感類別采用One-hot 編碼.

      該問題所用RNN 模型結(jié)構(gòu)設(shè)置如下:1)輸入層輸入時(shí)間步為32,輸入向量維度為50.2)隱藏層時(shí)間步為32,神經(jīng)元數(shù)為100,激活函數(shù)為 tanh(·).3)輸出層時(shí)間步為1,神經(jīng)元數(shù)為2,激活函數(shù)為tanh(·).tanh-1(x)問題和RNN 模型權(quán)重參數(shù)的初始化按第4.1 節(jié)方式同樣處理.

      在收斂性能對比驗(yàn)證中,各優(yōu)化算法超參數(shù)設(shè)置如下:RLS 遺忘因子λ為0.9999,比例因子η為1,協(xié)方差矩陣初始化參數(shù)α為0.4,正則化因子γ為0.001;SGD 學(xué)習(xí)率為0.05;Momentum 學(xué)習(xí)率為0.05,動量參數(shù)0.5;Adam 學(xué)習(xí)率0.0001,β1設(shè)為0.9,β2設(shè)為0.999,?設(shè)為 10-8.在超參數(shù)α和η選取的魯棒性驗(yàn)證中,同樣采用控制變量法進(jìn)行測試:1)固定λ=0.9999,γ=0.001 和η=1,依次選取α=0.01,0.1,0.2,···,1 驗(yàn)證;2)固定λ=0.9999,γ=0.001 和α=0.4,依次選取η=0.1,1,2,···,10驗(yàn)證.

      在上述設(shè)定下,每一Epoch 均將訓(xùn)練集隨機(jī)劃分成250 個(gè)迷你批,批大小為100.每訓(xùn)練完一個(gè)Epoch,便從測試集中隨機(jī)生成50 個(gè)迷你批進(jìn)行測試,統(tǒng)計(jì)其平均分類準(zhǔn)確率.實(shí)驗(yàn)結(jié)果如圖2(b)、表2 和表3 所示.由圖2(b)可知,SGD 與Momentum 的收斂不太穩(wěn)定,波動比較大,而Adam的準(zhǔn)確率曲線則比較平滑,這三者在訓(xùn)練初期的準(zhǔn)確率都比較低.相比之下,RLS 在訓(xùn)練初期的準(zhǔn)確率已經(jīng)比較接近后期預(yù)測準(zhǔn)確率,前期收斂速度極快,整體準(zhǔn)確率也明顯優(yōu)于其余三種優(yōu)化算法.表2和表3 記錄了IMDB 實(shí)驗(yàn)取不同的α和η時(shí)第50 Epoch 的平均分類準(zhǔn)確率.由表2 易知不同α的情況下準(zhǔn)確率浮動范圍比較小,因此不同α對算法的影響比較小.由表3 可知,采用不同η時(shí)其準(zhǔn)確率在72.86%到73.82%之間浮動,可見η的取值對算法性能影響較小.綜上,RLS 算法的α和η取值在本實(shí)驗(yàn)中同樣都具有較好的魯棒性.

      4.3 Google 股票價(jià)格預(yù)測

      Google 股票價(jià)格預(yù)測問題的數(shù)據(jù)源自Google公司從2010 年1 月4 日到2016 年12 月30 日的股價(jià)記錄,每日股價(jià)記錄包括當(dāng)日開盤價(jià)、當(dāng)日最低價(jià)、當(dāng)日最高價(jià)、交易筆數(shù)及當(dāng)日調(diào)整后收盤價(jià)五種數(shù)值,學(xué)習(xí)目標(biāo)是能根據(jù)當(dāng)日股價(jià)預(yù)測調(diào)整后次日收盤價(jià).為了適應(yīng)RNNs 學(xué)習(xí),首先對這些數(shù)值進(jìn)行歸一化處理,然后以連續(xù)50 個(gè)交易日為單位進(jìn)行采樣,每次采樣生成一條5 維輸入序列數(shù)據(jù),同時(shí)將該次采樣后推一個(gè)交易日選取各日調(diào)整后收盤價(jià)生成對應(yīng)的一維期望輸出序列數(shù)據(jù),取前1 400條序列數(shù)據(jù)的訓(xùn)練集,后續(xù)200 條序列數(shù)據(jù)為測試集,并將訓(xùn)練集和測試集的樣本分別隨機(jī)置亂.

      該問題所用RNN 模型結(jié)構(gòu)設(shè)置如下:1)輸入層輸入時(shí)間步為50,輸入向量維度為5.2)隱藏層時(shí)間步為50,神經(jīng)元數(shù)為50,激活函數(shù)為 tanh(·).3)輸出層時(shí)間步為50,神經(jīng)元數(shù)為1,激活函數(shù)為identity(·).RNN 模型權(quán)重參數(shù)采用高斯分布隨機(jī)初始化.

      在收斂性能對比驗(yàn)證中,各優(yōu)化算法超參數(shù)設(shè)置如下:RLS 遺忘因子采用第3.2 節(jié)自適應(yīng)方式,其參數(shù)κ=1.5,λmax=0.9999,q0=10,μ0=7/8,?1=6,?2=18,ξ=10-15,魯棒性實(shí)驗(yàn)中自適應(yīng)參數(shù)與此相同,RLS 的比例因子η為1,協(xié)方差矩陣初始化參數(shù)α為0.3,正則化因子γ為0.000001;SGD 學(xué)習(xí)率為0.05;Momentum 學(xué)習(xí)率為0.05,動量參數(shù)0.8;Adam 學(xué)習(xí)率0.001,β1設(shè)為0.9,β2設(shè)為0.999,?設(shè)為 10-8.在超參數(shù)α和η選取的魯棒性驗(yàn)證中,采用控制變量法進(jìn)行測試:1)固定γ=0.000001 和η=1,依次選取α=0.01,0.1,0.2,···,1驗(yàn)證;2)固定γ=0.000001 和α=0.3,依次選取η=0.1,1,2,···,10驗(yàn)證.

      在上述設(shè)定下,每一Epoch 均將訓(xùn)練集隨機(jī)劃分成28 個(gè)迷你批,批大小為50.每訓(xùn)練完一個(gè)Epoch,便從測試集中隨機(jī)生成50 個(gè)迷你批進(jìn)行測試,統(tǒng)計(jì)其均方誤差(mean square error,MSE).實(shí)驗(yàn)結(jié)果如圖2(c)、表2 和表3 所示.由圖2(c)可知,Adam 在前期誤差較大,但是很快降低到SGD 與Momentum 的誤差之下,Momentum 則比SGD 稍強(qiáng)一些,RLS 則在迭代初期就幾乎收斂.表2 和表3記錄了該實(shí)驗(yàn)取不同的α和η時(shí)在第50 Epoch 的平均MSE.由表2 可知,在不同α取值下,實(shí)驗(yàn)結(jié)果都比較接近,波動較小,這說明α的取值對于RLS 算法性能的影響較小.由表3 可知,當(dāng)η取不同值時(shí),MSE 值變化不大,因此η對算法影響較小.綜上,RLS 算法的α和η取值在本實(shí)驗(yàn)中也具有較好的魯棒性.

      4.4 北京市PM2.5 污染預(yù)測

      北京市PM2.5 污染預(yù)測問題的數(shù)據(jù)源自2010年1 月1 日至2014 年12 月31 日每小時(shí)的監(jiān)測記錄.每條記錄由PM2.5 濃度、露點(diǎn)、攝氏溫度、氣壓、組合風(fēng)向、累計(jì)風(fēng)速、降雪量、降水量共8 個(gè)屬性值組成,學(xué)習(xí)目標(biāo)是能根據(jù)當(dāng)前小時(shí)的監(jiān)測記錄預(yù)測兩個(gè)小時(shí)后的PM2.5 濃度值.為了適應(yīng)RNNs 學(xué)習(xí),首先對風(fēng)向數(shù)據(jù)按序編碼,然后對屬性數(shù)值歸一化,接著以連續(xù)24 小時(shí)為單位進(jìn)行采樣,每次采樣生成一條8 維輸入序列數(shù)據(jù),同時(shí)將該次采樣后推兩個(gè)小時(shí)選取各小時(shí)的PM2.5 濃度值生成一條對應(yīng)的一維期望輸出序列數(shù)據(jù),并取前35 000 條序列數(shù)據(jù)為訓(xùn)練集,后續(xù)8 700 條序列數(shù)據(jù)為測試集.需要說明的是,由于這一問題比較簡單且訓(xùn)練集較大,所提算法和Adam 運(yùn)行一個(gè)Epoch基本即可收斂,為了更好地對各算法性能進(jìn)行區(qū)分,只取訓(xùn)練集前7 000 條和測試集前3 700 條數(shù)據(jù)并分別隨機(jī)置亂進(jìn)行訓(xùn)練和測試.

      該問題所用RNN 模型結(jié)構(gòu)設(shè)置如下:1)輸入層輸入時(shí)間步為24,輸入向量維度為8.2)隱藏層時(shí)間步為24,神經(jīng)元數(shù)為50,激活函數(shù)為 tanh(·).3)輸出層時(shí)間步為24,神經(jīng)元數(shù)為1,激活函數(shù)為identity(·).RNN 模型權(quán)重參數(shù)的初始化按第4.3 節(jié)方式同樣處理.

      在收斂性能對比驗(yàn)證中,各優(yōu)化算法超參數(shù)設(shè)置如下:RLS 遺忘因子采用第3.2 節(jié)自適應(yīng)方式,其參數(shù)κ=2,λmax=0.9999,q0=10,μ0=7/8,?1=6,?2=18,ξ=10-15,魯棒性實(shí)驗(yàn)中自適應(yīng)參數(shù)與此相同,RLS 的比例因子η為1,協(xié)方差矩陣初始化參數(shù)α為0.4,正則化因子γ為0.000001;SGD 學(xué)習(xí)率為0.05;Momentum 學(xué)習(xí)率為0.05,動量參數(shù)0.8;Adam 學(xué)習(xí)率0.001,β1設(shè)為0.9,β2設(shè)為0.999,?設(shè)為 10-8.在超參數(shù)α和η選取的魯棒性驗(yàn)證中,同樣采用控制變量法進(jìn)行測試:1)固定γ=0.000001和η=1,依次選取α=0.01,0.1,0.2,···,1驗(yàn)證;2)固定γ=0.000001 和α=0.4,依次選取η=0.1,1,2,···,10 驗(yàn)證.

      在上述設(shè)定下,每一Epoch 均將訓(xùn)練集隨機(jī)劃分成140 個(gè)迷你批,批大小為50.每訓(xùn)練完一個(gè)Epoch,便從測試集中隨機(jī)生成50 個(gè)迷你批進(jìn)行測試,統(tǒng)計(jì)其均方誤差損失.實(shí)驗(yàn)結(jié)果如圖2(d)、表2和表3 所示.由圖2(d)可知,SGD、Momentum、Adam 的損失初期均較大,收斂速度較緩慢;而RLS 的曲線幾乎在第1 個(gè)Epoch 就收斂完成,因此其收斂速度要優(yōu)于3 個(gè)對比優(yōu)化算法.表2 和表3記錄了該實(shí)驗(yàn)取不同的α和η時(shí)在第50 Epoch的平均MSE.表2 中在取不同α?xí)r,其MSE 上下波動幅度較小,且沒有明顯的變化趨勢,因此我們認(rèn)為α對算法性能影響較小.由表3 可知,對η取不同值時(shí),其平均MSE 在 1.50×10-3到1.59×10-3間波動,整體來說浮動范圍較小.綜上,RLS 算法的α和η取值都具有較好的魯棒性.

      5 結(jié)論與展望

      在RNNs 優(yōu)化訓(xùn)練中,現(xiàn)有一階優(yōu)化算法學(xué)習(xí)速度較慢,而二階優(yōu)化算法和以前的RLS 類型優(yōu)化算法時(shí)空復(fù)雜度又過高.為此,本文提出了一種新的RLS 優(yōu)化算法.該算法吸收了深度學(xué)習(xí)中廣為應(yīng)用的迷你批訓(xùn)練學(xué)習(xí)模式,在推導(dǎo)過程中我們將研究重點(diǎn)放置在隱藏層和輸出層的非激活線性輸出上,通過等價(jià)梯度替換,最終得到各層權(quán)重參數(shù)的遞歸最小二乘解.所提算法只需在RNNs 的隱藏層和輸出層各添加一個(gè)協(xié)方差矩陣,解決了長期以來RLS 優(yōu)化算法應(yīng)用時(shí)需要為隱藏層和輸出層的每一神經(jīng)元設(shè)置一個(gè)協(xié)方差矩陣的問題,極大地降低了時(shí)空復(fù)雜度,使得RLS 可以適用于較大規(guī)模的RNNs 訓(xùn)練.在此基礎(chǔ)上,采用遺忘因子自適應(yīng)調(diào)整和正則化技術(shù)對所提算法作了改進(jìn),進(jìn)一步提高了所提算法的性能.4 組仿真實(shí)驗(yàn)表明,所提算法在收斂性能、穩(wěn)定性以及超參數(shù)選取的魯棒性等方面均要明顯優(yōu)于主流一階優(yōu)化算法,能夠有效加快RNNs 模型的訓(xùn)練速度,降低超參數(shù)的選擇難度.此外,在實(shí)驗(yàn)過程中我們還發(fā)現(xiàn)所提算法可緩解梯度消失導(dǎo)致RNNs 無法訓(xùn)練的問題.如何將本算法擴(kuò)展到RNNs 以外的其他深度學(xué)習(xí)網(wǎng)絡(luò)以及如何進(jìn)一步降低所提算法的時(shí)空復(fù)雜度將是我們下一步工作的重點(diǎn).

      猜你喜歡
      魯棒性復(fù)雜度矩陣
      荒漠綠洲區(qū)潛在生態(tài)網(wǎng)絡(luò)增邊優(yōu)化魯棒性分析
      基于確定性指標(biāo)的弦支結(jié)構(gòu)魯棒性評價(jià)
      一種低復(fù)雜度的慣性/GNSS矢量深組合方法
      求圖上廣探樹的時(shí)間復(fù)雜度
      初等行變換與初等列變換并用求逆矩陣
      基于非支配解集的多模式裝備項(xiàng)目群調(diào)度魯棒性優(yōu)化
      西南交通大學(xué)學(xué)報(bào)(2016年6期)2016-05-04 04:13:11
      某雷達(dá)導(dǎo)51 頭中心控制軟件圈復(fù)雜度分析與改進(jìn)
      矩陣
      南都周刊(2015年4期)2015-09-10 07:22:44
      矩陣
      南都周刊(2015年3期)2015-09-10 07:22:44
      宜君县| 闽侯县| 盐津县| 化州市| 广德县| 北辰区| 平泉县| 丹江口市| 壤塘县| 嫩江县| 桐梓县| 涿鹿县| 东平县| 灵宝市| 怀集县| 武宣县| 慈利县| 万年县| 衡阳市| 山阳县| 靖江市| 荔浦县| 兴和县| 孝感市| 定安县| 固阳县| 胶州市| 潮安县| 都昌县| 湘乡市| 汶川县| 滨州市| 集贤县| 会宁县| 宁波市| 西青区| 中江县| 乌兰察布市| 武功县| 麻城市| 浦江县|