薛延明,李光辉,齐 涛
江南大学 人工智能与计算机学院,江苏 无锡214122
机动车是人们外出的重要交通工具,据公安部统计,截至2020 年6 月,中国机动车保有量达3.6 亿辆,即平均每4 人拥有一辆机动车;
全国机动车驾驶人数量达4.4亿,其中汽车驾驶人占总人数的90.9%,因此需要预测交通流量趋势以进行合理管控。然而,由于交通流数据的复杂性和庞大性,对其进行预测是极具挑战性的。首先在时间维度上,交通流数据具有波动性和突变性,其整体呈现周期性,但是在某段时间内可能产生异常。其次在空间维度上,交通网络存在复杂的道路位置依赖关系,比如在城市的十字路口处的道路就具有极强的相关性,预测交通流将呈现何种流通形式将十分困难。
以往研究者通过传统机器学习方法进行交通流预测,比如向量自回归(vector autoregressive,VAR)[1]、支持向量回归机(support vector regression,SVR)[2]以及滑动平均自回归(autoregressive integrated moving average model,ARIMA)[3]。但是这些方法都是基于变化趋势平稳理想假设,复杂多变的交通流数据往往不符合这一理论基础。随着人工智能的兴起和发展,越来越多的人希望通过深度学习方法对交通流进行预测。研究者们通过循环神经网络(recurrent neural network,RNN)[4-5]、卷积神经网络(convolutional neural network,CNN)[6]以及自动编码器[7]进行建模。然而这些方法仅仅考虑了时间维度上的相关性,忽略了交通数据复杂的空间依赖关系。
交通流数据是非欧式结构的,其节点没有固定的邻域结构,很难直接对其进行卷积操作。为了解决以上所提到的问题,图卷积网络(graph convolutional network,GCN)应运而生。GCN 用拉普拉斯变换定义非欧式结构数据的卷积操作,Kipf等人首次提出并将其应用于分类任务中[8]。Zhao 等人[9]将GCN 和RNN结合挖掘交通数据的时空依赖关系。Yu等人[10]则通过CNN和门控机制来提取交通流数据的时空相关性。Li 等人[11]提出了扩散卷积网络提取交通流数据空间特征信息。Cui等人[12]提出了一种基于物理网络拓扑的流量图卷积网络,同时通过L1和L2范数提高了模型的可解释性。Wang等人[13]提出了一种可学习的位置卷积网络,提高了模型的预测性能。冯宁等人[14]用图卷积分别对日、周和近期数据进行特征提取来预测交通流数据。但是这些方法都缺乏灵活的局部特征提取能力。Cui 等人[15]将小波变换和RNN进行结合提取交通流的时空相关性。小波变换可以更好地提取局部空间信息,且不需要在图中指定领域范围进行特征提取。然而一条道路的交通状况不仅受其相邻道路的影响,还需要特别关注易发重大事故或者位于网络枢纽的道路。交通流数据还存在动态变化性,图中道路的相关性会随着时间而发生改变,一些重要的时间点可能是影响整体数据的关键点。然而,目前的方法通常将交通图看作静态图,通过固定的邻接矩阵来获得图中的领域空间相关性。同时利用RNN在提取时间特征信息时通常只考虑交通流数据的顺序相关性,然而交通流数据作为一种时序数据不只是顺序相关的,一些重大交通事故可能会影响交通网络相当长的时间,而现有方法忽略了时空动态变化性和影响大小关系。因此本文提出了融合图小波和注意力机制的交通流预测方法,实验证明该方法的预测误差低于现有的方法。
本文的主要贡献包括:
(1)提出了一种基于图小波变换和自适应矩阵的空间特征融合提取方法,该方法能分别提取交通流数据局部和全局空间特征信息,并通过注意力机制捕获空间特征的动态变化性。
(2)提出了一种时间特征融合机制,融合分别从改进的循环神经网络和自注意力网络中提取的局部和全局时间特征信息。
1.1 交通网络描述
交通网络的拓扑结构通常被认为是图结构,交通图可以表示为G=(V,E,A),其中V为图的顶点集合,代表测量车速的传感器节点集合,这些传感器被部署在交通道路上方或路边,每隔一段时间记录车辆速度。E表示传感器节点之间边的集合,反映了节点之间的连通关系。A为G的加权邻接矩阵,表示节点之间的距离。交通流数据可以表示为X=,t表示时间序列,n表示交通数据中传感器节点序号,表示节点n在时间t的交通速度。在真实的交通网络中许多道路都是双向道路,可将交通网络看成无向图。
1.2 图傅里叶变换
为了获得图中的空间依赖关系,在频域中定义卷积操作而实现。对于交通流数据X,图卷积操作*g通过核滤波器F对其进行卷积操作,其卷积核为gθ,U为Laplace 矩阵的特征向量,卷积操作可以表示为:
其中,D是一个度对角矩阵,Dii=∑j Aij。L表示图的Laplace矩阵,In表示单位矩阵。
由于在大型图中进行矩阵分解复杂性高,通过Chebyshev 多项式进行近似计算[16],可将计算复杂度降为O(K|ε|)[17],图卷积可以改写为:
其中,θ0、θ1分别是一跳和二跳节点的超参数,可以由θ统一表示。最后可以得到图卷积层的一阶线性表达式:
其中,H(l)代表第l层的输出,σ(·)是sigmoid 激活函数,W为可学习的权重矩阵。但是需要超参数来决定图卷积核的大小,因此在图中进行卷积操作不够灵活。
2.1 方法描述
本文方法通过图小波卷积层和自适应矩阵来提取空间特征信息,利用注意力机制来捕捉动态空间变化性。本文还提出了时间特征融合机制来提取时间特征信息,方法的整体框架如图1 所示,本文将其命名为STIGCN(graph convolutional network integrating spatio-temporal attention and graph wavelet)。
图1 STIGCN框架图Fig. 1 Structure of STIGCN
2.2 空间特征提取方法
现有大多数交通预测方法是通过图傅里叶定义图卷积操作,需要指定跳数来对一定范围内的邻居节点进行特征聚合,这使得中心节点的领域被一个指定半径的圆严格限制,因此提取特征过程不灵活,局部特征提取能力受到限制[15]。本文基于图小波变换进行卷积操作,小波变换具有局部化特性,可以捕获信号的突变并检测出信号中的峰值,将图小波运用在交通预测中可以捕获到交通网络中一些重要道路信息和路段中一些突变的交通变化信息,且不需要定义跳数,从而变得更为灵活,具有更好的局部空间特征提取能力。与图傅里叶变换类似,图小波变换也是将图信号映射到频域中进行卷积操作,不同的是傅里叶变换只能将时域信号分解为频域信号的组合,而小波变换可以展示信号随时间变化过程中相位最大的频率的位置和时间。图小波采用一个母小波函数将信号分解为不同的频率分量,在图网络中可以表示为一组小波基ψs=[ψs1,ψs2,…,ψsn],ψsi表示节点i相关的小波基。s为尺度参数,控制小波的大小,λ表示L的特征值。图小波基ψs可以表示为:
相比傅里叶变换,图小波基ψs和更加稀疏,因此计算更加快速有效。此外,图小波变换聚合局部节点信息来表征节点特征,从而提高了方法的可解释性。
然而交通网络中的空间关系是不确定的,道路节点除了与邻居节点密切相关以外,还和位于网络中心的重要道路节点相关,而这些节点可能相距较远,而通过基于距离计算的邻接矩阵无法体现出这些道路的相关性[18],因此本文采用了一个自适应矩阵在全局范围内进行空间特征学习,其表达式为:
其中,p和m分别是A前c个特征值组成的特征向量和对角矩阵,E1,E2∈RN×c,自适应矩阵以及图小波卷积可以分别提取局部和全局空间特征信息。由于空间依赖通常是非线性的,需要一个非线性激活函数,在本文中采用ReLU函数。通过一个对角权重矩阵Λ可以得到STIGCN的图卷积层迭代式为:
在小波变换过程中也可以用Chebyshev多项式进行近似计算,图小波的Chebyshev多项式可以表示为:
2.3 时间特征提取方法
本文通过一种新颖的RNN方法——记忆增强循环神经网络(memory-augmented RNN,MRNN)进行局部时间特征提取[19]。该方法是基于ARIMA 建模的,MRNN的结构如图2所示。
图2 MRNN结构图Fig. 2 Architecture of MRNN
MRNN是在RNN的不同位置添加了长期记忆滤波器,该结构也可以看作通过记忆参数c对历史数据进行软注意,从而提高了RNN的长期记忆能力。第i个长期记忆滤波器可以表示为:
其中,B表示时序分析方法中的后移运算符,BXt表示前一时刻的序列数据Xt-1。di是第i个记忆滤波器的差分记忆参数,可以保证预测的稳定性,di∈[0,0.5] 。
本文将经过图卷积提取空间特征的交通数据输入到MRNN中提取时间特征信息,其数学表达式为:
其中,K表示滤波长度,m(t)负责捕捉长期记忆信息,RNN的隐层状态h(t)负责捕捉短期记忆信息,两个单元并行运算得到时序数据的时间依赖关系。d(t)表示时间步t的差分记忆参数向量。GC(·)表示图卷积层操作,[]表示多个矩阵的拼接操作。在STIGCN中通过MRNN 可以得到时间的顺序相关性,计算得到未来T个时间步的局部时间特征HL。
2.4 基于注意力的时空特征提取方法
2.4.1 空间动态变化性提取方法
交通流数据的空间相关性会随着时间的变化而变化,例如某道路发生了交通事故,其将会成为未来一段时间里影响交通最大因素。只通过图小波和自适应矩阵对图中空间特征进行特征提取会忽略交通流的动态变化性,因此为了获取不同时间步的空间相关性,本文通过注意力机制[20]对不同时间步的交通空间图进行重要性系数分配,如图3所示。空间注意力机制可以使得各交通道路在不同时间点上聚焦于更重要更相关的其他交通道路的交通流特征信息。
图3 空间权重随时间的变化情况Fig. 3 Changes of spatial weight over time
对于图卷积层的输出Hs,通过权重矩阵Wq、Wk、Wv可以计算空间注意力层的输出Hatten,其表达式为:
其中,d表示Hs的输入维度。
在STIGCN中采用多头注意力机制,可以综合多个注意力层的结果进行特征表示。当有K个注意力头时,多头注意力可以表示为:
2.4.2 局部和全局时间融合机制
通过RNN 可以提取时间的相关性,但是其存在一些不足。首先RNN 具有遗忘性,随着时间序列的增加,RNN 会逐渐遗忘过去的特征信息,因此RNN只能获得局部的时间信息。其次RNN的时间特征表示是顺序的,但是在实际交通网络中时间依赖关系往往是复杂的,而不只是顺序相关的。例如某时刻发生了交通事故,则该时间点对未来的时间点影响将是最大的且会持续很长一段时间,而非主要受前一个时刻的影响。
由于交通网络时间依赖关系是交错复杂的,本文通过自注意力层对交通数据做了全局时间信息提取,其方法框架如图4所示。
图4 时间特征融合机制Fig. 4 Temporal feature fusion mechanism
然而自注意力层忽略了时序数据之间的相对位置关系,因此在计算之前需要使得方法平等地对待不同位置的数据。本文对输入数据Ht的每个位置进行位置编码,获得每个节点i的嵌入,其表达式如下所示:
将时间嵌入与原本的数据进行加和得到自注意力层的输入Hin[i]:
然后通过多头注意力机制可以得到全局时间特征表示HG:
最后通过卷积层Conv(·),权重矩阵Wl和Wg将局部和全局时间特征进行融合输出,其表达式为:
算法1STIGCN
3.1 实验数据集
本文基于两个真实数据集进行实验。第一个数据集为美国华盛顿州西雅图地区高速公路上的车流数据,名为Freeway Traffic 数据集[21]。该数据覆盖了4 条相连的高速公路,包括I-5、I-90、I-405 和SR-520。原始数据包括车速、交通量以及密度,在对该数据集进行了全面的数据清洗后选取了2015年一整年的高质量交通数据信息[22],包括323 个传感器节点。第二个数据集为美国加利福尼亚州运输部门的PEMS系统部分数据,简称为PeMSD7[23],实验采用时间跨度为2012年5月和6月工作日的数据,包含了228个节点。两个数据集中的数据均采取了每隔5 min进行采样。
3.2 实验数据处理
在Freeway Traffic 数据集中,邻接矩阵由0 和1组成,节点相邻为1,不相邻为0。交通速度数据采用了最大最小值归一化,将速度规定在[0,1]范围内,具体表达式如下:
在PeMSD7数据集中,邻接矩阵是根据交通网络中节点之间的距离计算的,通过以下计算得到邻接矩阵A:
其中,dij表示节点之间的距离,σ2和ε分别控制邻接矩阵A的分布和稀疏性,本文参照文献[10]分别设定为10和0.5。
交通速度数据采用的归一化方法如下所示:
3.3 实验环境和参数设置
本文基于Pytorch框架构建相关深度学习实验方法。所有的实验均在GPU 服务器上完成,该服务器CPU型号为Intel®Core™i9-9900X@3.5 GHz,GPU的型号为两块11 GB NVIDIA GTX 2080Ti,内存为32 GB。
数据前70%作为训练集,剩下的数据中20%作为验证集,10%作为测试集。STIGCN的批处理大小为32,每层神经元的丢弃率为0.1,注意力多头个数设置为4,图小波核尺度s在两个数据集中都设置为0.08,滞后系数k设置为8。所有深度学习方法的批处理大小均采用Adam函数作为所有方法的训练优化器,学习率初始值均设定为0.001。本文的评价指标包括平均绝对误差(mean absolute error,MAE)、平均绝对百分比误差(mean absolute percentage error,MAPE)和均方根误差(root mean square error,RMSE)。对于输入数据x,三种评价标准可以定义为:
3.4 实验结果分析
本文利用两个真实的交通流数据集进行实验分析及评估,在实验过程中将STIGCN与其他方法进行性能对比,对比方法包括8 种算法,分别是历史平均方法(history average model,HA)、支持向量回归机(linear support vector regression,LSVR)、记忆增强循环神经网络(memory-augmented recurrent neural network,MRNN)[19]、时间图卷积网络(temporal graph convolutional network,TGCN)[9]、时空图卷积网络(spatiotemporal graph convolutional network,STGCN)[10]、扩散卷积循环神经网络(diffusion convolutional recurrent neural network,DCRNN)[11]、图小波循环神经网络(graph wavelet gated recurrent neural network,GWGR)[15]、多注意力图神经网络(graph multi-attention network,GMAN)[24]。
MRNN的滞后系数k设置为8,TGCN的GRU隐藏层维度为64,GWGR的小波尺度s在两个数据集上都设置为0.08,隐层维度为64,输出层维度为128。STGCN[10]、DCRNN[11]、GMAN[24]的参数设置均参考文献,设置为默认值。另外,为了比较Chebyshev 多项式的效果,本文还通过Chebyshev表示图上的卷积操作,具体是对图小波进行了三阶近似计算,并设置方法STIGCN-Che。
表1展示了各方法在PeMSD7和Freeway Traffic两个数据集中的预测表现,实验中的方法均是通过前60 min的历史数据来预测未来45 min的交通情况。
表1 各方法在两个数据集上的预测表现Table 1 Prediction performance of each method on two datasets
图5 展示了所有深度学习方法的平均绝对误差MAE与迭代次数的关系,其中TGCN迭代了1 000次,图中仅显示100 次迭代结果。从图5 可知,STIGCN在Freeway Traffic 数据集中的MAE 是最低的,且收敛速度相较于其他算法也更快,由此可以说明STIGCN的泛化能力相较对比算法更加优异。
图5 Freeway Traffic数据集中各方法验证集迭代情况Fig. 5 Validation set iteration of each method in Freeway Traffic dataset
通过实验可知统计方法HA 和机器学习方法LSVR均无法捕捉复杂的交通流特征信息,预测效果不佳。对于MRNN这类RNN方法来说,其效果要明显优于机器学习方法,在15 min预测任务中对比LSVR和HA,Freeway Traffic 数据集上其MAE 分别降低了23.1%和29.4%,在PeMSD7 数据集上分别降低了18.4%和49.1%。这类方法缺陷在于只考虑了时间相关性,在短期预测中效果较优,但在长期预测中效果不佳,比如在Freeway Traffic数据集中,MAE在15 min预测中较STGCN 低了3.97%,但是在45 min 预测中高了2.84%。TGCN 和STGCN 是基于GCN 的方法,考虑了交通流数据中复杂的空间依赖关系,同时分别通过GRU和CNN考虑了时间依赖关系,因此在性能上要优于RNN模型。PeMSD7数据集上STGCN在30 min 预测任务中MAE 和RMSE 分别比MRNN 模型降低了10.1%和4.5%。而在45 min 预测任务中MAE 和RMSE 分别比MRNN 模型降低了17.7%和9.6%。TGCN 在前30 min 预测任务中性能不及MRNN,但在45 min 预测任务中的RMSE 降低了8.7%,由此可知随着预测时间步长的增加,深度学习模型的性能将逐渐优于RNN 方法。DCRNN 模型是基于扩散卷积来提取图中的空间相关性,在预测精度上要高于TGCN和STGCN。
实验还表明基于小波变换的图卷积网络方法在短期预测任务中的性能优于基于傅里叶变换的方法。GWGR在两个数据集中进行15 min预测任务的三个误差指标(MAE、RMSE、MAPE)均低于传统的GCN 方法,但是长期预测中效果不佳。本文提出的STIGCN 方法在长期预测中误差比GWGR 小,在Freeway Traffic数据集上,相比GWGR模型在15 min、30 min和45 min预测任务中误差(MAE)分别降低了6.1%、10.2%和14.2%。GWGR 随着时间步长的增加,性能下降迅速,主要原因是GRU 具有遗忘性,而STIGCN 通过MRNN 和注意力机制增强了模型的记忆性,从而提高了长期预测性能。本文方法还和采用了图嵌入表示和注意力机制的方法GMAN进行了比较,在预测性能上也优于该方法,尤其是在15 min预测任务中,STIGCN 要明显优于GMAN,其原因主要是图小波更能捕获交通网络中一些重要的路段和变化,同时自适应矩阵也能从全局角度发掘一些隐藏的重要道路信息,从而挖掘更多隐藏信息。
此外,实验还比较了STIGCN-Che和STIGCN之间的性能差异,如图6 所示。通过Chebyshev 多项式近似图上的矩阵分解可加快计算速度,在大型的图中可降低算法的复杂性。
图6 STIGCN和STIGCN-Che计算时间比较Fig. 6 Comparison of calculation time between STIGCN and STIGCN-Che
3.5 消融实验分析
3.5.1 图小波和自适应矩阵分析
STIGCN 通过图小波变换对图中的节点进行特征表示,图小波矩阵零值在两个数据集中的分布情况如表2所示。
表2 图小波矩阵稀疏情况统计Table 2 Statistics of graph wavelet matrix sparsity
图小波变换矩阵包括了一个对角权重矩阵Λ和小波基ψs,图小波变换矩阵可以表示为。本文将图小波基和图小波变换矩阵在Freeway Traffic数据集上进行了可视化展示,如图7所示。
图7 图小波和自适应矩阵Fig. 7 Graph wavelet and adaptive matrix
对比Laplace傅里叶基可以发现,ψs相比U更为稀疏,数量级远小于N2。因此在大型网络中进行图上的卷积操作复杂度更低,同时可以提高方法的可解释性。除此以外,本文还分析了自适应矩阵的权重分布情况,相比图7(c)的图小波矩阵,自适应矩阵可以从全局角度提取额外的道路节点空间特征信息。
3.5.2 注意力模块分析
STIGCN 采用注意力机制对图小波卷积和自适应矩阵提取的空间特征信息进行再提取,根据节点之间的重要性进行权重分配,从而可以捕捉空间特征随时间的动态变化性。图8 展示了在不同时间的空间相关性热力图,图中颜色越红表明节点被关注度越高,越蓝则相反。从图中可以看到,节点6 在不同的时间点上对邻近节点的关注程度不同。
图8 空间动态变化图Fig. 8 Spatial dynamic change diagram
3.5.3 时间融合机制分析
STIGCN 除了在空间上通过注意力机制获取空间随时间的动态变化性,在时间上也通过自注意力模块来获取时间的动态变化性,得到全局时间相关性。MRNN 可以获取时间的顺序相关性,顺序相关性是局部相关的特征提取方法,STIGCN 通过将MRNN和子注意力模块提取的时间特征进行融合而更好地提取交通流的时间特征信息。为了验证时间融合机制的有效性,设置了以下消融实验:
(1)RNN 方法。只通过MRNN 获得局部时间信息。
(2)自注意力方法。只通过子注意力层获取全局时间信息。
(3)顺序叠加方法。将MRNN 提取的局部时间特征直接传入自注意力模块中提取特征信息。
(4)信息融合机制。将局部和全局时间特征信息进行融合处理。
实验结果如表3 所示。从实验结果来看本文提出的时间融合机制提高了预测性能,由此可验证时间融合机制的有效性。本文还设置了注意力机制相关消融实验,STIGCN-NA 表示没有空间注意力机制,具体如表3所示。因此可以证明注意力机制能有效地获取空间动态变化性。
表3 两个数据集消融实验结果Table 3 Ablation experiment results for two datasets
3.6 参数选择
在本实验中,本文考察了一些重要的参数。其中小波核尺度参数s、隐藏层维度以及输出层维度是对算法影响最大的参数。本文将输入批处理大小设置为32,训练迭代次数设置为20,并在两个数据集上进行实验。
在PeMSD7 数据集中隐藏层维度设置为[16,32,64,128,200],输出层维度为[16,32,64,128,256]。水平轴表示维度大小,竖直轴表示不同评价标准的值,如图9 所示。在隐藏层维度和输出维度各为128 时,MAE 和RMSE 达到最小然后又上升,其主要原因是产生了过拟合。
图9 参数选择中误差变化情况Fig. 9 Error change in parameter selection
在Freeway Traffic数据集中,隐藏层维度设置为[16,32,64,100]。从图中可知当隐层和输出层各为64时误差达到最小。另外,本文将图小波尺度参数设置为[0.02,0.08,0.16,0.24,0.32],当尺度参数s在0.08时,在两个数据集中误差都达到最小。
3.7 交通流数据分析
本文在两个数据集上比较了一天的预测值和真实值的拟合程度,如图10 所示。其中车速的变化可以反映车流量的变化,平均车速降低表示车流量减少。从图中可知,STIGCN能较好地拟合真实值。此外从图中可以发现,Freeway Traffic 数据集的速度数据变化不平稳且波动较大,从图中无法看出明显的早高峰和晚高峰,但是在中午和晚上这段时间车流量明显减少。而从PeMSD7 中可以看到较明显的早高峰和晚高峰,从早晨4:00 到6:30 车流量显著减少,7:30 之后出现早高峰,同时在晚上17:30 后出现晚高峰。
图10 两个数据集中车速变化情况Fig. 10 Changes of vehicle speed on two datasets
本文提出了一种融合图小波和注意力机制的交通流预测方法。该方法通过图小波和自适应矩阵来分别提取局部和全局的空间相关性,并采用新颖的RNN模型MRNN来提取时间顺序相关性。为了获取交通流数据的时空相关性,本文将注意力机制加入到方法中,提出了一种时间融合机制来提取时间特征信息,实验结果说明了该方法能提高预测精度,降低预测误差。今后将考虑交通网络中结构相关性,并对方法的鲁棒性进行研究。
猜你喜欢 交通流注意力卷积 让注意力“飞”回来小雪花·成长指南(2022年1期)2022-04-09基于3D-Winograd的快速卷积算法设计及FPGA实现北京航空航天大学学报(2021年9期)2021-11-02从滤波器理解卷积电子制作(2019年11期)2019-07-04基于傅里叶域卷积表示的目标跟踪算法北京航空航天大学学报(2018年1期)2018-04-20“扬眼”APP:让注意力“变现”传媒评论(2017年3期)2017-06-13A Beautiful Way Of Looking At Things第二课堂(课外活动版)(2016年2期)2016-10-21交通流随机行为的研究进展西南交通大学学报(2016年3期)2016-06-15路内停车对交通流延误影响的定量分析中国工程咨询(2016年1期)2016-02-14具有负压力的Aw-Rascle交通流的Riemann问题数学年刊A辑(中文版)(2014年1期)2014-10-30一种基于卷积神经网络的性别识别方法电视技术(2014年19期)2014-03-11