張必浪,張倩,楊予光,耿書(shū)鵬(.北京航空航天大學(xué),北京 006;.中訊郵電咨詢(xún)?cè)O(shè)計(jì)院有限公司,北京 00048)
流量預(yù)測(cè)是計(jì)算機(jī)網(wǎng)絡(luò)管理和優(yōu)化中的重要任務(wù),其目標(biāo)是分析和預(yù)測(cè)網(wǎng)絡(luò)中的數(shù)據(jù)流量,為網(wǎng)絡(luò)資源的規(guī)劃、調(diào)度和管理提供依據(jù)。近年來(lái),隨著互聯(lián)網(wǎng)的快速發(fā)展和智能化應(yīng)用的不斷增加,快速增長(zhǎng)的用戶(hù)需求和網(wǎng)絡(luò)規(guī)模對(duì)當(dāng)前的網(wǎng)絡(luò)基礎(chǔ)架構(gòu)帶來(lái)了許多挑戰(zhàn)。流量預(yù)測(cè)是指根據(jù)過(guò)去的流量觀(guān)測(cè)數(shù)據(jù),對(duì)未來(lái)一段時(shí)間內(nèi)的網(wǎng)絡(luò)流量進(jìn)行估計(jì)和預(yù)測(cè)。傳統(tǒng)的流量預(yù)測(cè)方法通常依賴(lài)于統(tǒng)計(jì)模型[1]和時(shí)間序列分析算法[2?3]。隨著以深度學(xué)習(xí)為代表的人工智能技術(shù)逐漸成熟,基于深度學(xué)習(xí)的流量預(yù)測(cè)算法逐漸成為研究的熱點(diǎn)[4?5]。然而,當(dāng)前數(shù)據(jù)驅(qū)動(dòng)的深度學(xué)習(xí)范式在復(fù)雜動(dòng)態(tài)的網(wǎng)絡(luò)流量環(huán)境中存在模型功耗大、存儲(chǔ)成本高、算法難優(yōu)化等問(wèn)題??紤]到人的快速學(xué)習(xí)能力是建立在對(duì)任務(wù)完備的背景知識(shí)之上,且有科學(xué)的公理系統(tǒng)支撐。因此,本文基于深度學(xué)習(xí)方法提出了一種基于領(lǐng)域知識(shí)內(nèi)嵌的全流程框架,以實(shí)現(xiàn)快速精準(zhǔn)的流量預(yù)測(cè),從而實(shí)現(xiàn)更符合現(xiàn)實(shí)場(chǎng)景的網(wǎng)絡(luò)資源分配,為智能化網(wǎng)絡(luò)提供決策能力。
隨著互聯(lián)網(wǎng)技術(shù)的普及,網(wǎng)絡(luò)流量快速增長(zhǎng)。根據(jù)中國(guó)互聯(lián)網(wǎng)信息中心發(fā)布的第47次《中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》,我國(guó)網(wǎng)絡(luò)用戶(hù)數(shù)不斷增加,使用移動(dòng)設(shè)備的網(wǎng)民比例高達(dá)99.7%,移動(dòng)互聯(lián)網(wǎng)接入的流量也呈現(xiàn)快速增長(zhǎng)趨勢(shì)[6]。然而網(wǎng)絡(luò)運(yùn)營(yíng)商如果長(zhǎng)時(shí)間、大規(guī)模地維持如網(wǎng)絡(luò)基站與服務(wù)器等流量承載設(shè)施,將產(chǎn)生高昂的運(yùn)營(yíng)支出??紤]到大部分網(wǎng)絡(luò)在小時(shí)或日尺度上存在的繁忙間歇性與規(guī)律性,可以對(duì)周級(jí)的短期流量進(jìn)行預(yù)測(cè),幫助移動(dòng)網(wǎng)絡(luò)運(yùn)營(yíng)商及時(shí)調(diào)整射頻資源的分配。因此,流量預(yù)測(cè)已成為移動(dòng)網(wǎng)絡(luò)運(yùn)營(yíng)商降低運(yùn)營(yíng)成本,提升用戶(hù)體驗(yàn)的重要任務(wù)。
圖1所示為本文所提出的基于領(lǐng)域知識(shí)內(nèi)嵌的流量預(yù)測(cè)總體框架??紤]到流量數(shù)據(jù)存在的偶發(fā)性強(qiáng)、時(shí)域分布不確定性高的問(wèn)題,本研究提出了基于JS 散度的數(shù)據(jù)分布檢測(cè)算法對(duì)原始數(shù)據(jù)中的時(shí)域和頻域異常數(shù)據(jù)進(jìn)行清洗,以避免異常數(shù)據(jù)干擾模型學(xué)習(xí)。在模型設(shè)計(jì)的過(guò)程中,考慮到流量數(shù)據(jù)本身存在的自相似性、長(zhǎng)時(shí)相關(guān)性、周期性等特點(diǎn),本文設(shè)計(jì)了動(dòng)態(tài)時(shí)域生成流量預(yù)測(cè)模型(GDTN)。GDTN 能夠在使用卷積生成網(wǎng)絡(luò)對(duì)流量數(shù)據(jù)進(jìn)行去噪?復(fù)原的同時(shí),自動(dòng)分配同期多時(shí)域流量特征的重要性,以捕捉輸入流量數(shù)據(jù)中存在的規(guī)律變化的模式,提升模型的學(xué)習(xí)效率與預(yù)測(cè)性能。整體而言,本文提出的基于領(lǐng)域知識(shí)內(nèi)嵌的流量預(yù)測(cè)框架通過(guò)綜合應(yīng)用數(shù)據(jù)清洗、數(shù)據(jù)驅(qū)動(dòng)的特征提取和領(lǐng)域個(gè)性化的模型設(shè)計(jì)等技術(shù),能夠?qū)崿F(xiàn)準(zhǔn)確預(yù)測(cè)流量數(shù)據(jù)的目標(biāo)。
圖1 基于領(lǐng)域知識(shí)內(nèi)嵌的流量預(yù)測(cè)總體框架
JS 散度數(shù)據(jù)分布異常檢測(cè)算法的核心思想是以JS 散度衡量序列數(shù)據(jù)之間的距離,衡量2 個(gè)同寬度的相鄰或相隔一定天數(shù)的滑動(dòng)窗口內(nèi)的序列數(shù)據(jù)之間的距離,并應(yīng)用孤立森林異常點(diǎn)檢測(cè)算法檢測(cè)數(shù)據(jù)分布發(fā)生明顯改變的間斷點(diǎn)。圖2所示為本文所提出的分布異常檢測(cè)算法,主要包括序列相似性度量、孤立森林異常檢測(cè)2 個(gè)部分,當(dāng)孤立森林檢測(cè)算法判定異常且時(shí)域分布差異大于設(shè)定閾值2 個(gè)條件同時(shí)滿(mǎn)足時(shí),判定為該數(shù)據(jù)存在異常。接下來(lái),本文對(duì)該算法進(jìn)行詳細(xì)介紹。
圖2 基于JS散度的數(shù)據(jù)分布異常檢測(cè)算法
2.2.1 基于JS散度度量序列相似性度量
一般的序列相似性度量方法往往基于歐式距離、形狀距離[7]或模式距離[8]將時(shí)間序列視為高維向量進(jìn)行處理;然而,由于大量的偶發(fā)流量事件,使得流量數(shù)據(jù)異常頻發(fā)且異常流量往往高出正常流量幾個(gè)數(shù)量級(jí),因此基于距離的相似度衡量算法并不適用于流量數(shù)據(jù)。為解決這一問(wèn)題,本文提出基于JS 散度的序列相似性度量算法,將變動(dòng)的時(shí)間序列視為某個(gè)模式在數(shù)據(jù)分布上的改變,將時(shí)間序列處理為高維概率密度函數(shù),以對(duì)流量數(shù)據(jù)的整體概率密度分布進(jìn)行度量,排除異常流量數(shù)據(jù)的干擾。下面對(duì)具體的運(yùn)算過(guò)程與理論進(jìn)行介紹。
為了方便描述,定義散度為:
在應(yīng)用散度度量序列相似性時(shí),需要應(yīng)用KDE 核密度估計(jì)方法對(duì)序列的概率密度進(jìn)行估計(jì),以得到序列的概率密度函數(shù),以度量時(shí)間序列之間的相似性。
2.2.2 孤立森林異常檢測(cè)算法
孤立森林是一種適用于連續(xù)數(shù)據(jù)的無(wú)監(jiān)督異常檢測(cè)方法,并且能夠根據(jù)給定數(shù)據(jù)的不同動(dòng)態(tài)地確定異常分?jǐn)?shù),是一種全自動(dòng)的異常檢測(cè)算法[10]。孤立森林的核心思想是通過(guò)遞歸地隨機(jī)分割數(shù)據(jù)集來(lái)查找哪些點(diǎn)容易被孤立;異常點(diǎn)則被定義為容易被孤立的離群點(diǎn),也即分布稀疏且離密度高的群體較遠(yuǎn)的點(diǎn)。在這種隨機(jī)分割的策略下,異常點(diǎn)通常具有較短的路徑。
為便于描述,定義異常分?jǐn)?shù)為:
給定一個(gè)包含n個(gè)樣本的數(shù)據(jù)集,樹(shù)的平均路徑長(zhǎng)度為:
其中H(i)為調(diào)和數(shù),該值可以被估計(jì)為ln(i)+0.577 215 664 9。則樣本x的異常得分定義為:
其中,h(x)為樣本x的標(biāo)準(zhǔn)化路徑長(zhǎng)度,E[h(x)]為樣本x在一批孤立樹(shù)中的路徑長(zhǎng)度的期望。
孤立森林異常檢測(cè)算法的運(yùn)算過(guò)程為:給定n個(gè)樣本數(shù)據(jù)X={x1,…,xn},特征的維度為d。為了構(gòu)建一棵孤立樹(shù),對(duì)于給定節(jié)點(diǎn)T,隨機(jī)選擇一個(gè)特征q及其分割值p對(duì)樣本進(jìn)行分割,將q
a)樹(shù)達(dá)到了限制的高度。
b)節(jié)點(diǎn)上只有1個(gè)樣本。
c)節(jié)點(diǎn)上的樣本所有特征都相同。
在得到孤立樹(shù)后,可以計(jì)算不同樣本的異常分?jǐn)?shù),當(dāng)c(x) →0時(shí),樣本點(diǎn)x的異常分?jǐn)?shù)s(x) →1。一般將異常分?jǐn)?shù)大于0.9的樣本點(diǎn)視為異常點(diǎn)。
2.2.3 基于JS散度的數(shù)據(jù)異常分布檢測(cè)方案
檢測(cè)方案的核心思想是通過(guò)比較滑動(dòng)窗口內(nèi)數(shù)據(jù)的概率密度函數(shù)來(lái)計(jì)算距離,并利用JS 散度來(lái)度量數(shù)據(jù)分布的差異性。接著通過(guò)孤立森林異常點(diǎn)檢測(cè)算法,可以識(shí)別出距離數(shù)組中的異常點(diǎn),從而進(jìn)行數(shù)據(jù)異常分布的檢測(cè)。設(shè)定的閾值可以根據(jù)具體需求進(jìn)行調(diào)整,用于篩選出具有較大差異性的異常點(diǎn)。
具體流程如下。
a)讀取一段時(shí)間序列的數(shù)據(jù)。
b)設(shè)置2 個(gè)相鄰的滑動(dòng)窗口window1、window2 大小為s。若序列呈現(xiàn)明顯的周期性,設(shè)其周期為T(mén)個(gè)時(shí)間點(diǎn),設(shè)置第3 個(gè)滑動(dòng)窗口window3,大小為s,與win?dow2相隔T?1個(gè)時(shí)間點(diǎn)。
c)沿著時(shí)間序列以s為步長(zhǎng)不斷地滑動(dòng)window1、window2 和window3,并保持它們之間的時(shí)間間隔不變。
d)將window1、window2 和window3 內(nèi)的序列數(shù)據(jù)分別進(jìn)行統(tǒng)計(jì)分析,并利用KDE 核密度估計(jì)方法生成window1、window2 和window3 內(nèi)序列數(shù)據(jù)的概率密度函數(shù)。
e)以JS散度方式定義序列數(shù)據(jù)之間的距離。
f)不斷重復(fù)步驟c)~e),直至序列數(shù)據(jù)末端,得到序列數(shù)據(jù)的距離數(shù)組。
g)利用孤立森林異常點(diǎn)檢測(cè)算法檢測(cè)距離數(shù)組中存在的異常點(diǎn),得到預(yù)備異常點(diǎn)集合。
h)設(shè)置閾值,以距離數(shù)組中大于閾值的點(diǎn)構(gòu)成異常點(diǎn)集合。
圖3所示為本文所設(shè)計(jì)的動(dòng)態(tài)時(shí)域生成流量預(yù)測(cè)模型(GDTN),該模型由并行的自適應(yīng)注意力元網(wǎng)絡(luò)與卷積生成網(wǎng)絡(luò)2個(gè)部分構(gòu)成。下面對(duì)該模型的設(shè)計(jì)動(dòng)機(jī)與重要技術(shù)點(diǎn)進(jìn)行介紹。
圖3 GDTN網(wǎng)絡(luò)模型示意
2.3.1 自適應(yīng)注意力元網(wǎng)絡(luò)
自適應(yīng)注意力元網(wǎng)絡(luò)通過(guò)深度網(wǎng)絡(luò)學(xué)習(xí)不同天之間的重要分?jǐn)?shù),并根據(jù)重要分?jǐn)?shù)構(gòu)造注意力矩陣,使注意力機(jī)制在網(wǎng)絡(luò)流量任務(wù)上具備良好的可解釋性。自適應(yīng)注意力元網(wǎng)絡(luò)主要由重要分?jǐn)?shù)學(xué)習(xí)網(wǎng)絡(luò)與注意力矩陣推理網(wǎng)絡(luò)構(gòu)成。其中,重要分?jǐn)?shù)學(xué)習(xí)網(wǎng)絡(luò)net(X)可以由任意網(wǎng)絡(luò)替代。
a)重要分?jǐn)?shù)學(xué)習(xí)元網(wǎng)絡(luò)。
(a)定義任意函數(shù)net(·) 滿(mǎn)足條件:net:Rn,m→{x|0 ≤x≤1,x∈Rn,m}。
(b)計(jì)算重要程度IS(X)=net(X)。
(c)對(duì)重要分?jǐn)?shù)score進(jìn)行有界壓縮:
其中,σ 為任意在實(shí)數(shù)域上具有上下界的函數(shù),此處取常見(jiàn)的S型激活函數(shù)Sigmoid(x)=
b)注意力矩陣推理元網(wǎng)絡(luò)。注意力矩陣推理元網(wǎng)絡(luò)能夠根據(jù)重要分?jǐn)?shù)學(xué)習(xí)元網(wǎng)絡(luò)得到的一個(gè)周期內(nèi)每天的重要性,推理計(jì)算得到注意力矩陣。其計(jì)算流程如下:
(a)對(duì)net(X)得到的重要性分?jǐn)?shù)IS′(X)廣播到指定維數(shù):
(b)根據(jù)net(X)′求解注意力矩陣Attn(X):
(c)根據(jù)Attn(X)對(duì)不同天之間的流量數(shù)據(jù)進(jìn)行加權(quán)求和,得到預(yù)測(cè)結(jié)果:
其中X′=unsqueeze(X,dim=3)。
2.3.2 卷積時(shí)域生成網(wǎng)絡(luò)具體設(shè)計(jì)方案
卷積生成網(wǎng)絡(luò)能夠?qū)⒃趫D像生成方面的優(yōu)秀表現(xiàn)遷移到流量預(yù)測(cè)任務(wù)之中,使得流量數(shù)據(jù)沿著編碼器網(wǎng)絡(luò)向生成器網(wǎng)絡(luò)流動(dòng)的過(guò)程中,流量數(shù)據(jù)噪點(diǎn)被逐漸刪去,并引入符合數(shù)據(jù)輸入輸出分布的流量特征。卷積時(shí)域生成網(wǎng)絡(luò)由2次壓縮?生成過(guò)程組成,其中壓縮過(guò)程使用卷積神經(jīng)網(wǎng)絡(luò),生成過(guò)程使用反卷積神經(jīng)網(wǎng)絡(luò)。具體來(lái)說(shuō),給定輸入流量序列X與第k次壓縮?生成過(guò)程的輸出Xk,卷積時(shí)域生成網(wǎng)絡(luò)模塊的計(jì)算過(guò)程如下:
2.3.3 模型集成
GDTN 流量預(yù)測(cè)方法由并行的卷積生成網(wǎng)絡(luò)與自適應(yīng)注意力元網(wǎng)絡(luò)2個(gè)階段組成。通過(guò)將兩者進(jìn)行加權(quán)求和實(shí)現(xiàn)網(wǎng)絡(luò)集成。
其中,w1、w2分別表示不同組塊的融合權(quán)值。
為驗(yàn)證所提出算法的可行性,本研究收集了來(lái)自智能城域網(wǎng)接入路由器(MAR)上聯(lián)到匯聚路由器(MER)的1 000 個(gè)網(wǎng)絡(luò)端口的流量數(shù)據(jù)。本研究將該數(shù)據(jù)集中時(shí)間長(zhǎng)度大于90 天的端口沿著時(shí)間維度進(jìn)行訓(xùn)練、驗(yàn)證、測(cè)試集劃分,其中將倒數(shù)第1 個(gè)月的數(shù)據(jù)用作驗(yàn)證集,倒數(shù)第2個(gè)月的數(shù)據(jù)用作測(cè)試集,剩余的數(shù)據(jù)用于訓(xùn)練。不足90 天的數(shù)據(jù)僅用于測(cè)試和驗(yàn)證,不參與訓(xùn)練。為了綜合評(píng)估GDTN 流量預(yù)測(cè)模型的性能表現(xiàn),本研究選取了多種同類(lèi)型時(shí)間需要預(yù)測(cè)模型在智能城域網(wǎng)數(shù)據(jù)集上進(jìn)行對(duì)比實(shí)驗(yàn)。這些對(duì)比模型分別是VTQRNN、LSTM、VAR、TCN和ResTCN。
如表1 所示,與傳統(tǒng)模型和近期的同類(lèi)時(shí)序預(yù)測(cè)模型相比,GDTN 模型實(shí)現(xiàn)了10.081%的相對(duì)誤差控制,優(yōu)于目前模型的14.109%,同時(shí)GDTN 作為一種輕量模型設(shè)計(jì),僅占用8.78 KB 的硬盤(pán)資源,有效減少了存儲(chǔ)成本,而且,GDTN 平均在1.92 s 內(nèi)完成了單端口模型訓(xùn)練,減少約2 s 的單端口訓(xùn)練成本??偟膩?lái)說(shuō),GDTN 模型具有精準(zhǔn)的相對(duì)誤差與絕對(duì)誤差控制、經(jīng)濟(jì)的存儲(chǔ)資源占用以及高回報(bào)時(shí)間效用等特點(diǎn)。
表1 智能城域網(wǎng)數(shù)據(jù)集對(duì)比實(shí)驗(yàn)
流量預(yù)測(cè)模型對(duì)未來(lái)移動(dòng)通信網(wǎng)絡(luò)的擴(kuò)容建設(shè)與資源優(yōu)化分配具有重要意義。本文通過(guò)重采樣與基于滑窗的JS 散度數(shù)據(jù)分布改變檢測(cè)算法對(duì)原始數(shù)據(jù)進(jìn)行清洗,有效促進(jìn)模型對(duì)正常數(shù)據(jù)分布的學(xué)習(xí),并基于多時(shí)域流量數(shù)據(jù)進(jìn)行方法上的創(chuàng)新,引入時(shí)間卷積的模式設(shè)計(jì)GDTN 流量預(yù)測(cè)模型,在長(zhǎng)端口數(shù)據(jù)集上進(jìn)行了預(yù)測(cè)并取得較好的性能,可以對(duì)未來(lái)的網(wǎng)絡(luò)規(guī)劃設(shè)計(jì)、基站建設(shè)、容量?jī)?yōu)化等工作提供參考。