周任軍,王文晶
(山西大學(xué)商務(wù)學(xué)院,山西 太原 030031)
網(wǎng)絡(luò)流量[1]是判定網(wǎng)絡(luò)性能和運(yùn)行狀態(tài)的重要指標(biāo),對(duì)網(wǎng)絡(luò)流量進(jìn)行預(yù)測(cè),進(jìn)而對(duì)流量進(jìn)行適當(dāng)調(diào)整以及控制,對(duì)網(wǎng)絡(luò)管理具有重要意義。為建立精準(zhǔn)、穩(wěn)定的網(wǎng)絡(luò)流量預(yù)測(cè)模型,近年來(lái)神經(jīng)網(wǎng)絡(luò)成為該研究領(lǐng)域關(guān)注的焦點(diǎn),相關(guān)研究人員提出了較多研究成果。
胡竟偉[2]提出基于小波變換和極限學(xué)習(xí)機(jī)的流量預(yù)測(cè)模型。該方法小波變換處理網(wǎng)絡(luò)流量的時(shí)間序列,對(duì)得到的不同頻率特征分量進(jìn)行空間重構(gòu)。選用極限學(xué)習(xí)機(jī)對(duì)網(wǎng)絡(luò)流量各分量建模預(yù)測(cè),并對(duì)各分量的預(yù)測(cè)值進(jìn)行小波重構(gòu),得到初始網(wǎng)絡(luò)流量預(yù)測(cè)數(shù)值。該方法具有穩(wěn)定性,但是存在預(yù)測(cè)精度較低的缺陷。劉科[3]等人提出基于生物地理學(xué)優(yōu)化算法的BBO-ELM預(yù)測(cè)模型。首先在ELM預(yù)測(cè)模型的基礎(chǔ)上,將BBO優(yōu)化算法用于ELM的網(wǎng)絡(luò)輸入變量、隱含層節(jié)點(diǎn)的配置及參數(shù)。在此基礎(chǔ)上進(jìn)行Tikhonov正則化參數(shù)的優(yōu)化選取。該模型的網(wǎng)絡(luò)流量預(yù)測(cè)準(zhǔn)確度較高,但是抗干擾能力較差。強(qiáng)延飛[4]等人針對(duì)網(wǎng)絡(luò)性能優(yōu)化中短期流量預(yù)測(cè)模型選擇問(wèn)題,采用支持向量回歸、神經(jīng)網(wǎng)絡(luò)和線性時(shí)間序列等模型,對(duì)MAWILab數(shù)據(jù)集中骨干網(wǎng)流量進(jìn)行短期預(yù)測(cè)。利用一步預(yù)測(cè)方法,得到不同流量序列樣本的預(yù)測(cè)結(jié)果,通過(guò)量化預(yù)測(cè)誤差比較不同模型的預(yù)測(cè)性能。該方法有較好的預(yù)測(cè)準(zhǔn)確度,但是記憶能力較差。
針對(duì)以上傳統(tǒng)方法存在的不足,提出新的基于深度神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)流量預(yù)測(cè)模型。仿真結(jié)果表明,深度神經(jīng)網(wǎng)絡(luò)具有多隱層結(jié)構(gòu)特征,相比其它流量預(yù)測(cè)模型,該模型預(yù)測(cè)精度更高,抗干擾能力更強(qiáng),可被廣泛應(yīng)用。
深度神經(jīng)網(wǎng)絡(luò)[4]由微軟公司推出的軟件,可以模仿人類的思考方式,具有快速識(shí)別網(wǎng)絡(luò)流量動(dòng)態(tài)性特征能力,準(zhǔn)確率較高。深度神經(jīng)網(wǎng)絡(luò)具備的多隱層結(jié)構(gòu),主要用于對(duì)網(wǎng)絡(luò)中的輸入向量進(jìn)行多次訓(xùn)練。其主要結(jié)構(gòu)如圖1所示。
圖1 深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
深度神經(jīng)網(wǎng)絡(luò)由輸入層、多隱層以及輸入層三部分構(gòu)成。與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)相比,深度神經(jīng)網(wǎng)絡(luò)(DNN)具有多隱含結(jié)構(gòu)特點(diǎn)。X代表網(wǎng)絡(luò)輸入量,輸入量包括m維的列向量值,(W,B)代表各隱含層間的權(quán)重和閾值構(gòu)成的矩陣[5]。深度神經(jīng)網(wǎng)絡(luò)利用每個(gè)隱含層自上個(gè)層次得到的向量值,進(jìn)行函數(shù)激活的非線性轉(zhuǎn)變。再將得到的數(shù)值傳遞至下一神經(jīng)元,依次反復(fù)迭代,最終傳遞至網(wǎng)絡(luò)輸出y處。相比傳統(tǒng)神經(jīng)網(wǎng)絡(luò),DNN所具備的多隱含層深度明顯提高,可彌補(bǔ)傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的不足。
神經(jīng)元[6]是深度神經(jīng)網(wǎng)絡(luò)的基本構(gòu)成元素。圖2為單輸入神經(jīng)元,x代表輸入數(shù)值,w表示神經(jīng)元的權(quán)值,b表示神經(jīng)元閾值,f則是激勵(lì)函數(shù),y為神經(jīng)元的輸出向量。經(jīng)過(guò)計(jì)算,得到輸入數(shù)值、權(quán)值和閾值的結(jié)果,作為激勵(lì)函數(shù)的輸入數(shù)值,此時(shí)輸出值為y=f(wx+b)。得到的激勵(lì)函數(shù)f通常具有連續(xù)性的S型函數(shù)值,可完成神經(jīng)網(wǎng)絡(luò)中輸入到輸出的任意非線性預(yù)測(cè)。
圖2 單輸入神經(jīng)元
假設(shè)輸出層包含的神經(jīng)元為m,深度神經(jīng)網(wǎng)絡(luò)的輸出數(shù)值為y′,期望結(jié)果為y,將誤差平方和設(shè)為E,則可得出
(1)
得到的權(quán)值修正方程為
(2)
其中,wij表示在深度神經(jīng)網(wǎng)絡(luò)中神經(jīng)元i至j的連接權(quán)值,η為速率,Ij代表第j個(gè)隱含層中的激勵(lì)函數(shù)值。
基于深度神經(jīng)網(wǎng)絡(luò)構(gòu)建的網(wǎng)絡(luò)流量預(yù)測(cè)模型中,初始數(shù)據(jù)及閾值的選擇對(duì)預(yù)測(cè)性能和精確度起著重要作用。若數(shù)據(jù)選擇不當(dāng),則將造成預(yù)測(cè)模型收斂速度慢、結(jié)果不準(zhǔn)確等問(wèn)題。
神經(jīng)元作為深度神經(jīng)網(wǎng)絡(luò)構(gòu)成的基本要素,為全面刻畫(huà)流量動(dòng)態(tài)序列規(guī)律,需構(gòu)造具有反饋體系的深度神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型。傳統(tǒng)流量預(yù)測(cè)模型未考慮網(wǎng)絡(luò)流量的動(dòng)態(tài)性特征,因此得到的預(yù)測(cè)結(jié)果存在一定缺陷。深度神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型中的單隱層的前饋網(wǎng)絡(luò),屬于局部逼近網(wǎng)絡(luò)。其中,隱含層基函數(shù)可采用高斯函數(shù)表示為
(3)
隱含層中節(jié)點(diǎn)輸出加權(quán)后進(jìn)入輸出層,即輸出層為預(yù)測(cè)模型中隱含層的線型組合,可得知
(4)
在上述式(3)—(4)中,x∈Rn代表輸入向量值,φ(·)為高斯函數(shù),‖·‖為歐幾里德范數(shù),ci∈Rn表示深度神經(jīng)網(wǎng)絡(luò)中第i個(gè)隱含節(jié)點(diǎn)的場(chǎng)中心,φi∈R表示第i個(gè)隱含節(jié)點(diǎn)中的場(chǎng)域?qū)挾葦?shù)值,nc表示隱含層中節(jié)點(diǎn)數(shù)值,wi表示第i個(gè)隱含節(jié)點(diǎn)中的基函數(shù)值與輸出節(jié)點(diǎn)的連接權(quán)值,w0表示輸出偏移量的調(diào)整值。
不同的網(wǎng)絡(luò)輸入向量影響預(yù)測(cè)結(jié)果[7-8]。通常深度神經(jīng)網(wǎng)絡(luò)的輸入類型有:連續(xù)時(shí)刻的輸入、若干周期數(shù)據(jù)、某周期內(nèi)的平均數(shù)值、相鄰時(shí)間點(diǎn)數(shù)據(jù)差值等,圖3為數(shù)據(jù)處理過(guò)程。
圖3 數(shù)據(jù)處理過(guò)程
若以某個(gè)交換機(jī)中一個(gè)月內(nèi)的網(wǎng)絡(luò)流量數(shù)據(jù)作為參考,可發(fā)現(xiàn)流量存在顯著“工作日”特性。例如周一至周五網(wǎng)絡(luò)活動(dòng)頻繁,同時(shí)初始數(shù)據(jù)變化幅動(dòng)較大(數(shù)據(jù)間有3個(gè)數(shù)量級(jí)的差距),說(shuō)明網(wǎng)絡(luò)流量的動(dòng)態(tài)性較強(qiáng)。
基于深度神經(jīng)網(wǎng)絡(luò)構(gòu)建的網(wǎng)絡(luò)流量預(yù)測(cè)模型中,若數(shù)據(jù)選擇不當(dāng),可能會(huì)造成預(yù)測(cè)模型收斂速度慢、結(jié)果不準(zhǔn)確等問(wèn)題。因此構(gòu)建預(yù)測(cè)模型前,對(duì)初始數(shù)據(jù)需進(jìn)行規(guī)則化處理,如下所示:
(5)
深度神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型主要是模仿生物處理模型,通過(guò)獲取到智能信息處理論,運(yùn)用連接大量的復(fù)雜神經(jīng)元,并通過(guò)學(xué)習(xí)、自組織以及非線性動(dòng)力學(xué)等方式,選擇并行分布方式處理信息,如圖4所示。
圖4 深度神經(jīng)網(wǎng)絡(luò)工作流程
模型的輸入向量[10]設(shè)為X=[x1,x2,…xn],在n個(gè)隱含層中,每層節(jié)點(diǎn)數(shù)量分別用l1,l2,…,ln代表,同時(shí)設(shè)置輸出層節(jié)點(diǎn)為1。深度神經(jīng)網(wǎng)絡(luò)的第1層隱含層次在時(shí)刻t的輸出向量可被描述為
R1(t)=f{W1[X(t),z(t)+B1]}
(6)
在上述式(6)中,R1(t)代表第1層隱含層輸出向量數(shù)值;W1、B1表示輸入層與第1層隱含層間的矩陣方程;B1代表在時(shí)刻t中,關(guān)聯(lián)層至第1層隱含層間的反饋輸入數(shù)值[11];f代表流量預(yù)測(cè)模型中隱含層的非線性激活函數(shù)值。
網(wǎng)絡(luò)流量動(dòng)態(tài)預(yù)測(cè)模型為
J(k)=R1(t)[(y(k-1),y(k-2),…,y(k-m))]
(7)
其中,m代表預(yù)測(cè)模型階數(shù),y(k-1),y(k-2),…,y(k-m)分別表示第k,k-1,k-2,…,k-m時(shí)間點(diǎn)上的網(wǎng)絡(luò)流量數(shù)值。f(·)代表復(fù)雜的非線性函數(shù)值,選用深度神經(jīng)網(wǎng)絡(luò)進(jìn)行建模,將網(wǎng)絡(luò)動(dòng)態(tài)流量設(shè)置為5階和6階,分別用m=5和m=6表示,與之對(duì)應(yīng)的網(wǎng)絡(luò)流量動(dòng)態(tài)預(yù)測(cè)模型如圖5所示。
圖5 網(wǎng)絡(luò)流量預(yù)測(cè)模型結(jié)構(gòu)圖
由于深度神經(jīng)網(wǎng)絡(luò)是建立在多層前饋型的神經(jīng)網(wǎng)絡(luò)之上的,層次結(jié)構(gòu)較多,每層結(jié)構(gòu)都由眾多神經(jīng)元構(gòu)成。不同層間神經(jīng)元均采用全互聯(lián)方式連接;而同一層間的神經(jīng)元無(wú)連接。因此,每層可選用不同的激勵(lì)函數(shù)進(jìn)行計(jì)算預(yù)測(cè)模型。
基于深度神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)流量預(yù)測(cè)模型計(jì)算由兩部分構(gòu)成:輸入流量的正向傳播、預(yù)測(cè)誤差的方向傳播。在模型預(yù)測(cè)的過(guò)程中,首先在深度神經(jīng)網(wǎng)絡(luò)中,隨機(jī)選取一組神經(jīng)元之間的連接權(quán)值和閾值,預(yù)測(cè)樣本從輸入層開(kāi)始逐層計(jì)算,直至輸出層則計(jì)算結(jié)束。將得到的輸出與期望結(jié)果進(jìn)行對(duì)比,若誤差值未達(dá)到極限誤差數(shù)值,則進(jìn)行輸出層誤差變化值的計(jì)算,當(dāng)誤差值已經(jīng)達(dá)到誤差上線,則誤差信號(hào)順沿原本的通路反傳回來(lái),此時(shí)調(diào)整各層神經(jīng)元間的權(quán)值和閾值,兩個(gè)方向反復(fù)交替計(jì)算,使得網(wǎng)絡(luò)流量預(yù)測(cè)結(jié)果與期望誤差平方相加接近設(shè)定值,或達(dá)到迭代次數(shù)位置,使基于深度神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)流量預(yù)測(cè)模型預(yù)測(cè)結(jié)果接近實(shí)際數(shù)值,以此選取合適權(quán)值和閾值,實(shí)現(xiàn)網(wǎng)絡(luò)流量的動(dòng)態(tài)預(yù)測(cè)。
將深度神經(jīng)網(wǎng)絡(luò)中各層次結(jié)構(gòu)之間的權(quán)值及閾值進(jìn)行優(yōu)化,得出適應(yīng)度函數(shù)為
(8)
在利用深度神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè)的研究中,目前還沒(méi)有一種通用的可適應(yīng)各種網(wǎng)絡(luò)環(huán)境的計(jì)算方法,反之,在一個(gè)環(huán)境下性能較高的算法可能在其它環(huán)境下預(yù)測(cè)結(jié)果出現(xiàn)偏差較大。因此,需結(jié)合所預(yù)測(cè)的網(wǎng)絡(luò)流量情況選擇適當(dāng)?shù)纳窠?jīng)網(wǎng)絡(luò)結(jié)構(gòu)和計(jì)算方法,如是否需要反饋數(shù)據(jù)、保留歷史記錄等。
現(xiàn)階段,網(wǎng)絡(luò)流量預(yù)測(cè)模型計(jì)算方式通常使用遺傳算法,但使用遺傳算法計(jì)算由深度神經(jīng)網(wǎng)絡(luò)構(gòu)建的預(yù)測(cè)模型,由于數(shù)據(jù)的選取、算子設(shè)定等因素,初始數(shù)據(jù)選擇較大則會(huì)造成計(jì)算速度慢,選擇數(shù)據(jù)較小則會(huì)降低深度神經(jīng)網(wǎng)絡(luò)多隱含特性,引起誤差。
(9)
因此,可設(shè)性能指標(biāo)的求解方程為
(10)
通過(guò)上述求解得出使J處于最小值的權(quán)值矩陣W。
(11)
為驗(yàn)證研究網(wǎng)絡(luò)流量預(yù)測(cè)結(jié)果的有效性,設(shè)計(jì)如下實(shí)驗(yàn)。實(shí)驗(yàn)的軟件環(huán)境為Windows10操作系統(tǒng)、Matlab R2012b、Libsvm,硬件環(huán)境為Intel Core i54670-3.4GHz,8.OGB內(nèi)存,500GB硬盤(pán),實(shí)驗(yàn)選取不同模型網(wǎng)絡(luò)流量預(yù)測(cè)誤差和模型穩(wěn)定性兩個(gè)指標(biāo)作為模型有效性評(píng)價(jià)的標(biāo)準(zhǔn)。圖6為實(shí)驗(yàn)硬件示意圖。
圖6 實(shí)驗(yàn)環(huán)境
本次實(shí)驗(yàn)選取流量的一部分?jǐn)?shù)據(jù)作為訓(xùn)練網(wǎng)絡(luò),剩余部分?jǐn)?shù)據(jù)作為預(yù)測(cè)模型的源數(shù)據(jù)。通過(guò)分析過(guò)去時(shí)間段內(nèi)的流量數(shù)據(jù),進(jìn)行預(yù)測(cè)未來(lái)時(shí)間段內(nèi)的數(shù)據(jù)。兩種預(yù)測(cè)模型進(jìn)行預(yù)測(cè)誤差對(duì)比,如圖7和表2所示。
圖7 預(yù)測(cè)誤差對(duì)比
分析圖7給出的預(yù)測(cè)誤差對(duì)比信息,可知隨網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量的增加,模型1與模型2的預(yù)測(cè)誤差值高,且預(yù)測(cè)誤差率變化幅度較大,預(yù)測(cè)準(zhǔn)確度低。所提方法在測(cè)試過(guò)程中的預(yù)測(cè)誤差值小,且誤差率變化幅度小。
分析表2數(shù)據(jù)可知所提方法在不同測(cè)試階段的平均絕對(duì)百分誤差(MAPE)值均小于模型1及模型2的平均絕對(duì)百分誤差值;且預(yù)測(cè)誤差最大值同樣小于模型1及模型2的預(yù)測(cè)誤差最大值。綜上所述,所提方法可以預(yù)測(cè)準(zhǔn)確率高。
為進(jìn)一步驗(yàn)證所提方法的抗干擾性,在不同方法預(yù)測(cè)網(wǎng)絡(luò)流量之前,對(duì)網(wǎng)絡(luò)施加干擾,干擾信號(hào)的幅值在0~1.2Hz之間,干擾信號(hào)如圖8所示。將文獻(xiàn)[2]方法作為實(shí)驗(yàn)對(duì)照組,在網(wǎng)絡(luò)干擾下,將傳統(tǒng)方法的應(yīng)用穩(wěn)定性與所提方法作比較,可對(duì)比出不同方法的抗干擾性能。
圖8 干擾信號(hào)示意圖
由圖9、圖10、圖11實(shí)驗(yàn)結(jié)果可以看出,當(dāng)網(wǎng)絡(luò)存在一定干擾時(shí),文獻(xiàn)[2]方法在流量預(yù)測(cè)時(shí)長(zhǎng)150~300s之間出現(xiàn)了明顯不穩(wěn)定現(xiàn)象,其波動(dòng)幅值達(dá)最高到了0.15Hz;文獻(xiàn)[3]方法在流量預(yù)測(cè)時(shí)長(zhǎng)48~60s及150~280s之間分別出現(xiàn)了不穩(wěn)定現(xiàn)象,其波動(dòng)幅值最高達(dá)到了0.1Hz;而相比之下所提方法受網(wǎng)絡(luò)干擾的影響較小,僅在流量預(yù)測(cè)時(shí)長(zhǎng)150s~300s之間出現(xiàn)了輕微波動(dòng)。說(shuō)明所提方法在預(yù)測(cè)過(guò)程中受網(wǎng)絡(luò)干擾影響小,可以較穩(wěn)定地對(duì)網(wǎng)絡(luò)流量進(jìn)行預(yù)測(cè)。
圖9 文獻(xiàn)[2]傳統(tǒng)方法應(yīng)用穩(wěn)定性
圖10 文獻(xiàn)[3]傳統(tǒng)方法應(yīng)用穩(wěn)定性
圖11 所提方法應(yīng)用穩(wěn)定性
由仿真結(jié)果可知,基于深度神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)流量預(yù)測(cè)模型,相比其它傳統(tǒng)方法,預(yù)測(cè)效果更佳,且具有更優(yōu)抗干擾性能。該方法具有更好的應(yīng)用前景。
針對(duì)傳統(tǒng)方法存在網(wǎng)絡(luò)流量預(yù)測(cè)結(jié)果精確度低、穩(wěn)定性差等問(wèn)題,本文提出基于深度神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)流量預(yù)測(cè)模型。利用隱含層與關(guān)聯(lián)層幫助提高神經(jīng)網(wǎng)絡(luò)動(dòng)態(tài)記憶力,劃分深度神經(jīng)網(wǎng)絡(luò)為多個(gè)神經(jīng)元。引入輸出向量構(gòu)建流量動(dòng)態(tài)預(yù)測(cè)模型,優(yōu)化模型權(quán)值與閾值,完成網(wǎng)絡(luò)流量的預(yù)測(cè)。在仿真對(duì)比實(shí)驗(yàn)中,將所提方法模型與其它預(yù)測(cè)模型對(duì)比,該模型輸入信號(hào)的平穩(wěn)程度有所增強(qiáng),保障預(yù)測(cè)精度較高的同時(shí),又保障了流量的基本統(tǒng)計(jì)特性。仿真結(jié)果驗(yàn)證了所提方法的有效性。因此,所提方法可被應(yīng)用于流量預(yù)測(cè)的研究中。
因本人學(xué)識(shí)有限,論文仍存在不足,在今后的研究中將以網(wǎng)絡(luò)流量的預(yù)測(cè)效率為方向,進(jìn)一步完善網(wǎng)絡(luò)流量預(yù)測(cè)模型。