一种基于特征交叉的图卷积神经网络的交通预测方法
未命名
07-18
阅读:155
评论:0
1.本发明涉及交通情况预测技术领域,具体涉及一种基于特征交叉的图卷积神经网络的交通预测方法。
背景技术:
2.交通预测是智慧交通系统领域一个基本且关键的问题。它的主要问题是通过某一地区历史的时空网络序列数据,去预测在未来不同时间段的车流和车速等,这对于降低交通事故和提升公共安全至关重要。随着车辆的需求越来越广泛,人们对智能导航、智慧交通系统的依赖也越来越大。交通预测可以有效地节约人们的时间和避免交通堵塞。但是历史的交通数据涉及到复杂的网络节点,具有高维度、高复杂性、时空依赖性等特征,使得对车流和车速等参数的预测变得困难。
3.交通预测多年来一直得到人们的高度重视,尤其是近些年深度学习流行起来之后,相关的方法更是多种多样。目前主流的交通预测方法有:
4.(1)基于传统的机器学习方法,例如k-近邻算法和svm算法,这些方法的训练时间短,速度快。但是由于是浅层神经网络,这些传统机器学习方法不能很好的使用高阶的非线性特征,也不能捕获时空数据的依赖性,因此效果较差。
5.(2)基于卷积神经网络(cnn)的方法,基于cnn的方法在一定程度上能捕获高阶非线性特征,但是并不善于处理非欧的道路网络数据。
6.(3)基于图神经网络(gnn)的方法,目前主要有两类基于gnn的方法,一类是采用谱空间的,一类是采用频域空间。扩散卷积递归神经网络(dcrnn)提出了一种混合卷积递归神经网络,利用混合图卷积代替gru中的全连接层。结构学习卷积神经网络(slcnn)利用时空图结构学习来扩展了传统的cnn模型,并且学习动态的图结构。时空同步图卷积网络(stsgcn)通过精心设计的时空同步建模机制,能够有效捕捉复杂的局部时空相关性。基于注意力的时空图卷积网络(astgcn)使用时空注意力机制来学习动态交通数据的时空相关性。图多头注意力网络(gman)整体采用了encoder-decoder的结构。深度时空图卷积网络(wavenet)通过堆叠扩张的一维卷积组建,可以处理非常长的序列。然而这些方法都没有采用交叉信息,因此较难捕获显性的高阶非线性特征。
技术实现要素:
7.为解决上述技术问题,本发明提出一种基于图神经网络的新的聚合算子,力求能捕捉更高阶的交叉信息,显示地利用了节点之间的二阶、三阶交叉特征,从而在交通预测时更准确地预估在未来一段时间(例如15分钟、30分钟、60分钟内)该地区交通的速度、流量等指标。
8.为解决上述技术问题,本发明采用如下技术方案:
9.一种基于特征交叉的图卷积神经网络的交通预测方法,通过交通预测模型对当前的交通情况进行预测,交通预测模型包括编码模块、注意力机制变换层以及解码模块;编码
模块和解码模块均包括k个交叉时空注意力机制层,每个交叉时空注意力机制层包括l个注意力机制模块;将能够反应交通情况的交通领域数据集依次经过编码模块、注意力机制变换层以及解码模块的处理,得到预测结果;
10.具体包括以下步骤:
11.步骤一、通过交通领域数据集构建维度为(p+q)
×n×
c的矩阵,p为交通领域数据集中的历史时间序列的步数,q为需要预测的未来时间序列的步数,n为交通领域数据集中所有节点的个数,n=|v|,v为交通领域数据集中所有节点的集合,c为交通领域数据集中的属性维度;通过交通领域数据集构建网络图a表示邻接矩阵,e为所有的有连接的边的集合;根据node2vec算法得到网络图中每个节点vi的空间嵌入向量并经过两层全连接神经网络层得到空间嵌入向量rd表示维度为d的实数域向量集合,根据交通领域数据集的时间特征获得时间嵌入向量将和拼接映射为时空联合向量vi为网络图中第i个节点,tj表示第j个时刻,其中1≤i≤n,1≤j≤p+q;输入到编码模块的矩阵的维度为p
×n×
d;
12.将矩阵输入到编码模块中,依次进行步骤二、步骤三、步骤四;
13.步骤二、获取网络图的各节点vi,1≤i≤n与邻居节点的权重:
14.获取节点vi的各邻居节点v,为节点vi的所有邻居节点的集合;初始化节点vi以及邻居节点v的隐状态向量后,依次经过编码模块的k个交叉时空注意力机制层进行迭代,分别得节点vi以及节点v到经过k次迭代后的隐状态向量以及节点v到经过k次迭代后的隐状态向量
15.在每次迭代过程中,分别将节点vi、节点v当前时刻的隐状态向量与时空联合向量拼接之后得到拼接向量,然后通过l个注意力机制模块计算节点vi对应的拼接向量与节点vj对应的拼接向量的相似性最后将相似性归一化为0到1的权重
16.步骤三、通过权重以及邻居节点v的隐状态向量聚合来更新节点vi的空间嵌入向量,实现节点vi在空间维度的聚合,节点vi更新后的空间嵌入向量记为
17.步骤四、通过计算tj时刻的节点vi与历史时刻t,t《tj的节点vi的相似性,得到权重进而得到节点vi更新后的时间嵌入向量,实现节点vi在时间维度的聚合,节点vi更新后的时间嵌入向量记为
18.步骤五、将节点vi更新后的空间嵌入向量和更新后的时间嵌入向量调和,得到节点vi的时空向量h
(k)
;通过注意力机制变换层的多头注意力机制,计算节点vi历史时间序列的时空联合向量t=t1,
…
,t
p
和未来时间序列的时空联合向量tj=t
p+1
,
…
,t
p+q
的相关性,并得到归一化权重通过权重对节点vi所有历史时刻的时空向量h
(k)
加权求和得到h
(k+1)
,将矩阵维度从p
×n×
d变成q
×n×
d;
19.步骤六、将经过注意力机制变换层之后的矩阵输入到解码模块中,重复步骤二、步骤三、步骤四,得到未来时间序列的时空向量h
(2k+1)
∈rq×n×d,经过两层全连接神经网络,得到未来时间序列的预测结果
20.步骤一具体包括以下步骤:
21.通过node2vec算法得到网络图每个节点vi的空间嵌入向量并经过两层全连接神经网络层得到空间嵌入向量
22.对交通领域数据集中的时间特征进行one-hot编码,将得到的不同维数的向量拼接后输入至全连接神经网络,得到时间嵌入向量
23.将空间嵌入向量和时间嵌入向量拼接之后,通过全连接神经网络映射成所述的时空联合向量f为映射函数。
24.具体地,步骤二中,在第k-1次迭代过程中,通过第l,1≤l≤l个注意力机制模块计算当前时刻tj节点vi对应的拼接向量与各邻居节点v对应的拼接向量的相似性时:
[0025][0026][0027][0028][0029][0030][0031][0032]
分别为k-1次迭代时,节点vi和节点v在tj时刻的隐状态向量与时空联合向量的差;分别为k-1次迭代时,节点vi和节点v在tj时刻的隐状态向量与时空联合向量的点乘;分别为k-1次迭代时,节点vi和节点v在tj时刻的隐状态向量;为节点v的时空联合向量;为拼接后的结果,为拼接后的结果,|表示向量拼接,和为可学习参数,d=d/l。
[0033]
具体地,步骤二中,通过softmax函数将相似性归一化为0到1的权重
[0034][0035]
步骤三具体包括:
[0036]
步骤s31:对于各节点vi,通过线性加权函数f将节点vi所有邻居节点v的隐状态向
量加权并逐位相加得到
[0037][0038]
为可学习的参数,||表示向量连接,表示节点vi在tj时刻经k次迭代后的空间隐状态向量;
[0039]
步骤s32:对于各节点vi,通过函数t将节点vi所有邻居节点的隐状态向量两两逐位相乘、求和,得到交叉特征向量
[0040][0041]
其中,其中,表示节点vi的总的交叉次数,
⊙
表示向量内各对应位置相乘,表示向量内各对应位置相乘,表示vi的邻居节点的个数,w1表示可学习的参数;
[0042]
步骤s33:对于各节点vi,通过函数e将节点vi所有邻居节点的嵌入向量三三逐位相乘,采用hofm算法得到三阶的显示交叉特征,求和得到三阶交叉特征向量
[0043][0044]
其中
⊙
表示向量内各对应位置相乘,&表示同时满足符号前后的条件,!=表示符号前后的元素不同,w2表示可学习的参数;
[0045]
步骤s34:通过超参数α1,α2,α3将函数f、函数t和函数e调和,得到节点vi更新后的空间嵌入向量
[0046][0047]h(k-1)
为k-1次迭代中所有的
[0048]
步骤四具体包括以下步骤:
[0049]
步骤s41:在第k-1次迭代过程中通过第l,1≤l≤l个注意力机制模块,计算tj时刻的节点vi与历史时刻的节点vi的相似性
[0050]
[0051][0052][0053][0054][0055][0056][0057]
分别为tj时刻节点vi和t时刻节点vi的隐状态向量与时空联合向量的差,分别为tj时刻节点vi和t时刻节点vi的隐状态向量与时空联合向量的点乘,分别为tj时刻节点vi和t时刻的节点vi的经过k-1次迭代后的隐状态向量;为t时刻的节点vi的时空联合向量;为拼接后的结果,为拼接后的结果,|表示向量拼接,和为可学习参数,d=d/l。
[0058]
步骤s42:通过softmax函数,将相似性归一化得到0到1的权重
[0059][0060]
其中,
[0061]
步骤s43:对于各节点vi,通过线性加权函数f将节点vi各历史时刻的隐状态向量加权逐位相加得到向量
[0062][0063]
为可学习的参数,表示节点vi在tj时刻经k次迭代后的时间隐状态向量;
[0064]
步骤s44:对于各节点vi,通过函数t
t
将节点vi历史时刻的隐状态向量逐位两两相乘、求和,得到向量
[0065]
[0066]
其中,表示在tj时间的交叉次数,表示tj时刻之前的时间步数,
⊙
表示逐位点乘运算,w3表示可学习的参数;
[0067]
步骤s45:对于各节点vi,将节点vi历史时刻的隐状态向量逐位三三相乘,求和,采用hofm算法得到三阶显示交叉特征向量
[0068][0069]
其中表示tj时间的交叉次数,w4表示可学习的参数;
[0070]
步骤s46:通过超参数β1,β2,β3将函数f
t
、t
t
和e
t
调和为节点vi更新后的时间嵌入向量
[0071][0072]
其中,h
(k-1)
为k-1时刻所有的
[0073]
步骤五具体包括以下步骤:
[0074]
步骤s51:对于各节点vi,通过超参数ζ将hs与h
t
调和,得到节点vi的时空向量h
(k)
:
[0075][0076]
其中,σ表示sigmoid函数,w
η,1
、w
η,2
、b
η
表示可学习的参数;
[0077]
步骤s52:针对节点vi,通过注意力机制模块计算节点vi历史时间序列的时空联合向量t=t1,
…
,t
p
和未来时间序列的时空联合向量tj=t
p+1
,
…
,t
p+q
的相关性的相关性并得到归一化权重
[0078][0079][0080]
均为可学习的参数,d=d/l;
[0081]
步骤s53:通过权重将节点vi所有历史时刻的时空向量h
(k)
求和得到h
(k+1)
:
[0082]
[0083]h(k+1)
为k+1次迭代时所有的将矩阵的维度从p
×n×
d变成q
×n×
d。
[0084]
进一步地,采用mae损失函数训练交通预测模型:
[0085][0086]
其中y
t
为训练数据集真实的标签,为训练数据集的预测结果。
[0087]
与现有技术相比,本发明的有益技术效果是:
[0088]
本发明建模了时间和空间节点的非线性交叉特征,通过邻居节点的二阶、三阶显示交叉,捕捉高阶交叉特征,并利用门控融合自适应的利用空间和时间信息,使得节点信息表征更加准确,从而提升交通预测的准确性。
[0089]
本发明提出了图神经网络领域中的一种新的节点聚合技术,可以显示地利用非线性特征,达到更好的表征效果;提出了一种端到端的技术,利用了多头的注意力机制,使得网络的训练更加稳定。
[0090]
实验结果表明,本发明可以在多个指标维度上、多个时间维度上有效提升交通预测的准确度。
附图说明
[0091]
图1为本发明交通预测模型的原理架构图。
具体实施方式
[0092]
下面结合附图对本发明的一种优选实施方式作详细的说明。
[0093]
如图1所示,本发明中交通预测方法,通过交通预测模型对当前的交通情况进行预测,交通预测模型包括编码模块、注意力机制变换层以及解码模块;编码模块和解码模块均包括k个交叉时空注意力机制层,每个交叉时空注意力机制层包括l个注意力机制模块;将能够反应交通情况的交通领域数据集依次经过编码模块、注意力机制变换层以及解码模块的处理,得到预测结果。
[0094]
具体包括以下步骤:
[0095]
s1、通过交通领域数据集(例如metr-la、pems-bay、pems-04、pems-08)构建维度为(p+q)
×n×
c的矩阵,p为交通领域数据集中的历史时间序列的步数,q为需要预测的未来时间序列的步数,n为交通领域数据集中所有节点的个数,n=|v|,v为交通领域数据集中所有节点的集合,c为交通领域数据集中的属性维度;通过交通领域数据集构建网络图a表示邻接矩阵,a
ij
=1表明节点i和节点j之间有边相连,a
ij
=0表明节点i和节点j之间无边相连,e为所有的有连接的边的集合。
[0096]
根据node2vec算法得到网络图中每个节点vi的空间嵌入向量并经过两层全连接神经网络层得到空间嵌入向量rd表示维度为d的实数域向量集合,根据交通领域数据集的时间特征获得时间嵌入向量将和拼接映射为时空联合向量vi为网络图中第i个节点,tj表示第j个时刻,其中1≤i≤n,1≤j≤p+q;输入到编码模
块的矩阵的维度为p
×n×
d。
[0097]
将矩阵输入到编码模块中,依次进行步骤s2、s3、s4。步骤s2、s3、s4的过程即为交叉时空注意力机制层的处理过程。
[0098]
步骤s1具体包括以下步骤:
[0099]
通过node2vec算法得到网络图每个节点vi的空间嵌入向量并经过两层全连接神经网络层得到空间嵌入向量
[0100]
对交通领域数据集中的时间特征进行one-hot编码,将得到的不同维数的向量拼接后输入至全连接神经网络,得到时间嵌入向量例如将一天中第几小时、一周中第几天的时间特征进行one-hot编码,分别得到r
t
,r7维的向量,再将这两个向量拼接起来得到r
t+7
维的向量。
[0101]
将空间嵌入向量和时间嵌入向量拼接之后,通过全连接神经网络映射成所述的时空联合向量f为映射函数。
[0102]
s2、获取网络图的各节点vi,1≤i≤n与邻居节点的权重:
[0103]
获取节点vi的各邻居节点v,为节点vi的所有邻居节点的集合;初始化节点vi以及邻居节点v的隐状态向量后,依次经过编码模块的k个交叉时空注意力机制层进行迭代,分别得节点vi以及节点v到经过k次迭代后的隐状态向量以及节点v到经过k次迭代后的隐状态向量
[0104]
在每次迭代过程中,分别将节点vi、节点v当前时刻的隐状态向量与时空联合向量拼接之后得到拼接向量,然后通过l个注意力机制模块计算节点vi对应的拼接向量与节点vj对应的拼接向量的相似性最后将相似性归一化为0到1的权重
[0105]
具体地,步骤s2中,在第k-1次迭代过程中,通过第l,1≤l≤l个注意力机制模块计算当前时刻tj节点vi对应的拼接向量与各邻居节点v对应的拼接向量的相似性时:
[0106][0107][0108][0109][0110][0111][0112][0113]
分别为k-1次迭代时,节点vi和节点v在tj时刻的隐状态向量与时
空联合向量的差;分别为k-1次迭代时,节点vi和节点v在tj时刻的隐状态向量与时空联合向量的点乘;分别为k-1次迭代时,节点vi和节点v在tj时刻的隐状态向量;为节点v的时空联合向量;为拼接后的结果,为拼接后的结果,|表示向量拼接,和为可学习参数,d=d/l。
[0114]
具体地,步骤s2中,通过softmax函数将相似性归一化为0到1的权重
[0115][0116]
s3、通过权重以及邻居节点v的隐状态向量聚合来更新节点vi的空间嵌入向量,实现节点vi在空间维度的聚合,节点vi更新后的空间嵌入向量记为
[0117]
步骤s3具体包括:
[0118]
步骤s31:对于各节点vi,通过线性加权函数f将节点vi所有邻居节点v的隐状态向量加权并逐位相加得到
[0119][0120]
为可学习的参数,||表示向量连接,表示节点vi在tj时刻经k次迭代后的空间隐状态向量。
[0121]
步骤s32:对于各节点vi,通过函数t将节点vi所有邻居节点的隐状态向量两两逐位相乘、求和,得到交叉特征向量
[0122][0123][0124]
其中,其中,表示节点vi的总的交叉次数,
⊙
表示向量内各对应位置相乘,表示向量内各对应位置相乘,表示vi的邻居节点的个数,w1表示可学习的参数。
[0125]
步骤s33:对于各节点vi,通过函数e将节点vi所有邻居节点的嵌入向量三三逐位相乘,采用hofm算法得到三阶的显示交叉特征,求和得到三阶交叉特征向量
[0126]
[0127]
其中
⊙
表示向量内各对应位置相乘,&表示同时满足符号前后的条件,!=表示符号前后的元素不同,w2表示可学习的参数。
[0128]
步骤s34:通过超参数α1,α2,α3将函数f、函数t和函数e调和,得到节点vi更新后的空间嵌入向量
[0129][0130]h(k-1)
为k-1次迭代中所有的
[0131]
s4、通过计算tj时刻的节点vi与历史时刻t,t《tj的节点vi的相似性,得到权重进而得到节点vi更新后的时间嵌入向量,实现节点vi在时间维度的聚合,节点vi更新后的时间嵌入向量记为
[0132]
具体地,步骤s4具体包括以下步骤:
[0133]
步骤s41:在第k-1次迭代过程中通过第l,1≤l≤l个注意力机制模块,计算tj时刻的节点vi与历史时刻的节点vi的相似性
[0134][0135][0136][0137][0138][0139][0140][0141]
分别为tj时刻节点vi和t时刻节点vi的隐状态向量与时空联合向量的差,分别为tj时刻节点vi和t时刻节点vi的隐状态向量与时空联合向量的点乘,分别为tj时刻节点vi和t时刻的节点vi的经过k-1次迭代后的隐状态向量;为t时刻的节点vi的时空联合向量;为拼接后的结果,为拼接后的结果,|表示向量拼接,和为可学习参数,d=d/l。
[0142]
步骤s42:通过softmax函数,将相似性归一化得到0到1的权重
[0143][0144]
其中,
[0145]
步骤s43:对于各节点vi,通过线性加权函数f将节点vi各历史时刻的隐状态向量加权逐位相加得到向量
[0146][0147]
为可学习的参数,表示节点vi在tj时刻经k次迭代后的时间隐状态向量。步骤s44:对于各节点vi,通过函数t
t
将节点vi历史时刻的隐状态向量逐位两两相乘、求和,得到向量
[0148][0149]
其中,表示在tj时间的交叉次数,表示tj时刻之前的时间步数,
⊙
表示向量内各对应位置相乘,w3表示可学习的参数。
[0150]
步骤s45:对于各节点vi,将节点vi历史时刻的隐状态向量逐位三三相乘,求和,采用hofm算法得到三阶显示交叉特征向量
[0151][0152]
其中表示tj时间的交叉次数,w4表示可学习的参数。
[0153]
步骤s46:通过超参数β1,β2,β3将函数f
t
、t
t
和e
t
调和为节点vi更新后的时间嵌入向量h
t
:
[0154][0155]
其中,h
(k-1)
为k-1时刻所有的
[0156]
s5、将节点vi更新后的空间嵌入向量和更新后的时间嵌入向量调和,得到节点vi的时空向量h
(k)
;通过注意力机制变换层的多头注意力机制,计算节点vi历史时间序列的时空联合向量t=t1,
…
,t
p
和未来时间序列的时空联合向量tj=t
p+1
,
…
,t
p+q
相关性,并得到归一化权重通过权重对节点vi所有历史时刻的时空向量h
(k)
加权
求和得到h
(k+1)
,将矩阵维度从p
×n×
d变成q
×n×
d。
[0157]
步骤s5具体包括以下步骤:
[0158]
步骤s51:对于各节点vi,通过超参数ζ将hs与h
t
调和,得到节点vi的时空向量h
(k)
:
[0159][0160]
其中,σ表示sigmoid函数,w
η,1
、w
η,2
、b
η
表示可学习的参数。
[0161]
步骤s52:针对节点vi,通过注意力机制模块计算节点vi历史时间序列的时空联合向量t=t1,
…
,t
p
和未来时间序列的时空联合向量tj=t
p+1
,
…
,t
p+q
的相关性的相关性并得到归一化权重
[0162][0163][0164]
均为可学习的参数,d=d/l。
[0165]
步骤s53:通过权重将节点vi所有历史时刻的时空向量h
(k)
求和得到h
(k+1)
:
[0166][0167]h(k+1)
记为k+1次迭代时所有的将矩阵的维度从p
×n×
d变成q
×n×
d。
[0168]
s6、将经过注意力机制变换层之后的矩阵输入到解码模块中,重复步骤二、步骤三、步骤四,得到未来时间序列的嵌入向量h
(2k+1)
∈rq×n×d,经过两层全连接神经网络,得到未来时间序列的预测结果
[0169]
进一步地,采用mae损失函数训练交通预测模型:
[0170][0171]
其中y
t
为训练数据集真实的标签,为训练数据集的预测结果。
[0172]
训练交通预测模型时,采用以下参数:
[0173]
历史时间序列的步数p与未来时间序列的步数q相等:p=q=12;
[0174]
交叉时空注意力机制层的个数k=3;
[0175]
属性特征的维度d=64;
[0176]
α1=0.3,α2=0.4,α3=0.3;
[0177]
训练轮数为500,提前终止轮数为20,学习率(learning rate)为0.0001,优化器为adam优化器。
[0178]
本发明提出了一种新的图神经网络的聚合算子,在时间和空间维度上,能够显示地利用邻接节点的二阶、三阶交叉特征,从而显示地捕获不同邻接节点的非线性特征。通过端到端的编码模块-解码模块的技术框架,对于空间嵌入向量和时间嵌入向量,本发明不仅
使用了一阶线性加权特征,还使用成对的二阶、三阶特征相互作用,可以更好地捕捉空间和时间中的非线性关系,编码模块和解码模块均包括k个交叉时空注意力机制层,每个交叉时空注意力机制层包含以下组件:交叉空间注意力机制,交叉时间注意力机制以及注意力融合门。在编码模块和解码模块之间设计了一个注意力机制变换层,将编码模块的输出转换为解码模块的输入。另外,本发明还通过一个时空模块层,将图结构和时间信息合并。
[0179]
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内,不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
[0180]
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立技术方案,说明书的这种叙述方式仅仅是为了清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
技术特征:
1.一种基于特征交叉的图卷积神经网络的交通预测方法,其特征在于,通过交通预测模型对当前的交通情况进行预测,交通预测模型包括编码模块、注意力机制变换层以及解码模块;编码模块和解码模块均包括k个交叉时空注意力机制层,每个交叉时空注意力机制层包括l个注意力机制模块;将能够反应交通情况的交通领域数据集依次经过编码模块、注意力机制变换层以及解码模块的处理,得到预测结果;具体包括以下步骤:步骤一、将交通数据集中的每个地点看作一个节点,两个地点之间的道路看作两个节点之间的边,若两个地点之间无道路直接连通,则表示两个节点之间无边相连;通过交通领域数据集构建维度为(p+q)
×
n
×
c的矩阵,p为交通领域数据集中的历史时间序列的步数,q为需要预测的未来时间序列的步数,n为交通领域数据集中所有节点的个数,n=|v|,v为交通领域数据集中所有节点的集合,c为交通领域数据集中的属性维度;通过交通领域数据集构建网络图a表示邻接矩阵,a
ij
=1表明节点i和节点j之间有边相连,a
ij
=0表明节点i和节点j之间无边相连,e为所有的有连接的边的集合;根据node2vec算法得到网络图中每个节点v
i
的空间嵌入向量并经过两层全连接神经网络层得到空间嵌入向量r
d
表示维度为d的实数域向量集合,根据交通领域数据集的时间特征获得时间嵌入向量将和拼接映射为时空联合向量v
i
为网络图中第i个节点,t
j
表示第j个时刻,其中1≤i≤n,1≤j≤p+q;输入到编码模块的矩阵的维度为p
×
n
×
d;将矩阵输入到编码模块中,依次进行步骤二、步骤三、步骤四;步骤二、获取网络图的各节点v
i
,1≤i≤n与邻居节点的权重:获取节点v
i
的各邻居节点v,为节点v
i
的所有邻居节点的集合;初始化节点v
i
以及邻居节点v的隐状态向量后,依次经过编码模块的k个交叉时空注意力机制层进行迭代,分别得节点v
i
以及节点v到经过k次迭代后的隐状态向量在每次迭代过程中,分别将节点v
i
、节点v当前时刻的隐状态向量与时空联合向量拼接之后得到拼接向量,然后通过l个注意力机制模块计算节点v
i
对应的拼接向量与节点v
j
对应的拼接向量的相似性最后将相似性归一化为0到1的权重步骤三、通过权重以及邻居节点v的隐状态向量聚合来更新节点v
i
的空间嵌入向量,实现节点v
i
在空间维度的聚合,节点v
i
更新后的空间嵌入向量记为步骤四、通过计算t
j
时刻的节点v
i
与历史时刻t,t<t
j
的节点v
i
的相似性,得到权重进而得到节点v
i
更新后的时间嵌入向量,实现节点v
i
在时间维度的聚合,节点v
i
更新后的时间嵌入向量记为步骤五、将节点v
i
更新后的空间嵌入向量和更新后的时间嵌入向量调和,得到节点v
i
的时空向量h
(k)
;通过注意力机制变换层的多头注意力机制,计算节点v
i
历史时间序列的时空联合向量和未来时间序列的时空联合向量和未来时间序列的时空联合向量的相关性,并得到归一化权重通过权重对节点v
i
所有历史时刻的时空向量h
(k)
加权求和得到h
(k+1)
,将矩阵维度从p
×
n
×
d变成q
×
n
×
d;步骤六、将经过注意力机制变换层之后的矩阵输入到解码模块中,重复步骤二、步骤
三、步骤四,得到未来时间序列的时空向量h
(2k+1)
∈r
q
×
n
×
d
,经过两层全连接神经网络,得到未来时间序列的预测结果2.根据权利要求1所述的基于特征交叉的图卷积神经网络的交通预测方法,其特征在于,步骤一具体包括以下步骤:通过node2vec算法得到网络图每个节点v
i
的空间嵌入向量并经过两层全连接神经网络层得到空间嵌入向量对交通领域数据集中的时间特征进行one-hot编码,将得到的不同维数的向量拼接后输入至全连接神经网络,得到时间嵌入向量将空间嵌入向量和时间嵌入向量拼接之后,通过全连接神经网络映射成所述的时空联合向量f为映射函数。3.根据权利要求1所述的基于特征交叉的图卷积神经网络的交通预测方法,其特征在于,步骤二中,在第k-1次迭代过程中,通过第l,1≤l≤l个注意力机制模块计算当前时刻t
j
节点v
i
对应的拼接向量与各邻居节点v对应的拼接向量的相似性时:时:时:时:时:时:时:时:分别为k-1次迭代时,节点v
i
和节点v在t
j
时刻的隐状态向量与时空联合向量的差;分别为k-1次迭代时,节点v
i
和节点v在t
j
时刻的隐状态向量与时空联合向量的点乘;分别为k-1次迭代时,节点v
i
和节点v在t
j
时刻的隐状态向量;为节点v的时空联合向量;为拼接后的结果,为拼接后的结果,|表示向量拼接,和为可学习参数,d=d/l。4.根据权利要求3所述的基于特征交叉的图卷积神经网络的交通预测方法,其特征在于,步骤二中,通过softmax函数将相似性归一化为0到1的权重归一化为0到1的权重
5.根据权利要求3所述的基于特征交叉的图卷积神经网络的交通预测方法,其特征在于,步骤三具体包括:步骤s31:对于各节点v
i
,通过线性加权函数f将节点v
i
所有邻居节点v的隐状态向量加权并逐位相加得到权并逐位相加得到权并逐位相加得到为可学习的参数,||表示向量连接,表示节点v
i
在t
j
时刻经k次迭代后的空间隐状态向量;步骤s32:对于各节点v
i
,通过函数t将节点v
i
所有邻居节点的隐状态向量两两逐位相乘、求和,得到交叉特征向量乘、求和,得到交叉特征向量其中,其中,表示节点v
i
的总的交叉次数,
⊙
表示向量内各对应位置相乘,表示v
i
的邻居节点的个数,w1表示可学习的参数;步骤s33:对于各节点v
i
,通过函数e将节点v
i
所有邻居节点的嵌入向量三三逐位相乘,采用hofm算法得到三阶的显示交叉特征,求和得到三阶交叉特征向量采用hofm算法得到三阶的显示交叉特征,求和得到三阶交叉特征向量其中
⊙
表示向量内各对应位置相乘,&表示同时满足符号前后的条件,!=表示符号前后的元素不同,w2表示可学习的参数;步骤s34:通过超参数α1,α2,α3将函数f、函数t和函数e调和,得到节点v
i
更新后的空间嵌入向量入向量h
(k-1)
为k-1次迭代中所有的6.根据权利要求1所述的基于特征交叉的图卷积神经网络的交通预测方法,其特征在于,步骤四具体包括以下步骤:步骤s41:在第k-1次迭代过程中通过第l,1≤l≤l个注意力机制模块,计算t
j
时刻的节点v
i
与历史时刻的节点v
i
的相似性
分别为t
j
时刻节点v
i
和t时刻节点v
i
的隐状态向量与时空联合向量的差,分别为t
j
时刻节点v
i
和t时刻节点v
i
的隐状态向量与时空联合向量的点乘,分别为t
j
时刻节点v
i
和t时刻的节点v
i
的经过k-1次迭代后的隐状态向量;为t时刻的节点v
i
的时空联合向量;为拼接后的结果,为拼接后的结果,|表示向量拼接,和为可学习参数,d=d/l。步骤s42:通过softmax函数,将相似性归一化得到0到1的权重归一化得到0到1的权重其中,步骤s43:对于各节点v
i
,通过线性加权函数f将节点v
i
各历史时刻的隐状态向量加权逐位相加得到向量位相加得到向量位相加得到向量为可学习的参数,表示节点v
i
在t
j
时刻经k次迭代后的时间隐状态向量;步骤s44:对于各节点v
i
,通过函数t
t
将节点v
i
历史时刻的隐状态向量逐位两两相乘、求和,得到向量和,得到向量其中,表示在t
j
时间的交叉次数,表示t
j
时刻之前的时间步数,
⊙
表示向量内各对应位置相乘,w3表示可
学习的参数;步骤s45:对于各节点v
i
,将节点v
i
历史时刻的隐状态向量逐位三三相乘,求和,采用hofm算法得到三阶显示交叉特征向量hofm算法得到三阶显示交叉特征向量其中表示t
j
时间的交叉次数,w4表示可学习的参数;步骤s46:通过超参数β1,β2,β3将函数f
t
、t
t
和e
t
调和为节点v
i
更新后的时间嵌入向量更新后的时间嵌入向量其中,h
(k-1)
为k-1时刻所有的7.根据权利要求1所述的基于特征交叉的图卷积神经网络的交通预测方法,其特征在于,步骤五具体包括以下步骤:步骤s51:对于各节点v
i
,通过超参数ζ将h
s
与h
t
调和,得到节点v
i
的时空向量h
(k)
:其中,σ表示sigmoid函数,w
η,1
、w
η,2
、b
η
表示可学习的参数;
⊙
表示向量内各对应位置相乘;步骤s52:针对节点v
i
,通过注意力机制模块计算节点v
i
历史时间序列的时空联合向量和未来时间序列的时空联合向量的相关性的相关性并得到归一化权重并得到归一化权重并得到归一化权重并得到归一化权重均为可学习的参数,d=d/l;步骤s53:通过权重将节点v
i
所有历史时刻的时空向量h
(k)
求和得到h
(k+1)
:h
(k+1)
为k+1次迭代时所有的将矩阵的维度从p
×
n
×
d变成q
×
n
×
d。8.根据权利要求1所述的基于特征交叉的图卷积神经网络的交通预测方法,其特征在于,采用mae损失函数训练交通预测模型:
其中y
t
为训练数据集真实的标签,为训练数据集的预测结果。
技术总结
本发明涉及交通情况预测技术领域,公开了一种基于特征交叉的图卷积神经网络的交通预测方法;通过交通预测模型对当前的交通情况进行预测,交通预测模型包括编码模块、注意力机制变换层以及解码模块;将能够反应交通情况的交通领域数据集依次经过编码模块、注意力机制变换层以及解码模块的处理,得到预测结果;本发明在时间和空间维度上,能够显示地利用邻接节点的二阶、三阶交叉特征,从而显示地捕获不同邻接节点的非线性特征;通过端到端的编码模块-解码模块的技术框架,对于空间嵌入向量和时间嵌入向量,不仅使用了一阶线性加权特征,还使用成对的二阶、三阶特征相互作用,可以更好地捕捉空间和时间中的非线性关系。好地捕捉空间和时间中的非线性关系。好地捕捉空间和时间中的非线性关系。
技术研发人员:胡海兵 韩恺 吴本伟
受保护的技术使用者:中国科学技术大学
技术研发日:2023.02.21
技术公布日:2023/5/16
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
