黃冬宜,楊 兵,吳子豪,匡佳一,顏澤明
云南大學 軟件學院,昆明650500
隨著智能手機的普及與應用,蜂窩用戶數急劇增加,根據2018 年11 月版的愛立信《移動市場報告》對VoLTE(Voiceover Long-Term Evolution)、5G(5th Generation Mobile Networks)、M-IoT(Machine-Internet of Things)、移動流量進行了分析與預測,全球移動數據流量在2018年至2024年間預計將增長超過5倍。第五代移動網絡(5G)將采用深度學習和人工智能技術[1-3],并且[4-7]針對該發展已經進行了深入研究。2019 年8 月22日國際電信聯盟(ITU)正式發布了一份5G+Al 國際標準[8],把機器學習ML(Machine Learning)以成本低但收效大的方式集成到5G 系統和未來網絡中作為標準,電信網絡業界中的每家公司都在探索對機器學習的引入,以期待優化網絡運營、提高能源利用效率并降低網絡運營成本為滿足移動用戶的多樣化需求,人工智能的引入將使無線網絡能夠自我優化,提高效率,并提供最佳的用戶體驗,從而為用戶帶來更穩定的網絡連接。
為了實現全自動網絡智能管理的增強,對無線通信的流量進行實時或非實時的分析和預測是非常重要的,準確的流量預測[7]是關鍵問題之一。例如,對未來流量的準確預測可以大大提高需求感知資源分配的效率。然而,由于以下原因,同時對蜂窩網絡進行廣泛的預測是一項非常困難的任務。首先,移動用戶在不同的時空有不同的需求,這使得流量預測的難度提升。其次,且用戶間的通訊將空間依賴引入到蜂窩通信流量中。另外,每個地方的蜂窩流量狀況與該地歷史觀測值有關,對這樣的時間相關性進行建模也是個難題。最后,蜂窩網絡的流量受到許多外部因素的影響。
基于上述問題,本文提出了一種有效的時空密集全連接網絡(ST-FCCNet)。設計了一個ST-FCC單元結構直接捕獲任意區域間的空間依賴。ST-FCC單元作為一個全局特征提取器提取出區域間的空間依賴。其次,通過分別對蜂窩流量的臨近性和周期性進行建模,并將它們進行融合來捕捉完整的時間依賴性。最后,考慮到外部影響因素對蜂窩流量的影響,使得模型的擬合能力增強。本文的系統可以對更復雜的空間關聯性和外部影響因素進行建模,獲得更好的效果,貢獻有以下幾點:
(1)ST-FCCNet把原來卷積層得到的特征圖分出一部分,經過全連接層來直接捕獲城市任意區域間的空間依賴。
(2)將蜂窩流量的時間特性歸為兩類時間臨近性和周期性ST-FCCNet 使用兩個密集連接網絡分支分別對它們進行建模,來捕捉它的時間依賴性。
(3)ST-FCCNet考慮了外部條件(時間、天氣、假期等)對蜂窩流量數據的影響,它將時間、天氣、假期、工作日這些外部影響因子加入模型中來提高預測結果的精確度。
(4)在實驗部分,利用意大利的電信數據評估了本文的算法,結果表明本文的模型優于其他4 種算法,與最優模型相比本文提出的方法在預測精度上提高了7.50%到7.76%。
蜂窩網絡流量預測可以看作一個復雜的時空預測問題。近年來,人們在該領域做了大量的工作來研究蜂窩網絡流量的動態特性。自回歸滑動平均(ARIMA)[9]將觀測到的時間序列擬合進一個模型,然后用來預測,但ARIMA 不適合有缺失值的時間序列。歷史平均模型[10](HA)比較簡單,它預測的未來時間序列的平均值僅是使用歷史時間序列的平均值來進行預測的,導致此模型無法對動態事件作出響應。并且蜂窩流量的模式在個人需求和外部條件(如節假日、工作日等)等因素的影響下,變得非常復雜。為了解決這些問題,基于深度學習的模型被相繼提出,獲得了很好的效果。Deep-ST[11]是第一個使用卷積網絡捕獲空間信息的模型。通過融合金字塔型的ConvGRU模型和周期表示,Periodic-CRN[12]被設計成了捕獲人群通訊周期性的模型。文獻[13]提出了一種基于深度信念網絡的預測方法來模擬蜂窩網絡流量的長期依賴性它將深度置信回聲狀態網絡應用于網絡流量預測。針對不同單元的空間依賴性,文獻[14]提出了一種自編碼與長短時記憶(LSTM)網絡相結合的策略。文獻[15]提出了一種新的端到端深度學習模型ST-3DNet,考慮交通數據的兩種時間特性,即短期性和長期性,ST-3DNet分別使用由3D convolutions和Rc block組成的兩個分量對這兩種模式進行建模,然后加權組合在一起進行最終預測。文獻[16]提出了一種時空注意力機制,能夠更好地建模動態的空間相關性和非線性的時間相關性,提出一種轉移注意力機制,將歷史交通特征轉移到未來表征,建模歷史時間步和未來時間步之間的直接關系。文獻[17]提出了一種新的時空圖注意算法,它能有效地捕捉道路網絡的時空動態。文獻[18]提出了一種基于神經網絡的交通預測方法——時間圖卷積網絡(T-GCN)模型,該模型結合了圖卷積網絡(GCN)和門控遞歸單元(GRU)。GCN用于學習復雜的拓撲結構來捕獲空間依賴關系,GRU 用于學習交通數據的動態變化來捕獲時間依賴關系。文獻[19]提出了一個圖多注意力機制網絡(GMAN),預測路網上不同區域的交通狀況。DenseNet[20]是一種對無線交通的非線性和動態性進行建模的深度學習方法,它將交通數據作為圖像處理,利用密集連接的卷積神經網絡很好地捕捉了蜂窩流量的時空依賴性,并提出了一種基于參數矩陣的融合方案,以學習時空相關性的影響程度。隨著研究的深入,很多高精度的方法涌現出來,時間序列模型和參數模型成為常用的方法。
本章首先簡要介紹了DenseNet 和它的不足之處,然后對數據集進行了相關描述與分析。
DenseNet將CNN在分層捕獲空間結構信息方面的卓越能力引入到區域間的空間依賴建模中。在每一層進行一系列的卷積后,可以捕捉到整個城市交通的局部和全局空間依賴關系。考慮到不同區域的進出交通相互依賴并且與區域間的距離無關,DenseNet采用密集連接的方式緩解梯度消失問題,以達到提高預測效率和準確性的目的。該模型設計了兩個相同結構的組件,一個用于對時間的鄰近依賴性建模,另一個用于對時間的周期依賴性建模。網絡中有L 層,每層實現一個非線性變換fl(·),L=1,2,…,L,這是一個連續三個操作的復合函數,即卷積(Conv),批量歸一化(BN)和校正線性單元(ReLU)。為了對鄰近性依賴關系進行建模,初始輸入在第l 層,輸出記為:

其中⊕指的是在前面所有層中生成的特征圖的連接。同樣,對于周期性依賴關系的建模,第l 層的輸出可以表示為:

但DenseNet仍然不夠有效且不精確:
(1)不能很好捕獲區域間的空間依賴。人們可以通過無線網絡與任何區域通信。因此,區域間的大范圍空間依賴在通信中逐漸扮演重要的角色。DenseNet 使用多層卷積網絡來建模。它是通過堆疊的卷積層來捕捉城市蜂窩流量的空間依賴,以至于只能一步一步地捕獲近鄰的空間依賴,這樣對遠距離的空間依賴難以捕捉,甚至會丟失這些空間依賴的特征。
(2)DenseNet 沒有對外部因素進行建模。例如,工作日是通訊的高峰期,這會對流量預測產生一定的影響。
本文中根據經緯度將整個城市區域劃分為大小為H×W的網格。網格的一個正方形即為一個單元格,H和W表示網格的行數和列數。下面的介紹以歐洲一家大型電話服務提供商意大利電信數據集(Telecom Italia)為例,該數據集中H=W=100,也就是說整個城市被劃分為了100×100 個區域。該數據集是用戶通過移動終端在米蘭區域發送或接收數據的流量統計。該數據集記錄了00:00 11/01/2013至00:00 01/01/2014期間每間隔10 min 的交通流量的統計數據。此數據集包括短消息服務(sms)、呼叫服務(call)和互聯網(internet)三部分數據。每個區域(i,j)中都記錄了10 min內蜂窩流量的出入流,其中i,j代表了該區域在類似于二維坐標系中的橫坐標和縱坐標。在第t時間戳時,所有區域的流量可以表示為:Xt=D2×H×W,其中D表示數據集,Xt表示張量。
圖1(a)和圖1(b)分別展示呼叫服務(call)和短消息服務(sms)的時間動態性,由圖,可以看出呼叫服務(call)和短消息服務(sms)的動態雖然有些不同,但是都有很強的日周期性。例如,呼叫服務(call)每天的流量變化都是從上午10 時后先增加直到晚上10 時才降低。從圖2 可以確認工作日的蜂窩交通流量明顯要高于非工作日,說明人們的呼叫服務(call)和短消息服務(SMS)的使用受工作日的影響比較大。

圖1 蜂窩流量的時間動態性

圖2 在Telecom Italia數據集上一周的動態蜂窩流量交通
圖3 為給定時刻的交通流空間分布,從圖3 可以看出流量在不同的區域間分布不均勻。這是合理的,因為人口眾多的城市中心比邊緣地區有更多的通信,所以模型只截取了城市中心20×20 大小區域的蜂窩流量作為數據集。

圖3 在Telecom Italia數據集上的交通流空間分布
由于定時刻的交通流空間分布不均勻,對某個特定的區域計算了皮爾森相關系數ρ并由圖4 給出。ρ的定義如下:

其中,cov(X,Y)表示X與Y之間的協方差,(σX,σY)是各自標準差的乘積。

圖4 在Telecom Italia(sms)數據集上空間相關性分析
從圖4 可以看出,在sms 數據集上不同區域之間存在空間相關性,其相關值與距離無關。也就是說,整個城市的蜂窩流量具有廣泛的空間依賴性。例如,城市邊緣部分交通流與城市中心交通流的相關系數大于0.9,而城市中心部分交通流與城市中心交通流的相關系數也有低于0.9。皮爾森相關系數ρ直觀并有效地分析了交通數據的空間依賴性,有助于模型更深層次的設計。
本文提出了一種有效的深度學習方法(ST-FCCNet),對城市中任意區域間的時空依賴性進行建模。在本章中,首先對ST-FCCNet的整體框架進行了詳細地描述和公式推導,接著介紹了ST-FCCNet 單元的內部結構,及其內部結構的設計緣由。
根據時空領域的知識,少數前面關鍵幾幀的數據能夠決定下面一幀的數據。因此,利用時間鄰近性和周期性來選擇關鍵幀。將一段時間內城市中的進入流和外出流轉化成一個類似于圖像的雙通道矩陣。然后將時間軸劃分成2 個分段:鄰近時間段(closeness)和周期時間段(period)。再將流量數據按照時間上的鄰近性依賴和周期性依賴分為兩部分輸入,流量數據和外部特征數據通過Min-Max 歸一化處理到[-1,1]。如圖5 所示,ST-FCCNet將流量數據的兩部分輸入,分別使用兩個不同的組件進行建模,從而捕捉鄰近的和周期的這兩種不同的時間特性。然后通過堆疊的ST-FCCNet 單元來捕捉城市蜂窩流量的空間依賴。兩個組件共享相同的網絡結構,都是密集全連接神經網絡接上一層卷積,接著將這兩個組件學習到的特征進行參數矩陣融合得到XDF。外部特征數據(天氣、節假日、周末等)嵌成向量輸入到全連接層得到外部特征XExt。最后將XDF和XExt融合后通過Sigmoid激活函數得到。

圖5 ST-FCCNet框架結構(Conv:3×3卷積;FC:全連接層)
首先用參數矩陣融合算法融合前2個組件,然后與外部組件進一步融合。在融合鄰近性和周期性兩個組件時,考慮到了每個區域的時間特性的強度不同,因此模型使用了基于參數矩陣的融合方法,以取得了更好的結果。該基于參數矩陣融合的方法定義如下:

其中XDF是得到的融合特征,?是Hadamard乘法(即元素間相乘),XDF-C是鄰近性特征,XDF-P是周期性特征,WC、WP是可學習的權重,分別表示鄰近性和周期性的影響程度。使用下述方法將前2 個組件的輸出與外部組件進行融合。t時刻的預測值形式化表示為:

其中,是t時刻的預測值,σ(*)表示激活函數,XDF是融合特征,XExt是外部特征,⊕表示Add操作。通過最小化真實值與預測值的平均平方誤差來得到最優的WC和WP:

其中,是t時刻的預測值,Y是t時刻的真實值。L(?)值取最小值時,WC、WP取最優值。
蜂窩流量的變化與區域內前一段時間流量的流入流出數量有關,也與周邊區域甚至很遠區域的流入流出數量有關,這就造成了蜂窩流量具有廣距離的空間依賴。傳統的卷積層難以對遠距離的空間依賴進行捕捉,因此,設計出ST-FCCNet單元來解決該問題。
如圖6,將上一層的輸出分出一部分通道(將這部分分出的通道記為S),先通過Flatten層,把多維的輸入一維化,再經過兩層全連接層來直接捕獲城市任意區域間的空間依賴,然后通過Reshape 函數來將輸出維度調整成S×H×W得到XFC。另一部分通道直接通過一層卷積層得到XFC。最后將通過concatenate操作。

圖6 ST-FCCNet單元
這樣設計,它不需要堆疊很多層,模型只需要很淺的層就能獲取城市任意區域的空間特性,并使模型精度增加。因為層數減少,模型的參數也減少,這就使得模型的計算速度更快。
算法1 給出了ST-FCCNet 模型的訓練過程。首先從原始序列中構建一個訓練實例(第1~6 行)然后通過后向傳播和Adam進行訓練(第7~11行)。
算法1ST-FCCNet訓練過程
輸入:訓練集歷史數據:{Y0,Y1,…,Yn-1};
訓練集外部特征數據:{E0,E1,…,En-1};
鄰近、周期性序列長度:?C,?P;
鄰近長度:C=1;周期長度:P=24;
輸出:訓練后的ST-FCCNet模型M

算法2 給出了ST-FCCNet 模型的測試過程。首先從原始序列中構建一個測試實例(第1~8 行)然后通過公式(6)計算真實值和預測值的RMSE(第6~9行)。
算法2ST-FCCNet測試過程
輸入:訓練后的ST-FCCNet模型M
訓練集歷史數據:{Y0,Y1,…,Yn-1};
訓練集外部特征數據:{E0,E1,…,En-1};
鄰近、周期性序列長度:?C,?P;
鄰近長度:C=1;周期長度:P=24;
輸出:全市未來的蜂窩流量真實值與預測值的RMSE//構造測試實例

首先簡要介紹了歐洲一家大型電話服務提供商意大利電信(Telecom Italia)的真實數據,然后使用這個數據集來驗證ST-FCCNet的優越性,并與現存的7種算法進行了對比。
為了驗證模型的準確性。選擇使用一個開放的數據集,數據集下載地址為https://drive.google.com/open?id=1klAZtJXqsxTTLACSO5gvaAd1HMMTQQ97,這個數據集包括Telecom Italia數據集和節假日等外部信息(外部信息是額外加入的,是通過搜索00:00 11/01/2013至00:00 01/01/2014意大利的節假日和天氣情況來獲取的)。表1給出了Telecom Italia數據集的詳細信息。取Telecom Italia中最后七天的數據作為測試集,其他作為訓練集。

表1 數據集(Telecom Italia)
實驗數據集來自歐洲一家大型電話服務提供商意大利電信(Telecom Italia),將原始數據集里的10 min間隔數據匯總到1 h,因為10 min 間隔里大量的手機流量為零,數據集非常稀疏,使得預測非常困難,可能導致網絡不穩定或開銷過大。
使用均方根誤差(RMSE)這個指標來評價模型,并且定義為:

其中,yi是城市中i時刻的真實值,y^i是模型的預測值,N指數據集的總個數。
模型的loss函數是Mean Square Error(MSE):

在模型訓練過程中,先從訓練集中取出10%作為驗證集,剩下的90%用以初次訓練模型,根據最佳驗證分數提前停止訓練。然后,用完整的訓練集繼續對模型進行訓練,在迭代100次后保存最優模型。

表2 參數設置
表2 給出了模型詳細的參數設置。對模型的參數都進行了調整和測試,在4.4 節不同ST-FCCNet 配置下的結果和分析記錄了參數設置過程,以及其對實驗結果的影響。表2 中加粗的參數設置為最優參數設置。另外,Dropout和批量歸一化(Batch Normalization)的設置都是為了防止模型過擬合。
該實驗在GPU 服務器上運行。表3 給出了實驗環境的細節,主要使用Tensorflow和PyTorch來訓練模型。

表3 實驗環境
為驗證ST-FCCNet 比現存的方法好,在Telecom Italia(call)數據集和Telecom Italia(sms)數據集上對比了ST-FCCNet與HA[10]、ARIMA[9]、LSTM[21]、DenseNet[20]、ST-Net[22]、STM-Net[22]、STCNet[22]的預測結果,如表4、表5。

表4 不同基線與ST-FCCNet在Telecom Italia(call)上的RMSE比較

表5 不同基線與ST-FCCNet在Telecom Italia(sms)上的RMSE比較
表4、表5顯示在Telecom Italia數據集上,ST-FCCNet的RMSE 明顯優于其他所有的對比方法的RMSE。Telecom Italia 數據集上的結果表明ST-FCCNet(有3 個ST-FCCNet單元)比HA好196.98%~344.47%,比ARIMA好115.57%~240.98%,比LSTM 好87.72%~171.98%,比ST-Net好30.75%~37.15%,比STM-Net好19.6%~22.66%,比STCNet 好12.48%~13.33%,比DenseNet 的RMSE 降低了7.50%~7.76%。
本節進行單步預測評估,即使用歷史數據來預測時間t的流量。為更直觀,將這些模型排序,如圖7所示。

圖7 在Telecom Italia(call)和Telecom Italia(sms)模型排序
通過改變ST-FCCNet unit配置、網絡深度和不同的組件,來討論在不同參數設置下的性能對比結果。
4.4.1 時間性鄰近性、周期性的影響
本文驗證了Telecom Italia 數據集上短消息服務(sms)通信和呼叫服務(call)通信的時間鄰近性和周期性組件的影響。鄰近性序列長度表示為?C,周期性序列長度表示為?P。圖8(a)展示了在SMS 上?C對實驗結果的影響,此時,?P設為3,?C不斷變化。可以看到隨著?C增加,RMSE 首先下降,然后上升,且?C=3 的時候性能最佳。圖8(b)顯示了在SMS 上?P對實驗結果的影響,此時?C等于3,?P的取值從1到4。當?P=1時比?P=2,3 時的實驗結果差些,當?P=4 時,性能反而變差。意味著小范圍的周期通常更有影響力,而長時間的周期難以建模,通常無效。圖8(c)展示了在call上?C對實驗結果的影響,此時,?P設為3,?C不斷變化。可以看到當?C=1 時,RMSE 最小。圖8(d)顯示了在call上?P對實驗結果的影響,此時?C=1,?P的取值從1 到4。曲線表明?P=3的時候模型最好,這說明call通信流量更易受到短時鄰近性的影響。
4.4.2 網絡深度的影響
本文通過設置不同的ST-FCCNet 單元數量來測試不同網絡深度對預測結果的影響。如圖9所示,隨著網絡深度的加深(即ST-FCCNet單元數量增加),短消息服務(sms)通信和呼叫服務(call)通信的RMSE 都先降低后增加,表明越深的網絡通常擁有更好的性能,因為它能夠對時間依賴性和空間依賴性更好的建模。然而,當網絡變得很深時(例如ST-FCCNet Unit超過3時),訓練變得非常困難。

圖8 鄰近性與周期性長度的影響

圖9 網絡深度的影響
4.4.3 不同ST-FCCNet unit配置的影響
圖10顯示的是不同分離通道數的影響。隨著S的增加,短消息服務(sms)通信和呼叫服務(call)通信的RMSE 都先降低,然后增加,表明不需要分離過多的通道來捕捉全局的空間依賴,當分離的通道數過多時,反而會影響模型對數據特征的捕捉。

圖10 分離通道數S的影響
圖11展示了一個隨機區域的真實值和預測值流量曲線。本文提出的模型在call和sms上都表現出優秀的結果,對于流量的峰值和異常值也能很好地擬合。

圖11 預測值與真實值對比
復雜度決定了模型的訓練和預測時間,如果復雜度過高,會導致模型訓練和預測耗費大量時間,既無法快速地驗證想法和改善模型,也無法做到快速地預測。用FLOPs來衡量模型的復雜度,并將ST-FCCNet與近年的模型進行了對比。
表6 顯示,本文復雜度與近年模型相比降低不少,結果表明ST-FCCNet(有3 個ST-FCCNet 單元)比STNet、STM-Net、STCNet復雜度少89.97 MFLOPs。本文設計的ST-FCCNet 單元經過兩層全連接層來直接捕獲城市任意區域間的空間依賴,不需要堆疊很多層,模型只需要很淺的層就能獲取城市任意區域的空間特性,并使模型精度增加。因為層數減少,模型的復雜度降低,這就使得模型的計算速度更快。

表6 近年模型與ST-FCCNet復雜度比較
實驗中,本文首先將ST-FCCNet與4個基線進行了對比,然后給出了在不同ST-FCCNet 配置下的結果并對這些結果進行了詳細的分析。最終得到的結果表明,當鄰近性序列長度?C=1,周期性序列長度?P=3,ST-FCCNet 單元個數為3,以及分離的通道數S=2 時,ST-FCCNet在sms和call兩個數據集上的效果最佳。
本文提出了一種深度學習模型,通過捕捉歷史流量數據的時空特性對未來的流量進行預測。在模型中,引入了天氣、假期和工作日等外部因素對蜂窩流量的影響。另外,設計了一種ST-FCCNet單元結構來捕捉城市中任意區域間的空間依賴,解決了DenseNet 對空間依賴建模難的缺點。本文提出的時空密集全連接網絡(ST-FCCNet)加強了對區域間空間依賴的捕捉,并加入了外部因素(例如:天氣和假期等)的影響。通過在Telecom Italia數據集上的驗證,該模型優于其他4種對比方法,更進一步證實了ST-FCCNet在蜂窩流量預測中的應用價值。在未來工作中,將會考慮其他類型的流數據(例如基站、商場、住宅區和辦公區的位置分布),利用它們進行更精準地蜂窩流量預測,然后使用一個合適的融合模型將這些數據特征融合起來得到最終結果。