云计算环境下基于深度学习的人群流量预测框架
2023-03-07蒋春林
蒋春林,佘 磊
(四川省人工智能研究院,四川 宜宾 644000)
0 引言
随着全球定位系统、移动智能设备以及遥感通信装置等各种定位技术的飞速发展,移动用户的位置信息比以往任何时候都要更加丰富。通过用户的时空行为数据预测人群流量对智慧城市建设有重要意义,进而为人类移动模式挖掘、交通事故预测以及城市规划提供辅助决策支持[1]。然而,以下3个方面的问题导致传统方法(如线性回归)很难实现理想的预测性能:① 传统的路边检测仪器包括视频图像处理技术、环形线圈检测器和超声波检测器等,经常会受到环境的干扰,对外界因素较为敏感[2];② 现有检测方法均需要较高的安装成本和复杂的基础设施[3],例如需要安装在地下的环形线圈检测器,经常会受到道路上重型车辆碾压而损坏,增加了维修费用;③ 时空行为数据大多是多模态数据[4],包含时间、空间以及专题属性等信息,这些数据蕴含着非常复杂的时空依赖关系及上下文语义,浅层模型一般很难捕获深层次关系和语义。
云计算技术在诸多领域已经取得了巨大的成果并广泛应用于日常生活中,尤其在智慧城市建设方面取得了显著的成果,主要涉及智慧环境、智慧交通和智慧安防等领域,并且推进了一系列云平台的成功发展,如公共信息数据服务平台、智慧城市网络传输平台和基础设施信息交流平台等。云计算技术利用云中广泛分布的计算资源对大量的数据信息进行收集、分析和存储,在智慧城市建设中发挥关键支撑作用。利用云服务器丰富的虚拟资源和较高的计算速度,将复杂的计算任务卸载到云服务器上,是缓解本地基础设施计算压力并且提升系统性能的有效方法[5]。正因为云计算技术具备良好的计算能力,所以能够满足日益增长的数据分析需求,为用户提供高效的数据管理方式。
传统方法处理海量数据时通常使用启发式算法,这类算法处理大规模数据时性能表现较差,并且需要额外的计算力来执行流量预测,不满足智慧城市建设中延迟容忍的要求[6]。然而,当数据规模增加时,深度学习算法得益于其标记数据并提供解决问题的能力,会有较明显的性能提升。针对智慧城市中应用程序通信量和计算量的增长,深度学习驱动的方法可以帮助减轻决策、动态资源分配和内容缓存的负担。然而,如何为云环境下的人群流量预测定制深度学习技术仍然是一个挑战。
为了解决上述问题,本文提出一种云计算环境下基于深度学习的人群流量预测框架(Deep Learning-based Crowd Flow Prediction Framework in Cloud Computing,DL-CFP)。DL-CFP集成一种新的双区域相关机制捕捉空间相关性,邻近单元和扩张单元分别负责相邻区域和偏远区域的空间相关性。然后,利用卷积长短期记忆(Convolutional Long Short-Term Memory,ConvLSTM) 模型捕获时间相关性,并且设计了一种区域增强注意力机制,以更广泛地捕获数据的时空相关性。最后,将多层输出串联并经过卷积处理得到最终预测结果。
综上所述,本文的主要贡献包括:
① 提出了云计算环境下利用深度学习模型预测人群流量问题;
② 利用邻近单元和扩张单元分别捕获相邻区域和偏远区域的空间相关性;
③ 提出了区域增强注意力机制,使模型能够捕获更丰富的时空相关性,提高预测的质量;
④ 在2个真实出行数据集上通过大量对比实验评估了DL-CFP模型,其时间性能和准确率均优于当前主流方法。
1 相关工作
与传统的人群流量预测方法不同,本文主要涉及云计算技术和深度学习2个方面,下文将分别介绍这2个方面的研究现状。
1.1 云计算技术
随着智能设备的升级与发展,云计算技术迅速拓展到更广泛的领域。得益于广泛部署的云计算平台,用户可以轻松实现数据的在线存储和计算,并在分布式部署的基础上进行快速的数据传输与分享。郎大鹏等[7]针对云计算技术暴露出的脆弱性,提出了一套可用于抵御样本攻击并实现防御检测的攻防验证体系。该体系通过系统内部自动生成样本对抗算法,进而测试云应用的安全性,并且借助内置的评估模块,用户可以对自定义的攻击手段进行自主评估和迭代验证。陈勇等[8]针对云计算平台中并行数据挖掘研究提出了一个大数据关联规律挖掘分析模型,该方法为弥补传统数据挖掘算法效率低下的缺陷,通过挖掘大规模数据集中的取值规律并加以计算,确保云平台能够准确完成相应的数据分析任务。Bilal等[9]提出了一种基于云计算的多视图视频捕获方法,该方法通过收集多个参与者为同一场景捕获的不同视图,通过分配可用资源将视图进行代码转换,最大限度地提高观众的整体满意度,将其组合成多视图视频,观众可以从不同角度观察同一场景,这一工作将云应用提升到一个新的沉浸式水平,用户的体验更好。
1.2 深度学习
深度学习属于机器学习的一个子集,由于具备处理海量数据的能力,许多研究者已经将其应用于时空预测任务中并取得了优异的研究成果。孙炯宁等[10]提出一种结合时空预测和深度学习的单目标视频跟踪模型,该模型以SiamMask深度学习网络为基础加入了兴趣目标识别技术,在模型中融入时空目标跟踪技术,实现了目标的快速识别与跟踪,有效地解决了复杂环境中目标视频跟踪的稳定性问题。王港等[11]提出了一种基于深度学习网络的遥感目标检测及特征提取模型,该模型利用卷积神经网络(Convolution Neural Network,CNN)的成像特性来研究目标遥感影像,结合卷积结构提取目标模型特征,提高了遥感影像执行目标检测任务时的深层次网络设计能力。Yao等[12]提出了一种新的时空动态网络,该方法引入了门控机制来学习时空位置之间的动态相似性,并设计了周期性转移注意力机制来处理时间周期较长的问题,该方法有效应对了时空预测问题中复杂的空间相关性和时间动态性问题。Zhou等[13]提出了一个基于深度神经网络的车辆调度预测模型,该方法采用基于卷积和ConvLSTM单元的编码解码器框架来识别复杂特征,通过捕捉用户需求对时空的影响来提升上下文感知交互能力,并且加入注意力模型来强化人群迁移规律存在的潜在影响,该研究有利于解决需求与服务不匹配问题,为制定有效的车辆分配计划提供了保障。
云计算技术和深度学习已经取得了诸多研究成果,本文目的是找到一种在资源丰富的云环境下进行深度学习的方法,将云计算应用于任务卸载,并进一步解决时空预测任务中人群流量的预测问题,与已有工作相比,本文提出的框架延迟更低并且容错率更高。
1.3 总体框架
本文提出一个云计算环境下基于深度学习的人群流量预测框架,通过智能移动设备(如智能手机、便携式电脑和多媒体播放器等)收集用户的位置数据,主要包括行人数量、行进速度、行进方向、当前位置信息以及当前时间信息,聚合后发送到云端服务器,以便分析人群分布情况,模型总体框架如图1所示。
图1 模型总体框架Fig.1 Framework of the proposed model
提出一个3层的系统架构,从下到上分别是数据收集层、网络传输层和云服务层。在数据收集层,通过智能设备群、互联网设备群、工业设备群收集与位置有关的数据,包括速度、方向和位置。在网络层传输层,使用5G技术实现设备群和云平台之间数据的传输。在云服务层,提出了一种基于深度学习的人群流量预测算法,实现移动人群的实时流量预测。
2 问题表述及模型
2.1 相关定义
定义1 区域单元。将城市C按照经纬度划分为m×n的网格地图,每一个网格被定义为一个区域单元,所有的区域单元可以用集合的形式进行定义,即:D={d1,1,…,di,j,…,dm,n},其中,di,j表示网格地图中第i行、第j列的区域单元。
定义2 流量图。给定一个区域单元D以及该区域单元的时空流量值(包括人群流入量和流出量),则区域单元D在时间戳t内的时空流量值被定义为一个流量图,用矩阵形式表示为Xt∈Dm×n。
2.2 基于深度学习的人群流量预测模型
本文提出了DL-CFP模型,该模型使用卷积操作来捕获不同区域间的空间相关性,并利用ConvLSTM模型计算时间相关性。DL-CFP的网络结构如图2所示。首先,将整个城市视为一个图像,将时空图分别输入到邻近单元和扩张单元,用于计算相邻区域的空间相关性和偏远区域的空间相关性。其次,将2个模块的输出通过ConvLSTM模型对序列中的时间相关性进行建模。然后,利用区域增强注意力机制描述空间相关性的重要程度。最后,将输出串联并通过一个1×1卷积层和tanh函数得到最终预测结果。
图2 DL-CFP网络结构Fig.2 Structure of the DL-CFP network
2.3 空间相关性
传统基于ConvLSTM神经网络的研究通常利用几个局部卷积来捕获相邻区域之间的空间相关性,导致较远距离区域之间的空间相关性容易被忽略。Lin等[14]的研究表明,区域分布相似的2个地区,即使它们在地理位置上不接近,也可以呈现出非常相似的时空数据模型。因此,本文提出一种双区域相关的机制,该机制分别考虑相邻区域的强相关性和偏远区域的弱相关性,通过邻近模块捕获附近地区的空间相关性以及扩张模块捕获偏远地区的空间相关性,将2个模块的输出合并得到目标区域的空间表示。
2.3.1 邻近单元
定义4 邻近单元。通过多个局部卷积来捕获相邻区域的空间相关性,在相邻区域相关性捕获模块中,邻近单元包括3个3×3卷积层,用于捕获附近7×7区域的空间相关性。3×3卷积层定义如下:
(1)
空间特征的相关性可以通过共享权重的周期核来提取,通过调整卷积模式来融合多尺度特征的语义,而不需要引入额外的参数,降低了计算复杂性,通过邻近单元计算相邻区域的空间相似性是一种新颖而高效的方法。
2.3.2 扩张单元
定义5 扩张单元。通过3×3的扩张卷积来学习偏远区域之间的相互作用,旨在扩大视野感受,弥补固定大小的卷积核无法收集偏远区域空间相关性的缺点,从不同尺度提取空间相关性。定义如下:
(2)
通过改变扩张因子的值,可以在不改变特征图尺寸的同时扩大感受野。
图3分别例举了k取1,2,3的扩张卷积,更直观地说明不同扩张因子所带来的感受野。可以直观地发现,通过改变扩张因子可以有效捕获较远区域的空间相关性,并且不会增加卷积层的数量。因此,考虑到每个城市区域的大小不同,可以使用含有不同扩张因子的扩张卷积处理不同距离区域之间的空间相关性。
图3 不同扩张因子的扩张卷积Fig.3 Dilated convolutions with different factors
综上所述,利用式(3)将邻近模块捕获附近地区的空间相关性和扩张模块捕获偏远地区的空间相关性动态合并:
(3)
式中,Wc表示邻近单元的权重矩阵;Wf表示扩张单元的权重矩阵。
2.4 时间依赖性
ConvLSTM网络模型是一种循环神经网络架构,本文将其用于处理高维的空间序列数据并对序列中的时间依赖性进行建模。
ConvLSTM模块逐个相连,每个ConvLSTM模块均有2个输入与权重矩阵进行卷积计算(首个模块除外),分别是当前模块输入xt以及上一个模块输出的隐藏状态ht-1,其网络结构如图4所示。
图4 ConvLSTM网络结构Fig.4 Structure of the ConvLSTM network
ConvLSTM包括以下4个单元:记忆单元ct负责存储信息,属于长时记忆;输入门it负责控制判断在存储单元是否包含新的信息;遗忘门ft负责过滤上一时刻的信息;输出门ot控制输出更新后的信息,上述单元计算如下:
it=σ(C/(wxi,xt)+C/(whi,ht-1)+bi),
(4)
ft=σ(C/(wxf,xt)+C/(whf,ht-1)+bf),
(5)
ot=σ(C/(wxo,xt)+C/(who,ht-1)+bo),
(6)
ct=ft⊙ct-1+it⊙tanh(C/(wxc,xt)+C/(whc,ht-1)+bc),
(7)
式中,wxi,wxf,wxo,wxc分别表示输入门、遗忘门、输出门和记忆单元的权重矩阵;bi,bf,bo,bc分别表示输入门、遗忘门、输出门和记忆单元对应的偏执向量;σ表示Sigmoid激活函数,将输入的变量映射到[0, 1],作为控制各个门的开关;C/表示卷积操作;⊙表示哈达玛乘积。
2.5 区域增强注意力机制
多头注意力机制已广泛应用于神经网络模型,用于识别每个特征的属性权重并筛选数据中关键的特征,过滤无效的输入数据,以此突出数据的重要性。Vishnu等[15]的研究表明,当给定相同的查询、键和值时,多头注意力机制可以学习到不同的特征,弥补了单头注意力机制在训练时容易过度集中单个位置的缺陷。为了更广泛地捕获空间相关性,提出了一种区域增强注意力机制,用于描述不同时间步长帧之间的空间相关性,具体计算如下:
score(Xt,q)=tanh(Ws·Xt+Ws·q),
(8)
A(q,k,v)=softmax(score(Xt,q))=
(9)
MA(q,k,v)=Wm·[A1,A2, …,At],
(10)
式中,score(·)表示注意力得分函数;Ws表示学习参数;A(·)表示单头注意力机制的输出;q表示查询向量;k表示键向量;v表示值向量;MA(·)表示多头注意力机制的输出;Wm表示学习参数。
将所学特征的注意力得分进行加权计算,捕获不同时间步长之间的空间相关性,计算如下:
(11)
将注意力机制的输出与卷积层输出串联,通过1×1的卷积层,形成自注意增强卷积,最终的输出定义如下:
(12)
3 实验结果与分析
3.1 实验设置
为了评估DL-CFP模型的性能,在2组真实数据集上进行对比实验:
① 滴滴出行数据集:该数据集包含中国成都600多万次出租车出行记录,选用2016年7—10月的数据,将区域大小设置为20×20,时间间隔设置为20 min,数据集被划分为6 624个时间片段。
② 纽约出行数据集:该数据集包含纽约市1 300多万次出租车出行记录,选用2015年5月—2016年9月的数据,将区域大小设置为30×40,时间间隔设置为20 min,数据集被划分为8 784个时间片段。
本文的实验环境描述如表1所示。
表1 实验环境描述Tab.1 Description of experimental environments
为了保证实验结果的公平并避免不确定性,本文使用不同数据集时间片最后20 d的数据作为测试数据,剩余的数据作为训练数据。
3.2 评价指标
本文使用均方根误差(Root Mean Squared Error, RMSE)和平均绝对误差(Mean Absolute Error,MAE)来评价DL-CFP模型收敛后的准确度情况,计算如下:
(13)
(14)
本文使用一种基于网格的准确率计算方法来衡量模型预测的准确性:将二维数据空间分为|M|个相等大小的网格,通过对比每个单元网格中的预测值和实际值可以得到准确率(ACC),计算如下:
(15)
3.3 基准方法
为了验证DL-CFP模型的各方面性能,本文引入以下基准方法进行对比实验:
① CNN模型[16]是基于卷积层的深度学习模型,能够学习局部空间相关性。
② RNN模型[17]是基于递归结构的深度学习模型,能够捕获时间依赖性。
③ ConvLSTM模型[18]是LSTM的变体,它在LSTM单元内包含卷积操作。ConvLSTM考虑了时空数据的空间与时间依赖性,广泛应用于时空预测任务。
④ DeepST模型[19]是一种用于城市人群流量预测的深度学习模型,通过分析时间变化引起的人流变化趋势对时间依赖性进行建模,并通过CNN来计算城市的空间相关性。
3.4 实验结果分析
3.4.1 预测误差对比
首先,本文比较了不同方法在滴滴数据集上的预测性能,其RMSE和MAE比较结果如图5所示。
(a)不同方法的RMSE比较
(b)不同方法的MAE比较图5 不同方法在滴滴数据集上预测误差比较Fig.5 Prediction error comparison of different methods on Didi dataset
由图5可以看出,传统RNN方法在所有方法中性能最差,这是因为RNN仅关注每个区域的时间关系,而忽略了空间相关性。ConvLSTM模型是一种流行的时空数据特征学习模型,其性能较高于其他传统模型,然而,它的表现不如本文所提DL-CFP模型,原因在于所提出的双区域相关机制提高了预测的准确性。
为了测试所提出的区域增强注意力机制是否有效,将DL-CFP模型与DeepST模型进行比较。DeepST模型考虑到近距离和远距离的空间相关性,但未引入注意力机制,实验结果表明,DL-CFP模型的RMSE和MAE均低于DeepST模型,说明本文提出的注意力机制更好地捕获了不同区域之间的空间相关性。DL-CFP模型的RMSE值比CNN值降低了约15.7%,MAE值降低了9.2%,说明同时使用卷积的情况下,综合考虑相邻区域和偏远区域的DL-CFP模型的预测结果与实际结果拟合更好,更接近真实值。
进一步,比较了不同方法在纽约出行数据集上的预测性能,其RMSE和MAE比较结果如图6所示。
(a)不同方法的RMSE比较
(b)不同方法的MAE比较图6 不同方法在纽约出行数据集上预测误差比较Fig.6 Prediction error comparison of different methods on NYC-taxi dataset
由图6可以看出,传统的深度学习模型在处理规模较大的纽约出行数据集时性能较差,ConvLSTM模型由于具备提取空间特征和时间特征的神经单元结构和神经网络结构,其性能优于CNN和RNN模型,较CNN模型RMSE和MAE分别降低了16.3%和13.9%,较RNN模型RMSE和MAE分别降低了13.1%和6.7%。此外,当数据集规模较大时,DeepST模型可能将不确定的数据映射到高维空间,无法充分利用空间和周期特征进行流量预测,导致预测性能较差。在处理大规模数据集时,DL-CFP模型的性能均优于上述所有算法。相比于其他模型,本文所提DL-CFP模型不仅可以提取空间特征,还可以提取时间特征,因为该模型建立在一个混合深度神经网络之上,包括了CNN和LSTM神经网络,可以更有效地提取空间特征和时间特征。具体来说,DL-CFP模型利用一种双区域相关的机制分别捕获相邻区域和偏远区域的空间相关性,借助ConvLSTM模型对时间依赖性进行建模,特别地,由于区域增强注意力机制的存在,随着预测范围的增加,DL-CFP模型的预测性能与其他模型的性能相比,性能优势越明显。
3.4.2 准确率分析
为了研究训练集规模变化对预测准确率的影响,本文通过改变训练集大小来验证不同算法的性能,训练集的大小取值分别为20%,40%,60%,80%,100%,实验结果如图7和图8所示。
图7 滴滴数据集中不同训练集规模下预测准确性比较Fig.7 Prediction accuracy comparison at different scales of training sets on Didi dataset
图8 纽约数据集中不同训练集规模下预测准确性比较Fig.8 Prediction accuracy comparison at different scales of training sets on NYC-taxi dataset
由图7可以看出,随着训练集规模的增大,5种方法的准确率均有不同程度的提升,这表明训练集规模越大,模型的预测性能越好,DL-CFP模型的准确率在训练集规模20%~100%高于其他4种基准方法,平均准确率大约稳定在75.6%。DeepST模型的预测准确率在训练集规模扩大过程中增长幅度较为缓慢,而DL-CFP模型增幅较高,因为DL-CFP模型可以更深层次挖掘不同区域之间的空间依赖性。CNN模型和RNN模型预测效果均不佳,原因在于模型对于空间特征的提取不完全。此外,ConvLSTM模型的预测准确率大约稳定在67.3%,这表明综合考虑时间和空间对预测的影响是非常必要的,也证明本文所提方法的实际意义。
由图8可以看出,5种方法在纽约数据集上的准确率均低于滴滴数据集上的准确率,这是由纽约城市场景的交通条件比成都城市场景更加复杂导致的,而本文所提DL-CFP模型的预测准确率仍明显优于其他4种模型。CNN和RNN仍然是预测性能最差的2个模型,这是因为流量预测场景具有很强的时空相关性,而仅考虑单一元素的深度神经网络并不适用于变化较大的流量预测。ConvLSTM模型比DeepST模型准确率更高,因为ConvLSTM模型可以更好地学习到序列中的时间相关性。人群流量的变化不仅取决于给定区域流量随时间的演变,还取决于其他区域流量随时间的演变。因此,综合考虑了远近区域的空间相关性的DL-CFP模型受数据集规模变化的影响较小,在纽约数据集上平均预测准确率达到73.6%,优于其他主流方法。
4 结束语
本文提出了一种云计算环境下用于人群流量预测的DL-CFP模型,DL-CFP模型综合考虑了空间相关性和时间依赖性,分别利用邻近单元和扩张单元捕获相邻区域以及偏远区域的空间相关性,并且利用ConvLSTM模型对时间依赖性进行建模。为了有效地捕获复杂的空间相关性,设计了一种区域增强注意力机制。实验结果表明,DL-CFP模型在预测性能和预测准确率上均优于其他基准方法。未来的工作包括:如何将DL-CFP模型扩展到更多的时空预测任务中以及如何利用特征丰富的异构地图信息解决数据稀缺的问题。