張志宏, 劉傳領(lǐng)
(商丘師范學(xué)院 信息技術(shù)學(xué)院, 河南 商丘 476000)
隨著網(wǎng)絡(luò)技術(shù)的不斷普及, 網(wǎng)絡(luò)用戶數(shù)量越來越多, 使得網(wǎng)絡(luò)流量急劇增加, 網(wǎng)絡(luò)阻塞時有發(fā)生, 導(dǎo)致網(wǎng)絡(luò)上信息丟失和延遲嚴(yán)重, 給網(wǎng)絡(luò)管理帶來挑戰(zhàn)[1-3]. 網(wǎng)絡(luò)流量是一個評價網(wǎng)絡(luò)管理質(zhì)量的重要參數(shù), 根據(jù)歷史數(shù)據(jù)集對網(wǎng)絡(luò)流量進行建模與預(yù)測, 可幫助網(wǎng)絡(luò)管理員掌握網(wǎng)絡(luò)流量的變化規(guī)律, 改善網(wǎng)絡(luò)服務(wù)質(zhì)量. 精確、 快速的網(wǎng)絡(luò)流量預(yù)測是降低網(wǎng)絡(luò)擁塞的重要保障, 因此網(wǎng)絡(luò)流量預(yù)測是網(wǎng)絡(luò)管理領(lǐng)域的一個重要研究方向[4-5].
目前, 已有許多網(wǎng)絡(luò)流量預(yù)測模型, 這些模型主要劃分為兩類: 1) 基于傳統(tǒng)統(tǒng)計學(xué)理論的線性預(yù)測模型, 如分?jǐn)?shù)差分自回歸滑動平均模型, 由于現(xiàn)代網(wǎng)絡(luò)是一個復(fù)雜的非線性系統(tǒng), 網(wǎng)絡(luò)流量變化趨勢具有不確定性, 因此線性模型的網(wǎng)絡(luò)流量預(yù)測精度很難得到保證[6]; 2) 基于現(xiàn)代統(tǒng)計學(xué)理論的非線性預(yù)測模型, 如人工神經(jīng)網(wǎng)絡(luò)、 深度學(xué)習(xí)網(wǎng)絡(luò)等, 其具有良好的非線性擬合能力, 可對網(wǎng)絡(luò)流量變化趨勢的非線性和不確定性進行建模, 使網(wǎng)絡(luò)流量預(yù)測結(jié)果好于線性模型[7]. 在實際應(yīng)用中, 人工神經(jīng)網(wǎng)絡(luò)由于采用經(jīng)驗風(fēng)險最小化原則的學(xué)習(xí)原理, 收斂速度慢, 陷入局部極值的概率高, 經(jīng)常獲得過擬合的網(wǎng)絡(luò)流量預(yù)測結(jié)果, 降低了網(wǎng)絡(luò)流量預(yù)測精度[8-10]. 深度學(xué)習(xí)網(wǎng)絡(luò)基于結(jié)構(gòu)風(fēng)險最小化準(zhǔn)則的學(xué)習(xí)原理, 不存在收斂速度慢、 陷入局部極值的缺陷, 但其網(wǎng)絡(luò)流量預(yù)測結(jié)果受懲罰因子和核函數(shù)核寬參數(shù)的影響較大. 因此目前主要采用網(wǎng)格搜索方法、 遺傳算法、 粒子群優(yōu)化算法對深度學(xué)習(xí)網(wǎng)絡(luò)參數(shù)進行優(yōu)化, 但這些算法易陷入局部最優(yōu)解, 無法獲得最優(yōu)的懲罰因子和核函數(shù)核寬度[11].
灰狼算法(grey wolf optimizer, GWO)是一種模擬狼群捕食行為和層級制度特點的新型群智能算法, 具有調(diào)整參數(shù)少、 收斂速度快的特點. 本文針對深度學(xué)習(xí)網(wǎng)絡(luò)在網(wǎng)絡(luò)流量預(yù)測建模過程中的參數(shù)優(yōu)化難題, 以改善網(wǎng)絡(luò)流量預(yù)測結(jié)果為目標(biāo), 提出一種基于改進灰狼算法優(yōu)化深度學(xué)習(xí)網(wǎng)絡(luò)的網(wǎng)絡(luò)流量預(yù)測模型, 并與基于其他算法優(yōu)化深度學(xué)習(xí)網(wǎng)絡(luò)的網(wǎng)絡(luò)流量預(yù)測模型進行對比分析.
深度學(xué)習(xí)網(wǎng)絡(luò)對訓(xùn)練樣本進行學(xué)習(xí), 建立描述輸入與輸出變量之間關(guān)系的函數(shù). 設(shè)訓(xùn)練樣本集合為T={(x1,y1),(x2,y2),…,(xn,yn)}, 則
f(xi)=ωTφ(xi)+b,
(1)
其中n表示訓(xùn)練樣本的數(shù)量, φ(xi)表示映射函數(shù),ω表示權(quán)值向量,b表示閾值向量[12-14].
定義不敏感損失函數(shù)為
(2)
基于不敏感損失函數(shù), 式(1)可轉(zhuǎn)化為求解極小化目標(biāo)函數(shù)問題, 即
(3)
其中C表示懲罰因子. 引入松弛變量, 則式(3)變?yōu)?/p>
(4)
聯(lián)立式(1)和式(5), 并對ω,b,ξ,ξ*求偏導(dǎo), 可得
(6)
(7)
從而
引入核函數(shù)代替積運算φ(xi)Tφ(xj), 可得深度學(xué)習(xí)網(wǎng)絡(luò)的預(yù)測決策函數(shù)為
(9)
其中k(x,xi)為核函數(shù), 本文選擇徑向基核函數(shù)
k(x,xi)=exp{-‖xi-x‖/(2σ2)}.
(10)
圖1 灰狼社會等級劃分示意圖
灰狼群體具有嚴(yán)格的社會等級關(guān)系, 可劃分為4個等級α,β,δ,ω, 如圖1所示, 其中: 狼α為頭狼, 表示最優(yōu)解; 狼β為協(xié)助者, 表示次優(yōu)解, 狼δ服從狼α,β的命令, 表示第三優(yōu)解; 狼ω沒有自主決策能力, 表示其余候選解.
1) 包圍行為. 當(dāng)灰狼發(fā)現(xiàn)獵物時, 狼群就對獵物進行包圍, 設(shè)其與獵物之間的距離為D, 則
D=|C·Xp(t)-X(t)|,
(11)
X(t+1)=Xp(t)-A·D,
(12)
其中:Xp和X分別表示獵物和位置向量;A和C為系數(shù)向量, 計算公式為
(13)
2) 捕獵行為. 灰狼將獵物包圍后, 由狼α,β,δ帶領(lǐng)狼群不斷靠近獵物. 用Xα,Xβ,Xδ分別表示α,β,δ相對于獵物的位置,Ai和Ci表示系數(shù)向量, 則α,β,δ位置更新公式為
(14)
(15)
(16)
根據(jù)式(15),(16)灰狼不斷調(diào)整其與獵物的方向和距離, 最后α所在位置為問題的最優(yōu)解. 在實際應(yīng)用中, 灰狼算法存在收斂速度較慢、 容易陷入局部最優(yōu)解、 很難收斂到全局最優(yōu)解等不足, 因此需對灰狼算法進行改進.
1) 改進自適應(yīng)收斂因子. 灰狼算法的求解結(jié)果與A值相關(guān), 而A值與收斂因子a密切相關(guān). 傳統(tǒng)灰狼算法的a采用線性遞減方式, 易陷入局部最優(yōu)解, 本文利用Sigmoid函數(shù)的特點, 將其引入到收斂因子更新過程中, 計算公式為
(17)
其中tmax表示最大迭代次數(shù)[15]. 由式(17)可知, 隨著迭代次數(shù)的增加,a值呈非線性減小, 可發(fā)現(xiàn)多個潛在最優(yōu)解.
2) 改進灰狼位置更新公式. 引入慣性權(quán)重對灰狼位置進行更新, 使灰狼盡快跳出局部最優(yōu)值, 計算公式為
X(t+1)=φX(t)-AD,
(18)
式中φ為慣性權(quán)重, 其變化方式為
(19)
為測試改進灰狼算法的性能, 選擇與傳統(tǒng)灰狼算法進行對比實驗, 采用如下3個標(biāo)準(zhǔn)測試函數(shù)作為測試對象:
改進灰狼算法與傳統(tǒng)灰狼算法的性能對比結(jié)果如圖2所示. 由圖2可見, 相對于傳統(tǒng)灰狼算法, 改進灰狼算法的收斂精度有很大提高, 收斂速度更快, 驗證了對傳統(tǒng)灰狼算法改進的有效性.
圖2 改進灰狼算法與傳統(tǒng)灰狼算法的性能對比
網(wǎng)絡(luò)流量具有一定的混沌變化特性[16-17], 是一種典型的時間序列數(shù)據(jù), 因此需通過引入相空間重構(gòu)技術(shù)得到合適的嵌入維數(shù)m和延遲變量τ, 對網(wǎng)絡(luò)流量時間序列進行重構(gòu), 提高網(wǎng)絡(luò)流量預(yù)測精度. 設(shè)網(wǎng)絡(luò)流量時間序列為x1,x2,…,xn, 其中n表示時間序列的長度, 則有
Di={di,di+τ,…,di+(m-1)τ},i=1,2,…,N-(m-1)τ.
(23)
目前確定嵌入維數(shù)m和延遲變量τ的方法很多, 本文選擇C-C算法確定m和τ, 取m=1,2,…,k,n=1,2,…,j,ri=i×0.5σ, 其中σ表示時間序列的標(biāo)準(zhǔn)差, 則C-C算法的參數(shù)計算公式為
(24)
(25)
(26)
在深度學(xué)習(xí)網(wǎng)絡(luò)的網(wǎng)絡(luò)流量建模過程中, 懲罰參數(shù)C和核參數(shù)至關(guān)重要, 直接影響網(wǎng)絡(luò)流量的預(yù)測精度. 為提高網(wǎng)絡(luò)流量預(yù)測精度, 建立深度學(xué)習(xí)網(wǎng)絡(luò)的網(wǎng)絡(luò)流量預(yù)測參數(shù)優(yōu)化數(shù)學(xué)模型[18-19]為
(27)
其中k表示參數(shù)組數(shù). 本文引入改進灰狼算法對式(27)進行求解, 找到最優(yōu)參數(shù)C和σ.
1) 收集描述網(wǎng)絡(luò)流量變化的歷史數(shù)據(jù), 根據(jù)時間前后組成一維時間序列數(shù)據(jù);
2) 采用相空間重構(gòu)技術(shù)中的C-C算法確定最佳嵌入維數(shù)和延遲變量;
3) 根據(jù)最佳嵌入維數(shù)和延遲變量得到一組多維的網(wǎng)絡(luò)流量時間序列數(shù)據(jù);
4) 從多維的網(wǎng)絡(luò)流量時間序列數(shù)據(jù)中選擇部分?jǐn)?shù)據(jù)組成訓(xùn)練樣本, 其他數(shù)據(jù)為測試樣本;
5) 初始化狼群種群, 確定C和σ的取值范圍;
6) 確定灰狼種群的適應(yīng)度函數(shù), 并將其值作為獵物位置, 根據(jù)灰狼算法的工作原理, 尋找最優(yōu)函數(shù)值, 即獵物的最優(yōu)位置;
7) 根據(jù)獵物最優(yōu)位置得到參數(shù)C和σ的最優(yōu)值;
8) 先根據(jù)最優(yōu)參數(shù)C和σ對深度學(xué)習(xí)網(wǎng)絡(luò)進行訓(xùn)練, 再根據(jù)訓(xùn)練精度建立網(wǎng)絡(luò)流量預(yù)測模型;
9) 輸入測試樣本, 網(wǎng)絡(luò)流量預(yù)測模型輸出測試樣本預(yù)測值.
灰狼算法優(yōu)化深度學(xué)習(xí)網(wǎng)絡(luò)的網(wǎng)絡(luò)流量預(yù)測流程如圖3所示.
圖3 灰狼算法優(yōu)化深度學(xué)習(xí)網(wǎng)絡(luò)的網(wǎng)絡(luò)流量預(yù)測流程
圖4 原始網(wǎng)絡(luò)流量的時間序列
為驗證基于灰狼算法優(yōu)化深度學(xué)習(xí)網(wǎng)絡(luò)的網(wǎng)絡(luò)流量預(yù)測模型的有效性, 選取某服務(wù)器一段時間內(nèi)的網(wǎng)絡(luò)流量作為實驗對象, 如圖4所示. 為驗證基于灰狼算法優(yōu)化深度學(xué)習(xí)網(wǎng)絡(luò)的網(wǎng)絡(luò)流量預(yù)測結(jié)果的性能, 選擇與經(jīng)典的基于粒子群優(yōu)化算法和基于遺傳算法優(yōu)化深度學(xué)習(xí)網(wǎng)絡(luò)的網(wǎng)絡(luò)流量預(yù)測模型進行對比實驗. 所有模型均選擇100個樣本作為測試樣本, 其他樣本作為訓(xùn)練樣本. 網(wǎng)絡(luò)流量預(yù)測建模的仿真軟件為MATLAB R2017.
圖的變化曲線
圖6 Scor(t)的變化曲線
采用粒子群優(yōu)化算法、 遺傳算法和灰狼算法優(yōu)化深度學(xué)習(xí)網(wǎng)絡(luò)參數(shù)C和σ, 每種算法的種群數(shù)量均為20, 迭代次數(shù)為500, 不同算法找到最優(yōu)參數(shù)的迭代次數(shù)列于表1. 由表1可見, 改進灰狼算法少于粒子群優(yōu)化算法和遺傳算法的迭代次數(shù), 加快了深度學(xué)習(xí)網(wǎng)絡(luò)參數(shù)尋優(yōu)的速度.
表1 不同算法的深度學(xué)習(xí)網(wǎng)絡(luò)優(yōu)化參數(shù)
圖7 不同模型的網(wǎng)絡(luò)流量預(yù)測結(jié)果對比
將每種模型均進行5次仿真實驗, 每次實驗隨機選擇100個測試樣本, 3種模型的網(wǎng)絡(luò)流量預(yù)測結(jié)果如圖7所示. 由圖7可見, 基于遺傳算法優(yōu)化深度學(xué)習(xí)網(wǎng)絡(luò)的網(wǎng)絡(luò)模型流量預(yù)測偏差較大, 其次為基于粒子群優(yōu)化算法的優(yōu)化深度學(xué)習(xí)網(wǎng)絡(luò)模型, 網(wǎng)絡(luò)流量預(yù)測效果最優(yōu)者為基于灰狼算法的優(yōu)化深度學(xué)習(xí)網(wǎng)絡(luò)模型, 可以較準(zhǔn)確地描述網(wǎng)絡(luò)流量的變化趨勢, 得到了更高精度的網(wǎng)絡(luò)流量預(yù)測結(jié)果. 這主要是由于改進灰狼算法找到了更優(yōu)的深度學(xué)習(xí)網(wǎng)絡(luò)參數(shù), 建立了更理想的網(wǎng)絡(luò)流量預(yù)測模型. 實驗結(jié)果驗證了本文模型的優(yōu)越性.
在4核Intel 2.75 GHz, 32 GB RAM, Win10操作平臺上統(tǒng)計不同模型對網(wǎng)絡(luò)流量的訓(xùn)練時間和預(yù)測時間, 結(jié)果列于表2. 由表2可見, 基于改進灰狼算法的模型網(wǎng)絡(luò)流量預(yù)測時間與基于粒子群優(yōu)化算法、 遺傳算法的模型相差很小, 但訓(xùn)練時間明顯少于基于粒子群優(yōu)化算法和遺傳算法的模型, 表明基于改進灰狼算法的優(yōu)化深度學(xué)習(xí)網(wǎng)絡(luò)的網(wǎng)絡(luò)流量預(yù)測復(fù)雜性未增加, 提高了網(wǎng)絡(luò)流量預(yù)測建模效率.
表2 不同模型的訓(xùn)練時間和預(yù)測時間對比
綜上所述, 為更準(zhǔn)確地對網(wǎng)絡(luò)流量進行建模和預(yù)測, 本文針對深度學(xué)習(xí)網(wǎng)絡(luò)在網(wǎng)絡(luò)流量建模過程中的參數(shù)優(yōu)化問題, 結(jié)合灰狼算法收斂速度快、 全局和局部搜索能力強的優(yōu)點, 提出了一種基于改進灰狼算法的優(yōu)化深度學(xué)習(xí)網(wǎng)絡(luò)的網(wǎng)絡(luò)流量預(yù)測模型, 并通過應(yīng)用實例得到如下結(jié)論:
1) 網(wǎng)絡(luò)流量的變化是多種因素共同影響的結(jié)果, 引入相空間重構(gòu)可更好地描述原始網(wǎng)絡(luò)流量數(shù)據(jù)的變化趨勢, 同時更有利于后續(xù)深度學(xué)習(xí)網(wǎng)絡(luò)的學(xué)習(xí), 可有效改善網(wǎng)絡(luò)流量預(yù)測結(jié)果;
2) 對標(biāo)準(zhǔn)灰狼算法的缺陷進行改進, 可提高灰狼算法的收斂速度, 減少算法陷入局部極值的概率, 尋優(yōu)耗時短, 能快速、 有效地找到深度學(xué)習(xí)網(wǎng)絡(luò)參數(shù), 在提高網(wǎng)絡(luò)流量預(yù)測精度的同時, 可以滿足網(wǎng)絡(luò)流量預(yù)測的實時性要求;
3) 與基于其他算法優(yōu)化的深度學(xué)習(xí)網(wǎng)絡(luò)相比, 基于改進灰狼算法優(yōu)化深度學(xué)習(xí)網(wǎng)絡(luò)模型的網(wǎng)絡(luò)流量預(yù)測誤差更小, 網(wǎng)絡(luò)流量預(yù)測誤差控制在實際應(yīng)用的有效區(qū)間內(nèi), 網(wǎng)絡(luò)流量預(yù)測精度約提高5%, 更適合網(wǎng)絡(luò)流量的建模與分析.