城市流量预测作为智能交通中的一个重要问题,致力于精确预测城市中不同区域的流量信息,从而更好地实现区域间的流量管控、拥塞控制以及保障城市公共安全。本文将介绍一种基于时空图扩散网络的城市交通流量预测模型。本文工作是由京东科技硅谷研发实验室,京东城市和华南理工大学合作的一篇论文《Traffic Flow Forecasting with Spatial-Temporal Graph Diffusion Network》,目前该论文已经被人工智能领域的顶级会议AAAI 2021(CCF A类)接收。
对城市中不同区域间流量的预测,作为智能城市应用平台中非常重要的任务,服务于智能交通系统。比如基于精确的汽车流量预测结果,交通服务平台可以进行实时的交通调度以缓解由于流量过大带来的拥堵。与此同时,及时对未来时刻人流量的预测,可以在一定程度上降低由于人流过大引起踩踏事件的概率。尽管区域间流量的预测在实现城市智能化中起着重要的作用,对复杂的时空流量数据进行准确的建模是一个非常困难的任务。其中需要从时间与空间两个维度出发,对流量数据的动态变化模式进行精确的学习,从而实现对城市区域间流量的精准预测。为了实现更加精确的交通流量预测,我们的研究工作设计了一种基于层级图神经网络的深度学习模型, 分别从时间和空间上对不同区域的流量信息进行建模。具体而言, 我们开发的预测模型基于多粒度的Attention机制, 对不同时间粒度上的流量变化的模式进行自动学习。与此同时, 该研究工作对交通流量在空间维度上的变化模式也进行了建模。不同于现有的方法仅仅只考虑局部的空间关系, 我们从整个城市的全局空间范围学习不同区域间的流量变化的关系。通过层级图神经网络的联合建模学习到全局的空间流量的变化模式以及基于地理位置的空间上下文信息。为了验证模型的有效性, 我们在多个公开数据集上进行了实验。实验结果验证了模型相较于现有流量预测算法的优越性,以实现整个城市不同区域更加精确的流量预测结果。
在实际时空数据预测场景中,区域的流量信息在时间维度上呈现出动态的变化模式。为了更加精确地学习流量数据在时间维度上的表示向量,作者通过在不同时间粒度下分别进行特征编码,以获取到不同周期下的流量变化趋势,比如每小时,每天,以及每周的流量波动的规律。针对每一个时间粒度下的流量序列建模,作者采用基于self-attention机制的信息融合模块对历史不同时间区间中流量数据间的关系进行学习。具体而言,在self-attention机制中,通过将输入的表征向量在query, key 和value维度上分别进行特征表示的映射,从而计算出不同时间区间中流量数据点间的关系权重大小。基于学习到的权重值,将时间维度上不同的特征表示进行融合,以实现在不同时间粒度下流量变化模式的学习。与此同时,为了从全局角度对城市不同区域间流量变化的关联性进行学习,作者设计了一种基于Graph Attention网络的表征信息更新模块,用于显式学习区域间流量变化模式的相关性。通过在所构建的区域图中进行基于Attention学习的embedding传递,最后学习到的区域表征向量中潜在地融入了其他相关区域的流量信息,以辅助针对流量信息表征学习的过程。在城市流量预测的任务中,对空间维度上下文信息的刻画也至关重要。在作者所提出的模型框架中,通过设计另一层的图扩散模型对区域间的空间信息进行学习。在构建区域关联图上,我们将具有空间邻接关系的区域,以及在上一层全局Graph Attention中具有较高关联性的区域,生成连接边以构建相应的关联图。基于所构建出来的图结构信息,我们首先生成相应的邻接矩阵,并以此作为基础进行消息的扩散与融合。通过对每个区域的出入流量的表征信息进行传递以及基于邻接矩阵的标准化操作,所学习到的每个区域的表征信息可以在一定程度上反应出基于空间的区域关系信息。因此,通过以上基于时间维度的流量变化建模以及空间上下文信息的融入模块,所提出的模型方案可以实现对流量数据的复杂时空变化模式进行有效的表征学习,对不同时间粒度的表征信息的合并机制,以促进不同粒度下所学习到不同时空模型的融合。该工作中所提出的模型通过在多个数据集上进行了效果的验证实验。所使用到的数据集包括纽约市的出租车、共享单车的流量数据,以及北京市的出租车流量数据。为了更加全面地验证模型的有效性,作者在验证中将其与基于不同架构的现有流量预测方案进行了对比实验。结果如下表所示:
该工作采用了RMSE和MAPE作为验证的指标来验证不同方法的预测精度。通过上表的结果可以看出,作者所提出的方法ST-GDN (Spatial-Temporal Graph Diffusion Network)在不同的数据集上均优于现有的流量预测算法。新模型在预测效果上的优势主要归功于所设计的基于层级结构的图扩散网络对于不同区域间流量信息的关联性进行了更加精准的学习。与此同时,本文对所设计的不同子模块的有效性进行了验证。实验中设计了多个模型变种,分别对流量序列的Self-attention编码器,基于Graph Attention的表征更新机制,空间上下文建模模块进行了验证。验证效果如下图所示:
通过上图的实验结果可以观察到,所设计的整体流量预测模型(ST-GDN)在不同区域流量预测的精准度上均优于其他模型的变种。因此,可以说明每个子模块在学习复杂的时空模型表征中均起到了积极的作用。为了进一步验证表征学习在不同的时间粒度下的作用,实验中通过在流量序列编码器中设置不同的时间粒度,进行了流量预测的实验。在实验中,作者通过对每小时,每天以及每周的时间粒度进行不同的配置: 仅考虑基于小时周期的变化模式(ST-GDNh),基于小时与天为周期的变化模式(ST-GDNh,d),基于小时与周为周期的变化模式(ST-GDNh,w),以及基于小时,天,周为周期的变化模式(ST-GDNh,d,w)。实验验证结果如下图所示:
通过对上图结果的观察,我们可以总结出考虑基于三种不同的时间粒度进行时空表征学习刻画出不同周期下流量数据的动态变化模式,从而进一步优化模型的预测效果。通过对所开发模型中关键的超参数的影响进行学习,可以有助于更好地理解模型。如下图所示,我们可以观察到在不同的参数设置下,模型的预测效果。比如较大的表征维度可能会造成模型的过拟合,以及较长的流量序列会在一定程度上引入噪音。