基于循环独立机制的交通流量预测

2024-03-04 06:06江建强蔡瑞初郝志峰
广东工业大学学报 2024年1期
关键词:交通流量神经网络预测

温 雯,江建强,蔡瑞初,郝志峰

(广东工业大学 计算机学院, 广东 广州 510006)

交通拥堵是许多城市所面临的问题,准确的交通流量预测[1-2]能让交通拥堵情况得到有效缓解,从而缩短人们的通勤时间,同时也能降低环境污染。交通流量预测属于时空数据预测范畴,能否有效地捕获并利用其时空依赖关系是作出准确预测的关键,也是研究的难点。交通流量预测问题的复杂性体现为:(1) 时间依赖方面。交通流量的变化是受潜在状态影响的,不同的潜在状态决定了交通流量的上升与下降,以及上升或下降的速度。例如,在同一个路口,上班高峰期与下班高峰期流量的潜在状态是不同的。交通流量的潜在状态是随着时间变化的。一方面,交通流量数据整体上呈现出日周期性规律,每天数据波形都较为相似,这体现了交通流量的潜在状态的规律性;另一方面,交通流量数据几乎在任何时刻都在变化,受交通状况及前面时间段的交通流量影响,变化趋势是动态变化的,体现了交通流量潜在的状态时变性。(2) 空间依赖方面。每个交通节点的交通流量都会受到附近交通网络影响,且受到的影响也是动态变化的。如上游位置的交通流量会对下游位置的交通流量产生影响;并且每个路口会受到来自多个不同方向的影响。此外,交通流量受不同方向的影响也是不同的。因此,交通流量的空间依赖是复杂多样的。

现有的交通预测方法中,有基于统计的系列方法,如HA(History Average)和ARIMA(Autoregressive Integrated Moving Average Model)[3],HA采用历史平均值来预测,ARIMA将数据进行差分处理后移动平均自回归,但在预测交通流量高复杂度非线性数据时会产生很大的误差;传统机器学习方法如SVM(Support Vector Machine)[4]、KNN(K-Nearest Neighbor)[5]等,过度依赖特征提取工程与先验知识,在预测交通流量这种拥有复杂的时空关系的数据时难以达到准确效果。随着深度学习的发展,越来越多问题都可以用合适的神经网络来解决。用深度学习进行交通流量预测时,无需大量先验知识。Zhang等[6]使用基于CNN(Convolutional Neural Networks)的残差网络来构建短时交通流量预测模型,其使用的利用近期、周期、趋势多层次的数据的方法被许多论文借鉴。但CNN只能处理网格状的结构化数据,现实中交通道路的拓扑结构往往是复杂的,因此该模型不具备普适性。图神经网络[7]的发展解决了此问题,Feng等[8]提出了基于多组件的预测方法,在沿用多层次交通流数据的基础上使用了GCN(Graph Convolutional Networks)来捕获邻居的特征,取得了更好的效果。目前许多交通流量预测方法都使用GCN,然而GCN在分配权重时很依赖于图结构,无法灵活地给不同的邻居节点分配权重[9]。循环神经网络常被应用于序列数据的预测,如经典的循环神经网络(Recurrent Neural Network,RNN),但RNN在捕捉数据的长期依赖关系方面效果欠佳,并且其存在梯度爆炸以及梯度消失问题。LSTM(Long Short Term Memory)[10]是一种采用了门控机制的循环神经网络,解决了梯度消失及梯度爆炸问题,在处理数据的长期依赖关系方面也有更好的效果。GRU(Gate Recurrent Unit)[11]也是一种使用门控机制的循环神经网络,与LSTM类似,GRU也能更好地捕获数据的长期依赖。RNN、LSTM、GRU等都被应用到交通流量预测上,但如何捕获交通流量的潜在状态,将交通流量数据的时间依赖关系与空间依赖关系有效地结合起来,依然是交通流量预测问题中的一大难点。对此,本文提出一种新的交通流量预测模型(Graph Temopral Recurrent Independent Mechanisms,G-tRIM),该模型通过融合RIM(Recurrent Independent Mechanisms)与图注意力网络,来高效捕捉交通流量数据的时空依赖关系,以做出更精准的预测。其中,RIM网络通过多个子网络的协调合作,建模交通流量的潜在状态;图注意力网络计算邻居的attention系数,以此来聚合邻居信息,捕获节点受到的空间影响。本文的主要贡献点为:

(1) 在使用RIM来捕获交通流量的潜在状态时,巧妙地融入了时间信息,结合潜在状态的时变性让RIM能更好地选择子网络进行激活,以此更准确地捕获交通流量的潜在状态。

(2) 根据各节点交通流量受到不同空间的影响,动态地使用GAT(Graph Attention Networks) 计算节点邻居的attention系数,更精准地分配邻居的不同的权重。

(3) 实验结果表明,在网格状与非网格状的数据集上,该模型的预测结果都优于其他现有模型。

1 相关工作

1.1 时序关系模型

交通流量数据是序列数据。基于统计的HA、ARIMA等经典方法能在较小计算量的要求下给出预测,但存在误差较大的缺陷。随着算力的增加,神经网络的运用也更为广泛。其中,循环神经网络[12]在解决有关序列结构数据的问题时,往往能取得很好的效果。循环神经网络RNN使用了隐藏层参数共享的方法,来获取序列结构数据的序列依赖关系。但是,RNN存在梯度消失以及梯度爆炸问题,难以捕捉到数据的长期依赖关系。长短期记忆网络LSTM使用了门控机制,在捕获序列结构数据的序列依赖的同时,也避免了梯度消失与梯度爆炸问题。RIM[13]由多个参数空间一致的子网络组成,使用注意力机制对每一个输入数据进行匹配筛选,分配到不同的子网络。一般情况下,同一时间步分配给各个子网络的输入是不完全相同的,各个子网络则会根据对应的输入完成动态转换,更新相应的隐状态。各子网络之间在进行自身的动态转换时相互独立,在完成动态转换后会进行稀疏的信息交互。RIM对比LSTM具有更好的预测效果以及更强的鲁棒性。但是,RIM在预测交通流量时,只使用过去时间段的流量而忽略了时间本身这一信息,因此未能准确地捕获交通流量的潜在状态。

1.2 空间关系模型

交通流量预测不仅要考虑时间影响,同时也需要聚合邻居信息。卷积神经网络CNN是聚合邻居信息的一种方法,在图像识别等方面的应用取得了很好的效果。Zhang等[6]使用CNN和残差网络来预测北京的交通流量,但仅适用于划分为网格状的结构化数据。CNN无法应用于交通道路这种非结构化的图数据中。图卷积网络GCN是一种将卷积思想应用在图结构数据上的方法,通过傅里叶变换与逆变换完成,GCN解决了CNN不适用于图结构数据的问题。STGCN(Spatio-Temporal Graph Convolutional Networks)[14]使用GCN的方法聚合非结构化邻居的信息,摆脱了GCN的束缚。但GCN在聚合过程中对于邻居的权重是固定的,没有区分同一节点的不同邻居的影响程度。图注意力网络GAT[15]通过计算节点与每个邻居的attention权值,捕捉不同路口或者区域的交通流量对当前路口或者区域交通流量的不同影响,更适用于交通流量的真实情况。此外,T-GCN(Temporal Graph Convolutional Network)[16]、STGCN和ASTGCN(Attention Based Spatial-Temporal Graph Convolutional Networks)[17]在预测时使用经过聚合邻居信息的交通流量数据,可能会改变节点本身的流量数据的模式规律。

2 模型

2.1 相关定义

定义1给定城市交通图G=(V,E), 其中V={v1,v2,···,vN} 为交通图中的所有节点,E是节点之间的边。根据数据集的不同,节点可以是交通路口,也可以是按照经纬度划分的块状区域,边可以是有向的,也可以是无向的,这取决于所获取的数据集。

定义2给定流量矩阵X=(X1,X2,···,XN)T∈RN×P,X为N个节点的P个时间段的交通流量序列。其中Xi=(Xi1,Xi2,···,XiP)T∈RP,i∈(1,2,···,N) ,且Xt=(X1t,X2t,···,XNt)∈RN,t∈(1,2,···,P)。Xi为某一节点的所有流量序列,Xt为某一时刻所有节点的流量。

2.2 问题定义

根据给定的城市交通图G,前τ 段时间内的交通流量张量为 {Xt|t=1,2,···,τ} , 对应的时间序列{ti|i∈{1,2,···,τ},预测下一个时间段内的城市交通流量X˜τ+1。

2.3 模型架构

交通流量预测的重点在于对交通流量数据的时空依赖关系进行捕获。本文对交通流量预测提出以下思路:使用2个模块分别捕获交通流量数据的时间依赖关系与空间依赖关系,融合2个模块的结果作出最后的预测。

基于以上思路,如图1所示,G-tRIM模型主要由tRIM和GAT+LSTM两部分组成。图1上半部分,tRIM利用中心节点的流量数据与时间步数据对中心节点的潜在状态进行建模,捕获交通流量数据的时间依赖关系;图1下半部分通过GAT聚合邻居节点的信息,然后把聚合的结果输入LSTM,以此捕获交通流量数据的空间依赖关系。

图1 G-tRIM模型Fig.1 G-tRIM model

2.3.1 时间依赖关系建模

现在时序数据的处理方法大多数使用循环神经网络RNN,然而RNN在序列过长时会出现梯度消失和梯度爆炸的问题;LSTM是一种使用门控机制的循环神经网络,并且不存在梯度消失或者梯度爆炸问题;RIM是由多个LSTM组合成的,拥有更好的稳定性。然而,RIM只是接收了数据序列,不知道该数据序列所对应的时间。因此,在交通流量预测的应用中并没有利用交通流量数据呈现的“日周期性”的特点,未能准确捕获交通流量的潜在状态。G-tRIM的时间依赖关系由tRIM来捕获,图2展示的是1个tRIMcell处理1个时间步输入的过程,每个时间步都使用一次tRIMcell。tRIM是由若干个(如图(2)所示是4个)子网络组成的循环神经网络,其每个子网络都是大小一样的LSTM。每个时间步中,数据经过了输入阶段、转化阶段、交互阶段。在输入阶段,该时间步的交通流量以及对应的时间经过了MLP(Multilayer Perceptron)层投影到指定的空间后串联起来进入注意力层,与各个子网络的隐状态做匹配,选中最相关的f个子网络进行激活。图2中虚线框部分展示了单个时间步输入阶段计算得到与该次输入数据最相关的2个子网络的过程,并使用灰色框格表示被激活的子网络。

图2 tRIMcellFig.2 tRIMcell

第m个节点的n时刻中,第k个子网络所对应的输入为

式(2)中:St指在t时间步被激活的子网络集合;h˜t+1,k为第k个子网络在接收t时间步的输入并完成动态转换后的隐状态;Dk为动态转换方式,本文选择了LSTM; θ(kD)为第k个子网络LSTM的参数。各个子网络接收处理输入之后,更新自己的隐状态。在交互阶段,各个子网络之间进行稀疏交互,被激活的子网络此时利用注意力机制聚合所有的子网络的信息,用来更新自身的隐状态。转化过程与交互过程如图2虚线框外部分所示,被激活的子网络除了能利用有效的输入更新自身的隐状态外,还会在交互阶段利用其他子网络的信息再次更新的隐状态。

式(3)~(5)分别为在t时刻第k个子网络的Q(Query)、K(Key)、V(Value) 构造方式,式(6)为子网络的更新方式。式(6)中ht+1,k为第k个子网络经过了稀疏信息交互之后得到的隐状态,式(3)中W˜kq为第k个子网络的稀疏信息交互查询参数,式(4)和式(5)中Wke和Wkva为生成K和V的参数,式(6)中Kt,:为式(4)中Kt,k串联的结果。可知,在时间步t,只有被激活的子网络才能获取所有子网络的信息。到此,一个时间步的输入处理完成。在最后一个时间步中,tRIM得到了交通流量的潜在状态。在这过程中,每个子网络所接收的输入是不同的,因此能训练出不同的函数表示。

2.3.2 空间依赖关系建模

许多模型使用CNN来建模数据的空间关系,然而CNN只适用于欧氏结构化的数据,对于非结构化的数据并不适用;GCN借助图的拉普拉斯矩阵对图上的数据进行卷积操作,解决了CNN不能在非结构化数据上操作的问题,但没有对不同的邻居分配不同的权重;GAT计算节点间的attention系数,为不同的邻居分配了不同的权重。现实中,在同一时间里,不同的中心节点受到的邻居节点的影响不同;在同一中心节点中,不同时间所受到的邻居节点的影响也不同。因此,使用GAT可动态地计算中心节点与邻居间的attention系数,动态地分配邻居的权重。先把r个邻居的数据Xn∈Rr×τ使 用GAT聚合成Xn′∈Rτ,然后使用LSTM对Xn′进行处理,得到隐状态表示和数据的空间依赖关系。使用GAT对邻居数据进行聚合的表达式为

式(7)为根据中心节点交通流量数产生Q(Query)的过程,式(8)为根据某个邻居节点交通流量数据产生单个Ki(Key)的过程,式(9)是GAT聚合中心节点的所有邻居的交通流量数据的过程,Wq、Wke为可训练参数。式(10)展示了利用邻居节点信息所捕获的中心节点所受到的空间依赖关系的方法。其中,Yc={Xct|t=1,2,···,τ}为给出的中心节点的交通流量数据序列;Yi={Xit|t=1,2,···,τ},i∈{1,2,···,r}为Xn中的一行的一部分,是具体某一个邻居的数据序列。

把tRIM得到的交通流量的潜在状态与空间依赖关系的隐状态串联起来,经过全连接层得到G-tRIM的预测值。最终的表述为

因此,该模型的损失函数为

3 实验

将本文提出的G-tRIM模型放在2个真实世界的数据集上进行实验,并与其他的基准方法进行对比,以验证该模型的性能。

3.1 数据集与预处理

数据集1:贵州数据集。该数据集提供了贵州某一地区的道路地图,并给出了各个路口之间连续8 d从早上6点到晚上8点的交通流量,流量数据以30 s为周期统计一次。使用所有道路的所有数据。由于原始数据中有过多为0的数据,把数据聚合为10 min统计一次,降低数据的稀疏性。选取其中前5 d的数据作为训练集,后面3 d的数据作为测试集。

数据集2:北京数据集。该数据集把北京市按经纬度均等切分为32×32的1 024个网格,并以30 min 为周期统计一次每个网格的流入流出流量,记录时间为2015年11月1日至2016年4月10日。选取最中央的16×16的256个网格的流出数据进行实验。选取其中2015年11月、12月以及2016年1月的数据作为训练集,2016年2月、3月和4月的数据作为测试集。

因为以上2个数据集的数据都存在相近的交通节点的流量值相差过大的特点,所以把流量缩小为原来的1/50,以缩小交通节点间的差异。

3.2 对比实验

对比实验的模型为:(1) 差分整合移动平均自回归模型(Autoregressive Integrated Moving Average model, ARIMA) ,ARIMA是一种经典的参数模型,适合使用在线性数据上,处理交通流量这种非线性高复杂度的数据时效果欠佳。(2) 长短期记忆网络(Long Short-Term Memory, LSTM) ,LSTM是使用门控机制的循环神经网络,LSTM的预测效果好于ARIMA。(3)循环独立机制(Recurrent Independent Mechanisms,RIM) ,RIM由多个子网络组成,各个子网络都训练出了不同的模块化的功能,能更有效地提取输入数据中的有效信息,因此RIM的预测效果要比LSTM好。(4) 时空图卷积神经网络(Spatio-Temporal Graph Convolutional Networks, STGCN) ,STGCN使用连续的2个时空卷积块捕获交通流量的时空依赖性,每个时空卷积块都包含一维时域卷积与二维空域卷积。(5) 基于注意力机制的时空图卷积网络(Attention Based Spatial-Temporal Graph Convolutional Networks,ASTGCN) ,ASTGCN使用3个一致的结构提取数据3个层次的特征,每个结构都由包含时空注意力提取模块与时空卷积模块的时空卷积块残差连接组成。

STGCN与ASTGCN都考虑了交通流量的空间影响,但还存在以下2个问题:(1) 忽略了交通流量潜在状态是会随时间变化的,只输入流量序列,而没给出对应的时间,让模型在判断对应的潜在状态时不太准确;(2) 没有考虑交通流量的空间影响的时刻动态变化的特性。

针对上述2个问题,本文提出了G-tRIM(Graph Temopral Recurrent Independent Mechanisms)模型。GtRIM在捕获交通流量的时间依赖关系时,给tRIM输入了每个时间片的流量数据以及对应的时间数据,因此能更准确地计算该时间步的输入与各个子网络的相关性,再选择子网络进行激活,这样能更准确地建模当前的潜在状态;在捕获空间依赖关系时,GAT能对不同时刻的邻居信息动态地赋予不同的影响权重,更符合交通流量时刻变化的空间影响的建模需求。

以均方误差MSE和平均绝对误差MAE为指标,G-tRIM模型在贵州和北京数据集中获得最优结果。实验结果如表1所示。

表1 不同模型的实验结果Table 1 Experiments' results based on different models

3.3 消融实验

3.3.1 时间步数据

把输入数据中的时间步信息拿掉,只输入节点数据序列与图结构得到G-RIM模型(Graph Recurrent Independent Mechanisms)。该模型用RIM捕获交通流量数据的时间依赖关系,用GAT来捕获交通流量数据的空间依赖关系。因为加入了邻居信息,能捕获节点所受到的空间影响,其实验结果优于RIM;但是RIM忽略了时间信息对交通流量的潜在状态的影响,只使用了交通流量数据捕获到的交通流量的时间依赖,因此不如G-tRIM的实验结果。

3.3.2 邻居信息

把输入数据中的邻居数据拿掉,只输入节点数据与时间步内容得到tRIM模型(Temopral Recurrent Independent Mechanisms)。该模型用tRIM捕获交通流量数据的时间依赖关系,能更准确地捕获交通流量的潜在状态,该方案的实验结果优于RIM,但是缺乏了邻居信息导致无法捕获空间影响,所以不如GtRIM的实验结果。实验结果如表2所示。

表2 消融实验结果Table 2 Ablation experiments' results

3.4 参数讨论

本文提出的G-tRIM模型有2个重要参数需要设置,分别是tRIM中的子网络的个数g,和每次激活的子网络个数f。图3为在贵州数据集中以MSE为指标进行实验,在不同实验参数设置下的结果。

图3 不同参数的实验结果Fig.3 Experiments' results under defferent parameters setting

实验表明,选择子网络的数量并非越多越好,当子网络的数量太少时,各子网络无法训练出足够细致的模式,模型无法充分建模流量的潜在状态;当子网络数量太多时,各子网络的功能存在重复,加大模型的训练难度,模型的预测精准度反而下降。如图3所示,在贵州数据集的实验结果中,最好的是选择4个子网络,每次激活2个子网络。选定了4个子网络(g= 4),若选择1个子网络进行激活,每个时间步网络都会丢弃较多内容,结果欠佳;若选择2个子网络进行激活,网络获得的信息量恰好,得到最好的Loss为0.129;若选择3个子网络进行激活,网络接收的信息中包含了不重要的信息甚至是错误信息,影响实验效果;若选择4个子网络进行激活,则无法达到不同子网络训练出不同效果的作用。

消融实验证实了时间步信息与邻居信息对于交通流量预测的重要性;通过参数讨论实验选择合适的超参数,使模型获得最精准的预测结果。G-tRIM分别使用tRIM与GAT来建模交通流量数据的时间依赖关系与空间依赖关系,实验结果在2个数据集上都优于各对比方法,展现了G-tRIM的较优性能。

4 结论

针对交通流量预测问题中如何精准地捕获交通流量数据的时空依赖关系的难题,本文提出了基于循环独立机制RIM的G-tRIM模型。该模型使用改进的RIM有效地融合了交通流量数据中的流量数据与时间步数据,精准刻画了交通流量数据的潜在状态,有效地捕获了交通流量数据的时间依赖关系;使用图注意力网络给节点的各个邻居动态地分配不同的权重,解决了交通流量受空间影响动态变化的难题,有效地捕获了交通流量数据的空间依赖关系。该模型在2个数据集上的实验均得到了较精准的预测结果。

猜你喜欢
交通流量神经网络预测
无可预测
选修2-2期中考试预测卷(A卷)
选修2-2期中考试预测卷(B卷)
神经网络抑制无线通信干扰探究
基于XGBOOST算法的拥堵路段短时交通流量预测
基于GA-BP神经网络的衡大高速公路日交通流量预测
不必预测未来,只需把握现在
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定