一种基于交叉注意力机制的时空交通流量预测方法

文档序号:30617924发布日期:2022-07-02 01:33阅读:219来源:国知局
一种基于交叉注意力机制的时空交通流量预测方法

1.本发明属于时空数据处理技术领域,涉及时空数据挖掘中的深度学习的交通预测技术,特别是涉及一种基于交叉注意力机制的时空交通流量预测方法。


背景技术:

2.随着交通传感器技术的发展,环路检测器、道路摄像机以及可移动设备正在生成和捕获大量时空交通数据。时空交通数据是指带有空间坐标的实体以相同时间频率采集到的数据,包含有时间、空间、交通专题属性三维信息,可以理解为在不同空间坐标上产生的时间序列集合。对时空交通数据进行挖掘有助于发现其中蕴含的时空模式,为相关部门管控和引导交通运输提供依据,帮助决策者更好的进行决策。在传统的基于统计的数据挖掘方法中,有一个共同的假设是数据样本是独立生成的,然而时空数据是自相关的,并且具有高度的非线性和动态关联性,所以经典的数据挖掘方法并不能很好的处理这类数据。随着深度学习技术的发展,得力于其强大的分层特征学习能力,基于深度学习的模型已被应用于解决各种时空数据预测问题。
3.时空数据预测任务中一个经典问题就是交通流量预测,即根据历史观测到的交通数据来预测未来时间的交通流量。交通流量预测面临着一些比较共性的挑战,首先,交通数据可以看成时间序列数据,时间序列数据存在时间序列性,包括邻近性、周期性、趋势性等。时空交通数据在空间维度上存在异质性,也就是说,不同的区域或者位置的交通模式是不一样的。从时间和空间两个维度来看,交通网络既在时间维度有相关性,又在空间维度上有相关性,同时这两个维度混合在一块叫时空相关性。要做交通数据的预测,就是要去考虑如何同时捕获时间序列性、空间异质性以及时空相关性。现有的技术大多将交通数据简单的看成时间序列数据,利用循环神经网络(recurrent neural network,rnn)或时间卷积网络(temporal convolutional network,tcn)对历史数据进行建模,然而忽略了空间的异质性,使得这些模型的预测性能较差。还有部分研究引入图卷积网络(graph convolutional network,gcn),设计一种时空卷积模块,通过简单的堆叠多个模块来联合学习,虽然考虑了空间属性,但在时间维度上没有对交通数据的周期性特点很好的建模,使得模型表示能力有限,可解释性差。


技术实现要素:

4.针对上述问题,本发明提出一种基于交叉注意力机制的时空交通流量预测方法,通过对常见的注意力机制进行改进,命名为交叉注意力,使用交叉注意力机制来捕获时空交通数据的周期性特点,通过交叉注意力模块自动对有价值的信息给予相对更多的关注,然后利用图卷积网络和时间卷积网络分别捕获时空交通数据的空间依赖关系和时间相关性特征,最后对提取到的特征进行融合,对时空交通数据的各种特性进行完整的建模,本发明考虑了空间的异质性,从而有效地实现交通流量的预测任务,能够提高预测的准确性和可解释性。
5.本发明的技术方案为:
6.一种基于交叉注意力机制的时空交通流量预测方法,包括如下步骤:
7.1)在时间轴上的不同位置对获取到的交通数据进行不同时间尺度(周期)的划分,并将不同时间尺度数据(不同时间周期数据)作为输入数据;
8.2)利用改进的交叉注意力机制(cross attention)融合不同时间尺度数据(输入数据),并将融合后的信息与输入数据做残差连接;包括:
9.21)通过计算目标周期与其他的不同时间尺度的注意力得分,对目标周期的特征进行重组;具体实施时,可包括:
10.211)将邻近时间的特征进行重组,首先计算得到考虑了与日周期相关关系的邻近时间特征表示;然后再计算与周周期计算的注意力得分,再乘以周周期的特征,得到考虑了与周周期相关关系的邻近时间特征表示;
11.注意力得分表示两个矩阵元素之间相关性大小,通过计算两个矩阵的内积得到,这个内积矩阵中每个元素表示在不同时间周期下,各节点内的不同特征之间的相关性。
12.通过两个交叉注意力模块分别对邻近时间特征进行重组;
13.212)之后再利用自定义的待训练参数矩阵进一步融合,得到邻近时间经过交叉注意力模块后最终的特征表示。
14.进一步地,为了优化训练效率,可将融合后的信息和原始输入做残差连接。
15.22)日周期的特征表示是分别利用邻近时间的特征和周周期的特征来计算;
16.23)周周期的特征表示是分别利用邻近时间的特征和日周期的特征来计算可得;
17.3)构造交通路网的图结构,图中的节点代表交通传感器,每个节点的特征可以看作交通路网图上的传感器信号;
18.可采用两种构图方式构造交通路网的图结构,包括:一种是普通的邻接矩阵构图法,另一种是基于节点距离构图法,即使用阈值高斯核来计算相连节点的边的权重。
19.4)利用图卷积网络(graph convolutional network,gcn)处理图上的信号,提取得到交通网络的空间相关性;利用时间卷积网络tcn提取时间相关性,将图卷积网络的输入和时间卷积网络的输出做残差连接;
20.分别利用两层图卷积网络(gcn)来处理交通路网图上的信号,以此捕获交通网络在空间维度上的相关性特征。将两种构图法得到的特征进一步融合后,作为图卷积网络的输出。利用时间卷积网络(tcn)从时间维度对交通路网数据进行建模,通过合并相邻时间片上的信息来更新节点的信号。再经过一层激活函数,将得到的输出与图卷积网络的输入做残差连接。
21.5)利用一维卷积确保每个时间周期分支(如邻近时间分支、日周期分支、周周期分支)的输出与交通路网预测目标具有相同的维度和形状,最后融合三个分支的输出作为最终的交通路网流量预测结果。
22.具体实施时,将每个分支的图卷积网络的输入和时间卷积网络的输出做残差连接后,利用一维卷积来确保每个分支的输出与预测目标具有相同的维度,然后将三个分支的输出进行融合,作为最终的预测结果。
23.本发明与现有的技术相比优点在于:
24.本发明提供一种基于交叉注意力机制的时空交通流量预测方法,将现有注意力机
制进行改进,使其可以在多时间尺度之间捕获相关关系,同时设计了用于获取空间特征的图卷积网络和描述时间序列依赖关系的时间卷积网络,其中图卷积网络用两种构图法来描述空间关系。本发明对时空交通数据的各种特性进行完整的建模,考虑了空间的异质性,能够有效地实现交通流量的预测任务,提高预测的准确性和可解释性。
附图说明
25.图1是本发明时空交通流量预测方法的整体网络模型架构图;
26.其中,xh为划分出的邻近时间数据;xd为划分出的日周期数据;xw为划分出的周周期数据;cross attention为改进的注意力机制,命名为交叉注意力,(d

h)、(w

h)表示利用xd和xw,分别计算与xh的注意力得分来对xh进行重组,(h

d)、(w

d)表示利用xh和xw,分别计算与xd的注意力得分来对xd进行重组,(h

w)、(d

w)表示利用xh和xd,分别计算与xw的注意力得分来对xw进行重组;fusion为融合过程,利用参数矩阵进行维度变换,然后对多个输入进行求和,得到一个输出;为残差连接;gcn为图卷积模块;tcn为时间卷积模块;1d-conv为一维卷积,用于维度变换;为邻近时间分支得到的输出;为日周期分支得到的输出;为周周期分支得到的输出;为三个分支进行融合后最终的输出,即模型预测的结果;y为真实数据;loss为损失函数,计算预测值与真实值的损失,通过反向梯度传播,以此来更新模型中的参数。
27.图2是本发明中采用改进的注意力机制的计算邻近时间和日周期交叉注意力具体过程的示意图;
28.其中,xh为划分出的邻近时间数据;xd为划分出的日周期数据;n为交通路网中的节点个数;f为每个节点的特征维度;th为选取邻近时间的时间片个数;td为选取日周期的时间片个数;dk、dv都为超参数,其中dk在计算注意力得分时还作为归一化系数;在计算注意力得分时还作为归一化系数;表示待训练的参数矩阵,初始值随机得到;cad→h(xh,xd)为计算邻近时间和日周期的交叉注意力,xh乘以参数矩阵得到q,xd乘以参数矩阵得到k和v,然后计算q和k的注意力得分,经过归一化和softmax函数,乘以v,得到对邻近时间xh重组后的特征矩阵,矩阵维度是n
×
th×dv

29.图3是本发明方法的流程框图。
具体实施方式
30.下面结合附图和具体实施方式对本发明进行描述。
31.本发明提供一种基于交叉注意力机制的时空交通流量预测方法,图3是本发明方法的流程图,包括以下步骤:
32.(1)在时间轴上的不同位置对获取到的交通数据进行划分,得到不同时间尺度下的特征信息;具体实施时分为三种时间尺度作为原始输入;
33.(2)将注意力机制进行改进为交叉注意力机制(cross attention),利用交叉注意力机制融合不同时间尺度下的特征信息,并将融合后的信息与原始输入做残差连接;
34.(3)然后在两种构图方式下,利用图卷积网络(graph convolutional network,
gcn)提取空间相关性;
35.(4)利用时间卷积网络(temporal convolutional network,tcn)提取时间相关性,将图卷积网络的输入和时间卷积网络的输出做残差连接;
36.(5)利用一维卷积确保三个时间周期分支(邻近时间分支、日周期分支、周周期分支)得到的输出与待预测的目标(交通路网中各节点的车流量信息)具有相同的维度和形状,最后融合三个分支的输出作为最终的预测结果。
37.在步骤(1)中,考虑到时间序列的邻近性和周期性,将获取到的交通数据依据时间序列进行划分,分为邻近时间、日周期和周周期三种时间尺度作为输入数据,例如邻近时间取待预测时段的前两小时的交通数据,日周期取待预测时段前一天同一时段的交通数据,周周期取待预测时段前一周同一时段的交通数据。本发明采用多组件构建方式,如图1所示,每个组件采用相同的模型结构但不同的待训练参数。其中,具体通过数据划分得到不同时间尺度下的特征信息,数据划分具体是从历史数据中截取不同的时间段来分别作为邻近时间分支、日周期分支、周周期分支的输入,比如要预测周二早7点到8点的交通流量,周周期就是截取上周二(前一周)早7点到8点的交通数据;日周期就是本周一(前一天)早7点到8点的交通数据;邻近时间就是截取周二早5点到7点(待预测的前两个小时)的交通数据。
38.具体地,划分得到的输入数据为三维(h、d、w维度)的矩阵,xh,xd,xw维度都是n*f*t,即n为节点数,f为特征数,t为时间片个数,由于每个时间周期选取的时间尺度大小可能不同,即时间片个数t的大小可以不同,所以区分为th,td,tw,之后通过矩阵相乘统一对齐为t,即最终要预测的时间片个数(时间步长),例如,自定义参数矩阵大小为th*t,通过左乘xh分支的输出,其大小为n*f*th,得到大小为n*f*t;另外两个分支的对齐方式同理。
39.在步骤(2)中,将步骤(1)划分好的数据输入改进的注意力模块,传统注意力机制的q(query,查询矩阵)、k(key,关键字矩阵)、v(value,值矩阵)是由同一个矩阵得到,注意力机制最初是用于自然语言处理中的机器翻译任务,用来找出语句中各个词汇的相关性关系,后来被推广为一种寻找特征之间相关性的一种方法,即通过训练不断更新注意力权重,来让模型可以关注重点部分,以此达到更好的效果。具体计算是求q和k的内积,用来表示内部元素之间的相关性关系,这个内积称为注意力得分,目的是找出同一矩阵中元素之间的相关性,而考虑到时间序列不同周期之间可能存在相关关系,本发明对其进行改进,将q和k分别来自于不同的矩阵,计算的是两个矩阵元素之间的注意力得分,目的是找出两个矩阵中元素之间的相关性,即某个周期通过交叉注意力模块分别计算与另外两个周期的注意力得分,来对自身的特征重新表示,其中v和k由同一个矩阵得到。交叉注意力机制的计算如图2所示。例如将邻近时间的特征进行重组,首先计算与日周期得到的注意力得分,再乘以日周期的特征,以此作为考虑了与日周期相关关系的邻近时间特征表示;然后再计算与周周期计算的注意力得分,再乘以周周期的特征,以此作为考虑了与周周期相关关系的邻近时间特征表示;通过两个交叉注意力模块分别对邻近时间特征进行重组,将邻近时间特征分别在日周期特征空间和周周期特征空间重新表示后,对重组后的邻近时间周期特征分别乘以参数矩阵,以变换成相同维度,然后将两个矩阵进行矩阵相加,得到邻近时间经过交叉注意力模块后最终的特征表示。日周期的特征表示是分别利用邻近时间的特征和周周期的特征来计算,周周期的特征表示是分别利用邻近时间的特征和日周期的特征来计算,过程同理可得。为了优化训练效率,将融合后的信息和原始输入做残差连接。
40.在步骤(3)中,得到重组的多时间尺度特征后,进一步提取空间特征。交通路网本质上是一个图结构,图中的节点代表交通传感器,每个节点的特征可以看作图上的信号。目前将将基于网格的图像卷积推广到图结构数据的研究大致分为两个方向,一是基于谱域的图卷积,通过将信号处理的基本概念迁移到图信号领域,利用图傅里叶变换和谱图理论来实现在图上的卷积操作;二是基于空域的图卷积,在空间上利用邻接矩阵的性质,通过邻接矩阵与特征矩阵相乘,等价于某节点的邻居节点的特征相加,多层叠加就可以聚合多跳邻居节点信息。为了充分利用交通网络的拓扑性质,本发明选用的是基于空间域的图卷积,与基于谱域的图卷积相比,聚合信息效果基本相同,复杂度更低。本发明采用两种方式构图,一种是普通的邻接矩阵构图法,另一种是基于节点距离构图法。然后分别利用两层图卷积网络(gcn)来处理图上的信号,以此捕获交通网络在空间维度上的相关性。将两种构图法得到的特征进一步融合(将两种构图法得到的两种邻接矩阵分别输入图卷积中,再将得到的输出特征矩阵进行加权求和),作为图卷积模块的输出,初始权重设为0.5,权重值在训练时进行优化。
41.在步骤(4)中,利用图卷积网络捕获了图上每个节点的相邻信息后,进一步利用时间卷积网络(tcn)从时间维度进行建模。处理时序问题通常使用循环神经网络(rnn)及其变种,因为rnn的循环自回归结构可以对时间序列很好的表示,但近年来特定的卷积神经网络也被用来处理时序问题,比如时间卷积网络(tcn),相比于rnn顺序的处理时间序列,tcn可以并行的处理,并通过间隔采样历史数据,以此来扩大卷积网络的感受野,同时时间卷积网络在训练时更不容易出现梯度消失,可以提高训练的效率。通过合并相邻时间片上的信息来更新节点的信号。再经过时间卷积网络的激活函数层得到输出,将得到的输出与图卷积网络的输入做残差连接。
42.在步骤(5)中,分别将每个分支(邻近时间分支、日周期分支、周周期分支)中的图卷积网络的输入与其时间卷积网络的输出做残差连接后,利用一维卷积来确保每个分支的输出与预测目标具有相同的维度,然后给三个分支的输出进行求和,作为最终的预测结果,求和时为每个分支随机分配一个权重值,权重值在训练时进行优化。
43.具体实施的实现步骤包括:
44.(1)将交通路网表示为一个图结构,图中的节点代表采集数据的传感器,每个传感器以相同的时间频率记录多个道路特征值,如交通流量、平均车速以及平均占有率等特征,即每个节点都会得到一个时间序列,时间序列上的每个时间点包含多个特征值,在时间轴上表示就是一个个时间片,时间片可看成一个图结构,表示同一时间采集到的数据。例如,加利福尼亚州的真实高速公路数据集,该数据集采集时间间隔是5分钟,每个传感器记录3种道路特征,包括车流量、车速以及平均占有率。考虑到交通数据的邻近性和周期性,本方法在时间轴上的不同位置进行划分,分为三种时间尺度的交通数据作为输入,分别是邻近时间交通数据xh,日周期交通数据xd,周周期交通数据xw。以计算xh和xd之间的交叉注意力为例,先计算xh和xd的注意力得分,然后将注意力得分乘以由xd得到的v,得到的矩阵是xh在xd的特征空间中的表示,即考虑了两个周期每个节点的不同特征之间的相关关系,流程如图2所示。
45.下面介绍对邻近时间xh做特征重组的计算过程,日周期交通数据xd特征和周周期交通数据xw特征进行重组的计算过程同理可得。首先,利用日周期xd特征对邻近时间xh的特
征进行重组:
[0046][0047]
其中,y
dh
为邻近时间交通数据xh和日周期交通数据xd经过交叉注意力模块得到的输出,n表示节点的个数,f表示每个节点的特征维度,th表示选取邻近时间的时间片个数,td表示选取日周期的时间片个数,dk表示归一化系数,表示归一化系数,表示待训练的参数矩阵。这里用xh做q,xd做k和v,其中做k和v,其中得到的输出
[0048]
然后,利用周周期xw对邻近时间xh的特征进行重组:
[0049][0050]
其中,y
wh
为邻近时间交通数据xh和周周期交通数据xw经过交叉注意力模块得到的输出,tw表示选取周周期的时间片个数,表示待训练的参数矩阵。这里用xh做q,xw做k和v,其中得到的输出
[0051]
通过两个交叉注意力模块分别对邻近时间xh的特征进行重组后,分别乘以参数矩阵变换成相同维度,然后将两个矩阵进行矩阵相加,得到邻近时间xh经过交叉注意力模块后最终的特征表示zh,同理,日周期xd和周周期xw在经过交叉注意力机制后得到特征表示zd和zw,计算公式如下所示:
[0052][0053]
其中,表示待训练的参数矩阵,用来将重组后的特征进行维度变换,使其和原始输入保持相同的维度。
[0054]
为了优化训练效率,在输出时采用残差连接,作为交叉注意力模块的输出:
[0055][0056]
(2)交叉注意力模块可以让交叉注意力模块自动对有价值的信息给予相对更多的关注。将重组特征与原始的输入特征进行残差连接,一起送入图卷积网络中,利用图卷积网络从图中节点的邻域捕获空间依赖关系。在本发明中,将交通网络定义为无向图g=(v,e,a),其中v表示n个节点的集合,|v|=n;e是边的集合,表示节点之间的连通性;a∈rn×n表示图g的邻接矩阵。在交通网络中,每个节点以相同的采样频率检测f个测量值。
[0057]
本发明采用两种方式进行构图,一种是普通的邻接矩阵构图法,得到邻接矩阵a1;另一种是基于节点距离构图法,使用阈值高斯核计算出相连节点的边的权重,得到邻接矩阵a2。
[0058]
构图的具体定义如下:
[0059]
邻接矩阵构图法:
[0060][0061]
节点距离构图法:
[0062][0063]
其中,d表示交通路网中两传感器之间的距离,σ表示交通路网中传感器之间的距离的标准差。两种构图得到了两种无向图g1=(v,e,a1),g2=(v,e,a2),分别输入图卷积网络。
[0064]
(3)将两种构图分别输入gcn中,为了避免谱域图卷积中拉普拉斯矩阵分解特征向量所带来的大量运算,本发明具体实施采用的是空域图卷积。为了提取更大范围的空间特征,可叠加多层gcn,但多层gcn会有过平滑问题,即经过多层节点信息聚合后,每个节点的信号会越来越相似,节点的区分度变小,从而导致预测结果的准确率低,所以本发明采用两层gcn来提取空间特征。经过两层gcn后分别分配一个权重,相加得到图卷积网络的输出层gcn来提取空间特征。经过两层gcn后分别分配一个权重,相加得到图卷积网络的输出
[0065]
邻近时间分支下空间卷积的计算公式如下:
[0066][0067]
日周期分支下空间卷积的计算公式如下:
[0068][0069]
周周期分支下空间卷积的计算公式如下:
[0070][0071]
其中,a1表示邻接矩阵,a2表示基于节点距离的邻接矩阵。表示基于节点距离的邻接矩阵。i是单位矩阵,加上单位矩阵是保证在利用邻接矩阵聚合邻居信息时,同时也加上节点自身的信息;表示度矩阵,度矩阵用来对每个节点传播的信息进行归一化。使用阈值高斯核计算出的权重不需要再使用度矩阵做归一化处理。经过两层gcn得到图卷积网络的输出归一化处理。经过两层gcn得到图卷积网络的输出其中待训练参数矩阵其中待训练参数矩阵σ()表示激活函数,待训练参数δ
(
·
)
初始化都是0.5。
[0072]
(4)用图卷积捕获空间相关性后,将每一个时间片沿着时间轴排列起来,利用时间卷积网络tcn从时间维度进行建模,通过合并相邻时间片上的信息来更新节点的信号:
[0073][0074]
其中,{φh,φd,φw}表示时间卷积的待训练参数,即时间卷积网络的卷积核,}表示时间卷积的待训练参数,即时间卷积网络的卷积核,为了优化训练效率,同样在输出时采用残差连接,作为时间卷积网络的输出:
[0075][0076]
其中,zh,zd,zw是交叉注意力模块的输出,是时间卷积网络的输出,
[0077]
(5)将每个分支的时空卷积模块的输入和输出做残差连接后,利用一维卷积确保
每个分支的输出与交通路网流量预测目标具有相同的维度和形状:
[0078][0079]
其中{φ
′h,φ
′d,φ
′w}表示一维卷积的参数,卷积的输入通道数分别为th,td,tw,输出通道数为t,t表示待预测的时间步长。然后将三个分支的输出进行融合,作为模型最终的输出:
[0080][0081]
其中
“”
表示哈达玛积,即矩阵元素对应位置相乘。{wh,wd,ww}为待训练的参数,对不同分支的输出进行融合时,三个分支对每个节点的影响权重是不同的,需要从历史数据中学习。
[0082]
(6)在模型的训练和验证中,使用随机梯度下降sgd(stochastic gradient descent)作为优化函数,使用预测值与真实值的均方误差mse(mean square error)作为损失函数,并通过反向传播最小化。使用均方根误差rmse(root mean square error)和平均绝对误差mae(mean absolute error)作为评价指标。具体公式如下:
[0083][0084][0085][0086]
其中yi表示第i个真实值,表示第i个预测值,n表示节点个数。由公式可以看出,这两种评价指标计算得到的数值越小,表示模型训练的效果越好,预测的结果越准确。
[0087]
需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1