侯瑞華,趙月愛*
(太原師范學(xué)院 數(shù)學(xué)與統(tǒng)計(jì)學(xué)院,山西 晉中 030619)
回聲狀態(tài)網(wǎng)絡(luò)(Echo State Networks,ESN)[1]由Jaeger和Haas于2001年提出,算法的本質(zhì)是將遞歸神經(jīng)網(wǎng)絡(luò)的隱含層替代為儲(chǔ)蓄池(大規(guī)模隨機(jī)稀疏網(wǎng)絡(luò))的計(jì)算,使得傳統(tǒng)遞歸神經(jīng)網(wǎng)絡(luò)收斂速度慢、訓(xùn)練復(fù)雜度高等問(wèn)題得到了解決,開辟了遞歸神經(jīng)網(wǎng)絡(luò)研究的新道路.目前回聲狀態(tài)網(wǎng)絡(luò)已成功應(yīng)用到動(dòng)態(tài)模式分類、機(jī)器人控制、目標(biāo)檢測(cè)等多個(gè)領(lǐng)域.但ESN中輸入權(quán)值和儲(chǔ)備池權(quán)值是隨機(jī)給定的,可能會(huì)導(dǎo)致儲(chǔ)蓄池內(nèi)神經(jīng)元結(jié)點(diǎn)無(wú)效,而盲目地增加儲(chǔ)蓄池規(guī)模來(lái)提高精度又會(huì)導(dǎo)致網(wǎng)絡(luò)復(fù)雜,一些學(xué)者對(duì)此提出了相應(yīng)的改進(jìn)策略:Yang等[2]為了解決ESN在輸出權(quán)值的迭代訓(xùn)練過(guò)程中其輸入權(quán)值(Win)以及儲(chǔ)備池權(quán)值(W)的隨機(jī)性影響網(wǎng)絡(luò)精度,提出了PESN網(wǎng)絡(luò)模型,該模型由可反映輸入變量到輸出權(quán)值的多項(xiàng)式函數(shù)與回聲狀態(tài)網(wǎng)絡(luò)結(jié)合所得,其中模型的儲(chǔ)備池通過(guò)奇異值分解的方法進(jìn)行構(gòu)造,不僅保證了網(wǎng)絡(luò)具有回聲狀態(tài)的特性,且提高了網(wǎng)絡(luò)預(yù)測(cè)精度和速度;王磊等[3]針對(duì)網(wǎng)絡(luò)的儲(chǔ)備池結(jié)構(gòu)過(guò)大的問(wèn)題提出了一種修剪型模塊化回聲狀態(tài)網(wǎng)絡(luò),利用靈敏度分析將靈敏度低的子模塊進(jìn)行刪除;趙月愛等[4]則通過(guò)Xavier初始化的方法確定權(quán)值的選取范圍,各層激活值的方差以及狀態(tài)梯度的方差在傳播過(guò)程中也可以保持一致.此外,一部分學(xué)者嘗試?yán)脝l(fā)式搜索算法對(duì)網(wǎng)絡(luò)進(jìn)行改進(jìn),并經(jīng)過(guò)多次實(shí)驗(yàn)驗(yàn)證是一種十分有效的策略.
啟發(fā)式搜索是通過(guò)指導(dǎo)搜索向最有希望的方向前進(jìn)直至到達(dá)目標(biāo),往往很快可以得到一個(gè)搜索問(wèn)題的最優(yōu)解,一經(jīng)提出便得到了廣泛的應(yīng)用,郭利進(jìn)等[5]采用遺傳算法優(yōu)化了BP神經(jīng)網(wǎng)絡(luò),郝可青等[6]采用鯨魚算法解決了長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)的參數(shù)選擇問(wèn)題,均取得良好效果.其中,和聲搜索算法(HS)只需要較少的計(jì)算量即可得到有效的向量解,相較于其他啟發(fā)式算法收斂速度更快且容易實(shí)現(xiàn),因此得到廣泛應(yīng)用.算法的原理與處理優(yōu)化問(wèn)題的過(guò)程類似,式中的決策變量通過(guò)對(duì)自身值的不斷調(diào)節(jié),再進(jìn)行迭代優(yōu)化,最終達(dá)到全局最優(yōu).這些優(yōu)點(diǎn)使其被廣泛地應(yīng)用到神經(jīng)網(wǎng)絡(luò)優(yōu)化方面及多個(gè)研究領(lǐng)域中,例如無(wú)線傳感器網(wǎng)絡(luò)[7-8]、BP神經(jīng)網(wǎng)絡(luò)[9]、數(shù)據(jù)挖掘[10]、車間調(diào)度[11]等.
為此提出一種和聲搜索算法優(yōu)化ESN的方法,將回聲狀態(tài)網(wǎng)絡(luò)的輸入權(quán)值矩陣和儲(chǔ)蓄池權(quán)值矩陣?yán)煤吐曀阉魉惴ㄟM(jìn)行搜索得到最優(yōu)解,從而得到新的預(yù)測(cè)模型.實(shí)驗(yàn)分析表明,回聲狀態(tài)網(wǎng)絡(luò)的Win和W經(jīng)過(guò)和聲搜索算法優(yōu)化后可以使網(wǎng)絡(luò)模型的平均精度得到很大的提升.
回聲狀態(tài)網(wǎng)絡(luò)主要由三層結(jié)構(gòu)構(gòu)成:輸入層、儲(chǔ)備池以及輸出層,ESN網(wǎng)絡(luò)結(jié)構(gòu)[4]如圖1所示.假設(shè)在t時(shí)刻輸入層u(t)包含n×1維輸入向量;儲(chǔ)蓄池x(t)由d個(gè)稀疏連接的神經(jīng)元組成,其接受兩個(gè)方向的輸入:一個(gè)來(lái)自于輸入層,另外一個(gè)來(lái)自儲(chǔ)蓄池前一個(gè)狀態(tài)的輸出x(t-1);輸出層包含n×1維輸出向量u(t),其中
圖1 ESN網(wǎng)絡(luò)結(jié)構(gòu)
u(t)=[u1(t),u2(t),…,un(t)]T,
x(t)=[x1(t),x2(t),…,xd(t)]T,y(t)=[y1(t),y2(t),…,yn(t)]T.
儲(chǔ)備池的狀態(tài)更新方程和輸出狀態(tài)方程分別為x(t+1)=f(Winu(t+1)+W(t)),y(t+1)=fout(Wout(u(t+1),x(t+1))).
式中f為儲(chǔ)層內(nèi)部激活函數(shù),一般為tanh函數(shù),fout為輸出激活函數(shù),一般為線性函數(shù);Win、W、Wout分別為輸入權(quán)值矩陣、儲(chǔ)備池矩陣和輸出權(quán)值矩陣.Win和W用來(lái)決定網(wǎng)絡(luò)內(nèi)部單元的連接,且都在網(wǎng)絡(luò)訓(xùn)練之前已隨機(jī)確定并在之后的迭代訓(xùn)練過(guò)程中為固定的矩陣,再通過(guò)線性回歸過(guò)程最小化得到Wout.
和聲搜索(harmony search,HS) 算法是Geem[12]在2001年提出的一種智能搜索算法,該算法是模擬了樂(lè)師們對(duì)音樂(lè)的創(chuàng)作過(guò)程,將目標(biāo)問(wèn)題的解化成由不同的樂(lè)器產(chǎn)生的音調(diào),進(jìn)而不斷調(diào)整,最終達(dá)到一個(gè)完美的和聲狀態(tài),即該目標(biāo)問(wèn)題得到最優(yōu)解.其搜索尋優(yōu)的步驟如下:
Step1 確定要優(yōu)化的目標(biāo)函數(shù)及其約束條件,對(duì)算法中的參數(shù)初始化.和聲搜索算法中包括4個(gè)參數(shù):HMS(和聲記憶庫(kù)大小)、HMCR(和聲記憶庫(kù)的保留概率)、PAR(音調(diào)微調(diào)概率)、BW(音調(diào)微調(diào)帶寬)以及T(最大創(chuàng)作次數(shù)).
Step2 初始化和聲記憶庫(kù)(HM).將隨機(jī)產(chǎn)生的HMS個(gè)和聲放入和聲記憶庫(kù)中,每個(gè)變量的取值范圍為xi∈[Li,Ui],其中Li是變量下界,Ui為變量上界.HM表示如下:
Step3 生成新的和聲.首先產(chǎn)生rand1,如果rand1 Step4 更新和聲庫(kù).產(chǎn)生的新和聲向量Xnew計(jì)算適應(yīng)度函數(shù)值,如果優(yōu)于原和聲庫(kù)的最差值,則進(jìn)行替換更新,否則保持不變. Step5 重復(fù)Step3和Step4,直至到達(dá)最大迭代步數(shù)T次. 改進(jìn)和聲搜索算法一般有兩種方法:一種是對(duì)算法本身進(jìn)行參數(shù)調(diào)整,如設(shè)置自適應(yīng)參數(shù),或者通過(guò)調(diào)整算法步驟來(lái)改變和聲記憶庫(kù)的更新方式;另一種是與其他算法融合,結(jié)合其優(yōu)點(diǎn)進(jìn)行改進(jìn).對(duì)于前者的改進(jìn)方法,有相關(guān)自適應(yīng)算法IHS[13],GHS[14],SAHS[15]等,都是和聲搜索算法根據(jù)個(gè)體及種群的信息以及在進(jìn)化搜索過(guò)程中所收集到的信息對(duì)參數(shù)進(jìn)行自適應(yīng)調(diào)節(jié),此方法均使和聲搜索算法的準(zhǔn)確性得到了極大的提升;對(duì)于后者,有包括差分和聲搜索算法[16]、和聲搜索算法與人工蜂群算法融合[17]、狩獵搜索算法與和聲搜索算法結(jié)合[18]、混合鯨魚-灰狼優(yōu)化算法結(jié)合和聲搜索技術(shù)[19]等,這類方法是通過(guò)結(jié)合各類算法優(yōu)點(diǎn)對(duì)和聲搜索算法進(jìn)行了改進(jìn),準(zhǔn)確性也得到了很大提升,但此方法會(huì)使算法模型變復(fù)雜,時(shí)間成本升高。為此提出為和聲算法參數(shù)找到更為合適的自適應(yīng)值調(diào)整方式來(lái)進(jìn)行改進(jìn),使其可以更好地兼顧全局和局部搜索同時(shí)精度更高.具體改進(jìn)步驟如下: softsign激活函數(shù)相較于tanh曲線變換更為平緩,有更慢的下降導(dǎo)數(shù),因此它可以更高效地學(xué)習(xí),可進(jìn)一步彌補(bǔ)此類雙向軟飽和“S”型激活函數(shù)所存在的梯度彌散問(wèn)題.其函數(shù)圖像如圖2所示。 圖2 softsign激活函數(shù) 2)對(duì)HMCR的調(diào)整.每次和聲記憶庫(kù)都是當(dāng)前最好的目標(biāo)函數(shù)值所組成的解矩陣,所以我們希望它盡可能的保留,但前期適量減小保留概率可以讓和聲庫(kù)進(jìn)行適當(dāng)?shù)母?避免太早陷入局部搜索,所以利用了激活函數(shù)的負(fù)半軸進(jìn)行調(diào)低和聲保留概率;進(jìn)行到中期后則可以通過(guò)逐步緩慢地提升保留概率,讓其盡可能在當(dāng)前解向量中進(jìn)行搜索.因此對(duì)和聲記憶庫(kù)的保留概率調(diào)整為: S_HMCR=HMCR+(1-HMCR)×f(2×i-T)/i). 此外考慮到HMCR為概率值,所以該式可使其值始終保持在[0,1]范圍內(nèi),而激活函數(shù)內(nèi)的式子則可使函數(shù)的變量值在零的左右兩端均可取值. 3)對(duì)PAR的調(diào)整.在對(duì)原記憶庫(kù)進(jìn)行保留之后,不僅要盡可能的保留當(dāng)前最優(yōu)權(quán)值信息,同時(shí)又要盡可能增加和聲記憶庫(kù)的多樣性.因此對(duì)音調(diào)微調(diào)概率調(diào)整為S_PAR=PAR-PAR×f(2×i-T)/i). 由于HS算法具有較強(qiáng)的全局尋優(yōu)性和魯棒性,而回聲狀態(tài)網(wǎng)絡(luò)中的輸入權(quán)值矩陣和儲(chǔ)備池權(quán)值矩陣一經(jīng)生成后續(xù)訓(xùn)練都不再發(fā)生變化,所以權(quán)值矩陣的選取十分重要,因此本文利用改進(jìn)的HS算法來(lái)優(yōu)化ESN中的權(quán)值. 其次利用ESN中的權(quán)重矩陣對(duì)和聲記憶庫(kù)初始化.先用rand值隨機(jī)生成Win和W,構(gòu)成初始和聲記憶庫(kù)[Win,W].之后利用改進(jìn)的和聲搜索算法生成新的和聲庫(kù),帶入ESN作為權(quán)值矩陣?yán)^續(xù)求解新的方差值msenew,與原權(quán)值矩陣產(chǎn)生的mse進(jìn)行比較后若msenew 由計(jì)算結(jié)果可得,改進(jìn)的HS算法與原始HS算法的計(jì)算時(shí)間相比增加較少,但在適應(yīng)度值f的升序上有顯著地提升.其中改進(jìn)的HS算法中適應(yīng)度函數(shù)值在進(jìn)行1000次迭代時(shí)可達(dá)到0.9416,與原始HS算法中適應(yīng)度函數(shù)值0.8445相比有較明顯的提高,提升了約11.5%左右.具體如表1所示. 表1 原始HS及改進(jìn)HS不同迭代次數(shù)的適應(yīng)度函數(shù)對(duì)比 圖4和圖5分別是原始HS算法和改進(jìn)HS算法的適應(yīng)度函數(shù)及其收斂性的曲線變化圖,其中橫坐標(biāo)為迭代次數(shù),最大為1000次.縱坐標(biāo)上方為適應(yīng)度函數(shù)值,下方為收斂值,容易觀察到在原始HS算法中函數(shù)到達(dá)0.8附近開始收斂緩慢,難以繼續(xù)尋找最優(yōu)值,改進(jìn)的HS算法則保持較快的速度持續(xù)收斂且得到更優(yōu)的搜索值,證明改進(jìn)方法優(yōu)于原始算法. 圖4 原始HS算法圖 圖5 改進(jìn)的HS算法 為了驗(yàn)證與和聲搜索算法(HS)結(jié)合后的回聲狀態(tài)網(wǎng)絡(luò)(ESN)的性能是否有所提升,將所有模型中的參數(shù)設(shè)置為相同數(shù)值,包括HS算法的參數(shù)以及ESN網(wǎng)絡(luò),HMCR=0.995,PAR=0.1,每個(gè)算法均單獨(dú)運(yùn)行10次后取均值.數(shù)據(jù)集選用MackeyGlass_17序列數(shù)據(jù)進(jìn)行測(cè)試,MackeyGlass_17數(shù)據(jù)集是均勻分布在[-1,1]區(qū)間上的10 000組數(shù)據(jù),其中2000組用于訓(xùn)練,挑選了500組進(jìn)行測(cè)試.實(shí)驗(yàn)分為兩部分:第一部分為儲(chǔ)蓄池規(guī)模固定,在所有模型中均為500,比較各方法分別迭代50、100、150、200、250以及300次時(shí)的預(yù)測(cè)誤差.第二部分為迭代次數(shù)固定選擇為150次,再比較當(dāng)ESN網(wǎng)絡(luò)中儲(chǔ)蓄池規(guī)模分別為200、400、600、800、1000層時(shí)各方法的預(yù)測(cè)誤差. 計(jì)算結(jié)果表明,ESN單獨(dú)運(yùn)行時(shí)誤差較大,這是由于每次權(quán)值矩陣均為隨機(jī)取值,因此迭代次數(shù)不同時(shí)誤差隨機(jī),無(wú)明顯降低.使用Xavier初始化后的ESN在精度上有了一定的提升,當(dāng)HS算法與ESN結(jié)合時(shí),由于進(jìn)行整個(gè)權(quán)值矩陣的搜索替換時(shí)間略長(zhǎng),但誤差減少非常明顯.為了得到更好的結(jié)果,將ESN與改進(jìn)的HS算法結(jié)合,精度得到了進(jìn)一步的提升,在迭代次數(shù)為150次,儲(chǔ)蓄池規(guī)模為1000層時(shí)誤差值降為1.1946×10-5.具體結(jié)果見表2,表3: 表2 MackeyGlass_17數(shù)據(jù)集不同迭代次數(shù)仿真結(jié)果 表3 MackeyGlass_17數(shù)據(jù)集不同儲(chǔ)蓄池規(guī)模仿真結(jié)果 在圖6中分別展示了單獨(dú)ESN,XESN,原始HS_ESN和改進(jìn)HS_ESN四種模型在150次迭代次數(shù),600層儲(chǔ)蓄池時(shí)真實(shí)值與預(yù)測(cè)值的對(duì)比圖,可明顯看出在原始HS_ESN算法和改進(jìn)HS_ESN算法中預(yù)測(cè)值與真實(shí)值非常接近,而ESN和XESN單獨(dú)預(yù)測(cè)結(jié)果中則相差較大. 圖6 150次迭代600層真實(shí)值與預(yù)測(cè)值的對(duì)比圖 圖7展示了單獨(dú)ESN,XESN,原始HS_ESN算法和改進(jìn)HS_ESN算法在150次迭代次數(shù),600層儲(chǔ)蓄池時(shí)MSE的對(duì)比圖,可明顯看出,原始HS_ESN算法和改進(jìn)HS_ESN算法迅速找到了較準(zhǔn)確的權(quán)值并在其范圍下進(jìn)行搜索,尋求最優(yōu),且改進(jìn)HS_ESN算法更快的找到了使誤差最小的權(quán)值.而ESN單獨(dú)預(yù)測(cè)結(jié)果中誤差值始終很大.證明了結(jié)合方法及其改進(jìn)方法的有效性. 圖7 150次迭代600層MSE對(duì)比圖 本文針對(duì)傳統(tǒng)的回聲狀態(tài)網(wǎng)絡(luò)中輸入權(quán)值矩陣以及儲(chǔ)蓄池權(quán)值矩陣隨機(jī)給出導(dǎo)致預(yù)測(cè)誤差較大的問(wèn)題,引入了和聲搜索算法來(lái)使其進(jìn)行有目的地更換,從而得到更好的初始權(quán)值使網(wǎng)絡(luò)模型預(yù)測(cè)誤差減少.并在此基礎(chǔ)上引入了激活函數(shù)使和聲搜索算法在搜索時(shí)能同時(shí)兼顧全局性和局部搜索,所以進(jìn)一步提高了網(wǎng)絡(luò)精度,讓其預(yù)測(cè)數(shù)據(jù)的性能更好.今后將進(jìn)行算法的簡(jiǎn)化,考慮預(yù)測(cè)多維數(shù)據(jù)以便于更廣泛的應(yīng)用.2.2 改進(jìn)的和聲搜索算法
3 用改進(jìn)HS算法優(yōu)化回聲狀態(tài)網(wǎng)絡(luò)
4 實(shí)驗(yàn)結(jié)果及分析
4.1 HS算法改進(jìn)對(duì)比
4.2 時(shí)間序列預(yù)測(cè)結(jié)果對(duì)比
5 結(jié)論