一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于图注意力神经网络和时空大数据的交通预测方法

2022-09-01 01:32:35 来源:中国专利 TAG:


1.本发明涉及公共交通信息处理技术领域,特别涉及一种基于图注意力神经网络和时空大数据的交通预测方法及其预测模型的训练方法。


背景技术:

2.随着大数据时代的到来,城市规模不断扩张,大量遍布在交通道路上的传感器时刻产生着交通流数据,对交通管理系统提出巨大的挑战,此外,智能交通系统(intelligent transportation system,its)的出现也对交通流预测问题提出了更高的要求。交通流数据是一种经典的时空数据,不仅具有时间特性,还具有空间相关性,仅考虑单方面特性会造成预测精度低等问题。其次,交通路网的拓扑结构是动态变化的,传统对于图结构数据特征进行提取的卷积神经网络无法捕捉这种动态特征。再者,交通数据具有长期依赖关系,对于时间特征捕获的不足,容易导致数据预测实效性差等问题。


技术实现要素:

3.本发明的目的是为了解决上述现有技术的缺点和不足,提供一种基于图注意力神经网络和时空大数据的交通预测方法及该交通预测模型的训练方法,能够增强对交通路网中的空间相关性特征分析,减小预测模型与实际道路状态值之间的差距,提高了预测的准确性和稳定性。
4.首先,本发明为解决上述问题提供了一种基于图注意力神经网络和时空大数据的交通预测方法,其包括:
5.s110:根据交通流数据建立路网拓扑,得到路网拓扑信息;
6.s120:根据步骤s110所得路网拓扑信息,通过图注意力网络对过去的某一时段历史交通信息的嵌入特征信息进行处理,得到空间特征信息;
7.s130:采用长短期记忆网络对所述空间特征信息进行处理,得到时序特征信息;
8.s140:采用注意力机制对所述时序特征信息进行处理,得到预测交通信息。
9.相对于现有技术,本发明通过图注意力网络对历史交通信息中的空间特征信息进行提取,并通过结合长短期记忆网络以获得时序特征信息,最后引入注意力机制对时序特征信息进行处理并输出,得到既考虑空间相关性又考虑时间特性的交通预测信息,通过该方法能够有效地提高了预测的交通预测信息的准确性以及稳定性。
10.作为本发明的进一步改进,所述步骤s120中根据所述路网拓扑信息,通过图注意力网络对历史交通信息的嵌入特征信息进行处理包括以下步骤:
11.s121:采用如下公式对所述嵌入特征信息进行特征维度转换处理,得到转维特征信息:
[0012][0013]
其中,w
(l)
表示可训练的参数,表示嵌入特征信息,表示转维特征信息;
[0014]
s122:采用如下公式通过leakyrelu函数以及softmax函数对所述转维特征信息进行处理,得到第一权重:
[0015][0016][0017]
其中,表示可学习的权重向量;代表第i个节点的注意力分数;(
·
p
·
)为拼接两个顶点的变换特征,表示第一权重;
[0018]
s123:采用如下公式根据所述第一权重,对所述嵌入特征信息进行加权求和,得到所述空间特征信息:
[0019][0020]
其中,是节点i更新后的特征;σ为sigmoid函数。
[0021]
作为本发明的进一步改进,所述步骤s130中通过长短期记忆网络对所述空间特征信息进行处理包括以下步骤:
[0022]
s131:对空间特征信息进行遗忘信息提取处理,得到遗忘信息;
[0023]
s132:对空间特征信息进行保留信息提取处理,得到保留信息;
[0024]
s133:根据所述遗忘信息以及所述保留信息进行更新运算处理,得到更新信息;
[0025]
s134:根据所述更新信息以及所述空间特征信息,得到时序特征信息。
[0026]
作为本发明的进一步改进,所述步骤s140中通过注意力机制对所述时序特征信息进行处理包括以下步骤:
[0027]
s141:对时序特征信息进行分割处理,得到多个子时序特征信息;
[0028]
s142:对多个所述子时序特征信息进行权重计算处理,得到多个第二权重;
[0029]
s143:根据子时序特征信息以及其对应的第二权重,对所有子时序特征信息进行加权求和处理,得到多个第一结果;
[0030]
s144:拼接所有所述第一结果,得到预测交通信息。
[0031]
作为本发明的进一步改进,所述s110:根据实际道路建立路网拓扑,得到路网拓扑信息包括:
[0032]
使用未加权图g=(v,e)描述路网拓扑;
[0033]
通过邻接矩阵a表示道路节点之间的连接关系;
[0034]
其中,v={v1,v2,...,vn}表示道路节点,n是节点的数量,e代表交通路网中边的集合,用于表示路网节点之间的关联程度。
[0035]
作为本发明的进一步改进,采用如下公式计算所述邻接矩阵a中各元素的值:
[0036][0037]
其中,d
ij
代表节点i与节点j之间的距离;σ2表示方差;ε用于控制邻接矩阵稀疏性。
[0038]
为达到本发明另一目的,本发明还提供了用于实现上述方法的交通预测模型的训
练方法,所述交通预测模型包括空间子模型和时序子模型,其训练方法包括:
[0039]
s210:根据交通流数据建立路网拓扑,得到路网拓扑信息;
[0040]
s220:根据步骤s210所得路网拓扑信息,通过图注意力网络对过去的某一时段历史交通信息的嵌入特征信息进行处理,得到空间特征信息;
[0041]
s230:采用长短期记忆网络对所述空间特征信息进行处理,得到时序特征信息;
[0042]
s240:采用注意力机制对所述时序特征信息进行处理,得到预测交通信息;
[0043]
s250:根据所述输出交通信息与所述样本交通信息的标签之间的差异,训练所述交通预测模型。
[0044]
作为本发明的进一步改进,所述步骤s220中的样本交通信息获取自过去的某一时段历史交通信息。
[0045]
作为本发明的进一步改进,所述步骤s250中根据所述输出交通信息与所述样本交通信息的标签之间的差异,训练所述交通预测模型包括以下步骤:
[0046]
s251:采用如下公式根据输出交通信息、所述标签以及正则化项,得到损失值:
[0047]
l(x)=||y
ac-y
pred
|| λl2;
[0048]
s252:根据输出交通信息和所述标签,得到误差值;
[0049]
s253:根据所述损失值以及所述误差值,训练所述交通预测模型;
[0050]
其中,l(x)表示损失函数,y
pred
表示输出交通信息;y
ac
表示实际交通信息;λ是超参数;l2是正则化项。
[0051]
作为本发明的进一步改进,所述误差值包括:均方根误差值(rmse)、平均绝对误差值(mae)以及平均绝对百分比误差值(mape)。
[0052]
相对于现有技术,本发明通过将正则化项引入损失函数中,能够有效地避免交通预测模型过拟合,同时根据输出交通信息以及标签分别计算均方根误差值、平均绝对误差值以及平均绝对百分比误差值,能够有效地反映该交通预测模型的预测精度。
[0053]
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
[0054]
附图用于更好地理解本方案,不构成对本发明的限定。其中:
[0055]
图1是根据本发明实施例1的交通预测方法的流程图;
[0056]
图2是根据本发明实施例2的交通预测模型的训练方法的流程图。
具体实施方式
[0057]
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0058]
实施例1
[0059]
图1根据本发明的一个实施例的交通预测方法的流程图。
[0060]
如图1所示,该交通预测方法包括步骤s110至步骤s140。
[0061]
在步骤s110,根据交通流数据建立路网拓扑,得到路网拓扑信息
[0062]
在本发明实施例中,使用未加权图g=(v,e)描述道路交通网的拓扑结构,将道路交通网中的每条道路视作一个独立的节点,v={v1,v2,...,vn}表示道路节点,其中n是节点的数量。e代表道路交通网中边的集合,表示道路交通网节点之间的关联程度。使用邻接矩阵a表示道路节点之间的连接关系,其中a=rn×n,a中的元素表示在当前时刻的注意力系数,r代表实数,n代表节点的数量。特征矩阵x代表的是网络中节点的属性特征,其中x=rn×
p
,p代表每个节点的输入特征数,r代表实数,n代表节点的数量。以领接矩阵定义节点的连通关系,通过以下公式计算领接矩阵a中各元素的值:
[0063][0064]
其中,d
ij
代表节点i与节点j之间的距离;σ2表示方差;ε用于控制邻接矩阵稀疏性,将ε设置为0.2。
[0065]
如图1所示,步骤s120包括步骤s121至步骤s123,其中步骤s120是通过图注意力网络(gat)实现的,使用图注意力网络(gat)将节点影响程度转化为权重值,通过矩阵表示节点间影响程度,计算节点的特征,更新隐藏特征。针对每个中心节点提取所有邻居节点的特征,并进行汇总,并对空间层的所有特性进行整合,具体如下:
[0066]
在步骤s121,对所述嵌入特征信息进行特征维度转换处理,得到转维特征信息。
[0067]
在本发明实施例中,对长度为l的过去的某一时段历史交通序列特征信息(x
t-(l-1)
,x
t-(l-2)
,...,x
t
)做线性变换,在本实施例中示例性地采用,通过点积步骤进行特征维度转换,得到公式如下:
[0068][0069]
其中,w
(l)
表示可训练的参数,表示嵌入特征信息,表示转维特征信息;
[0070]
在步骤s122,通过leakyrelu函数以及softmax函数对所述转维特征信息进行处理,得到第一权重。
[0071]
在本发明实施例中,拼接z嵌入,输入到自注意力网络中,应用leakyrelu计算节点的注意力分数,公式如下:
[0072][0073]
其中,表示可学习的权重向量;代表第i个节点的注意力分数;p为拼接两个顶点的变换特征;
[0074]
应用softmax归一化注意力权重,公式如下:
[0075][0076]
其中,表示可学习的权重向量;代表第i个节点的注意力分数;p为拼接两个顶点的变换特征,表示第一权重;
[0077]
在步骤s123,根据所述第一权重,对所述嵌入特征信息进行加权求和,得到所述空
间特征信息。
[0078]
在本发明实施例中,对所有邻居节点的特征做基于注意力的加权求和步骤,聚合特征,公式如下:
[0079][0080]
其中,是节点i更新后的特征;σ为sigmoid函数:
[0081]
如图1所示,步骤s130包括步骤s131至步骤s134,其中步骤s130是通过长短期记忆网络(lstm)实现的,使用长短期记忆网络(lstm)的单元状态传递信息,输出时序数据,具体如下:
[0082]
在步骤s131,对空间特征信息进行遗忘信息提取处理,得到遗忘信息。
[0083]
在本发明实施例中,将gat输出的更新后的节点特征组成的矩阵h
(l 1)
作为lstm的输入,计算前一时刻的状态c
t-1
遗忘的信息,输出一个[0,1]之间的值,公式如下:
[0084][0085]
其中,f
t
表示遗忘门,为当前时间的输入;h
t-1
为上一时间的神经元状态;σ为sigmoid函数;
[0086]
在步骤s132,对空间特征信息进行保留信息提取处理,得到保留信息。
[0087]
在本发明实施例中,计算确定当前候选状态保留信息,通过sigmoid决定更新值的范围,通过tanh创建候选值向量,加入单元状态,将两个部分结合对状态进行更新,公式如下:
[0088][0089][0090]
其中,i
t
表示输入门,为当前时间的输入;h
t-1
为上一时间的神经元状态;表示保留信息;
[0091]
在步骤s133,根据所述遗忘信息以及所述保留信息进行更新运算处理,得到更新信息。
[0092]
在本发明实施例中,更新细胞状态,公式如下:
[0093][0094]
在步骤s134,根据所述更新信息以及所述空间特征信息,得到时序特征信息。
[0095]
在本发明实施例中,计算当前内部状态c
t
需要输出的信息,通过tanh函数将值转换到[-1,1],与sigmoid门的输出相乘,决定了最终的输出h
t
,公式如下:
[0096][0097]ht
=o
t
*tanh(c
t
)(公式11)
[0098]
其中,o
t
表示输出门;wf,wi,wc,wo分别为对应门控的权重矩阵;bf,bi,bc,bo分别为对应门控机制的偏置;为当前时间的输入;h
t-1
为上一时间的神经元状态;*代表矩阵内
对应元素相乘。
[0099]
如图1所示,步骤s140包括步骤s141至步骤s145,其中步骤s140是通过引入注意力机制强化节点影响程度,进一步加强时间距离提取程度,捕获更长期的时间特征,具体如下:
[0100]
在步骤s141,对时序特征信息进行分割处理,得到多个子时序特征信息。
[0101]
在本发明实施例中,将通过lstm作用后输出的时序特征信息分割成多个子时序特征信息(head)。
[0102]
在步骤s142,对多个所述子时序特征信息进行权重计算处理,得到多个第二权重。
[0103]
在本发明实施例中,通过线性变换得到矩阵q、k与v,公式如下:
[0104][0105][0106][0107]
其中,s代表经过lstm作用后输入注意力机制的数据,wq、wk与wv分别为三个值所对应的线性变换矩阵,该矩阵为根据节点影响程度预设的矩阵,相当于对输入s进行3次不同的线性变换表示3种不同的状态;用于将两个矩阵相乘;;
[0108]
并通过计算自注意力(self-attention)得到第二权重,公式如下:
[0109]
attention_output=attention(q,k,v)(公式15)
[0110]
其中,q表示查询(query)向量;k用来表示键(key)向量;而v表示的是值(value)向量;
[0111]
在步骤s143,根据子时序特征信息以及其对应的第二权重,对所有子时序特征信息进行加权求和处理,得到多个第一结果。
[0112]
在本发明实施例中,注意力函数将query和key-value映射到输出,最终的输出对应的加权和,公式如下:
[0113][0114]
其中,q表示查询(query)向量;k用来表示键(key)向量;而v表示的是值(value)向量;dk代表向量维度,是矩阵q与矩阵k的列数;
[0115]
在步骤s144,拼接所有所述第一结果,得到预测交通信息。
[0116]
在本发明实施例中,使用多头注意力(multi-headsattention),通过h个不同的线性变换对q,k,v进行投影,最后将不同的注意力结果拼接起来,得到预测交通信息,公式如下:
[0117]
multihead(q,k,v)=concat(head1,head2,...,headh)wo(公式17)
[0118]
headi=attention(qw
iq
,kw
ik
,vw
iv
)(公式18)
[0119]
其中,矩阵s、q、k、v中的每一行分别代表一个单词,该单词表示一个数据的某个局部特征,例如矩阵q与k
t
相乘时,q的第一行表示数据特征,k
t
的第一列也表示数据特征的另一种状态,二者相乘代表该特征的注意力值,其值的大小表示在对序列中该特征进行编码时,应当将多少的注意力放在该特征上;q表示查询(query)向量;k用来表示键(key)向量;而v表示的是值(value)向量;dk代表向量维度,是矩阵q与矩阵k的列数;
[0120]
通过本发明实施例,能够即考虑时间关联性的同时,又考虑空间相关性来对交通预测,实现对交通数据特点的全方位捕捉,减小损失值,提高模型的预测精度。本发明运用图注意力网络强调对于中心节点影响程度较大的节点,分配给邻居节点不同的权值比重,体现每个邻居节点对中心节点的影响程度,摆脱交通路网的整体拓扑结构,仅聚焦于中心节点的邻居节点特征,可以大幅降低模型的计算成本,提高运行效率。
[0121]
实施例2
[0122]
图2是根据本发明的另一个实施例的交通预测模型的训练方法的流程图。
[0123]
如图2所示,该交通预测模型的训练方法包括步骤s210至步骤s250。
[0124]
可以理解,该交通预测模型的训练方法中的步骤s210至步骤s240,与上述的交通预测方法中的步骤s110至步骤s140相同或类似,区别在于在交通预测模型的训练方法的步骤s220中将交通预测方法的步骤s120中的“历史交通信息的嵌入特征信息”替换为“样本交通信息的嵌入特征信息”,其余步骤均相同或类似,为了简明,本发明在此不再赘述。
[0125]
如图2所示,步骤s250包括步骤s251至步骤s253。
[0126]
在步骤s251,根据输出交通信息、所述标签以及正则化项,得到损失值。
[0127]
在本发明实施例,通过全连接层输出,实现预测未来p个时段的输出交通信息,并使用实际交通信息与输出交通信息之间的误差值表现交通预测模型性能的好坏,计算模型的损失函数l(x),公式如下:
[0128]
v=w
×hl 1
b(公式19)
[0129]
l(x)=||y
ac-y
pred
|| λl2(公式20)
[0130]
其中,w将时序特征信息映射为p个输出;b代表偏置;v是输出矩阵,y
pred
,表示输出交通信息;y
ac
表示实际交通速度;λ是超参数;l2是正则化项,引入损失函数中可以有效避免模型过拟合。
[0131]
在步骤s252,根据输出交通信息和所述标签,得到误差值。
[0132]
在本发明实施例,分别计算均方根误差值(rmse)、平均绝对误差值(mae)以及平均绝对百分比误差值(mape),表示模型的预测精度,当rmse、mae与mape的值越接近于0,表明模型预测精度越高、特征表达能力越强,计算公式如下:
[0133][0134][0135][0136]
其中,代表路网中真实的交通信息;代表预测第i个检测器的第j个数据;y代表的集合;代表的集合;m是时间样本;n是道路数目。
[0137]
本发明并不局限于上述实施方式,如果对本发明的各种改动或变形不脱离本发明的精神和范围,倘若这些改动和变形属于本发明的权利要求和等同技术范围之内,则本发明也意图包含这些改动和变形。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献