本文转自:https://blog.csdn.net/zsycode/article/details/104498370
目录
T-GCN
早期研究
早期的方法只考虑了交通状况在时间上的动态变换,忽略可空间之间的相互依赖。一些研究引入了卷积神经网络来对空间特征进行提取,但普通卷积局限于处理像图像这种欧几里德结构的数据,对于交通数据这种复杂的拓扑结构效果不是很好。
本文贡献
本文引入了最近比较火的gcn,结合GRU来分别提取交通数据的空间特征和时间特征,达到不错的效果。网络也比较简单,亮点主要就是GCN的使用。
ST-GCN
本文亮点
- 第一次用纯卷积的形式来提取时间特征
- 提出了一个新的由时空块组成的神经网络,由于由于这个架构中是纯卷积操作,它比基于RNN的模型的训练速度快10倍以上,而且需要的参数更少。
注意: 在PeMSD7数据中,图的构建方法并不是基于实际路网,而是通过数学方法构建了一个基于距离关系的网络。
网络结构
如上图,左边为整个网络,中间为ST-Conv Block具体结构,分为时间模块-空间模块-时间模块,来充分提取时空特征,空间模块就是gcn的应用。右边为时间模块的具体结构。
时间模块
尽管基于RNN的模型可以广泛的应用于时间序列分析,用于交通预测的循环神经网络仍然会遇到费时的迭代,复杂的门控机制,对动态变化的响应慢。相反,CNN训练快,结构简单,而且不依赖于前一步。
每个顶点的时间卷积的输入可以被看做是一个长度为M的序列,先进行一维卷积,即使用或者
大小的卷积核,这里使用
个卷积核,得到的输出为
然后接了一个门控线性单元(GLU)作为激活,GLU定义为
⊗表示哈达玛积,文中还实现了残差连接,即P改为(P+X),X为时间模块的输入(为了实现残差,X直接取了这个长度,即
)。
输出层
一个额外的时间卷积和全连接层。
ASTGCN
本文亮点
- 考虑了不同周期时间段的影响,即周、日、时,比如一周的周一,一天的早晨,这都是车流量较大的时候,网络分为三个组件分别提取邻近、日、周的依赖特征。
- 同样用gcn提取空间特征,普通卷积提取时间特征,但在此基础上加入了注意力机制。
网络结构
三个组件分别提取出日、天、周的时空特征,然后进行融合后得到最终输出
时空注意力
- 空间注意力:在空间维度上,不同位置的交通状况相互影响,相互影响具有很强的动态性。因此我们使用注意力机制自适应地捕捉空间维度中节点之间的动态关联性。N为观测点的个数。
- 时间注意力:在时间维度上,不同时间段的交通状况之间存在相关性。T为时间步数。
GMAN
本文亮点
本文针对长时间交通预测,提出了一个图多注意力的网络。
作者认为,长时间交通预测的困难有两点:
1、复杂的时空关联性
2、对误差传递的敏感。每个时间步的误差在长时间的预测中都会被放大。
争对上述问题,本文贡献如下:
1、对空间和时间的相关性都采用了注意力的方式建模
2、提出一个变换注意力机制将历史交通特征转换为未来的表示。这个注意力机制对历史和未来的关系直接建模,减轻错误传播的问题。
3、该网络在一小时预测上性能提升不少。
网络结构
时空嵌入(STE)
由于交通条件的演变由底层道路网络限制,将道路网络信息纳入预测模型是至关重要的。作者使用node2vec学习节点表示,得到节点向量,再将其送入一个两层的全连接网络,得到空间嵌入。
空间嵌入是静态的,不能表示路网的动态关联性。使用one-hot编码加两层全连接层得到时间嵌入。对于某一节点
在时间
的时空嵌入为
,
。
时空注意力模块
空间注意力
类似于图注意力网络(GAT)的思想,同样采用了多抽头注意力,求相关系数加入了时空嵌入。
,
表示节点vi在时间点tj的隐藏状态,
,
表示节点vi在时间点tj的时空嵌入。
表示所有节点。
当结点数 N 很大的时候,时间和内存消耗都会很大,达到的数量级。为了解决这个限制,我们提出了组空间注意力,包含了组内注意力分数和组间注意力分数。组内注意力计算同上,每组节点通过组内注意力更新后经最大池化得到各自表示,根据每组的表示计算组间注意力得到每组的全局特征,每组的节点加上各自的全局特征得到输出特征。
组空间注意力中,我们分为G组,每组个节点,每个时间步需要计算
个注意力分数。通过使M的梯度为0,我们知道
时计算步数达到最小
.
时间注意力
时间注意力和空间注意力类似,只是改变下参照对象
更新公式同样类似
门控融合
Transform Attention
为了减轻错误传播的问题,我们在编码器和解码器之间加入了一个变换注意力层。它能直接地对历史时间步和未来时间步的关系建模,将交通特征编码为未来的表示,作为解码器的输入。
未完待续......