论文笔记《Attention Based Spatial-Temporal Graph Convolutional Networks for Traffic Flow Forecasting》

1. Abstract

本文目标是预测交通流,该问题最大的挑战是交通流数据的高度非线性和复杂的关系模式。现存的预测方法缺乏对交通流动态时空关系的建模,于是本文提出一种带注意力机制的图卷积神经网络 attention based spatial-temporal graph convolutional network (ASTGCN) model 具体思路:

模型由3个独立的组件,每个组件分别对交通流3种时间特性 (temporal properties)建模

  • 当前 recent
  • 日周期 daily-periodic
  • 周周期 weekly-periodic

将时间特性分为三类分别建模再融合这一思路,可参考以下两篇文章:
【1】Zhang, J. , Zheng, Y. , Qi, D. , Li, R. , & Yi, X. . (2016). DNN-based prediction model for spatio-temporal data. Acm Sigspatial International Conference on Advances in Geographic Information Systems. ACM.
【2】Zhang, J. , Zheng, Y. , & Qi, D. . (2016). Deep spatio-temporal residual networks for citywide crowd flows prediction.

每个组件包含2个主要部分

  • 时空注意力机制 捕获 动态时空相关性
  • 时空卷积层通过 图卷积 捕获 空间关系普通卷积 捕获 时间关系

2. Introduction

论文笔记《Attention Based Spatial-Temporal Graph Convolutional Networks for Traffic Flow Forecasting》
Figure 1 主要说明交通流的时空相关性

  • 两点之间的加粗线条表示相互影响强度,颜色越深,影响越大
  • Fig. 1(a) 从空间角度分析,说明不同路段对于A点影响不同,且随着时间推移 各路段影响强度也会变化
  • Fig. 1(b) 从时间角度分析,对于A路段的交通流来说,不同位置的历史观测值,对A路段未来流量有不同影响

现有研究

模型 局限
时间序列分析模型 难以处理不稳定、非线性数据
传统机器学习模型 用于处理复杂数据,但是(1)难以同步考虑高维交通数据的时空相关性;(2)依赖于特征工程,需要较多专家经验
深度学习模型 如(1)CNN处理网格数据的空间特征;(2) GCN描述图数据的空间相关性。但以上方法均不能同时处理时空特性和动态相关性

具体文献综述部分主要从以下三方面分析

  • 交通预测
  • 基于图的卷积
  • 注意力机制

3. Preliminaries

3.1 交通网络

  • 将交通网络定义为无向图 G=(V,E,A)G=(V,E,A) ,其中 V=N|V|=N 表示 NN 个节点;AA 表示图的邻接矩阵 ARN×NA\in \mathbb{R}^{N\times N}
  • 每个节点测量三个属性值,分别是flow(预测目标)、occupy、speed

3.2 交通流预测

变量 含义
f(1,...,F)f\in (1,...,F) 在交通图 GG 中的每个节点都有 ff个时间序列数据
xtc,iR{x_t^{c,i}}\in \mathbb{R} 节点 iitt 时刻的第 cc 个属性的值,c=flow/occupy/speedc=flow/occupy/speed
xtiR{{\mathrm{x}}_t^{i}}\in \mathbb{R} 节点 iitt 时刻的所有属性值
Xt=(xt1,xt2,...,xtN)TRN×F{{\textrm{X}}_t = \left ( {\mathrm{x}}_t^{1},{\mathrm{x}}_t^{2},...,{\mathrm{x}}_t^{N}\right )^T}\in \mathbb{R}^{N\times F} 所有节点在 tt 时刻的所有属性值
χ=(X1,X2,...,Xτ)RN×F×τ\chi =({\textrm{X}}_1,{\textrm{X}}_2,...,{\textrm{X}}_\tau )\in \mathbb{R}^{N\times F\times \tau} τ\tau 个时间片段的所有节点所有属性值
yti=xtf,jR{{y_t^i}={x_t^{f,j}}} {\in} {\mathbb{R} } 节点 ii 在未来 tt 时刻的 flowflow

问题描述
给定 χ\chi ,预测未来 TpT_p 时间片段的交通流量序列 Y=(y1,y2,...,yN)TRN×Tp{Y={(y^1, y^2,...,y^N)^T} }\in \mathbb{R}^{N\times T_p}
其中 yi=(yτ+1i,yτ+2i,...,yτ+Tpi)RTp{y^i}={(y_{\tau +1}^i,y_{\tau +2}^i,...,y_{\tau +T_p}^i)} \in \mathbb{R}^{T_p}

4. ASTGCN

4.1 整体框架

论文笔记《Attention Based Spatial-Temporal Graph Convolutional Networks for Traffic Flow Forecasting》
论文笔记《Attention Based Spatial-Temporal Graph Convolutional Networks for Traffic Flow Forecasting》

4.2 Spatial-Temporal Attention

  • 在空间维度,不同区域的交通状况相互影响,这种相互影响有很强的动态性
  • 在时间维度,不同的时间片段的交通流量存在相关性

通过注意力机制捕获以上两种关系,此处以 recentrecent 模块为例:
论文笔记《Attention Based Spatial-Temporal Graph Convolutional Networks for Traffic Flow Forecasting》

4.3 Spatial-Temporal Convolution

经过注意力机制调整后的输入,被喂入时空卷积模块(spatial-temporal convolution module),该模块由时空维度的图卷积组成,以捕获来自近邻节点的空间依赖性。同时沿着时间维度卷积,也能够捕获来自近邻时间的时间依赖性
论文笔记《Attention Based Spatial-Temporal Graph Convolutional Networks for Traffic Flow Forecasting》

4.3.1 Graph convolution in spatial dimension

谱图理论将卷积从网格结构数据推广到了图结构数据,本文研究的交通网络实际是图结构数据,为充分利用交通网络拓扑特征,在每个时间片段上,作者采用基于谱图理论的图卷积处理,以挖掘空间维度的相关性。

此处公式推导不展开,基于谱图的(或称频谱域)的图神经网络详细教程,请参考 【GCN】万字长文带你入门 GCN

几个要点:

  • 引入切比雪夫展开式近似 LkL^k
  • **函数为 the Rectified Linear Unit (ReLU)
  • 为动态捕捉节点间的相关关系,令 切比雪夫多项式空间注意力矩阵 相乘,即:
    论文笔记《Attention Based Spatial-Temporal Graph Convolutional Networks for Traffic Flow Forecasting》
    论文笔记《Attention Based Spatial-Temporal Graph Convolutional Networks for Traffic Flow Forecasting》

4.3.2 Convolution in temporal dimension

在捕获图像的空间维度信息后,再叠加一个普通的卷积层(在时间维度),通过融合近邻时间片段的信息,以更新目标节点的信息,更新公式如下:
论文笔记《Attention Based Spatial-Temporal Graph Convolutional Networks for Traffic Flow Forecasting》

总结

  • 一个ST Block = 空间注意力 + 时间注意力 + 图卷积 +普通卷积
  • 然后,将多个ST Block堆叠,以进一步提取更大“感受野”的关联信息。
  • 最后,添加一个全连接层,以保证输出与目标有相同的维度和形状,最后的全连接层使用 ReLU 作为**函数。

4.4 Multi-Component Fusion

最后这步,就是看看怎么将三个部分(recent / daily-periodic / weekly-periodic segment)的输出融合,融合原则就是从历史数据中学习,因为不同地区 不同时刻的三个部分影响权重不同,公式如下:

论文笔记《Attention Based Spatial-Temporal Graph Convolutional Networks for Traffic Flow Forecasting》

5. Experiments

最后的结果肯定是该模型更好,具体对比结果如****:MSTGCN模型指的是,没有注意力机制的ASTGCN)
论文笔记《Attention Based Spatial-Temporal Graph Convolutional Networks for Traffic Flow Forecasting》
论文笔记《Attention Based Spatial-Temporal Graph Convolutional Networks for Traffic Flow Forecasting》

最后最后小总结:

  • 本文中将注意力机制和切比雪夫多项式相乘的思路,还是有点儿新奇的,之后看代码时要关注下此处。
  • 突然意识到 对比上篇文章,上篇文章是“三分图”的表示形式,与本文的图不是一个概念,对于能否将上个方法应用到交通领域,还要结合具体模型看。