【2020顶会www】STGRAT 用于交通预测的时空图注意网络

 

概述

由于道路类型不同、速度突变和道路之间的空间依赖关系,预测道路交通速度是一项具有挑战性的任务,需要对长时间输入序列中动态变化的道路之间的空间依赖关系和时间模式进行建模。提出了一种新的时空图注意(STGRAT)方法,有效地捕捉了道路网络中的时空动态。该方法的特点主要包括空间注意、时间注意和空间哨点向量。空间注意力获取图形结构信息(如道路之间的距离),根据道路状态动态调整空间相关性。时间注意力负责捕获交通速度变化,而哨点向量允许模型从空间相关的节点检索新的特征或保留现有的特征。实验结果表明,STGRAT的性能优于现有的模型,特别是在交通速度快速变化的困难条件下(如上下班高峰期)。此外,我们还提供了一个定性研究来分析在交通高峰时段STGRAT主要参与的时间和地点,以做出准确的预测。

 

主要创新:

1) STGRAT,有效地捕获输入序列的时空动态,2)一个新的self-attention模块与前哨向量帮助模型决定使用哪个功能,3)定量比较结果对现有的和最先进的模型,和4)定性的描述STGRAT使用注意随时间的变化和交通状况的信息。

 

编码器整体架构

x轴和y轴分别表示时间和层的数量。 左半块是L堆叠编码器,而右半块是L堆叠解码器。我们使用特殊的标记, ' [Start] ',表示解码阶段的起点。

单个编码器层由三个序列子层组成:空间注意层、时间注意层和点前馈神经网络。空间注意层在每个时间步长关注与中心节点在空间上相关的邻居节点,而时间注意层关注单个节点,关注给定输入序列的不同时间步长。

使用layer normalization和dropout技术提高泛化能力。整体编码器架构是一个嵌入层和四个(L = 4)相同的编码器层的堆栈。编码器将输入信号的空间和时间依赖性转换为隐藏的表示向量,稍后用于译码器中的注意层。

嵌入层:

嵌入层还执行位置嵌入,以获取输入序列的顺序。采用的是类似transformer架构的PE。位置编码不需要额外的训练参数。应用skip连接,以防止嵌入特征的消失效果,可能出现的数量增加编码器或解码器层。我们将每个节点嵌入结果与节点特征连接起来,然后将连接起来的特征投影到d-model中。最后,将位置编码向量添加到每个时间步长。

空间注意力

空间注意力机制如图所示,其中q,k,v分别代表query,key和value的值。

这里使用注意力机制的不同在于考虑了双向的连接边,将注意力头、负责流入节点的奇数和负责流出节点的偶数进行了划分,使得模型对于每个流入和流出流量都能兼顾不同的信息。

然后这里我们倒着看计算流程,

然后是e的计算方法。

这里的p被称为先验知识。具体的计算如下,这里包含了入和出两种类型边的计算。

然后是一个拼接。

具体计算过程比空域注意力简单很多,计算如下:

 

时间注意力

时间注意和空间注意有两个主要区别:1)时间注意不使用哨点向量,2)时间注意关注每个节点的重要时间步长,而空间注意关注每个时间步长的重要节点。但是,时间注意与空间注意相似,因为它使用多头注意来捕获查询、键和值空间中的不同表示。

 

解码器架构

该解码器的整体结构与编码器的结构相似。该解码器包括嵌入层和其他四个子层:空间注意层、两个时间注意层和前馈神经网络。在每个子层之后,应用层归一化。编码器和解码器的一个不同之处在于,解码器包含两个不同的时间注意层——mask注意层和编解码器(E-D)注意层。mask注意层mask未来的时间步长输入,以限制注意现在和过去的信息。编码器解码器注意层利用编码器和mask注意层的编码向量来提取特征。在这一层中,以来自编码器的编码器-解码器注意作为键和值,并沿着mask的自注意传递每个节点的查询特征。最后,线性层预测未来序列。

更多相关专业文章,欢迎关注公众号!

猜你喜欢

转载自blog.csdn.net/huang_shao1/article/details/108556148