張嬌陽,孫 黎
(西安交通大學 信息與通信工程學院,陜西 西安 710049)
異常檢測[1-2]和流量預測是無線網(wǎng)絡數(shù)據(jù)分析和管理中的重要任務,有利于提高網(wǎng)絡的智能化管理水平,實現(xiàn)網(wǎng)絡資源的優(yōu)化分配和按需調(diào)度。在邊緣計算場景下,異常檢測和流量預測任務在距離數(shù)據(jù)源更近的位置——基站進行計算,以減少移動業(yè)務交付的端到端時延,發(fā)掘無線網(wǎng)絡的內(nèi)在能力,從而提升用戶體驗。
現(xiàn)有的異常檢測研究工作中,監(jiān)督學習和無監(jiān)督學習算法已被廣泛應用于流量異常檢測研究中。基于有監(jiān)督學習的異常檢測方法依賴于已標記網(wǎng)絡正常行為的數(shù)據(jù)集,然而在實際應用中,沒有異常的數(shù)據(jù)集非常罕見并且獲得代價昂貴。無監(jiān)督學習的異常檢測方法中,K均值(K-means)聚類方法[3-4]由于其簡易性,被廣泛應用到異常檢測任務當中。基于 K-means 聚類的異常檢測方法通過將數(shù)據(jù)劃分為正常流量集群和異常流量集群的方式來檢測異常。但是,該異常檢測的方法依然存在一些問題,直接利用聚類算法檢測異??梢詸z測到高流量區(qū)域的異常,但會忽略低流量區(qū)域存在的異常。另外有基于流量模式的K-means聚類的異常檢測方法[5],在大規(guī)模長時間序列檢測問題中,存在處理區(qū)域數(shù)量有限、處理數(shù)據(jù)時長有限等缺陷。
現(xiàn)有的流量預測研究工作中[6],基于統(tǒng)計的方法將無線網(wǎng)絡流量預測視為時間序列預測問題,其性能取決于利用哪一種統(tǒng)計模型進行建模,常用的模型包括回歸移動平均(ARIMA)、α穩(wěn)定模型等,但這些基于統(tǒng)計的模型無法同時建模多種因素的影響。為了挖掘無線網(wǎng)絡流量數(shù)據(jù)中隱藏著的復雜依賴性關系,深度學習模型被應用到無線網(wǎng)絡流量預測中。文獻[7]提出了一種基于深度學習的混合模型進行時空流量預測,采用自編碼器建模空間依賴性,同時采用長短期記憶網(wǎng)絡建模時間依賴性。但是這種建模方式是有損的,而且需要對每個區(qū)域分別進行建模,無法同時獲得預測結果。文獻[8-9]采用卷積神經(jīng)網(wǎng)絡方法進行建模,可以實現(xiàn)用一個模型對無線網(wǎng)絡流量進行預測。然而,空間依賴性不能只局限于與目標位置相鄰的區(qū)域,以市中心的大學和郊區(qū)的大學為例,兩個地區(qū)屬于地理位置不相鄰的同種功能區(qū),流量模式存在強相關性,如果僅能學習相鄰區(qū)域的相關性,會缺失如上例所述的非相鄰但功能相同的區(qū)域間的重要信息,導致學習效果不佳。上述基于卷積神經(jīng)網(wǎng)絡的研究工作僅能捕獲目標區(qū)域相鄰的局部區(qū)域的相關性,不能捕獲全局的空間依賴性。非局部神經(jīng)網(wǎng)絡(NLnet)預測方法對全局空間相關性進行建模,但是忽略了不同通信數(shù)據(jù)間的相關性。
針對異常檢測和流量預測任務面臨的上述問題,本文提出一種基于特征降維的異常檢測方法和多數(shù)據(jù)集聯(lián)合預測的移動網(wǎng)絡流量預測方法?;谔卣鹘稻S的異常檢測方法首先在全局范圍內(nèi)提取所有區(qū)域流量特征,利用特征數(shù)據(jù)鎖定可疑異常出現(xiàn)的網(wǎng)格,再分別對出現(xiàn)可疑異常警報網(wǎng)格中的原始流量數(shù)據(jù)使用K-means聚類方法進行局部異常檢測,本方法可以快速準確檢測大規(guī)模流量數(shù)據(jù)的可疑異常,更適用于規(guī)模大、持續(xù)時間長的蜂窩網(wǎng)絡數(shù)據(jù)。在多數(shù)據(jù)集聯(lián)合預測的移動網(wǎng)絡流量預測方法中,引入注意力機制學習各個時刻不同業(yè)務間的相關性,并利用循環(huán)神經(jīng)網(wǎng)絡記憶這種相關性,進一步提高了流量預測的準確度,適用于對歷史數(shù)據(jù)量少、相關業(yè)務數(shù)據(jù)多的活動進行預測。
系統(tǒng)模型由邊緣計算網(wǎng)絡架構組成,如圖1所示[10],邊緣計算架構分為終端設備、邊緣、云端三層。終端層由各種設備組成,主要完成收集原始數(shù)據(jù)并上報的功能,以事件源的形式作為應用服務的輸入。邊緣計算層由網(wǎng)絡邊緣節(jié)點構成,廣泛分布在終端設備與計算中心之間,邊緣計算層通過合理部署和調(diào)配網(wǎng)絡邊緣側的計算和存儲能力,實現(xiàn)基礎服務響應,邊緣計算層的上報數(shù)據(jù)將在云計算中心進行永久性存儲。本文的異常檢測和流量預測功能依托邊緣計算下沉到基站完成。
圖1 邊緣計算網(wǎng)絡架構Fig.1 Edge computing network architecture
本文使用的蜂窩流量數(shù)據(jù)集由意大利電信移動公司提供[11],該數(shù)據(jù)集是大數(shù)據(jù)挑戰(zhàn)賽的一部分。原始數(shù)據(jù)集收集了整個米蘭城市內(nèi)每隔10 min的手機活動記錄(62天, 300百萬條記錄,大約19 GB)。米蘭市的面積為550 km2,根據(jù)基站分布情況,被劃分為100 × 100正方形網(wǎng)格。每個正方形網(wǎng)格的大小約為0.235 km×0.235 km,在本節(jié)中每一個正方形網(wǎng)格被稱為網(wǎng)格或網(wǎng)格區(qū)域。米蘭市的部分網(wǎng)格區(qū)域如圖2所示。
在原始數(shù)據(jù)集中,每條手機流量活動記錄均由以下條目組成。
① 網(wǎng)格編號(Square ID):對已劃分網(wǎng)格的編號;
② 時間戳(Time-stamp):每一條手機流量活動的時間戳;
③ 接收短消息活動量(SMS-in Activity):某一特定網(wǎng)格內(nèi)每10 min內(nèi)接收的短消息活動流量值;
④ 發(fā)送短消息活動量(SMS-out Activity):某一特定網(wǎng)格內(nèi)每10 min內(nèi)發(fā)送的短消息活動流量值;
⑤ 接聽電話活動量(Call-in Activity):某一特定網(wǎng)格內(nèi)每10 min內(nèi)接聽的電話活動流量值;
⑥ 撥打電話活動量(Call-out Activity):某一特定網(wǎng)格內(nèi)每10 min內(nèi)撥打的電話活動流量值;
⑦ 互聯(lián)網(wǎng)活動量(Internet Activity):某一特定網(wǎng)格內(nèi)每10 min內(nèi)互聯(lián)網(wǎng)接入活動流量值;
⑧ 國家代碼(Country Code):電話國家代碼。
圖2 米蘭部分網(wǎng)格區(qū)域Fig.2 Part of the grid area in Milan
在大規(guī)模蜂窩數(shù)據(jù)異常檢測任務中,由于數(shù)據(jù)收集覆蓋范圍大,流量數(shù)據(jù)持續(xù)時間長,直接在全局范圍對原始數(shù)據(jù)進行異常檢測會花費大量時間,消耗計算機資源。所以在全局范圍內(nèi)異常檢測前需要對流量數(shù)據(jù)進行合理的降維處理,提取高維流量數(shù)據(jù)的特征,便于獲取全局范圍內(nèi)的異常信息。
蜂窩流量數(shù)據(jù)記錄了不同時刻各個網(wǎng)格的流量值,相鄰時刻流量值具有強相關性,為了有效提取這種相關性,這里使用長短期記憶(Long Short Term Memory,LSTM)自編碼器對原始蜂窩流量數(shù)據(jù)提取流量特征,使用這一模型可以更好地學習歷史時間序列的相關性,同時提取蜂窩流量數(shù)據(jù)的流量特征,模型框圖如圖3所示。
圖3 LSTM自編碼器結構Fig.3 LSTM autoencoder structure
其中,LSTM的網(wǎng)絡結構是鏈式循環(huán)的結構[12],能夠用來處理長時依賴的問題,一個方塊代表一個時刻的LSTM單元,包括3個門:輸入門、遺忘門、輸出門。輸入門控制著網(wǎng)絡的輸入,遺忘門控制著網(wǎng)絡的記憶單元,決定之前的哪些記憶將被保留,哪些記憶將被去除,輸出門控制著網(wǎng)絡的輸出。
(1)
式中,N代表x的維度,下標i代表向量的第i個分量。
為了保證隱變量h中信息的有效性,在構建自編碼器時,通常限制隱變量h輸入的維度小于輸入數(shù)據(jù)x的維度,這使得編碼器能夠完成數(shù)據(jù)壓縮的任務。
經(jīng)過LSTM自編碼器可以得到蜂窩流量數(shù)據(jù)的低維特征,在新的低維空間找到與整體數(shù)據(jù)樣本表現(xiàn)出來的特點不一致的數(shù)據(jù)點標記為可疑異常,鎖定可疑異常出現(xiàn)的網(wǎng)格,下一步對所有可疑異常出現(xiàn)的網(wǎng)格進行局部異常檢測。
通過上一步使用LSTM自編碼器獲得新的蜂窩流量特征,在新的特征空間發(fā)現(xiàn)可疑異常出現(xiàn)的網(wǎng)格。獲取到所有異??赡艹霈F(xiàn)的網(wǎng)格后,在每個可疑異常出現(xiàn)的網(wǎng)格中對原始數(shù)據(jù)進行聚類檢測異常,將聚類結果中流量值大且同一類中樣本數(shù)少的樣本標記為異常數(shù)據(jù)。
這里選擇K-means[13]進行異常檢測,與其他聚類方法相比,K-means算法的時間復雜度更低,占用的計算資源更少,因此,這里選用 K-means算法檢測可疑異常。應用該算法時,首先采用戴維森堡丁指數(shù)(DBI)確定聚類集群的最佳數(shù)目,DBI定義為:
(2)
(3)
mi,j=‖ai-aj‖2,
(4)
(5)
將數(shù)據(jù)集中的樣本劃分為若干不相交的子集,每個子集為一個“簇”,通過這樣的劃分可以尋找出異常數(shù)據(jù)對應的簇。最后,因為異常流量值與正常流量值有很大的差異,所以異常流量樣本將組成單獨的集群,將具有最少樣本數(shù)量且流量值數(shù)量級別最高的集群認定為異常。
本節(jié)使用經(jīng)過上述方法剔除異常后的5種數(shù)據(jù),包括互聯(lián)網(wǎng)數(shù)據(jù)、接聽的話音業(yè)務數(shù)據(jù)、撥打的話音業(yè)務數(shù)據(jù)、接收的短消息業(yè)務數(shù)據(jù)和發(fā)送的短消息業(yè)務數(shù)據(jù),然后利用互聯(lián)網(wǎng)數(shù)據(jù)和其余業(yè)務數(shù)據(jù)的相關性預測未來的互聯(lián)網(wǎng)數(shù)據(jù)。預測模型如圖4所示,首先將各類業(yè)務分別輸入相同的循環(huán)神經(jīng)網(wǎng)絡中,記錄各時刻的輸出,然后將同一時刻所有業(yè)務數(shù)據(jù)在循環(huán)神經(jīng)網(wǎng)絡(RNN)單元的輸出輸入到注意力單元中,計算當前時刻其余業(yè)務與目標業(yè)務的相關性,各個時刻依次進行相同操作,最后一個時間節(jié)點目標業(yè)務的輸出即為流量預測的結果。
圖4 基于注意力機制的多數(shù)據(jù)集聯(lián)合預測方案Fig.4 Multi-data set joint prediction scheme based on attention mechanism
以第一個時刻為例,注意力單元內(nèi)部結構如圖5所示。
圖5 注意力模塊內(nèi)部結構Fig.5 Internal structure of attention module
為保證模型訓練正確,將輸入模型的數(shù)據(jù)分別進行歸一化,接下來生成查詢張量qj、鍵張量kj、值張量vj,考慮到預測目標是互聯(lián)網(wǎng)數(shù)據(jù),所以僅需要對互聯(lián)網(wǎng)數(shù)據(jù)生成查詢張量qj。然后根據(jù)查詢張量qj和鍵張量kj計算不同數(shù)據(jù)的相似度α1m。
(6)
最后使用相似度張量和值張量做乘法得到自注意力機制的輸出。
流量數(shù)據(jù)根據(jù)數(shù)據(jù)集可知,每個流量活動值(SMS-in Activity,SMS-out Activity,Call-in Activity,Call-out Activity,Internet Activity)表示某一網(wǎng)格在10 min內(nèi)所有用戶的通信強度。在實驗中,為了避免數(shù)據(jù)稀疏,首先將每條流量活動記錄的5種活動值相加為一個值,該值描述一個網(wǎng)格內(nèi)所有用戶的總活動量。然后,將數(shù)據(jù)時間間隔由10 min匯總到1 h。因此,本文中所需檢測的異常確切指代高于正常模式的流量值。
為全面評估不同的異常檢測算法,將本文異常剔除方案與其他異常剔除方案進行流量預測對比。流量預測過程中,采用了2個評價指標進行評價。
第一個是均方根誤差(RMSE),這是度量模型預測值和真實值之間平方差的指標。定義為:
(7)
第二個是平均絕對誤差(MAE),這是度量預測值與真實值之間絕對誤差的指標,定義為:
(8)
為了證明所提出異常檢測效果優(yōu)越性,將基于特征降維的異常檢測方法、經(jīng)典K-means聚類方法以及基于流量模式的異常檢測3種方法進行性能對比。分別對經(jīng)過3種異常檢測方法剔除異常后的流量數(shù)據(jù)分區(qū)域進行預測,輸入歷史記錄中168 h的流量預測未來84 h的流量值,在預測過程中,采用如下的基準方法。
(1) 線性回歸模型
回歸問題中最簡單的模型,模型的具體表示形式如式(9):
y=wTx,
(9)
式中,x代表輸入的歷史流量數(shù)據(jù),w代表要學習的參數(shù)。
(2) 支持向量回歸模型
支持向量回歸(Support Vector Regression,SVR)[14]是支持向量機一個重要分支,其思想在于尋找一個超平面使得所有樣本點到其距離最小。
(3) 長短期記憶網(wǎng)絡
LSTM網(wǎng)絡是深度學習常用模型之一,通過加入門機制解決傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡中梯度爆炸和梯度消失的問題,常用于解決有關序列預測和分類的問題。
以上所有模型均取在測試集上表現(xiàn)最好的結果和本文所提出的方法進行比較。
4.4.1 異常檢測結果
特征降維后的數(shù)據(jù)可視化結果如圖6所示,可以看到異常蜂窩網(wǎng)絡數(shù)據(jù)的特征向量會與正常蜂窩網(wǎng)絡數(shù)據(jù)的特征向量分離,分別記為異常簇和正常簇。
圖6 特征空間樣本分布Fig.6 Feature space sample distribution
可視化異常簇中出現(xiàn)的網(wǎng)格中的流量數(shù)據(jù),以網(wǎng)格3667、3983、4181、4621為例,結果如圖7所示。可以看到流量數(shù)據(jù)整體呈現(xiàn)周期性分布,部分時刻會出現(xiàn)與常規(guī)模式不一致的極大值。將這些網(wǎng)格區(qū)域標記為可疑異常網(wǎng)格。然后對所有異常網(wǎng)格中的數(shù)據(jù)使用K-means算法,檢測可疑網(wǎng)格中異常出現(xiàn)的具體時刻,結果如圖8所示,檢測到了可疑網(wǎng)格中出現(xiàn)的流量突增異常。
(a) 網(wǎng)格3667
(a) 網(wǎng)格3667
獲得異常網(wǎng)格和異常出現(xiàn)的具體時刻后,為了驗證異常檢測的準確度,對通過該方案剔除異常后的數(shù)據(jù)進行流量預測,與使用其他異常檢測方法剔除異常后的流量預測效果進行對比,結果如表1所示。
表1 3種異常檢測方法在高、低流量區(qū)域內(nèi)性能比較
經(jīng)典的K-means算法將均值最大的簇標記為異常樣本,這些異常樣本中也包含部分未發(fā)生異常的高流量網(wǎng)格,所以使用該法剔除異常后的數(shù)據(jù)預測誤差在高流量地區(qū)小,在低流量地區(qū)大。基于流量模式的異常檢測方法在高、低流量地區(qū)異常檢測性能均不是最佳?;谔卣鹘稻S的異常檢測方法通過訓練得到特征向量,可以排除虛假異常,快速、準確檢測到不同流量地區(qū)的異常??偠灾?,在高流量區(qū)域,所提方案可以有效檢測出可疑異常,在低流量區(qū)域本方案可以以更高的準確度進行流量預測。
4.4.2 流量預測結果
使用上節(jié)所述方法,對5種業(yè)務數(shù)據(jù)分別剔除異常后,采用基于注意力的多數(shù)據(jù)集聯(lián)合預測方法和RNN預測方法進行對比試驗。表2為這兩種方法在RMSE和MAE上的預測效果。圖9(a)~圖9(c)為基于注意力機制的多數(shù)據(jù)集聯(lián)合預測方法對不同時長的流量數(shù)據(jù)的預測結果圖,圖9(d)~圖9(f)為基于RNN預測方法對不同時長的流量數(shù)據(jù)的預測結果圖。橙線為真實數(shù)據(jù),藍線為預測數(shù)據(jù),可以看到RNN預測方法可以準確預測流量數(shù)據(jù)周期性等大體趨勢,但是無法精準預測流量的細節(jié),缺少對具體時刻流量值的信息預測。采用基于注意力的多數(shù)據(jù)集聯(lián)合預測方法的預測結果不只顯示數(shù)據(jù)的周期信息,而且在峰值處可以更準確地預測數(shù)據(jù),對未來48 h、72 h、168 h的流量數(shù)據(jù)預測結果對比均顯示了該方法的有效性。
(a) 多數(shù)據(jù)集聯(lián)合預測模型預測未來 48 h流量值
表2 兩種預測方法對不同時長數(shù)據(jù)的預測性能比較
由于訓練時長為168 h,所以當預測時長小于168 h時,多數(shù)據(jù)集聯(lián)合預測模型預測誤差在RMSE和MAE兩個指標上均小于RNN。利用注意力模塊可以學習目標業(yè)務數(shù)據(jù)與其余業(yè)務數(shù)據(jù)的相關性,充分利用業(yè)務間的相關性輔助目標業(yè)務預測,不僅可以預測流量數(shù)據(jù)變化周期,還可以更精準預測不同時刻流量值。
針對大規(guī)模蜂窩流量數(shù)據(jù)異常檢測中直接對原始數(shù)據(jù)進行檢測存在的數(shù)據(jù)冗余和計算冗余的問題,為減少移動業(yè)務交付的端到端時延,實現(xiàn)網(wǎng)絡資源的優(yōu)化分配,提出了基于特征降維的蜂窩流量數(shù)據(jù)異常檢測方法。該方法利用LSTM自編碼器提取流量數(shù)據(jù)低維特征,再對新的特征空間進行理論分析,選取異常特征參數(shù)挖掘異常數(shù)據(jù),實現(xiàn)針對大規(guī)模高維流量數(shù)據(jù)的異常檢測功能。該方法可以更好地檢測出高、低不同活躍度區(qū)域內(nèi)的漏報異常;針對流量預測中存在的忽略不同通信數(shù)據(jù)間相關性的問題,提出基于注意力機制的多數(shù)據(jù)集聯(lián)合預測方案,將提出的流量預測方法與基準預測方法在不同時長預測任務中進行對比實驗,所提出的流量預測方法在RMSE和MAE性能指標上都獲得了最好的性能表現(xiàn),從而證明了所提出方法的有效性。