虞豐檑,徐展琦,張林杰,杜 爽
(1.西安電子科技大學(xué) 綜合業(yè)務(wù)網(wǎng)理論及關(guān)鍵技術(shù)國家重點實驗室,陜西 西安 710071;2.中國電子科技集團(tuán)公司第五十四研究所,河北 石家莊 050081)
隨著因特網(wǎng)技術(shù)的迅猛發(fā)展和網(wǎng)絡(luò)業(yè)務(wù)的激增,需要有效的網(wǎng)絡(luò)管理以提高網(wǎng)絡(luò)服務(wù)質(zhì)量[1]。網(wǎng)絡(luò)流量作為網(wǎng)絡(luò)管理與運營中的重要參數(shù),對其進(jìn)行準(zhǔn)確預(yù)測有助于優(yōu)化網(wǎng)絡(luò)資源分配,減少網(wǎng)絡(luò)擁塞并提高用戶服務(wù)體驗質(zhì)量[2]。
網(wǎng)絡(luò)流量預(yù)測模型分為線性與非線性兩種,傳統(tǒng)的線性模型包括自回歸(AR)模型、移動平均(MA)模型以及自回歸積分移動平均(ARIMA)模型[3]等,此類模型原理簡單、易于實現(xiàn)。但是,隨著網(wǎng)絡(luò)業(yè)務(wù)的急劇增加和基礎(chǔ)網(wǎng)絡(luò)在規(guī)模、體制以及組網(wǎng)形態(tài)等方面的多樣性發(fā)展,網(wǎng)絡(luò)流量的自相似性、長相關(guān)性、重尾性和混沌性愈加明顯,線性模型的預(yù)測誤差較大。在預(yù)測具有復(fù)雜特性的網(wǎng)絡(luò)流量時,非線性預(yù)測模型擬合能力強(qiáng),性能明顯優(yōu)于線性預(yù)測模型,因此得到廣泛應(yīng)用。非線性模型主要包括基于小波的預(yù)測模型[4]、支持向量機(jī)(SVM)[5]以及神經(jīng)網(wǎng)絡(luò)(NN)等,其中的NN由于具有強(qiáng)魯棒性和自學(xué)習(xí)特性,在流量預(yù)測中有較好的應(yīng)用。例如,杜振寧[6]結(jié)合反向傳播神經(jīng)網(wǎng)絡(luò)(BPNN)和布谷鳥算法進(jìn)行網(wǎng)絡(luò)流量預(yù)測,Song[7]等提出基于粒子群優(yōu)化(PSO)算法的徑向基神經(jīng)網(wǎng)絡(luò)(RBFNN)預(yù)測模型,Yang[8]等采用增強(qiáng)學(xué)習(xí)優(yōu)化的長短期記憶神經(jīng)網(wǎng)絡(luò)(LSTMNN)進(jìn)行超長期網(wǎng)絡(luò)流量預(yù)測。
本文簡述BPNN、RBFNN和LSTMNN的原理,利用這些NN預(yù)測不同時間尺度的網(wǎng)絡(luò)流量,分析其預(yù)測方面的性能、優(yōu)缺點和適用場景,試圖為基于NN的故障預(yù)測和故障定位的學(xué)術(shù)研究及實際應(yīng)用提供技術(shù)支撐。
BPNN示意圖如圖1所示,其輸入層與輸出層均是單層,隱含層可以是一層或多層,每層可包含若干神經(jīng)元節(jié)點[9],隱含層和輸出層任意節(jié)點的輸入值y均滿足y=Wx+b,其中x為上一層輸出,W為權(quán)值,b為偏置。BPNN是一種利用反向傳播算法訓(xùn)練的神經(jīng)網(wǎng)絡(luò),該算法將輸出誤差沿原來的連接通路返回到輸入層,逐層調(diào)整網(wǎng)絡(luò)節(jié)點的權(quán)值和偏置,使誤差信號趨于最小[10]。
圖1 反向傳播神經(jīng)網(wǎng)絡(luò)模型Fig.1 Back propagation neural network model
BPNN可實現(xiàn)從輸入到輸出的非線性映射,且具有一定的自學(xué)習(xí)能力,已被廣泛應(yīng)用于預(yù)測領(lǐng)域;然而,反向傳播算法本質(zhì)上為梯度下降算法,可能導(dǎo)致學(xué)習(xí)速度慢,容易陷入局部最優(yōu),尚不適合預(yù)測相關(guān)性復(fù)雜的數(shù)據(jù)。
RBFNN結(jié)構(gòu)如圖2所示,其輸入層、隱含層和輸出層均為單層,隱含層節(jié)點和輸出層節(jié)點的激勵函數(shù)分別為徑向基函數(shù)和線性函數(shù)[11]。
圖2 徑向基神經(jīng)網(wǎng)絡(luò)模型Fig.2 Radial basis function neural network model
RBFNN訓(xùn)練算法分兩步:① 確定徑向基函數(shù)(RBF)的中心點和寬度,常用方法包括K聚類[12]、模糊聚類以及自組織映射[13]等;② 通過梯度下降法或最小二乘法計算隱含層至輸出層的權(quán)值。
RBFNN具有良好的非線性逼近能力和泛化能力,且隱含層至輸出層的權(quán)值可通過最小二乘法得到,訓(xùn)練速度快;但是,其參數(shù)的選擇會影響RBFNN性能,且根據(jù)不同問題確定相應(yīng)的參數(shù)十分困難[9]。
圖3為LSTMNN結(jié)構(gòu)示意圖[9],它是循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的變體。RNN引入反饋機(jī)制[14],提高對復(fù)雜時間序列的預(yù)測精度;針對標(biāo)準(zhǔn)RNN可能存在梯度爆炸或梯度消失,難以捕獲時間序列的長相關(guān)性特征等問題,LSTMNN在RNN基礎(chǔ)上引入門控機(jī)制,使其具備學(xué)習(xí)時間序列長相關(guān)性的能力。
圖3 長短期記憶神經(jīng)網(wǎng)絡(luò)模型Fig.3 Long short-term memory neural network model
如圖4所示,LSTM記憶單元使用遺忘門、輸入門和輸出門以保持和控制單元的狀態(tài),“門”是一個選擇性通過信息的結(jié)構(gòu)。遺忘門將上一時刻隱含層狀態(tài)ht-1和當(dāng)前輸入xt拼接得到的矩陣[ht-1,xt]輸入到Sigmoid函數(shù)中(圖中用σ表示),決定保留或丟棄哪些信息;輸入門將[ht-1,xt]同時輸入到Sigmoid函數(shù)和tanh函數(shù),兩個結(jié)果相乘后得到的值決定輸入到LSTM記憶單元的刺激強(qiáng)度,形成當(dāng)前時刻記憶單元狀態(tài)Ct;輸出門將[ht-1,xt]和Ct分別輸入到Sigmoid函數(shù)和tanh函數(shù)中,兩個結(jié)果的乘積控制從這個記憶單元輸出到外界的信息ht,最后把LSTM單元新狀態(tài)Ct和新隱含層狀態(tài)ht輸出給下一時刻的LSTM記憶單元[9]。
雖然LSTMNN的記憶機(jī)制有利于對長期流量的精確預(yù)測,但計算耗時,該問題可由門控循環(huán)單元神經(jīng)網(wǎng)絡(luò)(GRUNN)改善。GRUNN作為LSTMNN的變體,將LSTMNN的遺忘門和輸入門組合成更新門,同時合并記憶單元狀態(tài)Ct和隱含層狀態(tài)ht,使得GRUNN在保證預(yù)測精度的同時,減少訓(xùn)練參數(shù),加快訓(xùn)練速度,已被廣泛應(yīng)用于具有長期依賴性的時間序列預(yù)測。
圖4 長短期記憶單元Fig.4 LSTM unit
本實驗使用的系統(tǒng)為Windows 8.1,CPU為Core i5-5200U,GPU為AMD R5 M230,計算機(jī)編程語言為C++,集成開發(fā)環(huán)境是Microsoft Visual Studio 2019。
實驗所用數(shù)據(jù)集來自英國學(xué)術(shù)骨干網(wǎng)(the UK Academic Network Backbone),時間從2004年11月19日09:30:00至2005年1月25日00:30:00,第一個數(shù)據(jù)集按小時進(jìn)行采集,第二個數(shù)據(jù)集按天進(jìn)行采集,訓(xùn)練集與測試集的比例都為4:1。
在利用NN對網(wǎng)絡(luò)流量進(jìn)行預(yù)測前,需要確定NN的結(jié)構(gòu)參數(shù)。取輸入層節(jié)點數(shù)為24,輸出層節(jié)點數(shù)為1,隱含層數(shù)目和每層的節(jié)點數(shù)則是通過實驗選取最優(yōu)值,二者的取值范圍分別為{1,2,4,8}和[5,21]。在進(jìn)行實驗前,先采用Min-Max歸一化方法對流量數(shù)據(jù)進(jìn)行處理,把數(shù)據(jù)映射到0~1范圍內(nèi)。
圖5給出了3種NN的預(yù)測性能隨隱含層節(jié)點數(shù)變化的趨勢。由圖5(a)可知,當(dāng)隱含層節(jié)點數(shù)逐漸增加時,3種NN的MAPE先降低再升高,存在一個極小值點。當(dāng)隱含層節(jié)點數(shù)過少時,NN擬合數(shù)據(jù)能力不足,導(dǎo)致預(yù)測精度較低;反之,當(dāng)隱含層節(jié)點數(shù)過大時,NN容易陷入過擬合,導(dǎo)致預(yù)測精度下降,BPNN、RBFNN和LSTMNN分別在隱含層節(jié)點數(shù)為19、16和10時預(yù)測精度最高。由圖5(b)可知,3種NN的運行時間隨著隱含層節(jié)點數(shù)增加而成倍增長,這是因為隱含層節(jié)點數(shù)越多,NN的計算復(fù)雜度越高,程序運行時間越長。因此,綜合考慮預(yù)測精度和運行時間,選擇BPNN、RBFNN和LSTMNN的隱含層節(jié)點數(shù)分別為19、16和10。
(a) 隱含層節(jié)點對MAPE影響
RBFNN的隱含層數(shù)目為1,因此只比較隱含層數(shù)目對BPNN和LSTMNN預(yù)測精度及運行時間的影響。如圖6所示,隨著隱含層數(shù)目的增加,BPNN和LSTMNN的預(yù)測精度降低,運行時間增長。這源于過多的隱含層數(shù)目可能會使NN陷入過擬合,導(dǎo)致預(yù)測精度降低,同時增加NN計算復(fù)雜度和計算用時。因此,綜合考慮預(yù)測精度和運行時間,BPNN和LSTMNN的隱含層數(shù)目為1時預(yù)測性能較好。
下面將分別用BPNN、RBFNN和LSTMNN這3種模型預(yù)測時間尺度為小時和天的網(wǎng)絡(luò)流量。NN的預(yù)測精度采用均方根誤差(RMSE)[15]、平均絕對誤差(MAE)[15]和平均絕對百分比誤差(MAPE)[16]。
(a) 隱含層數(shù)目對MAPE的影響
圖7給出了時間尺度為小時的網(wǎng)絡(luò)流量預(yù)測結(jié)果,由圖可看出流量呈現(xiàn)周期性,周期為24 h,符合因特網(wǎng)用戶的網(wǎng)絡(luò)使用習(xí)慣,3條預(yù)測曲線都較好地擬合實際流量值。
表1給出了3種NN的預(yù)測精度及其相應(yīng)的訓(xùn)練時間。在預(yù)測精度方面,由于LSTMNN的門控機(jī)制有助于捕獲時間序列的特征,LSTMNN精度最高,RBFNN次之,BPNN最差;RBFNN相比BPNN可以任意精度逼近連續(xù)的非線性函數(shù),具有良好的泛化能力,但由于缺乏記憶機(jī)制,預(yù)測精度較LSTMNN差;BPNN單純使用梯度下降法,對非線性時間序列的擬合能力有限,因此相較于前二者,其預(yù)測精度最低。在訓(xùn)練時間方面,BPNN比RBFNN的隱含層節(jié)點數(shù)更多、計算復(fù)雜,RBFNN耗時最短,BPNN次之,LSTMNN所花時間最長;LSTMNN引入反饋系統(tǒng)和門控機(jī)制結(jié)構(gòu)復(fù)雜,導(dǎo)致預(yù)測所花時間較長。
圖7 不同神經(jīng)網(wǎng)絡(luò)的流量預(yù)測性能比較Fig.7 Traffic prediction performance comparison of different neural networks
表1 神經(jīng)網(wǎng)絡(luò)預(yù)測精度與訓(xùn)練時間Tab.1 Prediction accuracy and time consumed of neural networks
圖8給出了時間尺度為天的網(wǎng)絡(luò)流量預(yù)測結(jié)果,其同樣具有周期性且周期為7天,LSTMNN預(yù)測結(jié)果較好地擬合實際流量值,而BPNN和RBFNN預(yù)測值與流量實際值走勢相近,3種模型中BPNN相差最大。
圖8 不同神經(jīng)網(wǎng)絡(luò)預(yù)測性能比較Fig.8 Prediction performance comparison of different neural networks
表2列出了3種NN的預(yù)測精度和訓(xùn)練時間。當(dāng)時間尺度為天時,網(wǎng)絡(luò)流量數(shù)據(jù)的關(guān)聯(lián)性降低,BPNN和RBFNN無法很好捕獲數(shù)據(jù)的長期依存關(guān)系,導(dǎo)致預(yù)測精度降低;LSTMNN具有記憶單元,可以學(xué)習(xí)流量的長期特征,因此適合預(yù)測具有長相關(guān)性的流量。在訓(xùn)練時間方面,LSTMNN所花時間最長,但與BPNN和RBFNN的訓(xùn)練時間相差較小,這是由于時間尺度為天的網(wǎng)絡(luò)流量數(shù)據(jù)數(shù)目有限,3種神經(jīng)網(wǎng)絡(luò)所耗費的時間差距不大。
表2 神經(jīng)網(wǎng)絡(luò)預(yù)測精度與運行時間Tab.2 Prediction accuracy and time consumed of neural networks
根據(jù)上述實驗可知,BPNN和RBFNN具有良好的非線性擬合能力和自學(xué)習(xí)能力,但由于缺乏記憶機(jī)制,只適合短期網(wǎng)絡(luò)流量預(yù)測;LSTMNN引入門控機(jī)制,能夠?qū)W習(xí)時間序列的長期依賴性,更適合具有復(fù)雜特性的網(wǎng)絡(luò)流量預(yù)測[17]。
本文將BPNN、RBFNN和LSTMNN應(yīng)用于網(wǎng)絡(luò)流量預(yù)測,研究超參數(shù)設(shè)置對3種NN預(yù)測性能的影響,并對比3種NN在各自最優(yōu)超參數(shù)下的預(yù)測性能。在預(yù)測時間尺度為小時的網(wǎng)絡(luò)流量數(shù)據(jù)時,3種NN預(yù)測精度大致相同,但對時間尺度為天的網(wǎng)絡(luò)流量數(shù)據(jù)預(yù)測時,LSTMNN長期記憶的優(yōu)勢得以體現(xiàn),其預(yù)測精度比BPNN和RNFNN高。通過分析以上3種神經(jīng)網(wǎng)絡(luò)的優(yōu)缺點,并結(jié)合現(xiàn)有研究,可得到以下研究設(shè)想:
任何單一模型都有其適應(yīng)場景,無法很好地刻畫網(wǎng)絡(luò)流量的真實特性,難免會產(chǎn)生比較大的誤差;組合預(yù)測模型能夠更加精確地反映真實的網(wǎng)絡(luò)流量,通常具有更高的預(yù)測精度。例如,文獻(xiàn)[18]以灰色理論、ARIMA和NN模型為基礎(chǔ),提出了一種固定權(quán)系數(shù)的組合預(yù)測模型,在相對誤差與均方誤差等方面均優(yōu)于單一模型,有效性和可行性均高,值得進(jìn)一步研究。
隨著網(wǎng)絡(luò)日益復(fù)雜化以及各類業(yè)務(wù)對傳輸質(zhì)量(QoT)要求的提高,實現(xiàn)快速的故障預(yù)測和故障定位具有重要的實用價值,可利用NN強(qiáng)大的自學(xué)習(xí)能力分析網(wǎng)絡(luò)特征參數(shù),實現(xiàn)網(wǎng)絡(luò)故障的精準(zhǔn)預(yù)測與快速定位,大幅提高網(wǎng)絡(luò)的智能運維性能。