用于交通流预测的自适应图生成跳跃网络
Adaptive graph generation jump network for traffic flow prediction
收稿日期: 2020-12-10
基金资助: |
|
Received: 2020-12-10
Fund supported: | 国家自然科学基金资助项目(52072287);武汉理工大学自主创新研究基金资助项目(205210016) |
作者简介 About authors
黄靖(1977—),男,副教授,从事大数据分析、计算机视觉的研究.orcid.org/0000-0002-3294-5725.E-mail:
针对交通流数据复杂的时空相关性,提出新的基于深度学习的自适应图生成跳跃网络(AG-JNet模型). 该模型由2个时空模块组成,每个时空模块分为2支,分别对时间相关性和空间相关性建模. 时间建模采用多层扩张卷积,在增大时间维度感受野的同时降低计算开销. 空间建模采用自适应图生成卷积,在不依赖图的固定结构下提取空间相关性. 在时间和空间的建模中均采用跳跃连接堆叠多层,以提升模型的深层特征提取能力,将时间特征和空间特征进行门控融合,提取出用于交通流量预测的时空特征. 在2个真实数据集PeMSD4和PeMSD8上的实验表明,AG-JNet在不同指标下取得了优异的性能.
关键词:
A novel deep-learning-based model, adaptive graph generation jump network (AG-JNet), was proposed to solve the problem that traffic flow data has complex spatial-temporal correlations. The model consisted of two spatial-temporal modules, each of which was divided into two critical components, i.e., temporal correlation block and spatial correlation block. The temporal correlation block used multi-layer dilated convolution to increase the receptive field in temporal dimension while reducing computational cost. The spatial correlation block used adaptive graph generation convolution, which did not rely on the fixed graph structure to extract spatial correlation. Stacking multiple layers by jumping connections was used in both temporal and spatial modeling in order to improve the ability of extracting deep features of the model. The temporal feature and the spatial feature were fused by gated mechanism to obtain the spatial-temporal features for traffic flow prediction. Extensive experiments were conducted on two public datasets, i.e., PeMSD4 and PeMSD8. The experimental results showed that the AG-JNet achieved excellent performance under different traffic indicators.
Keywords:
本文引用格式
黄靖, 钟书远, 文元桥, 罗坤.
HUANG Jing, ZHONG Shu-yuan, WEN Yuan-qiao, LUO Kun.
近年来,随着人们对出行的需求增加,交通流量迅速攀升,从而使得交通拥堵严重. 如果能够提前准确地对交通流量进行预测,那么可以帮助市民绕过拥堵道路,避开高峰时间,降低市民的出行时间和成本,提高路网的运行能力和效率.
早期的交通流预测主要采用一些统计学方法,包括历史均值法(history average, HA)、自回归积分移动平均模型(autoregressive integrated moving average model, ARIMA)[1-2]和向量自回归模型(vector autoregressive models, VAR)[3]等. 这些早期的预测方法应用在高度复杂的交通流数据上效果不理想. 一些前沿方法采用循环神经网络(recurrent neural network, RNN)对交通流数据建模[4],但忽略了空间相关性. 为了提取到交通流数据的空间相关性,图卷积性能较好,但存在以下2个局限.
针对以上问题,提出用于交通流预测的自适应图生成跳跃网络(adaptive graph generation jump network, AG-JNet). 该模型使用自适应图生成卷积,使其能够自学习节点之间的邻接关系,结合跳跃连接使图卷积堆叠多层,使网络在学习到深层隐藏特征的同时保持各节点的独特性. 该模型通过时间嵌入引入周期信息,提升模型的预测能力. 通过在真实公路数据集上开展实验,提出的模型在相关交通指标下取得了优异的效果.
1. 相关工作
路网本身是拓扑图的结构,使用图卷积来捕获交通流数据的空间相关性更好. Zhao等[17]提出时间图卷积网络(temporal graph convolutional network, T-GCN),使用图卷积结合门控循环单元(gate recurrent unit, GRU)来分别提取空间和时间特征. Yu等[6]使用图卷积来提取空间特征,时间特征采用纯卷积的方式来提取,提出纯卷积的轻量时空网络. 冯宁等[18]考虑到交通流数据的周期性,提出多组件时空图卷积网络(multi-component spatial-temporal graph convolution networks, MCSTGCN);该网络分为3个组件,分别提取邻近、日、周的时间依赖特征. 为了提高模型的预测能力,注意力机制得到了大量的应用. Guo等[7]在MCSTGCN的基础上,加入注意力机制,提高了网络的预测性能. Zheng等[19]提出纯注意力的网络,对空间和时间相关性均采用注意力的方式建模,提出变换注意力机制,将历史交通特征转换为未来的表示,提高了网络长期预测的性能. Chen等[20]考虑了边的关系,通过对边构建图来提取边的相关性,结合RNN和注意力机制完成对交通流数据的建模. 通常,图卷积只能捕获局部空间依赖,为了解决该问题,Fang等[21]提出全局时空网络,该网络包含能够同时捕获长期依赖和短期依赖的时间模块以及能够同时捕获局部关联和全局关联的空间模块. Bai等[22]将图卷积公式进行改进,使其脱离图结构和参数共享的限制,结合GRU提出自适应图卷积循环网络,提高预测的精度.
2. 自适应图生成跳跃网络
2.1. 问题定义
将路网定义成无向图G=[V, E, A],其中V为节点集合,|V|=N为节点个数,E表示边集,A表示节点之间的连通性,A∈RN×N. 所有节点在时间步t的信息表示为Xt∈RN×F,F表示每个节点的特征数(速度、流量、占有率等). 交通预测问题定义如下:给定N个节点h个历史时间步的信息X=[Xt-h+1,Xt-h+2,···, Xt]∈Rh×N×F,预测未来p个时间步的交通流量Y=[Xt+1, Xt+2, ···, Xt+p]∈Rp×N×1,即
式中:fθ为映射函数,θ 为可学习参数.
2.2. 网络概述
图 1
输入输出卷积层的作用是扩维和降维,为了防止信息的丢失,每个卷积层采用2个1×1卷积,中间采用批归一化(batch normalization, BN)[24]和ReLU激活函数,以加快网络的训练.
2.3. 时空模块
时空模块是整个网络的核心,分为5个核心组件:特征注意力(feature attention, FA)、空间相关性建模(spatial correlation modeling, SM)、时间相关性建模(temporal correlation modeling, TM)、门控融合(gated fusion, GF)、时间嵌入(time embedding, TimeE).
2.3.1. 特征注意力
图 2
式中:f表示某个特征,δ为ReLU激活函数,σ为sigmoid激活函数,W1、W2分别为2个全连接层的权重参数,sf为相应的注意力系数.
2.3.2. 空间相关性建模
最近交通预测上的工作都是依靠图卷积来捕获交通数据的空间相关性,根据Kipf等[10]的研究可知,图卷积可以很好地一阶近似为
式中:I为单位矩阵,I∈RN×N
从式(5)可以看出,图卷积的实质是聚合邻接节点的信息. 如图3所示,第1次图卷积节点3聚合了节点1、2、3、4、5的信息,第2次图卷积节点5聚合了节点3、5、6的信息,由于节点3已经聚合了自身一阶邻接信息,节点5聚合的信息包含了节点3的一阶邻接信息,即节点5聚合二阶邻接信息. 由此可知,图卷积堆叠几层,即聚合几阶邻接信息. 对于密集的节点,使用多层图卷积会导致各节点特征的同质化,产生过度平滑的问题. 以1、2、3这3个节点为例,经过2次图卷积后,每个节点都聚合了节点1、2、3的特征. 对于稀疏的节点,浅层图卷积不能有效地聚合足够的邻域信息[11]. 为了解决该问题,在空间建模(SM)中堆叠多层图卷积,保证每个节点都能聚合到充足的邻域信息,同时添加层级跳跃连接,通过最大池化的方法进行层级聚合(layer aggregation, LayerAGG),使得每个节点自适应地聚合多阶邻接信息. 对于每个节点,最大池化为选取每层输出中的最大特征值,公式为
图 3
式中:
图卷积必须预先确定邻接矩阵A的值,应用到交通预测上需要根据经验提前确定各节点(路段)的邻接关系. 人为确定的邻接关系无法完全表示节点之间的隐藏关联,且应用到不同数据集上需要重新确定节点间的邻接关系. 为了解决这个限制,在空间建模(SM)中使用自适应图生成卷积[22](adaptive graph generation convolution, AGGC)来捕获空间相关性. AGGC初始化可学习的参数E∈RN×M,通过EET∈RN×N来推断出节点之间的空间依赖关系:
替换到式(5),即变为
AGGC通过训练自动学习节点之间的隐藏关联,从而脱离图结构的束缚.
2.3.3. 时间相关性建模
在交通预测上,很多方法采用GRU或LSTM对时间相关性建模,但会导致模型参数量大、训练难的问题. 为了轻量化模型,采用卷积的方式进行时间建模(TM). 对于输入X∈RF×N×T,在时间维度上进行卷积,将F看成通道C、N和T看成H和W,用大小为(1, k)的卷积核进行卷积. 为了捕获更多的历史时间信息,在时间建模(TM)中采用扩张卷积,且只在时间维度上进行扩张,如图4所示为扩张率为2的一个示例.
图 4
类似于空间建模,堆叠多层扩张卷积(dilated convolution, D_Conv),每层使用批量归一化(BN)和ReLU激活函数. 扩张卷积的感受野会随着层数的增加呈指数增长,不同层的输出包含不同感受野的时间信息,将每层的输出进行层级聚合(LayerAGG),形成多尺度的时间特征. 时间建模中的层级聚合采用拼接加卷积的方式,将每层的输出沿F维拼接,再用一个卷积开展进一步融合.
2.3.4. 门控融合
时间特征和空间特征对于交通流预测都十分重要,但哪种特征对预测结果的影响更大是无法确定的. 采用GRU中的门控方式,将时空建模的2个输出自适应地进行融合.
如图5所示,对于输入Xs∈RT×N×F和Xt∈RT×N×F,有如下公式:
式中:W为可学习参数,W∈R2F×F;
图 5
2.3.5. 时间嵌入
交通流数据存在明显的周期性,每周的星期一和每天的早晚高锋都会极大地影响交通流的变化,但图2中的时间建模(TM)只能提取邻近时间步的时间相关性,对天、周这种周期性依赖不能捕获,为此,在时间模块的输出阶段引入时间嵌入,赋予模型捕获周期性依赖的能力. 预测时间段的时间信息能够简单获取到,故提前对训练数据进行处理,使得每条数据新增时间信息特征
式中:
3. 实验与分析
3.1. 数据集
为了评估该模型的表现能力,在2个真实数据集(PeMSD4、PeMSD8)[7]上进行大量的对比实验.
PeMSD4是2018年1—2月旧金山湾区307个检测点收集到的数据. PeMSD8是2016年7—8月圣贝纳迪诺170个检测点收集到的数据. 这些数据被整理成每5 min一条记录,1 h为连续的12条记录. 采用标准归一化对数据进行处理,将数据集按6∶2∶2的比例划分为训练集、验证集和测试集.
3.2. 实验设置
使用Pytorch搭建AG-JNet,在GPU为RTX2080 Ti的设备上进行实验. 超参数设置包括:输入卷积层特征扩充的维度D=64,空间建模(SM)网络层数和时间建模(TM)中网络层数为4,且扩张卷积的扩张率统一设为2,时间嵌入中网络层数为3. 初始化方法统一采用Kaiming初始化[26],包括式(7)的参数E. 在训练中,学习率设为0.001,批次大小为64,使用均方误差(mean square error, MSE)作为损失函数,用Adam优化器进行优化. 模型将被迭代训练100次,取验证集效果最好的一次作为最终的模型参数.
模型评价指标采用平均绝对误差(mean absolute error, MAE)和均方根误差(root mean square error, RMSE),计算公式如下:
3.3. 模型评估
为了评估模型的预测性能,将AG-JNet与如下几个方法进行对比.
1) HA:历史均值法,利用历史一个小时的平均值来预测未来一个小时内的交通流量.
2) T-GCN[17]:结合图卷积和GRU的交通预测方法.
3) STGCN[6]:用带门控的普通卷积提取时间依赖,用图卷积提取空间依赖.
4) ASTGCN[7]:考虑周期性并加入注意力机制的时空网络,只考虑过去一周、一天及过去前一小时的情况.
5) AGCRN[22]:提出自适应图卷积,结合GRU实现对交通流的预测.
实验过程采用以上方法的Pytorch实现版本,且都是使用历史一小时的数据来预测未来一小时内的交通流量. 实验结果如表1所示.
表 1 不同方法在2个数据集上的性能比较
Tab.1
模型 | PeMSD4 (30/60 min) | PeMSD8 (30/60 min) | |||
MAE | RMSE | MAE | RMSE | ||
HA | 31.46/38.24 | 44.94/54.31 | 26.04/31.94 | 36.99/45.16 | |
T-GCN | 22.97/24.8 | 34.74/37.09 | 20.17/21.52 | 29.03/31.19 | |
STGCN | 22.85/25.8 | 33.62/37.68 | 19.85/22.27 | 28.25/31.52 | |
ASTGCN | 21.69/23.14 | 33.72/36.11 | 17.67/19.11 | 27.59/30.27 | |
AGCRN | 18.72/19.74 | 30.65/32.57 | 15.00/16.58 | 23.69/26.19 | |
AG-JNet | 18.53/20.08 | 28.19/30.43 | 15.15/16.12 | 22.80/24.59 |
如表1所示为不同方法在PeMSD4和PeMSD8数据集上进行0.5 h和1 h交通流预测的性能对比. 结果表明,提出的AG-JNet模型综合表现最好. 1)以RMSE作为评价指标,AG-JNet在各个数据集上,无论是短时预测(30 min)还是长时预测(60 min),性能均优于其他方法. 2)以MAE作为评价指标,AG-JNet在PeMSD4数据集上短期预测(30 min)的效果相对最好,但在长期预测(60 min)中的效果略差于AGCRN;在PeMSD8数据集上,AG-JNet和AGCRN的表现相反,这可能是因为PeMSD4的数据量更大,以GRU为基础的AGCRN模型,在数据集充足的情况下能够更好地捕获到一些长期依赖信息,PeMSD8数据量相对较少,使用扩张卷积的AG-JNet能够更好地完成长期预测.
为了比较不同方法在预测不同时长时的性能情况,以每10 min为一间隔,在PeMSD4和PeMSD8数据集上预测未来10 min到1 h的流量情况. 如图6所示的实验结果表明:传统统计学方法HA已被深度学习方法拉开了差距. 最近几年,使用图卷积的几个方法(T-GCN、STGCN、ASTGCN)性能表现比较接近,其中ASTGCN综合表现最好. 随着预测时长的增加,性能表现最稳定,这得益于周期性因素的考虑和注意力机制的使用. 本文的AG-JNet和AGCRN模型的性能超过了其他方法,在MAE评价指标下,AG-JNet和AGCRN性能表现非常接近,互有胜负. 在RMSE评价指标下,AG-JNet模型击败了所有方法,性能表现最佳. 综上所述,AG-JNet在不同预测时长上的综合表现最好.
图 6
图 6 相关方法在不同预测时长下的性能对比
Fig.6 Performance comparison of related methods under different forecasting time steps
3.4. 时间开销
为了减少计算资源的开销,模型的轻量化越来越被看重. 为了验证AG-JNet在时间开销上的优势,对各深度学习模型的规模及时间开销进行对比实验. 采用历史1 h数据,预测未来1 h交通流量,以PeMSD8作为训练数据,按6∶2∶2的比例划分数据集,在GPU为RTX2080 Ti的设备上进行实验. 实验结果如表2所示,RMSE作为性能参考. 表中,ttr为每轮训练时间,tt为测试时间.
表 2 不同交通流预测模型的时间开销对比
Tab.2
模型 | 参数规模 | ttr /s | tt /s | RMSE |
T-GCN | 13452 | 10.53 | 0.32 | 31.19 |
STGCN | 99124 | 6.45 | 0.49 | 31.52 |
ASTGCN | 560604 | 47.19 | 7.41 | 30.27 |
AGCRN | 150112 | 24.15 | 3.32 | 26.19 |
AG-JNet | 241079 | 18.27 | 1.84 | 24.59 |
从表2可以看出,基于RNN的模型(T-GCN、AGCRN)即使在参数量小的情况下训练时间比基于卷积的模型(STGCN、AG-JNet)长,这是因为RNN的每个单元输入都必须依赖于上一个单元的输出,限制了RNN的计算速度. STGCN是十分高效的网络,但由于结构相对简单,性能表现相对不足. ASTGCN由于参数量太大,导致训练时间和测试时间相对较长. AG-JNet虽然在参数量上相对AGCRN多,但训练时间和测试时间都相对较短,这得益于使用卷积代替RNN来捕获时间依赖. 从RMSE评价指标来看,AG-JNet模型在性能表现最好的情况下,时间开销相对较小.
3.5. 消融实验
为了通过消融实验验证我们模型各组件的作用,将模型分为以下5类.
1) AG-JNet-NGF:将AG-JNet中的门控融合改为普通的特征相加.
2) AG-JNet-NJ:在AG-JNet基础上去掉空间建模中的跳跃连接.
3) AG-JNet-GCN:将自适应图生成卷积改为一阶近似图卷积[10].
4) AG-JNet-GCN-NJ:将自适应图生成卷积换成图卷积,去掉空间建模中的跳跃连接.
5) AG-JNet-NT:去掉原模型中的时间嵌入.
由此得到在PeMSD4上的消融实验结果,如图7所示. 实验结果表明,去掉门控融合(AG-JNet-NGF),模型在不同预测时长下的性能均有下降,验证了门控融合的有效性. 将自适应图生成卷积改为普通图卷积(AG-JNet-GCN),性能下降明显,表明自适应图生成卷积捕获到的节点之间的隐藏联系,对交通流预测的影响十分重要. 对比AG-JNet、AG-JNet-GCN和AG-JNet-NJ、AG-JNet-GCN-NJ可知,去掉跳跃连接后模型的性能均有一定程度的下降. 去掉时间嵌入(AG-JNet-NT),模型失去了周、天的周期性信息,性能下降. 从图7所示的整体结果来看,各模型在短期预测时性能差距不大,但随着预测时长的增加,带有自适应图生成卷积(AGGC)的模型和普通图卷积的模型在性能上差异明显,说明自适应图生成卷积在长期预测中的有效作用.
图 7
为了定量分析跳跃连接对平滑程度的影响,选取AG-JNet和AG-JNet-NJ在测试集上的预测结果,使用Liu等[27]提出的平滑度量公式进行分析,公式如下:
式中:
图 8
4. 结 语
本文提出相对轻量的自适应图生成跳跃网络(AG-JNet),该网络能够脱离图结构的束缚,自动学习节点之间相关性,通过跳跃连接堆叠的多层自适应图生成卷积(AGGC),使得模型能够学到更深层的隐藏信息而不会产生过度平滑的问题. 在2个真实高速公路流量数据集上的对比实验结果表明,该网络的预测效果相对于目前前沿的交通流预测方法,具有一定的竞争力. 由于不依赖固定的图结构,该网络能够更方便地迁移到其他处理时空数据的任务上,这将成为接下来的一项工作任务.
参考文献
Modeling and forecasting vehicular traffic flow as a seasonal ARIMA process: theoretical basis and empirical results
[J].DOI:10.1061/(ASCE)0733-947X(2003)129:6(664) [本文引用: 1]
Short-term prediction of traffic volume in urban arterials
[J].DOI:10.1061/(ASCE)0733-947X(1995)121:3(249) [本文引用: 2]
Analysis of freeway traffic time-series data by using Box-Jenkins techniques
[J].
Forecasting freeway link travel times with a multilayer feedforward neural network
[J].DOI:10.1111/0885-9507.00154 [本文引用: 1]
Deep architecture for traffic flow prediction: deep belief networks with multitask learning
[J].DOI:10.1109/TITS.2014.2311123 [本文引用: 1]
Spatiotemporal recurrent convolutional networks for traffic prediction in transportation networks
[J].DOI:10.3390/s17071501 [本文引用: 1]
T-gcn: a temporal graph convolutional network for traffic prediction
[J].
面向交通流量预测的多组件时空图卷积网络
[J].
Multi-component spatial-temporal graph convolution networks for traffic flow forecasting
[J].
/
〈 |
|
〉 |
