发布信息

一种基于改进GCN-attention算法的交通流预测方法

作者:admin      2022-08-31 17:33:54     779



计算;推算;计数设备的制造及其应用技术一种基于改进gcn-attention算法的交通流预测方法技术领域1.本发明涉及交通流预测领域,尤其是涉及一种基于改进gcn-attention算法的交通流预测方法。背景技术:2.作为智慧交通系统的重要组成部分,精确的时空交通预测吸引了许多的研究人员,同时也已经被应用到了许多现实场景当中。由于在时间序列分析领域展现出的出色的表现,rnn(recurrent neural network)以及它的变体,比如gru(gated recurrent unit)以及lstm(long short-term memory network)成为了分析交通流数据时序相关性的主流工具。除了时序相关性,另一个影响交通流预测准确性的关键因素就是空间相关性。为了去分析交通流数据的空间相关性,研究人员将路网转化为一张图用cnn(convolutional neural network)来分析不同区域之间的空间相关性。3.近期研究人员开始从图建模的角度去思考交通流预测问题。在给定路网图之后,研究人员利用gcn(graph convolutional network)去提取空间特征。有研究人员将gcn与rnn结合之后去捕获时空特征并且取得了惊人的效果。不过,目前使用的gcn方法多是传统gcn而传统gcn存在两个缺点。第一个缺点是随着gcn深度的加深会导致过平滑问题。这是因为节点的聚合半径在达到一个阈值之后就会忽略节点的初始状态而导致所有节点的状态都变得一致。另一个缺点则是传统的gcn只选取最后一层卷积层的输出作为结果而忽略其他卷积层的输出,在极端情况下将不再存在空间依赖,此时聚合邻居节点的信息就只能是往目标节点中添加无用的信息。技术实现要素:4.本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于改进gcn-attention算法的交通流预测方法。5.本发明的目的可以通过以下技术方案来实现:6.一种基于改进gcn-attention算法的交通流预测方法,包括以下步骤:7.s1、将历史交通流数据输入gsta模型,gsta模型包括若干个st-block和一个输出模块,每个st-block包括gcn子模块、时间子模块和门控融合子模块,历史交通流数据输入其中一个st-block;8.s2、通过gcn子模块提取空间特征;9.s3、通过时间子模块提取时序特征;10.s4、使用门控融合子模块融合空间特征和时序特征,得到时空特征;11.s5、将该时空特征与初始历史交通流数据经过残差链接融合作为下一个st-block的输入,返回执行步骤s2,直至获取所有st-block的时空特征;12.s6、将所有st-block的时空特征输入至输出模块,线性变换后得到预测交通流数据;13.其中,所述gcn子模块提取空间特征的步骤如下:14.s21、建立历史交通流数据的邻接矩阵;15.s22、将历史交通流数据及其邻接矩阵依次进行信息扩散和信息聚合,将所有图卷积层的输出链接,得到城市路网空特征。16.进一步地,所述信息扩散和信息聚合的表达式分别如下:17.信息扩散:[0018][0019][0020][0021]其中,θ1、θ2、b1、b2为可学习参数,hl为历史交通流数据,m为当前卷积层数,为当前卷积层的输出,a为邻接矩阵,σ表示sigmoid函数;[0022]信息聚合:[0023][0024]其中,s为空间特征,w、c为可学习参数,m为卷积层总层数。[0025]进一步地,所述邻接矩阵为自适应邻接矩阵,通过梯度下降法进行更新。[0026]进一步地,所述时间子模块提取时序特征的步骤如下:[0027]s31、获取历史交通流数据对应的时间步信息;[0028]s32、将时间步进行经过embedding得到时间向量;[0029]s33、根据时间向量和历史交通流数据,计算注意力向量;[0030]s34、根据注意力向量,计算得到时序特征。[0031]进一步地,所述注意力向量的计算表达式如下:[0032][0033][0034][0035]其中,q、k、v均表示一种注意力向量,k表示第k头注意力,vi表示城市路网节点,tj表示第j个时间步,relu为激活函数,均为可学习参数矩阵。[0036]进一步地,步骤s34具体计算表达式如下:[0037]d=d/k[0038][0039][0040][0041][0042]其中,为时序表示向量,为时序特征,为相关性参数,为注意力分数,d表示输入矩阵的隐藏维度,k表示多头注意力中注意力的数量,为可学习参数。[0043]进一步地,所述时间步信息为一天的总时间除以交通流传感器采集信号的频率。[0044]进一步地,步骤s4中融合的计算表达式如下:[0045][0046][0047]其中,表示空间特征,表示时序特征,g表示混合比例,bg、wg为可学习参数。[0048]进一步地,所述输出模块执行以下步骤:[0049]s61、将输出模块的输入依次输入relu函数层和cnn层,进行维度转换;[0050]s62、将维度转换后的结果输入副st-block中,输出结果,副st-block中的时间步信息是被预测交通流数据的时间步信息;[0051]s63、将s62中输出的结果输入线性层中,获取预测交通流数据。[0052]进一步地,步骤s6中输出模块的输入的计算表达式如下:[0053][0054]其中,xout为输出模块的输入,hk为第k个st-block的输出。[0055]与现有技术相比,本发明具有以下优点:[0056]1、本发明相比传统的gcn方法,通过信息扩散和信息聚合的方式,链接了所有图卷积层的输出,兼顾了所有输出,使预测结果更准确,并设置了多个st-block,以残差链接对数据进行处理,以循环计算的方法获取多个特征输出,解决了现有技术中输出结果过平滑的问题,使预测结果更精准。[0057]2、本发明的时序模块相比现有技术的rnn方法,使用了embedding技术提取时间向量,所需要的参数更少且效率更高。附图说明[0058]图1为本发明的流程示意图。[0059]图2为本发明涉及的gsta完整模型框架图。[0060]图3为本发明中gnn模块的框架示意图。[0061]图4为本发明中时间子模块的框架示意图。具体实施方式[0062]下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。[0063]本实施例提供了一种基于改进gcn-attention算法的交通流预测方法,主要应用于通过获取一段时间内的历史交通流数据,预测下一段时间的交通流数据,以起到引导交通的作用,流程如图1所示,具体包括以下步骤:[0064]步骤s1、首先,建立gsta模型,gsta模型包括若干个st-block和一个输出模块,每个st-block包括gcn子模块、时间子模块(temporal module)和门控融合子模块(gated fusion),并将历史交通流数据通过线性层(linear)调整维度后,输入其中一个st-block,整体模型的示意图如图2所示。[0065]步骤s2、通过gcn子模块提取空间特征,gcn子模块的主要执行图如图3所示,具体步骤如下:[0066]步骤s21、建立历史交通流数据的邻接矩阵,其中邻接矩阵的高效建立对于gcn提取空间特征十分重要。针对于传统的方法只是简单的将邻接矩阵中的元素置为0或是1来表示两个节点之间的空间关系过于简单,本实施例提出了一种自适应邻接矩阵的构建方法,具体如下:[0067][0068]其中s1跟s2是两个向量矩阵,维度都是n*c。n为交通流数据所属的路网图中的节点数量,c为自定义维度,在本专利中取为10。其中s1跟s2是两个自学习向量,在每一轮迭代中,都会根据梯度下降进行更新,而邻接矩阵a根据s1跟s2每一次迭代都在更新。其中softmax函数用来对矩阵做归一化处理。[0069]步骤s22、将历史交通流数据及其邻接矩阵依次进行信息扩散和信息聚合,将所有图卷积层的输出链接,得到城市路网空特征。[0070]信息扩散和信息聚合的表达式分别如下:[0071]信息扩散:[0072][0073][0074][0075]其中,θ1、θ2、b1、b2为可学习参数,hl为历史交通流数据,m为当前卷积层数,为当前卷积层的输出,a为邻接矩阵,σ表示sigmoid函数。[0076]信息聚合:[0077][0078]其中,s为空间特征,w、c为可学习参数,m为卷积层总层数。[0079]通过信息聚合可以将每一个图卷积层的输出都链接起来,兼顾了每一层的输出,更高效地提取空间特征。[0080]步骤s3、通过时间子模块提取时序特征,时间子模块的主要执行图如图4所示,具体包括以下步骤:[0081]步骤s31、获取历史交通流数据对应的时间步信息:根据不同的观测周期,一天会被分为n个时间步。举例来说,如果传感器是每间隔5min就测一次平均车速,那么一天就会被分为288个时间步。[0082]步骤s32、将时间步进行经过嵌入层(time bedding)得到d维时间向量tetj。[0083]步骤s33、根据时间向量和历史交通流数据,计算注意力向量,本实施例采用了一种多头注意力机制(temporal attention)。对于每一头注意力,首先需要计算三种注意力向量,计算表达式如下:[0084][0085][0086][0087]其中,q、k、v均表示一种注意力向量,k表示第k头注意力,vi表示城市路网节点,tj表示第j个时间步,relu为激活函数,均为可学习参数矩阵。[0088]步骤s34、根据注意力向量,根据以下公式计算得到时序特征。[0089]d=d/k[0090][0091][0092]其中,表示交通流在时间步tj与t之间的相关性,表示t时间步的交通流的第k头的注意力分数,表示t时间步的交通状态对tj时间步交通状态的重要性。d表示输入矩阵的隐藏维度而k表示多头注意力中注意力的数量。在得到注意力分数之后,可以计算得到节点在目标时间步的时序表示向量如下:[0093][0094][0095]其中,为时序表示向量,为时序特征,为可学习参数,k为多头注意力的头数,在本实施例中设为8。[0096]步骤s4、使用门控融合子模块融合空间特征和时序特征,得到时空特征,具体计算表达式如下:[0097][0098][0099]其中,表示空间特征,表示时序特征,g表示混合比例,bg、wg为可学习参数。[0100]步骤s5、为了提升模型的稳定性以及加强模型对于时空特征的提取能力,在本实施例中st-block堆叠了k层,本实施例优选为4。而为了解决传统交通流预测方法结果过平滑的问题,本实施例还引入了残差链接(skip connection),将每一层门控融合子模块的输出与输入的历史交通流数据经过残差链接相加,即可得到下一层st-block的输入,返回执行步骤s2,直至获取所有st-block输出的时空特征。[0101]步骤s6、将所有st-block的时空特征输入至输出模块,表达式如下:[0102][0103]其中,xout为输出模块的输入,hk为第k个st-block的输出,线性变换后得到预测交通流数据,其中具体包括以下步骤:[0104]步骤s61、将输出模块的输入依次输入relu函数层和cnn层,进行维度转换,将rn×t×d维度的矩阵转换为rn×t′×d的矩阵,其中t’为预测交通流数据的时间步长度。[0105]步骤s62、将维度转换后的结果输入副st-block中,输出结果,副st-block与此前的st-block唯一的不同之处在于其中的时间步信息是被预测交通流数据对应的时间步信息。[0106]步骤s63、将s62中输出的结果输入线性层中,维度转换后,获取预测交通流数据。[0107]在本实施例中,输入的数据为一个rn×t×d的矩阵,其中d为自定义维度,n为城市路网图的所有节点数量,t为输入的时间长度,d一般取64。[0108]本实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中提到的基于改进gcn-attention算法的交通流预测,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。[0109]以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部