Spatial-Temporal Transformer Networks for Traffic Flow Forecasting
Abstract
- 交通流具有高度的非线性和动态的时空相关性,如何实现及时准确的交通预测,特别是长期的交通预测仍然是一个开放性的挑战
- 提出了一种新的Spatio-Temporal Transformer Network(STTNs)范式,该范式联合使用 dynamical directed spatial dependencies和long-range temporal dependencies来提高长期交通流预测的准确性。
- Spatial transformer利用self-attention对有向空间依赖关系进行动态建模,以捕获交通流的实时状态和方向。并且考虑了相似性、连通性和协方差等多种因素,采用multi-head attention 对空间依赖关系进行联合建模。此外,temporal transformer被开发用于建模long-range双向时间依赖。与现有的工作相比,STTNs能够对长期的空间-时间依赖关系进行高效和可扩展的训练。
- 实验结果表明,在真实的PeMS-Bay和PeMSD7(M)数据集上,STTNs具有与当前技术水平相当的竞争力,特别是在长期交通流量预测方面。
Introduction
- 一个节点的traffic state(如,速度、车流量、密度)是通过其自身和邻近节点的历史交通数据来预测的。对于交通流的预测模型来说,有效地捕捉空间和时间的相关性是非常重要的。交通预测一般分为short-range(≤30分钟)和long-term(≥30分钟)两个尺度。现有的方法如时间序列模型[2]和卡尔曼滤波[3]在短期预测方面表现良好。然而,这些模型的平稳假设在长期预测中是不实际的,因为交通流本质上是高度动态的。而且,它们没有jointly利用交通流的时空相关性进行长期预测。
- 交通网络可以用graph表示,node表示交通传感器,edge及其权值由传感器之间的连通性和欧几里德距离确定。因此,交通流可以看作是随时间变化的图形信号。近年来,图神经网络(gnn)成为处理图数据的一种强大工具。通过结合gnn来联合捕获短期和长期预测的时空相关性,序列模型得到了改进。基于GNN的交通预测模型最早在STGCN和DCRNN中被开发出来,通过将交通网络固有的拓扑结构引入到sequence模型中来提高预测性能。基于spatial或基于spectral的图卷积网络(GCNs)与基于卷积的sequence模型或RNN模型集成,共同捕获空间和时间相关性。但这些模型在交通预测尤其是长期预测方面仍存在以下两个方面的局限性:
- Fixed Spatial Dependencies: 在交通预测任务中,由于道路拓扑结构、交通速度的变化以及多种因素(如天气状况、高峰时段、交通事故等)的影响,空间依赖关系具有很强的动态性。对于每个传感器,与其关联的传感器随时间步长而变化。如下图所示,对于目标节点(紫色),考虑不同的相关节点(红色),根据交通速度和距离确定的范围(红色圆圈),构建不同时间步长(如τ−1、τ−2、τ−3)的空间相关性。考虑到任意两个传感器之间的连接和距离,由于时变的交通速度,它们的空间依赖性是复杂的。不同方向(上下游方向)的交通流的空间依赖性也不同。此外,由于高峰时段、多变的天气条件和突发交通事故的影响,空间依赖性随时间步长呈不规则振荡,如图1(b)所示。因此,有必要有效地捕捉这些动态的空间相关性,以提高交通预测。
- limited-range temporal dependencies:在现有的方法中,长期时间依赖通常被忽略。通过考虑不同时间步长的依赖关系,可以促进长期交通流预测。图1(a)显示了不同时间步长的不同尺度的空间相关性,这意味着limited 时间相关性的range会降低预测性能。此外,对于长期流量预测,现有的基于时间步长的individual loss或joint loss训练的 auto-regressive预测方法将传播和累积预测误差如图(a)。 我们希望从无差错的时间上下文中提取长时间依赖关系,实现精确的长期预测,如图2(b)所示。
在本文中,我们提出了一种新的spatio-temporal transformer net(STTNs)范式,以解决上述交通流预测的挑战。本文的贡献归纳如下: - 我们开发了一个spatial-temporal block来动态建模long-term的spatial-temporal dependencies。(时空block建模长期时空依赖)
- 提出了一个GNN变体——spatial transformer,用于建模时变有向空间依赖(time-varying directed spatial dependencies),并动态捕捉隐藏的交通流空间模式。(空间transformer建模时变有向空间依赖)
- temporal transformer使用长期的时间相关性来实现multi-step预测。(时间transformer实现长期多步预测)
具体来说,spatial transformer根据实时交通速度、传感器之间的连通性和距离以及交通流方向,动态地对空间依赖关系进行建模。从输入的时空特征中学习高维潜在子空间,并结合道路拓扑和时间信息的位置embedding,推断出时变的空间相关性。为了表示交通流的突变,利用自注意机制从局部和全局依赖关系中捕获长时间时变的隐藏模式。此外,temporal transformer同时实现了基于长时间相关性的未来交通状况的多步预测。它抑制了预测误差的传播,并允许并行训练和预测来提高效率,如图2所示。
本文的其余部分组织如下。在第2节中,我们简要回顾了现有的建模空间和时间依赖性的方法。第三节阐述了交通流预测的时空图预测问题,并阐述了提出的STTN解决方案。在第4节中对真实世界的交通数据集进行了广泛的实验,以使用最先进的方法评估STTN。最后,我们总结了本文,并在第5节讨论了进一步的工作。
2 Related work
2.1 空间依赖
交通流预测首先发展了基于统计和神经网络的模型,ARIMA 和Bayesian networks这样的统计模型从概率的角度模拟了空间依赖性。虽然它们有助于分析交通流内部的不确定性,但其线性特性阻碍了对交通流内部高度非线性的有效建模。神经网络的引入是为了捕捉非线性交通流,但其全连接结构是计算密集型和内存消耗。此外,由于假设的缺乏,使得交通流中复杂的空间模式难以捕捉。
随着卷积神经网络(convolutional neural networks, cnn)的发展,由于其强大的特征提取能力,在很多应用中被用于traffic预测。[15],[16],[17]将交通网络转换为规则网格的空间特征,再采用cnn提取特征。然而,这种网格转换导致了表征不规则交通网络固有拓扑信息的丢失。图神经网络(gnn)[18],[19]将深度学习推广到非欧几里德域。图卷积网络(GCNs)[4]、[5]、[6]是gnn的一种变体,它将经典的卷积推广到图域中。近年来,GCNs被广泛应用于交通流的空间依赖性建模,以探索交通流的固有拓扑结构。STGCN利用定义在无向图上的谱图卷积来模拟空间依赖关系,而DCRNN利用有向图上的扩散图卷积来适应交通流的方向。但是,他们忽略了交通条件的动态变化(如高峰时间和交通事故),因为空间依赖性一旦训练就固定了。在[20]ASTGCN中,空间依赖关系是根据空间和时间块的深度而不是实际的时间步长动态生成的。将图注意网络(GATs)]和额外元学习[ST-MetaNet]](https://dl.acm.org/doi/abs/10.1145/3292500.3330884)嵌入地理特征的模型,建立了动态空间依赖的模型。然而,使用k个最近邻的预定义graph拓扑在不同尺度上挖掘超出局部节点的空间依赖的隐藏模式受限制。Graph WaveNet[10]通过对图中的每个节点进行可学习的嵌入,提高了带有隐藏空间模式的流量预测的准确性,但它们的空间依赖性在经过训练后仍然是固定的。在本文中,STTNs有效地在高维潜在子空间中建模动态有向空间依赖关系,而不是采用预定义的图结构和局部节点。
2.2 时间依赖
由于训练中的爆炸或梯度消失问题,以及序列长度的不确定,RNN在建模时间依赖性方面是有限的。为了解决这些问题,开发了GRU、LSTM来建模流量预测的长依赖关系。采用基于卷积的序列学习模型,叠加多个隐藏层,可以再在有限的接受域大小下覆盖较大的上下文。带扩张卷积的小波网络可以用来扩大接收域,从而减少隐藏层数。然而,当输入序列长度较长时,其模型可扩展性受到限制,隐层数随输入序列长度线性增加。此外,由于序列中组件之间的路径长度不断增加,捕获长期依赖关系的效率将受到更深层次的影响。这些事实意味着很难找到输入序列的最优长度,因为需要为不同长度的输入序列重新设计模型。transformer利用高度并行的自注意机制实现了高效的序列学习。通过单层结构,可以从不同长度的输入序列中自适应地捕获长时间时变依赖关系。
3 PROPOSED MODEL
spatial-temporal (ST) block and prediction layer. Subsequently, we elaborate the proposed spatial transformer and temporal transformer in ST block, respectively.
3.1 Problem Formulation
graph
g
=
(
V
,
E
,
A
)
g=(V,E,A)
g=(V,E,A),
A
∈
R
N
×
N
A \in R^{N\times N}
A∈RN×N是通过高斯核用传感器之间的欧式距离构造的邻接矩阵。预测目标是time step
τ
\tau
τ 时
N
N
N个传感器的速度
V
τ
∈
R
N
V^\tau \in R^N
Vτ∈RN。给定
M
M
M个历史交通状况
[
V
τ
−
M
+
1
,
.
.
.
,
V
τ
]
[V^{\tau-M+1},...,V^\tau]
[Vτ−M+1,...,Vτ],预测模型
F
F
F被用于预测未来
T
T
T个时刻的交通状况
[
V
^
τ
+
1
,
.
.
.
,
V
^
T
+
τ
]
[\hat V^{\tau+1},...,\hat V^{T+\tau}]
[V^τ+1,...,V^T+τ]
v
^
τ
+
1
,
.
.
.
,
v
^
τ
+
T
=
F
(
v
τ
−
M
+
1
,
.
.
.
,
v
τ
;
g
)
\hat v^{\tau +1},...,\hat v^{\tau +T}=F(v^{\tau -M+1},...,v^\tau;g)
v^τ+1,...,v^τ+T=F(vτ−M+1,...,vτ;g)
为了实现这个目标, F F F可以捕获动态空间依赖 S τ S ∈ R N × N S_\tau^S\in R^{N\times N} SτS∈RN×N和长期时间依赖 S τ T ∈ R N × N S_\tau^T\in R^{N\times N} SτT∈RN×N。然而,现有的方法仅考虑固定的空间相关性和短期的时间相关性,在长期预测方面存在局限性。
-
本文利用spatial transformer对每个时间步 τ \tau τ具有时变空间依赖性 S τ S ∈ R N × N S_\tau^S\in R^{N \times N} SτS∈RN×N的 F F F进行动态训练。
-
长期时间依赖 S τ T ∈ R N × N S_\tau^T\in R^{N\times N} SτT∈RN×N可以通过基于self-attention的temporal transformer有效学习到。
-
利用基于 S τ S ∈ R N × N S_\tau^S\in R^{N\times N} SτS∈RN×N和 S τ T ∈ R N × N S_\tau^T\in R^{N\times N} SτT∈RN×N学习的时空特征对无误差历史观测 [ V τ − M + 1 , . . . , V τ ] [V^{\tau-M+1},...,V^\tau] [Vτ−M+1,...,Vτ]进行预测 [ V ^ τ + 1 , . . . , V ^ T + τ ] [\hat V^{\tau+1},...,\hat V^{T+\tau}] [V^τ+1,...,V^T+τ],可以解决误差传播问题。
3.2 Overall Architecture
如图3所示,所提出的时空transformer网络由堆叠的时空块和预测层组成。这里,每个时空块由一个空间transformer和一个时间transformer组成,共同提取上下文动态依赖的时空特征。时空块可以进一步叠加,形成深层次时空特征提取模型。随后,预测层利用两个1 × 1卷积层对这些时空特征进行聚合,进行交通预测。
3.2.1 Spatial-temporal Blocks
一个节点的未来交通状况是由其邻近节点的交通状况、观测的时间步长以及交通事故、天气状况等突变决定的。在本节中,我们开发了一个ST blocks来整合空间和时间的transformer,以联合建模交通网络中的空间和时间依赖性,以精确预测,如图3所示。第
l
l
l个时空块的输入是一个
3
D
3D
3D张量
X
l
S
∈
R
M
×
N
×
d
g
X_l^S \in R^{M\times N \times d_g}
XlS∈RM×N×dg(由
l
−
1
l-1
l−1层时空 block提取到的
N
N
N个传感器在
τ
−
M
+
1
,
.
.
.
τ
\tau -M+1,...\tau
τ−M+1,...τ时间步的
d
g
d_g
dg维特征的3D特征)。
将spatial transformer
S
S
S和temporal transformer
T
T
T叠加生成3D输出张量。采用剩余连接进行稳定训练。在第
l
l
l个时空块中,spatial transformer
S
S
S 从输入节点特征
X
l
s
X_l^s
Xls和图邻接矩阵
A
A
A中提取空间特征
Y
l
s
Y_l^s
Yls。
Y
l
s
=
S
(
X
l
s
,
A
)
Y_l^s = S(X_l^s,A)
Yls=S(Xls,A)
Y
l
s
Y_l^s
Yls和
X
l
s
X_l^s
Xls相结合生成后续时间transformer的输入
X
l
τ
X_l^{\tau}
Xlτ。
Y
l
τ
=
τ
(
X
l
τ
)
Y_l^\tau = \tau(X_l^\tau)
Ylτ=τ(Xlτ)
随后,得到输出tensor
X
l
+
1
s
=
Y
l
τ
+
X
l
τ
=
Y
l
τ
+
Y
l
s
+
X
l
s
X_{l+1}^s=Y_l^\tau+X_l^\tau=Y_l^\tau+Y_l^s+X_l^s
Xl+1s=Ylτ+Xlτ=Ylτ+Yls+Xls,将
X
l
+
1
s
X_{l+1}^s
Xl+1s输入第
l
+
1
l+1
l+1层的
S
T
b
l
o
c
k
ST block
STblock。可根据当前任务对多个时空块进行叠加,提高模型容量。在第3.3节和第3.4节中,我们将详细阐述时空transformer。
3.2.2 Prediction Layer
预测层利用两个经典卷积层,基于最后一个时空块的时空特征进行多步预测。其输入是2D张量
X
S
τ
∈
R
N
×
d
s
τ
X^{S\tau} \in R^{N\times d^{s\tau}}
XSτ∈RN×dsτ ,它是由最后时间步
τ
\tau
τ的
N
N
N个节点的
d
s
τ
d^{s\tau}
dsτ维 时空特征组成。对于
N
N
N个节点的
T
T
T个未来交通状况的多步预测
Y
∈
R
N
×
T
Y\in R^{N\times T}
Y∈RN×T为:
Y
=
C
o
n
v
(
C
o
n
v
(
X
S
τ
)
)
Y=Conv(Conv(X^{S\tau}))
Y=Conv(Conv(XSτ))
采用平均绝对损失训练模型:
L
=
∣
∣
Y
−
Y
g
t
∣
∣
1
L=||Y-Y^{gt}||_1
L=∣∣Y−Ygt∣∣1
3.3 Spatial Transformer
如图3(b)所示,spatial transformer 由spatial-temporal positional embedding layer,fixed graph convolution layer,dynamical graph convolution layer ,gate mechanism 用于信息融合。
3.3.1 spatial-temporal positional embedding layer:
时空位置嵌入层将时空位置信息 (如拓扑、连通性、时间步长) 集成到每个节点中。GCNN可以将一段时间内的交通信号分解为由道路拓扑确定的平稳分量(如传感器之间的连通性、距离)和由实时交通状况和突发变化(如事故、天气变化)确定的动态分量。因此,我们开发了一个固定的图卷积层和一个动态的图卷积层,分别来研究空间依赖关系的平稳和有向的动态分量。将学习到的静态和动态空间特征与门控机制相融合。进一步证明了所提出的空间transformer可以看作是一个通用的消息传递GNN,用于动态图的构造和特征学习。
3.3.2 Spatial-Temporal Positional Embedding
图1(a)显示,图中两个节点的空间依赖性由它们的距离和观察到的时间步长决定。Transformer[27]无法捕获全连接前馈结构下观测的空间(位置)和时间信息。因此,预先的Positional Embedding需要将“位置”信息注入到输入序列中。在spatial transformer中,我们采用可学习的时空位置嵌入层来学习节点特征的时空嵌入。
D
^
S
∈
R
N
×
N
\hat D^S\in R^{N\times N}
D^S∈RN×N和
D
^
τ
∈
R
M
×
M
\hat D^\tau\in R^{M\times M}
D^τ∈RM×M是可学习的时空embedding矩阵。采用图邻接矩阵初始化
D
^
S
∈
R
N
×
N
\hat D^S\in R^{N\times N}
D^S∈RN×N,考虑节点间的连通和距离,建立空间依赖关系模型。而
D
^
τ
∈
R
M
×
M
\hat D^\tau\in R^{M\times M}
D^τ∈RM×M则使用one-hot 时间编码进行初始化,将时间步长注入到每个节点。
D
^
S
∈
R
N
×
N
\hat D^S\in R^{N\times N}
D^S∈RN×N和
D
^
τ
∈
R
M
×
M
\hat D^\tau\in R^{M\times M}
D^τ∈RM×M 沿时空轴生成
D
s
∈
R
M
×
N
×
N
D^s\in R^{M\times N\times N}
Ds∈RM×N×N和
D
τ
∈
R
M
×
N
×
M
D^\tau\in R^{M\times N\times M}
Dτ∈RM×N×M,Embedded features
X
′
s
=
F
t
(
[
X
s
,
D
s
,
D
τ
]
)
∈
R
M
×
N
×
d
g
X^{'s}=F_t([X^s,D^s,D^\tau])\in R^{M\times N\times d_g}
X′s=Ft([Xs,Ds,Dτ])∈RM×N×dg是
X
s
∈
R
M
×
N
×
d
g
X^s\in R^{M\times N\times d_g}
Xs∈RM×N×dg与
D
s
∈
R
M
×
N
×
N
D^s\in R^{M\times N\times N}
Ds∈RM×N×N和
D
τ
∈
R
M
×
N
×
M
D^\tau\in R^{M\times N\times M}
Dτ∈RM×N×M的concate。
F
t
F_t
Ft是一个1 × 1的卷积层,在每个时间步长,将连接的每个节点的特征转换为
d
g
d_g
dg维向量。
X
′
s
X^{'s}
X′s输入固定的和动态的图卷积层进行空间特征学习。由于M个时间步的图卷积运算可以通过张量运算并行实现,因此为了简便起见,我们考虑任意一个时间步长
X
′
s
X^{'s}
X′s的2D张量
X
^
s
∈
R
N
×
d
g
\hat X^s\in R^{N\times d_g}
X^s∈RN×dg。
3.3.3 Fixed Graph Convolutional Layer
图卷积是将经典的基于网格的卷积推广到图域。节点特征是根据学习到的权值和预定义的图中相邻节点的信息聚合而来的。本节使用基于Chebyshev多项式近似的图卷积来学习结构感知节点的特征,从而从道路拓扑中获取平稳的空间依赖关系。
g
g
g的度矩阵
D
D
D,给定embedded feature
X
^
s
\hat X^s
X^s,结构感知头特征
X
^
g
∈
R
N
×
d
g
\hat X^g\in R^{N\times d_g}
X^g∈RN×dg由Chebyshev图卷积得到。
X
^
:
,
j
g
=
∑
i
=
1
d
g
∑
k
=
0
K
θ
i
j
,
k
T
k
(
L
^
)
X
^
:
,
i
s
,
∀
j
=
0
,
.
.
.
,
d
g
\hat X_{:,j}^g=\sum _{i=1}^{d_g}\sum_{k=0}^{K} \theta_{ij,k}T_k(\hat L)\hat X_{:,i}^s , \forall j = 0,...,d_g
X^:,jg=i=1∑dgk=0∑Kθij,kTk(L^)X^:,is,∀j=0,...,dg
由于 g g g是基于传感器之间的物理连通性和距离构造的,因此可以通过固定的图卷积层显式地探究由道路拓扑决定的静止空间依赖关系。
3.3.4 Dynamical Graph Convolutional Layer
基于GCN的模型,只建模平稳的空间相关性。为了捕获时间演化过程的隐空间依赖关系,我们提出了一种新的动态图卷积层来实现高维隐子空间的训练和建模。具体来说,我们学习了将每个节点的输入特征映射到高维潜子空间的线性映射。如图4所示,对投影特征采用self-attention,根据变化的图信号有效地建模节点之间的动态空间依赖关系。虽然ASTGCN中也采用了这种方法,但边缘的权值是根据预先定义的道路拓扑计算的。预定义的道路拓扑结构不能充分反映交通网络的动态空间依赖关系。因此,我们学习了多个线性映射,以在不同的潜在子空间中建模受各种因素影响的动态有向空间依赖关系。
每一时间步的embedded feature
X
^
s
\hat X^s
X^s映射到高维子空间,用前馈神经网络实现映射。
Q
s
=
X
^
s
W
q
s
Q^s = \hat X^s W_q^s
Qs=X^sWqs
K
s
=
X
^
s
W
k
s
K^s = \hat X^s W_k^s
Ks=X^sWks
V
s
=
X
^
s
W
v
s
V^s = \hat X^s W_v^s
Vs=X^sWvs
Q
s
∈
R
N
×
d
A
s
Q^s \in R^{N\times d_A^s}
Qs∈RN×dAs ,
K
s
∈
R
N
×
d
A
s
K^s \in R^{N\times d_A^s}
Ks∈RN×dAs ,
V
s
∈
R
N
×
d
g
V^s \in R^{N\times d_g}
Vs∈RN×dg ,
W
q
s
∈
R
d
g
×
d
A
s
W_q^s \in R^{d_g\times d_A^s}
Wqs∈Rdg×dAs ,
W
k
s
∈
R
d
g
×
d
A
s
W_k^s \in R^{d_g\times d_A^s}
Wks∈Rdg×dAs ,
W
v
s
∈
R
d
g
×
d
g
W_v^s \in R^{d_g\times d_g}
Wvs∈Rdg×dg .
Q
s
和
K
s
Q^s和K^s
Qs和Ks的dot-product计算节点的动态空间依赖
S
s
∈
R
N
×
N
S^s\in R^{N\times N}
Ss∈RN×N
S
s
=
s
o
f
t
m
a
x
(
Q
s
(
K
s
)
T
)
/
d
A
s
S^s= softmax(Q^s(K^s)^T)/\sqrt d_A^s
Ss=softmax(Qs(Ks)T)/dAs
节点特征
M
s
∈
R
N
×
d
g
M^s\in R^{N\times d_g}
Ms∈RN×dg由
S
s
S^s
Ss更新:
M
s
=
S
s
V
s
M^s = S^sV_s
Ms=SsVs
值得一提的是,通过引入多对子空间,可以通过多头注意机制学习到多种空间依赖模式,从而能够从不同的潜在子空间中建模出不同的隐性空间依赖。
此外,在每个节点上应用一个具有非线性激活的共享三层前馈神经网络,进一步改善对学习到的节点特征
M
s
M^s
Ms的预测条件。特征通道之间的交互被用于更新
M
s
M^s
Ms。
U
s
=
R
e
L
u
(
R
e
L
u
(
M
^
′
s
W
0
)
W
1
s
)
W
2
s
U^s=ReLu(ReLu(\hat M'^sW^0)W_1^s)W_2^s
Us=ReLu(ReLu(M^′sW0)W1s)W2s
M
^
′
s
=
X
^
s
+
M
s
\hat M'^s=\hat X^s+M^s
M^′s=X^s+Ms 是残差连接,
Y
^
s
=
U
s
+
M
^
′
s
\hat Y^s =U^s+\hat M'^s
Y^s=Us+M^′s 使用门控机制进行特征融合。值得注意的是,我们可以为深层模型叠加多个动态图卷积层,以提高模型对复杂空间相关性的能力。
3.3.5 Gate Mechanism forFeature Fusion
建立了gate mechanism来融合从固定和动态图卷积层中学习到的空间特征:
g
=
s
i
g
m
o
i
d
(
f
s
(
Y
^
s
)
)
+
f
g
(
X
g
)
g=sigmoid(f_s(\hat Y^s))+f_g(X^g)
g=sigmoid(fs(Y^s))+fg(Xg)
其中,
f
s
和
f
g
f_s和f_g
fs和fg是线性映射,将
Y
′
s
Y'^s
Y′s 和
X
g
X^g
Xg转化为
1
−
D
1-D
1−D向量。因此,通过门
g
g
g对
Y
′
S
Y'^S
Y′S和
X
S
X^S
XS进行加权得到输出
Y
S
Y^S
YS。
Y
′
s
=
g
Y
^
s
+
(
1
−
g
)
X
g
Y'^s = g\hat Y^s+(1-g)X^g
Y′s=gY^s+(1−g)Xg
空间transformer 的输出
Y
s
∈
R
M
×
N
×
d
g
Y^s \in R^{M\times N \times d_g}
Ys∈RM×N×dg 收集
M
M
M个时间步长的并行获得的
Y
′
s
Y'^s
Y′s,然后输入后续的时间transformer,其
X
τ
=
Y
s
X^\tau = Y^s
Xτ=Ys。
3.3.6 General Dynamical Graph Neural Networks
现有的谱图和空间图卷积网络依赖于预定义的图拓扑,不能适应输入的图信号。在本小节中,我们证明了空间transformer可以表述为动态图神经网络中所有节点
v
∈
V
v\in V
v∈V的信息传递和更新的迭代特征学习过程。
x
v
∈
R
g
d
x_v \in R^d_g
xv∈Rgd为节点
v
v
v的输入特征. 对于任意
v
∈
V
v\in V
v∈V,它从
V
V
V中的节点接收消息
m
v
∈
R
d
g
m_v\in R^{d_g}
mv∈Rdg。
m
v
=
∑
u
∈
V
F
(
x
v
,
x
u
)
=
∑
u
∈
V
<
(
W
q
s
)
T
x
v
,
(
W
k
s
)
T
x
u
>
x
u
m_v = \sum_{u\in V} F(x_v,x_u)=\sum_{u \in V}<(W_q^s)^Tx_v,(W_k^s)^Tx_u>x_u
mv=u∈V∑F(xv,xu)=u∈V∑<(Wqs)Txv,(Wks)Txu>xu
self-attention 即动态图卷积.
3.4 Temporal Transformers
X
′
τ
=
G
t
(
[
X
τ
,
D
τ
]
)
∈
R
M
×
N
×
d
g
X'^\tau = G_t([X^\tau,D^\tau])\in R^{M\times N \times d_g}
X′τ=Gt([Xτ,Dτ])∈RM×N×dg,由
X
τ
=
X
s
+
Y
s
∈
R
M
×
N
×
d
g
X^\tau=X^s+Y^s \in R^{M\times N \times d_g}
Xτ=Xs+Ys∈RM×N×dg和
D
τ
D^\tau
Dτ构成,其中
G
t
G_t
Gt是
1
×
1
1\times 1
1×1的卷积层,在每个时间步生成
d
g
d_g
dg维向量,节点可以并行化处理,以对时间依赖关系建模。
g
g
g中的任意一个节点有,2D空间特征
X
^
τ
∈
R
M
×
d
g
\hat X^\tau \in R^{M\times d_g}
X^τ∈RM×dg。采用自注意机制对时间依赖关系进行建模。temporal transformer的输入是一个时序序列
X
^
τ
∈
R
M
×
d
g
\hat X^\tau \in R^{M\times d_g}
X^τ∈RM×dg,拥有M长的滑动窗口,
d
g
d_g
dg通道。
Q
τ
=
X
^
τ
W
q
τ
Q^\tau = \hat X^\tau W_q^\tau
Qτ=X^τWqτ
K
τ
=
X
^
τ
W
k
τ
K^\tau = \hat X^\tau W_k^\tau
Kτ=X^τWkτ
V
τ
=
X
^
τ
W
v
τ
V^\tau = \hat X^\tau W_v^\tau
Vτ=X^τWvτ
Q
τ
∈
R
M
×
d
A
τ
Q^\tau\in R^{M\times d_A^\tau}
Qτ∈RM×dAτ,
K
τ
∈
R
M
×
d
A
τ
K^\tau\in R^{M\times d_A^\tau}
Kτ∈RM×dAτ,
V
τ
∈
R
M
×
d
g
V^\tau\in R^{M\times d_g}
Vτ∈RM×dg。
W
q
∈
R
d
g
×
d
A
τ
W_q\in R^{d_g \times d_A^\tau}
Wq∈Rdg×dAτ,
W
k
∈
R
d
g
×
d
A
τ
W_k\in R^{d_g \times d_A^\tau}
Wk∈Rdg×dAτ,
W
v
∈
R
d
g
×
d
g
W_v\in R^{d_g \times d_g}
Wv∈Rdg×dg
S
τ
=
s
o
f
t
m
a
x
(
Q
τ
(
K
τ
)
T
/
d
A
τ
)
S^\tau = softmax(Q^\tau(K^\tau)^T/ \sqrt d_A^\tau)
Sτ=softmax(Qτ(Kτ)T/dAτ)
基于rnn的模型仅限于考虑基于前面时间步的时间依赖关系,如[30]所示,这种从左到右的体系结构对于建模上下文依赖关系不是最优的。我们进一步将
V
τ
V^\tau
Vτ与权值
S
τ
S^\tau
Sτ进行聚合得到时间特征
M
τ
M^\tau
Mτ的值。
M
τ
=
S
τ
V
τ
M^\tau = S^\tau V^ \tau
Mτ=SτVτ
为了研究潜在特征之间的相互作用,为
M
τ
M^\tau
Mτ提出了一种共享的三层前馈神经网络:
U
T
τ
=
R
e
L
u
(
R
e
L
u
(
M
′
τ
W
0
τ
)
W
1
τ
)
W
2
τ
UT\tau = ReLu(ReLu(M'^\tau W_0^\tau)W_1^\tau)W_2^\tau
UTτ=ReLu(ReLu(M′τW0τ)W1τ)W2τ
M
′
τ
=
M
τ
+
X
τ
M'^\tau = M^\tau+X^\tau
M′τ=Mτ+Xτ(残差连接)
对于每个节点,输出
Y
^
τ
=
U
τ
+
M
′
τ
\hat Y^\tau = U^\tau + M'^\tau
Y^τ=Uτ+M′τ,整个图的输出为
Y
τ
∈
R
M
×
N
×
d
g
Y^\tau \in R^{M\times N \times d_g}
Yτ∈RM×N×dg
在时间transformer的每一层中,可以有效地捕获长期的双向时间依赖关系,因为每个时间步都要处理滑动窗口中剩余的时间步。通过增加
M
M
M,时间transformer可以很容易地伸缩到较长的序列,而不牺牲太多的计算效率。相比之下,基于rnn的模型会受到梯度消失或爆炸的影响,而基于卷积的模型必须明确地指定卷积层的数量,层数会随着
M
M
M的增加而增加。