用于全市蜂窝流量预测的时空全连接卷积网络
2021-05-14黄冬宜吴子豪匡佳一颜泽明
黄冬宜,杨 兵,吴子豪,匡佳一,颜泽明
云南大学 软件学院,昆明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%。
1 相关工作
蜂窝网络流量预测可以看作一个复杂的时空预测问题。近年来,人们在该领域做了大量的工作来研究蜂窝网络流量的动态特性。自回归滑动平均(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]是一种对无线交通的非线性和动态性进行建模的深度学习方法,它将交通数据作为图像处理,利用密集连接的卷积神经网络很好地捕捉了蜂窝流量的时空依赖性,并提出了一种基于参数矩阵的融合方案,以学习时空相关性的影响程度。随着研究的深入,很多高精度的方法涌现出来,时间序列模型和参数模型成为常用的方法。
2 相关技术基础
本章首先简要介绍了DenseNet 和它的不足之处,然后对数据集进行了相关描述与分析。
2.1 密集连接卷积神经网络
DenseNet将CNN在分层捕获空间结构信息方面的卓越能力引入到区域间的空间依赖建模中。在每一层进行一系列的卷积后,可以捕捉到整个城市交通的局部和全局空间依赖关系。考虑到不同区域的进出交通相互依赖并且与区域间的距离无关,DenseNet采用密集连接的方式缓解梯度消失问题,以达到提高预测效率和准确性的目的。该模型设计了两个相同结构的组件,一个用于对时间的邻近依赖性建模,另一个用于对时间的周期依赖性建模。网络中有L 层,每层实现一个非线性变换fl(·),L=1,2,…,L,这是一个连续三个操作的复合函数,即卷积(Conv),批量归一化(BN)和校正线性单元(ReLU)。为了对邻近性依赖关系进行建模,初始输入在第l 层,输出记为:
其中⊕指的是在前面所有层中生成的特征图的连接。同样,对于周期性依赖关系的建模,第l 层的输出可以表示为:
但DenseNet仍然不够有效且不精确:
(1)不能很好捕获区域间的空间依赖。人们可以通过无线网络与任何区域通信。因此,区域间的大范围空间依赖在通信中逐渐扮演重要的角色。DenseNet 使用多层卷积网络来建模。它是通过堆叠的卷积层来捕捉城市蜂窝流量的空间依赖,以至于只能一步一步地捕获近邻的空间依赖,这样对远距离的空间依赖难以捕捉,甚至会丢失这些空间依赖的特征。
(2)DenseNet 没有对外部因素进行建模。例如,工作日是通讯的高峰期,这会对流量预测产生一定的影响。
2.2 数据描述与分析
本文中根据经纬度将整个城市区域划分为大小为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。皮尔森相关系数ρ直观并有效地分析了交通数据的空间依赖性,有助于模型更深层次的设计。
3 预测模型
本文提出了一种有效的深度学习方法(ST-FCCNet),对城市中任意区域间的时空依赖性进行建模。在本章中,首先对ST-FCCNet的整体框架进行了详细地描述和公式推导,接着介绍了ST-FCCNet 单元的内部结构,及其内部结构的设计缘由。
3.1 模型框架
根据时空领域的知识,少数前面关键几帧的数据能够决定下面一帧的数据。因此,利用时间邻近性和周期性来选择关键帧。将一段时间内城市中的进入流和外出流转化成一个类似于图像的双通道矩阵。然后将时间轴划分成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取最优值。
3.2 ST-FCCNet单元
蜂窝流量的变化与区域内前一段时间流量的流入流出数量有关,也与周边区域甚至很远区域的流入流出数量有关,这就造成了蜂窝流量具有广距离的空间依赖。传统的卷积层难以对远距离的空间依赖进行捕捉,因此,设计出ST-FCCNet单元来解决该问题。
如图6,将上一层的输出分出一部分通道(将这部分分出的通道记为S),先通过Flatten层,把多维的输入一维化,再经过两层全连接层来直接捕获城市任意区域间的空间依赖,然后通过Reshape 函数来将输出维度调整成S×H×W得到XFC。另一部分通道直接通过一层卷积层得到XFC。最后将通过concatenate操作。
图6 ST-FCCNet单元
这样设计,它不需要堆叠很多层,模型只需要很浅的层就能获取城市任意区域的空间特性,并使模型精度增加。因为层数减少,模型的参数也减少,这就使得模型的计算速度更快。
3.3 算法
算法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//构造测试实例
4 实验结果和分析
首先简要介绍了欧洲一家大型电话服务提供商意大利电信(Telecom Italia)的真实数据,然后使用这个数据集来验证ST-FCCNet的优越性,并与现存的7种算法进行了对比。
4.1 数据描述
为了验证模型的准确性。选择使用一个开放的数据集,数据集下载地址为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)
4.2 数据、指标、参数设置和实验环境
实验数据集来自欧洲一家大型电话服务提供商意大利电信(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 实验环境
4.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)模型排序
4.4 不同ST-FCCNet配置下的结果和分析
通过改变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 预测值与真实值对比
4.5 复杂度分析
复杂度决定了模型的训练和预测时间,如果复杂度过高,会导致模型训练和预测耗费大量时间,既无法快速地验证想法和改善模型,也无法做到快速地预测。用FLOPs来衡量模型的复杂度,并将ST-FCCNet与近年的模型进行了对比。
表6 显示,本文复杂度与近年模型相比降低不少,结果表明ST-FCCNet(有3 个ST-FCCNet 单元)比STNet、STM-Net、STCNet复杂度少89.97 MFLOPs。本文设计的ST-FCCNet 单元经过两层全连接层来直接捕获城市任意区域间的空间依赖,不需要堆叠很多层,模型只需要很浅的层就能获取城市任意区域的空间特性,并使模型精度增加。因为层数减少,模型的复杂度降低,这就使得模型的计算速度更快。
表6 近年模型与ST-FCCNet复杂度比较
4.6 实验总结
实验中,本文首先将ST-FCCNet与4个基线进行了对比,然后给出了在不同ST-FCCNet 配置下的结果并对这些结果进行了详细的分析。最终得到的结果表明,当邻近性序列长度ℓC=1,周期性序列长度ℓP=3,ST-FCCNet 单元个数为3,以及分离的通道数S=2 时,ST-FCCNet在sms和call两个数据集上的效果最佳。
5 结束语
本文提出了一种深度学习模型,通过捕捉历史流量数据的时空特性对未来的流量进行预测。在模型中,引入了天气、假期和工作日等外部因素对蜂窝流量的影响。另外,设计了一种ST-FCCNet单元结构来捕捉城市中任意区域间的空间依赖,解决了DenseNet 对空间依赖建模难的缺点。本文提出的时空密集全连接网络(ST-FCCNet)加强了对区域间空间依赖的捕捉,并加入了外部因素(例如:天气和假期等)的影响。通过在Telecom Italia数据集上的验证,该模型优于其他4种对比方法,更进一步证实了ST-FCCNet在蜂窝流量预测中的应用价值。在未来工作中,将会考虑其他类型的流数据(例如基站、商场、住宅区和办公区的位置分布),利用它们进行更精准地蜂窝流量预测,然后使用一个合适的融合模型将这些数据特征融合起来得到最终结果。