Java教程

WWW2021:细粒度城市流量预测

本文主要是介绍WWW2021:细粒度城市流量预测,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

城市流量预测在智慧城市建设中扮演着非常重要的角色,有利于城市交通管理以及保障公共安全。京东城市时空AI团队针对该方向,已提出一系列研究成果[1-9]。然而,目前工作多是围绕粗粒度的预测任务,而面向城市精细化管理需求,需要提供更细粒度的精准流量预测。

基于此,京东城市时空AI团队提出一种新型时空AI模型——时空关系网络来预测细粒度的城市流量。相比于传统粗粒度城市流量预测问题,细粒度城市流量预测有两大难点:1)随着网格空间粒度划分的不断细化,相同距离的网格间空间关系会变得更长(多跳),此时考虑多跳空间关系(全局依赖)变得更为重要;2)在细粒度数据下,传统模型的外部因素学习模块参数过多,很难学习到外部因素对每个区域独立的影响。

为了解决这两个挑战,本文首先通过同时考虑局部空间关系与通道关系的主干网络来学习各区域的局部高层表征,然后通过全局关系网络更有效率地建模区域间的关系;并提出一个轻量的元学习网络来学习外部因素对于每个区域的影响。本文在两个实际细粒度城市数据集上进行了大量实验,结果表明本文所提方法的预测误差与现有方法相比减少了7%~11%,同时使用了更少的参数量。此外,为了证明该方法的实用性,我们打造了UrbanFlow 3.0,实现更细粒度的城市流量监控与预测。

一、研究背景

城市流量是城市的重要组成部分,例如行人流量和交通流量。如何准确地预测未来的城市流量是智慧城市建设中的一个关键问题,能为城市交通管理和保障公共安全提供指导性建议。考虑到其广泛的应用价值,京东智能城市AI团队针对该问题进行研究并已产出一系列研究成果,包括面向时空网格区域[1,2,7,8];时空不规则区域的流量预测方法[3];同时考虑区域内流量及区域间转移流量预测[4];考虑外部因素影响[5]等工作。然而在实际智慧城市建设场景中,面向城市精细化管理需求,往往需要细粒度区域的流量情况,从而为其提供精准的细粒度决策支持,比如图1所示,获取到150米*150米的细粒度城市流量数据相比600米*600米能更精确地部署交通资源或警力。然而,现有的城市流量预测研究及方法大多局限于粗粒度级别预测(例如在32*32 TaxiBJ数据集上[1],每个网格大小约为600米*600米),不能高效地应用于细粒度预测。

图1 粗粒度城市流量 vs 细粒度城市流量

针对该问题,考虑数据获取困难等情况,京东城市AI团队已提出一种从粗粒度区域到细粒度流量推断方法[6]。本文继续对该问题进行研究,从细粒度流量预测场景任务出发,提出一种时空关系网络来预测细粒度的城市流量。相比于传统粗粒度的城市流量预测,细粒度城市流量预测有两大挑战。

挑战一:如何高效地建模全局空间关系?

将城市更细粒度地栅格化能提供更细致的信息,同时会增大两个区域之间的距离。比如在图1当中(R1是办公区,R2是住宅区),R1和R2在细粒度情况下的距离(64跳)是粗粒度情况下的4倍(16跳)。所以在细粒度城市流量当中会出现更多的多跳距离转移流量,建模全局空间依赖性变得更加重要。在现有的模型[1,9,10]当中,主要使用堆叠更多的卷积层来提升感受野从而考虑多跳距离空间关系。这种方法的主要缺点在于计算复杂度高,而且提升了训练难度。另一个思路是在每一层直接建模每个网格单元和其他网格单元的关系,比如DeepSTN+[11]。然而,这种方法需要O(N2)的参数复杂度来建模全局空间关系,其中N是网格单元数目。随着分辨率的提升,会造成参数爆炸以及运算量过大。综上,如何高效地在细粒度条件下建模全局空间关系成为了一个挑战。

挑战二:如何高效地建模外部因素以及地块特征的影响?

建模外部因素(例如天气,时间,事件)在城市时空数据应用当中是非常重要的。现有工作例如DeepST[9]和ST-ResNet[1]设计了子网络去考虑外部因素对每个网格单元的影响。具体来说,先使用少量全连接层来将原始外部因素转换成嵌入向量,然后使用少量全连接层将该嵌入向量转换到与流量图相同尺寸的向量。当流量图的分辨率提升时,导致最后全连接层的参数量随着网格单元数量线性级别地提升。此外,这两种方法忽视了地块特征(例如兴趣点和路网结构)的影响。

为了解决这两个挑战,本文提出一种时空关系网络来高效地进行细粒度城市流量预测。针对第一个挑战,我们提出了一个全局关系网络来高效地在细粒度条件下建模全局空间关系。其主要思想是,我们不需要在原网格空间进行全局关系推断,而是在更高层次的语义空间(即区域空间)里建模全局空间关系。如图2所示,我们对原始网格空间的特征进行了空间转换,得到了更高层次的不规则区域表示(每个区域包含多个网格)。既然原网格空间中直接建模两个网格单元的关系上的复杂度为O(N2),N是网格数目,那么在高层语义空间里进行关系建模的复杂度会降到O(M2),其中M是区域数目并且M远小于N。此外,我们提出了一个适用于细粒度城市流量预测的元学习模块来同时学习外部因素和地块特征的影响。

图2 空间转换

二、模型详情

图3简单介绍了模型的框架,包括两个主要阶段:数据准备阶段和模型学习/预测阶段。第一阶段,首先选择关键的历史时间片(CPT范式[1],包含临近时间片,周期时间片和趋势时间片)来创建流量输入。同时,从数据库当中获取到外部因素和地块特征的上下文向量。第二阶段,模型遵循从局部到全局的范式。如图2所示,首先使用三个非共享的卷积层将历史时间片转换为嵌入。同时,设计了一个轻量的元学习器,将外部因素和地块特征作为输入,以学习对每个城市网格单元的外部影响。接下来把时间特征和元知识特征进行融合,并将融合得到的张量馈送到骨干网络进行局部感受野内的特征学习。这种融合策略允许不同类型的信息在骨干网络中进行交互,从而得到更全面的表示。然后,把局部尺度上获得提取的高级特征输入到全局关系网络(GloNet)中来捕获全局空间相关性并生成最终预测。最后,提出一个新的损失函数来优化模型权重,包括两部分:用于自动区域划分的最小割损失函数和用于衡量预测误差的平均绝对误差损失函数。

图3 模型总览

2.1 骨干网络

强大的骨干网络能显著提升城市流量预测的准确率,因为它可以帮助模型学习有用和有判别性的特征。DeepST是第一个基于深度学习的城市流量预测的解决方案。它通过堆叠卷积层来扩充感受野。随着网络深度的增加,由于消失梯度问题,导致DeepST难以训练。为了解决这个问题,残差网络(ResNet)被大量用于后来的研究当中作为骨干网络,例如ST-ResNet和DeepSTN+。但是,它们只强调空间维度上的依赖性,却忽略了特征图中的相关通道信息。所以,本文中使用了ResNet的变种SENet[12]来同时考虑局部空间关系和通道信息。值得一提的是,由于有全局关系模块的存在,所以并不需要在SENet当中堆叠大量卷积层,从而减少了计算量和参数量。

2.2 全局关系模块

提取完网格单元的局部特征后,本文提出了一个全局关系模块,相比现有方法能更高效地捕获全局空间关系。受图像关系推理网络的启发,提出在更高的二手域名交易平台地图语义级别(即区域级别)执行关系推理。该语义级别更易于捕获全局关系。此外,基于最小割(Minimum Cut)理论为区域划分设计了无监督损失。

图4描述了全局关系网络的整个流程,包括四个主要阶段:区域划分,空间转换,消息传递(关系推断),反空间转换和预测。

 

 

图4 全局关系模块

(1)区域划分:作为空间转换的前提,需要得到网格单元到区域的分配矩阵B。该矩阵指示了每一个区域包含哪些网格单元。一个简单做法是通过路网分割,但是不能考虑到即时的交通信息。所以使用局部网格单元特征(包含即时交通信息以及元信息)通过一个线性变换和softmax函数生成分配矩阵B。然而,简单通过线性变换不能保证相邻网格单元在分割当中的临近性。为此,使用最小割理论去约束分配矩阵的生成。

(2)空间转换:根据分配矩阵B,将局部网格单元特征聚合到区域空间中以获得区域特征,并生成区域间的连接关系(即区域网络的邻接矩阵)。

(3)消息传递:由于区域以图的形式连接,因此利用图卷积网络在区域级别执行消息传递,来进行全局关系的建模。

(4)反空间转换和预测:当得到全局关系建模后的高阶区域特征后,根据分配矩阵B进行反投影到原网格空间,得到全局关系增强的网格单元特征。最后,把该全局关系增强的网格单元特征输入到预测器进行预测。

2.3 元学习模块

城市流量与外部因素(如天气,时间和事件)具有很强的相关性。如 5(a)所示,在春节期间,北京某个网格单元中的出租车流量与正常情况下的流量明显不同。从图5(b)中可以看出,与下一周的同一天相比,雷暴极大地减少了办公室区域的人口。

图5 外部因素影响案例

此外,地块特征(比如兴趣点分布和路网结构)可以指示网格单元的地块功能,因此有助于交通模式推断。某些POI类别甚至可能与城市流量有直接因果关系。如果某个位置的居住密度很高,我们可以在工作日的早晨看到大量的外出流量。相反,拥有许多办公楼的区域通常在工作日晚上有大量流量流出。此外,路网结构为交通建模提供了很好的补充,例如道路的数量和总长度。图6显示了北京的饮食分布图(一种兴趣点)和道路(一级和二级)分布图。我们可以很容易地观察到它们与图1中的城市流量分布具有相关性。

图6 兴趣点和路网特征分布

通常,具有相似地块功能的网格单元将对外部因素具有相似的响应。基于此观察,本文设计了一种新颖的元学习器,以基于矩阵分解对外部因素产生特定于网格单元的影响。给定地块特征和外部特征,目标是计算每一个网格的响应。图7是该模块的简图,具体过程详见论文。与DeepST和ST-ResNet中的外部因素模块相比,本文方法中元学习器参数量和流量图分辨率无关。当流量分辨率提升时,该元学习模块不会参数爆炸以及过拟合。

图7 元学习模块

三、实验结果及落地应用

本文在细粒度的北京出租车数据集(TaxiBJ+)和欢乐谷人流量数据(HappyValley)上进行了模型验证。实验结果表明本文所提方法的预测误差与最新方法相比减少了7%~11%,同时使用了非常少量的参数。为了进一步证明全局关系网络和元学习模块的有效性,进行了大量的消融实验和超参数调整实验,实验设置和结果详见论文。

图片

为了进一步验证其实用性,我们部署了基于时空关系网络的云系统,用于监控和预测北京的细粒度城市流量。图8展示了它的主要交互界面。每个单元格的颜色表示其流量密度,其中红色表示密集,绿色表示稀疏。用户可以在界面上单击任何网格单元以查看详细信息,包括历史真实数值以及之前和将来的预测结果。我们的方法在应用层的好处体现在两个方面。首先,我们的模型适用于高分辨率流量数据。其次,轻量级属性对于移动部署至关重要,例如,我们的模型可以轻松集成到诸如多种地图应用中,以进行细粒度的城市流量预测。

图8 UrbanFlow3.0 系统

四、结论

面向智慧城市建设中精细化管理需求,本文提出一种时空关系网络来解决细粒度城市流量预测问题,对于城市的交通规划、公共安全、社会治理都有着非常重要的作用和意义。针对研究问题的两大挑战,本文方法构建了全局关系网络和一种轻量元学习网络,实现对空间(局部和全局)、时间依赖关系以及外部关系(例如天气和兴趣点)的高效学习,并在两个现实世界的细粒度数据集上进行实验,验证了所提方法的有效性。与现有方法相比,本文所提方法可以提供高分辨率流量预测数据,同时模型参数量不受流量粒度变化影响,避免了参数爆炸问题。因此该方法便于移动部署,拥有广泛的应用价值。考虑到落地应用中的实时监测预警需求,未来研究工作中,我们尝试将其扩展至在线学习框架中,进一步提升其应用价值。

本研究工作由新加坡国立大学与京东智能城市研究院联合出品。

这篇关于WWW2021:细粒度城市流量预测的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!