文章用到了Transformer,水平不够,这篇文章看的云里雾里,后面回过头来再看,前面简介部分见下面的链接~
基于时空图卷积注意力网络的交通速度预测
5、主体内容
文章利用过去12个时间段的速度数据预测未来12个时间段的历史数据,采用了encoder-decoder architecture。
5.1Encoder Architecture
该编码器由空间注意和时间注意两部分组成,用于预测未来序列。如图1所示,单个编码器层由三个顺序子层组成:空间注意力层、时间注意力层和点对点前馈神经网络。空间注意力层在每个时间步长上关注与中心节点在空间上相关的邻居节点,而时间注意层关注单个节点,关注给定输入序列的不同时间步长。编码器有一个skip-connection绕过子层,我们使用层归一化和每个子层后的dropout层来提高泛化性能。整个编码器架构是一个嵌入层和四个(L = 4)相同的编码器层的堆栈。编码器将输入信号的空间和时间依赖关系转换为隐藏的表示向量,稍后用于解码器中的注意力层。
5.2Embedding Layer
与基于卷积的GNNs不同基于注意力的GNNs主要利用节点间的连通性。但传统模型在建模过程中没有考虑邻近信息。为了合并邻近信息,STGRAT中的嵌入层采用了一种大规模信息网络嵌入方法做节点嵌入(Tang, J.; Qu, M.; Wang, M.; Zhang, M.; Yan, J.; and Mei, Q. 2015. Line: Large-scale information network embedding. In WWW)。节点嵌入特征会用于计算空间注意力,这将在下一节中进一步讨论。
嵌入层还执行位置嵌入,获取输入序列的顺序。与以往使用递归或卷积层进行序列建模的方法不同,我们遵循Transformer的位置编码方案(Vaswani et al. 2017)。位置编码不需要额外的训练参数。我们应用残差连接skip connection来防止随着编码器或解码器层数的增加而出现的嵌入特性的消失。我们将每个节点的嵌入结果与节点特征连接起来,然后将这些连接起来的特征投射到dmodel上。最后,我们将位置编码向量加入到每个时间步长中。
5.3Spatial attention
图2所示为所提出的空间注意,包括多个流入注意头(奇数项)和流出注意头(偶数项)。以前基于注意力的GNNs。以前基于注意力的GNNs定义的空间相关性不含有方向信息。它们计算所有邻居节点的注意力,而不考虑它们在路网中的方向。我们的模型通过方向区分相邻节点,即基于中心节点的进/出站流。具体来说,我们将注意力头、负责流入节点的奇数指标和负责流出节点的偶数指标进行了划分,这使得模型可以处理每个流入和流出流量的不同信息。(Transformer部分后续再讲)
5.4Temporal Attention
时间注意力和空间注意力有两个主要区别:1)时间注意力不使用标记向量,2)时间注意力注意每个节点的重要时间步长,空间注意力注意每个时间步长重要节点。然而,时间注意力与空间注意力相似,因为它使用多头注意力来捕获查询、键和值空间中的不同表示。
5.5Point-Wise Feed-Forward Networks
编码器的最后一个子层是点向前馈网络,它由两个连续的全连通网络组成。最后一个子层通常分别应用于每个节点,创建一个集成来自两个注意力层的信息的高级功能。
最后一个子层通常分别应用于每个节点,创建一个融合了两个注意力层信息的高阶特征。
5.6Decoder Architecture
解码器的整体结构与编码器相似。该解码器由嵌入层和其他四个子层组成:空间注意层、两个时间注意层和前馈神经网络。在每个子层之后,应用层归一化。编码器和解码器的一个区别是,解码器包含两个不同的时间注意力层—Mask-attention层和编码器-解码器(E-D)注意力层。Mask-attention层mask未来时间步长输入,仅输入对现在和过去信息的注意力。编码器-解码器(E-D)注意力层利用编码器和Mask-attention层的编码向量提取特征。在这一层中,编码器的注意力被用作key和value,每个节点的查询特征通过masked self-attention传递。最后,线性层预测未来的序列。