APP下载

基于图注意力机制的交通流预测模型

2023-08-09周安众谢丁峰

软件工程 2023年8期
关键词:交通流时空注意力

周安众, 谢丁峰

(湖南工业职业技术学院信息工程学院, 湖南 长沙 410208)

0 引言(Introduction)

近年来,研究人员为了消除交通流预测中的时空因素的影响,采用了各种深度学习模型[1]。其中,图卷积神经网络(Graph Convolutional Network,GCN)用于建模交通网络这类非欧结构数据已被证明是有效的[2]。在时间建模方面,递归神经网络(Recurrent Neural Network,RNN)是短时交通流预测(30 min以内)中的常用方法[3]。然而,对更长时间(45 min以上)的交通流预测效果仍不理想[4],具体原因如下。

(1)路网中节点信息不仅随相邻节点变化,还间接受到更远距离节点(高阶节点)的影响。传统深度学习模型以局部特征为中心,需要叠加多层结构提取全局特征,训练时容易出现梯度弥散问题,不能有效提取长距离空间依赖关系。

(2)交通流量发生周期性的变化,如日高峰时间或其他周期事件,有必要引入长期的历史时间依赖关系捕捉周期特征。长短期记忆网络和门控循环单元常用来提取长距离时间依赖关系,但在迭代训练时可能会导致误差累积[5-7]。

综上所述,本文提出一种结构化图注意力网络模型(Structural Graph Attention Network,SGAN)。一方面,SGAN采用注意力机制替代了传统深度学习架构中的局部卷积核,使其在长距离约束情况下能高效提取时空特征。另一方面,SGAN在计算注意力系数时利用节点的结构信息,不仅考虑了节点之间的特征相关性,还考虑了节点的连接方式。

1 问题描述(Problem statement)

对于交通流预测任务,建立图G=(V,ε,A),其中V是图G中的节点集,ε是边集,反映节点之间的连通性。A∈N×N表示G的邻接矩阵。同时,建立矩阵X(t)∈N×d作为t时刻的输入特征矩阵,其中N表示节点数,d表示特征的维度。给定图G中T个时间步的输入特征序列(X=[x(t-T+1),…,x(t)]),通过学习映射函数f预测未来T′个时间步的交通流(Y=[x(t+1),…,x(t+T′)])。G提供了图的空间信息,T则提供了图中交通流的时间信息,学习函数f将输入的T个历史时间步数据映射到未来的T′个时间步上。

2 模型架构(Model architecture)

2.1 整体架构

本文提出的SGAN整体架构如图1所示,由多个时空注意力模块组成,每个模块包含一个空间依赖层(Spatial Dependencies Layer, SDL)和一个时间依赖层(Temporal Dependencies Layer, TDL),并加入了残差结构[8]。历史周期数据经过特征转换后作为时空注意力模块的输入,并通过多个SDL和TDL生成最终输出。SDL主要关注节点在图上的结构依赖关系,而TDL则主要关注节点在时间步上的顺序依赖关系。

图1 SGAN模型的整体架构图Fig.1 The overall architecture of the SGAN model

一般来说,输入的T个历史时间步与待预测的T′个时间步相邻,为最近一个小时内的历史观测数据。此外,每日和每周的长期历史观测数据也能帮助预测未来交通流的周期变化[9],日数据设为待预测时间前一天的相同时间步,周数据设为待预测时间前一周的相同时间步,则最近的小时数据记为Xh,日数据记为Xd,周数据记为Xw,将三个数据进行连接作为SGAN的最终输入数据:

X=concat(Xh,Xd,Xw)

(1)

数据经过连接后包含交通流不同的周期模式,有利于模型提取长期影响下的周期变化特征,然后通过一个全连接层对其特征进行变换,得到一个高维向量,输入到时空注意力模块进行特征提取[10]。

2.2 空间依赖层

交通网络图中不同位置的节点因不同的连接方式导致其重要性存在差异,SDL中引入图注意力机制自适应地计算每个节点的注意力系数,即节点的重要度[11]。对于节点vi,对应特征为xi,则其输出特征zi通过公式(2)计算:

(2)

本质上,公式(2)是对vi的邻居节点的聚合操作[12]。xj是邻居节点特征,W∈dx×dz是待学习的参数矩阵,σ是激活函数,αij是vi相对于vj的注意力系数,由以下公式计算:

(3)

其中,n是vi的邻居节点数量,eij利用公式(2)中的共享参数W对特征进行变换,再由单层前馈神经网络函数a得到:

eij=a(Wxi,Wxj)

(4)

公式(2)通过聚合vi的邻居节点特征得到zi,没有考虑每个节点的连接方式。如图2所示,假设以A为中心节点,接收来自其邻居节点的信息,图3中D的不同边数将导致传递到节点A的信息强度不同。因此,需要考虑中心节点与其相邻节点之间的拓扑关系,并对拓扑结构进行编码,从而得到图的空间依赖关系。

图2 A节点接收邻居节点传递的信息Fig.2 Node A receiving information transmitted by neighboring nodes

图3 邻居节点的结构不同导致信息传递强度不同Fig.3 Different information intensities caused by different structures of neighboring nodes

基于以上问题,在注意力机制中引入结构信息。首先将单位矩阵I添加到邻接矩阵A中,为每个节点创建一个自循环:

(5)

(6)

(7)

(8)

图4 SDL提取高阶邻居节点的结构信息Fig.4 SDL extracting structural information of high-order neighbor

(9)

随着k的增加,注意力机制将应用于更高阶的节点,即更长距离的节点。结合公式(2),定义vi与第k阶邻居的注意力机制如下:

(10)

将提取到的不同阶特征连接起来:

(11)

2.3 空间依赖层

图5 TDL提取节点不同时间步之间的依赖关系Fig.5 TDL extracting dependencies between nodes at different time steps

(12)

(13)

(14)

为了提高特征的表达能力,采用多头注意力[14],由n个并行的注意力机制共同输出,并连接为最终的输出:

(15)

模型将上述多个时空模块进行堆叠,形成多层结构,并采用具有ReLU激活函数的全连接层作为模型的最终输出:

Y=ReLU(φH+b)∈T′

(16)

公式(16)不仅再次提高了特征表示的能力,还将最终的输出变换为真实预测值的维度,其中T′是用于预测的时间步长数。

3 实验(Experiment)

3.1 数据集描述

本文在以下三个真实交通数据集上验证SGAN的性能。

(1)METR-LA:该数据集包含从美国洛杉矶高速公路上的探测器收集的交通信息,选择了其中207个传感器从2012年3月1日到2012年6月30日采集的数据。

(2)PeMS-BAY:该数据集由美国加利福尼亚州运输机构(CalTrans)收集,包含325个传感器从2017年1月到2017年5月采集的数据。

(3)PeMS-S:该数据集也是由美国加利福尼亚州运输机构(CalTrans)收集,由228个传感器从2012年5月至2012年6月采集的数据。

以上所有数据集的时间步长的间隔为5 min,应用Z-Score标准化,70%的数据用于训练,20%的数据用于测试,其余10%的数据用于验证。

3.2 实验设置

本文实验均由谷歌TensorFlow深度学习平台实现,运行在NVIDIA Titan RTX GPU平台上,使用RMSprop优化器,迭代训练50次。三个周期数据的时间步长为Th=12,Td=12,Tw=12,历史时间步长总和T=36。预测时间步长T′=12,通过全连接神经网络将输入的原始周期数据转换为16维的特征向量,作为第一个时空注意力模块的输入。整个架构堆叠2个时空注意力模块,每个模块采用8头注意力机制,高阶参数k为3。

3.3 基准模型与评价指标

本文采用三个度量标准用于评估SGAN的性能,包括平均绝对误差(MAE)、均方根误差(RMSE)和平均绝对百分比误差(MAPE),将SGAN与以下代表性的基准模型进行比较。

(1)ARIMA:差分自回归移动平均模型,一种时间序列分析方法[15]。

(2)FC-LSTM:解决了LSTM只考虑时序,没有考虑空间相关性的问题,使用了带有全连接层的LSTM模型提取时空依赖关系[16]。

(3)STGCN:时空图卷积模型,使用CNN卷积的方式提取时空依赖关系[17]。

(4)DCRNN:扩散卷积循环神经网络,将交通流建模为扩散过程,采用扩散卷积提取空间依赖关系,采用RNN提取时间依赖关系[18]。

(5)Graph WaveNet:一种图神经网络架构,采用扩散图卷积提取空间依赖关系,采用带空洞的卷积核提取时间依赖关系[19]。

(6)ASTGCN:时空注意力模型,结合注意力机制和卷积核同时捕获时空依赖关系[9]。

(7)SLCNN:结构学习卷积模型,将传统的CNN扩展到图域并学习图的结构信息用于交通流预测[20]。

(8)NS-SGAN:在SGAN的基础上,去除了SDL和TDL中的转移矩阵和结构化向量,评估SGAN中结构化设计的有效性。

3.4 实验结果

表1和表2分别显示了在METR-LA和PeMS-BAY数据集上,SGAN与其他基准模型在15 min、30 min和60 min时的预测结果比较,从中可以看出,基于图结构的STGCN、GraphWaveNet以及本文的SGAN大部分数据皆优于FC-LSTM等非图结构模型,说明交通网络的结构信息对交通预测至关重要。与其他时空模型相比,采用了注意力机制的SGAN大部分数据优于基于卷积的STGCN和基于递归的DCRNN模型,而SGAN采用注意力机制提取长距离依赖关系,在60 min的预测中优势更明显,表明注意力机制在长时预测方面更有效。同时,SGAN的结果明显优于去除结构化信息的NS-SGAN,证明了注意力机制中的结构信息是重要的。

表 1 SGAN和基准模型在METR-LA上的性能比较

表3比较了SGAN与基准模型在PeMS-S数据集上针对15 min、30 min、45 min和60 min交通流的预测结果。采用图结构和注意力机制的模型,其表现优于包括ARIMA和FC-LSTM在内的时间序列模型,与基于GCN和RNN结构的STGCN、DCRNN模型相比,采用注意力机制的SGAN效果更优。由于ASTGCN只是部分采用注意力机制,仍然结合了卷积核进行特征提取,因此其无法有效提取长距离依赖关系,需要多个独立模块分别提取不同的周期特征,增加了模型的复杂性。相比Graph WaveNet,SGAN在45 min和60 min的预测上表现更好,证明了注意机制对更长时间交通流预测的能力;Graph WaveNet由于采用了小感受野的卷积核,因此在提取短距离依赖方面的表现不错,在长距离依赖方面不如SGAN有效,特别是SGAN采用完全的注意力机制,可以直接提取长距离时空依赖性,不需要通过叠加太深的层增加感受野,从而降低了模型训练的难度。

表 3 在PeMS-S 数据集上的实验结果对比

本文还分析了高阶情况下模型的性能,图6显示了在PeMS-BAY数据集上MAE取不同k值的结果比较。可以看出,k值越大,数据集上的MAE结果越小。当模型考虑更高阶的邻居时,k必须设置得足够大,以覆盖每个节点足够远的邻居。然而,高阶信息意味着更多的参数,当参数数量增加时,训练时过拟合问题会导致效果不明显。此外,对于较大的k值,经过多层特征提取后,图上节点的信息传递会过于平滑,注意力系数的权重会趋向于平均分配,对节点失去区分性。

图6 PeMS-BAY数据集上取不同k值的MAE结果Fig.6 MAE results of different values of k on PeMS-BAY

为了观察注意力机制的影响,从SDL提取出学习到的注意力系数矩阵并可视化。从PeMS-S数据集中随机选择的16个传感器(节点),其连接的结构如图7所示。图8是当k=1时的注意力系数热力图,点(x,y)处的像素值表示节点x对节点y的注意力系数,像素值颜色越深,表示对应的注意力系数权重越高。由于邻接矩阵A的对称性,因此系数矩阵也具有对称的形式。当k大于1时,观察到许多较深色的非对角块,因为阶数增加时,在感受野中有更多的节点,相当于可以提取到更长距离的节点依赖关系。以节点11为例,图8只考虑一阶邻居节点,如节点2、7、8及其自身。当k值增大时,可以从图9和图10中看到,节点11与更远处的节点产生了明显的注意力系数,即考虑了长距离的空间依赖性。

图7 随机选取节点形成的结构图Fig.7 Structure diagram formed by randomly selecting nodes

图8 k为1时注意力系数热力图Fig.8 Heat map of attention coefficient when k is 1

图9 k为2时注意力系数热力图Fig.9 Heat map of attention coefficient when k is 2

图10 k为3时注意力系数热力图Fig.10 Heat map of attention coefficient when k is 3

4 结论(Conclusion)

本文提出了一种基于图注意力机制的交通流预测模型,该模型摒弃了传统的卷积、递归单元,采用注意力机制能有效地提取交通网络图中的长距离时空依赖关系。同时,在注意力机制中引入了空间结构和时间结构信息,使模型不仅考虑了节点之间的特征相关性,还考虑了节点的连接方式,在长距离时空上能有效区分不同的节点。在真实数据集上的实验表明,该模型的预测结果明显优于现有模型。

猜你喜欢

交通流时空注意力
跨越时空的相遇
让注意力“飞”回来
镜中的时空穿梭
玩一次时空大“穿越”
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
交通流随机行为的研究进展
时空之门
路内停车对交通流延误影响的定量分析
具有负压力的Aw-Rascle交通流的Riemann问题