姓名:韩宜真
学号:17020120095
转载自:https://mp.weixin.qq.com/s/FjysIJWj7dxA5cYMJR0IJQ
【嵌牛导读】本文中提出了一种用于交通流量预测的新型时空图神经网络,它可以全面捕获时空模式。
【嵌牛鼻子】Transformer模型
【嵌牛提问】这种交通流预测模型是怎样实现的呢?
【嵌牛正文】
1、文章信息
《Traffic Flow Prediction via Spatial Temporal Graph Neural Network》。这是北京交通大学发在国际顶级会议WWW2020上的一篇文章。
2、摘要
道路上的交通流量的动态变化,不仅取决于时间维度上的序列模式,还取决于空间维度上的其他道路。尽管已有很多预测未来交通流量的工作,但大多数工作在建模空间和时间依存关系方面都有一定的局限性。本文中提出了一种用于交通流量预测的新型时空图神经网络,它可以全面捕获时空模式。尤其是该框架提供了一种可学习的位置注意力机制,可以有效地汇总来自相邻道路的信息。同时,它提供了一个序列组件来对交通流动力学建模,可以利用局部和全局时间依赖性。在各种实际交通数据集上的实验结果证明了所提出框架的有效性。
3、问题定义
给定交通网络g=(V, E)和历史交通信息y=(Y1,Y2,..,Yn),我们的目的是建立一个模型f,可以将一个长度为T的新序列X=(X1,…,XT)作为输入,预测未来T’个时间步的交通信息Xpred=(XT+1,…,XT+T’)。
4、模型
本文所提出的时空图神经网络框架如图所示。它主要由三个部分组成:1)空间图神经网络(S-GNN)层,旨在捕获通过交通网络的道路之间的空间关系;2)GRU层,该GRU层是用来按顺序捕获时间关系(或局部时间相关性);3)Transformer层,其目的是直接捕获序列中的长期时间依赖性(或全局时间依性)。其中,S-GNN层用于建模节点之间的空间关系,并将其应用于GRU单元的输入和隐藏表示。需要注意的是GRU层和Transformer层都用于分别捕获每个节点的时间依赖性,但是分别是从不同角度捕获时间依赖性。
接下来分别介绍模型中的不同模块:
(1)空间图神经网络(S-GNN)层
本文中使用了一种空间图卷积神经网络的方法去捕捉路网空间上的相关性。其中在图神经网络中引入了注意力机制以学习邻居节点对于中心节点的贡献度,但是稍微不同于图注意力神经网络GAT,在这里的注意力计算的所需参数更少。注意力计算的公式如下所示:
其中
代表一种激活函数,pi和pj代表不同节点i和j的潜空间特征。Score( )是一种评分函数,在本文中没有像GAT中使用参数化的方法计算评分函数,而是直接用pi和pj的点积区去计算。在这里仍然采用了与GAT中相同的mask机制用计算得到的权重值替换原邻接矩阵中的非零元素。
(2)GRU层
GRU的作用是捕捉每个空间节点在时间维度上的短时依赖,在这里每个GRU单元的输入Xt和隐藏层输出Ht-1都要经过S-GNN的计算:
本文中总的GRU公式与普通的GRU公式区别不大,主要需要注意的地方是输入和隐藏层都要经由S-GNN以捕捉空间的关系。
(3)Transformer层
Transformer是一种适合学习长序列的神经网络模型,弥补了RNN系列模型在误差积累,梯度爆炸,长时记忆等方面的短板,其作用是捕捉每个空间节点在时间维度上的长时依赖。这里的Transformer层与一般的Transformer基本结构别无二致,分别由位置编码机制,多头注意力层和前馈输出层组成。Transformer层的输入为GRU层中每个循环单元的输出。
Transformer中最核心的还是自注意力机制。本文中的单个自注意力计算与原始的自注意力计算公式一致,分别为查询向量Q、键向量K和值向量V组成:
查询向量Q、键向量K和值向量V分别由一个节点特征进行映射得到:
对于每一个空间节点都需要进行一次自注意力的计算:
为了提升训练的稳定性,可采用多头形式的自注意力:
本文中Transformer总体结构如下图所示:
最后在Transformer层的末端接上一个Prediction Layer, 一个普通的前馈神经网络,直接输出未来T’个时间步的交通信息。论文中用MAE作为整体模型训练的损失函数。
5、实验结果
论文中使用了两个数据集,分别是METR-LA和PEMS-BAY两个道路速度传感器网络数据。分别对于时间片切分为15分钟,30分钟和60分钟的情况下做了实验,并设计移除GRU的变体STGCN w/o GRU和移除Transformer的变体STGCN w/o Transformer, 证明了同时捕捉短时时间依赖和长时时间依赖的有效性。总体试验结果表明该模型优于其他方法。
6、创新点
本文的最大亮点是引入了Transformer模型应用于交通预测领域并首次提出了在交通预测中结合时间维度的局部特征和全局特征的模型。但是运用RNN于较长序列仍然会带来误差积累,并且RNN模型的运算效率并不高,可以考虑运用一维卷积模型对于短时依赖进行捕捉。