Attention Based Spatial-Temporal Graph Convolutional Networks for Traffic Flow Forecasting

ASTGCN(基于注意力机制的时空图卷积网络)

    • 1.文章概述
      • 1.1 主要贡献
      • 1.2 本文出发点
      • 1.3 相关工作
    • 2. Attention Based Spatial-Temporal Graph Convolutional Networks
      • 2.1 Spatial-Temporal Attention
      • 2.2 Spatial-Temporal Convolution
      • 2.3 Multi-Component Fusion
    • 3.实验
    • 4.展望

1.文章概述

1.1 主要贡献

本文提出了一个新的图卷积网络attention based spatial-temporal graph convolutional network (ASTGCCN),该网络主要有三个独立的部分组成,分别对交通流的三个时间属性进行建模(最近时间的、每日周期、每周周期),其中每个模块包含两个主要部分:1)时空注意力模块,去动态捕捉时空相关性。2)时空卷积模块,使用图卷积捕捉空间模式,使用标准卷积描述时间特征。

1.2 本文出发点

本文作者认为在邻近位置和时间戳进行的观察不是独立的,而是相互动态关联的。如下图所示,线段越粗代表两点之间关系越强,Figure1(a)中我们可以发现,不同的位置对A的影响不同,甚至同一个位置随着时间的推移对A的影响也不尽相同。Figure1(b)中可以观察到不同位置的历史观测对未来不同时间的A的交通状态有不同的影响。

Attention Based Spatial-Temporal Graph Convolutional Networks for Traffic Flow Forecasting_第1张图片

1.3 相关工作

统计学:统计模型HA, ARIMA , VAR,这些方法需要数据来满足一些假设,但是流量数据太复杂,无法满足这些假设,因此它们在实践中通常表现不佳。

基于CNN和RNN:后续出现了CNN、LSTM等一系列方法用于提取交通数据的时空特征,但它们的局限性在于输入必须是标准的2D或三维网格数据。

图卷积:主要分为两种图卷积:基于谱理论的图卷积和基于空间扩散的图卷积。本文使用的是基于谱理论的图卷积。

注意力机制:通过计算出点之间关联程度,进行加权,本文同时采用图卷积和注意力机制对网络结构的交通数据进行建模

2. Attention Based Spatial-Temporal Graph Convolutional Networks

符号 含义
q q q 每日取样次数
x t c , i x_t^{c,i} xtc,i 图中节点i在时刻t第c个特征
x t i x_t^i xti 途中第i个节点在时刻t的所有特征
X t X_t Xt 在第t个时刻,所有节点的所有特征值
X h \mathcal{X}_{h} Xh 相邻时间段输入
X d \mathcal{X}_{d} Xd 日间隔的输入
X w \mathcal{X}_{w} Xw 周间隔的输入

Attention Based Spatial-Temporal Graph Convolutional Networks for Traffic Flow Forecasting_第2张图片

三个时间维度的输入:

Attention Based Spatial-Temporal Graph Convolutional Networks for Traffic Flow Forecasting_第3张图片

模型总共有三个输入: T h 、 T d 、 T w T_h、T_d、T_w ThTdTw​​,分别作为最近、日周期和周周期分量的输入长度, T h 、 T d 、 T w T_h、T_d、T_w ThTdTw都为 T p T_p Tp的整数倍。​​​

ASTGCN模型由三个具有相同结构的独立组件组成,分别用于对历史数据的最近、每日周期和每周周期依赖性进行建模。三个时间输入使用相同的网络结构,每个组件都由几个时空块和一个全连接组成。其中每个时空块中有一个时空注意模块和一个时空卷积模块。网络为了优化训练效率使用残差连接。最终三个组件的输出合并为最终的预测结果。

2.1 Spatial-Temporal Attention

本文作者提出了一种新的时空注意力机制捕捉时空相关性,它由空间注意力机制和时间注意力机制组成。

  • Spatial attention

在空间维度上,不同地点的交通状况相互影响,相互影响是高度动态的。这里,我们使用注意机制来自适应地捕捉空间维度中节点之间的动态相关性。
S = V s ⋅ σ ( ( X h ( r − 1 ) W 1 ) W 2 ( W 3 X h ( r − 1 ) ) T + b s ) S i , j ′ = exp ⁡ ( S i , j ) ∑ j = 1 N exp ⁡ ( S i , j ) \begin{gathered} \mathbf{S}=\mathbf{V}_{s} \cdot \sigma\left(\left(\mathcal{X}_{h}^{(r-1)} \mathbf{W}_{1}\right) \mathbf{W}_{2}\left(\mathbf{W}_{3} \mathcal{X}_{h}^{(r-1)}\right)^{T}+\mathbf{b}_{s}\right) \\ \mathbf{S}_{i, j}^{\prime}=\frac{\exp \left(\mathbf{S}_{\mathrm{i}, \mathrm{j}}\right)}{\sum_{j=1}^{N} \exp \left(\mathbf{S}_{\mathrm{i}, \mathrm{j}}\right)} \end{gathered} S=Vsσ((Xh(r1)W1)W2(W3Xh(r1))T+bs)Si,j=j=1Nexp(Si,j)exp(Si,j)
其中 X h r − 1 \mathcal{X_h^{r-1}} Xhr1是上一层的输出, V s 、 b s 、 W 1 、 W 2 、 W 3 V_s、b_s、W_1、W2、W_3 VsbsW1W2W3​​是​​可训练参数。S为空间注意力矩阵,值 S i j S_{ij} Sij代表节点i,j再空间上的依赖程度。最终S经过softmax函数进行归一化。

  • Temporal attention

在时间维度上,不同时间段的交通状况之间存在相关性,不同情况下的相关性也不同。
E = V e ⋅ σ ( ( ( X h ( r − 1 ) ) T U 1 ) U 2 ( U 3 X h ( r − 1 ) ) + b e ) E i , j ′ = exp ⁡ ( E i , j ) ∑ j = 1 T r − 1 exp ⁡ ( E i , j ) \begin{gathered} \mathbf{E}=\mathbf{V}_{e} \cdot \sigma\left(\left(\left(\mathcal{X}_{h}^{(r-1)}\right)^{T} \mathbf{U}_{1}\right) \mathbf{U}_{2}\left(\mathbf{U}_{3} \mathcal{X}_{h}^{(r-1)}\right)+\mathbf{b}_{e}\right) \\ \mathbf{E}_{i, j}^{\prime}=\frac{\exp \left(\mathbf{E}_{i, j}\right)}{\sum_{j=1}^{T_{r-1}} \exp \left(\mathbf{E}_{i, j}\right)} \end{gathered} E=Veσ(((Xh(r1))TU1)U2(U3Xh(r1))+be)Ei,j=j=1Tr1exp(Ei,j)exp(Ei,j)
这边于空间注意力机制相似,只是对输入进行转置变成时间维度上的向量相乘,计算出不同时间之间的相关程度。

2.2 Spatial-Temporal Convolution

由注意力机制调整的输入被馈送到时空卷积模块,其结构下图所示

Attention Based Spatial-Temporal Graph Convolutional Networks for Traffic Flow Forecasting_第4张图片

  • Graph convolution in spatial dimension

本文采用的是基于拉普拉斯矩阵的图卷积具体卷积公式如下
g θ ∗ G x = g θ ( L ) x = ∑ k = 0 K − 1 θ k ( T k ( L ~ ) ⊙ S ′ ) x g_{\theta} *_{G} x=g_{\theta}(\mathbf{L}) x=\sum_{k=0}^{K-1} \theta_{k}\left(T_{k}(\tilde{\mathbf{L}}) \odot \mathbf{S}^{\prime}\right) x gθGx=gθ(L)x=k=0K1θk(Tk(L~)S)x

  • 时间卷积

本文采取的应该是类似于STGCN的1-D Convolution具体公式如下
X h ( r ) = Re ⁡ L U ( Φ ∗ ( Re ⁡ L U ( g θ ∗ G X ^ h ( r − 1 ) ) ) ) ∈ R C r × N × T r \boldsymbol{\mathcal { X }}_{h}^{(r)}=\operatorname{Re} L U\left(\Phi *\left(\operatorname{Re} L U\left(g_{\theta} *_{G} \hat{\mathcal{X}}_{h}^{(r-1)}\right)\right)\right) \in \mathbb{R}^{C_{r} \times N \times T_{r}} Xh(r)=ReLU(Φ(ReLU(gθGX^h(r1))))RCr×N×Tr
其中 X ^ h ( r − 1 ) = X h ( r − 1 ) E ′ \hat{\mathcal{X}}_{h}^{(r-1)}=\mathcal{X}_h^{(r-1)}E^{\prime} X^h(r1)=Xh(r1)E​​​

2.3 Multi-Component Fusion

某些地区的交通流量在早晨有明显的高峰时段,因此日时段和周时段分量的输出更为关键。然而,在其他一些地方没有明显的交通循环模式,因此日周期和周周期的组成部分可能是无用的。对其作者对三个组件的输出进行加权最终输出为:
Y ^ = W h ⊙ Y ^ h + W d ⊙ Y ^ d + W w ⊙ Y ^ w \hat{\mathbf{Y}}=\mathbf{W}_{h} \odot \hat{\mathbf{Y}}_{h}+\mathbf{W}_{d} \odot \hat{\mathbf{Y}}_{d}+\mathbf{W}_{w} \odot \hat{\mathbf{Y}}_{w} Y^=WhY^h+WdY^d+WwY^w

3.实验

数据集:PeMSD4,PeMSD8

预处理:作者移除了一些冗余探测器,以确保任何相邻探测器之间的距离都超过3.5英里。数据通过zero-mean normalization: x ′ = x − m e a n ( x ) x′= x-mean(x) x=xmean(x)进行转换,使平均值为0。

结果:其中MSTGCN为不加时空注意力机制的模型

Attention Based Spatial-Temporal Graph Convolutional Networks for Traffic Flow Forecasting_第5张图片

在不同时间段的比较:可以发现该模型随时间间隔变成MAE和RMSE的上升趋势都较缓慢
Attention Based Spatial-Temporal Graph Convolutional Networks for Traffic Flow Forecasting_第6张图片

4.展望

高速公路的交通流量受许多外部因素的影响,如天气和社会事件。未来,作者后续研究将考虑一些外部影响因素,进一步提高预测精度。

你可能感兴趣的:(时空序列预测论文)