文章信息
本周阅读的论文是题目为《Learning Dynamics and Heterogeneity of Spatial-Temporal Graph Data for Traffic Forecasting》的一篇2021年发表在《IEEE Transactions on Knowledge and Data Engineering》上的使用注意力时空图网络(ASTGNN)预测交通流的文章。
摘要
准确的交通预测对于提高智能交通系统(ITS)的安全性、稳定性和效率至关重要。尽管经过多年的研究,交通预测仍然面临以下挑战,包括在时间和空间维度上建模交通数据的动态,以及捕获交通数据的周期性和空间异质性,这一问题对于长期预测来说更加困难。本文提出了基于注意力的时空图神经网络(ASTGNN)用于交通流预测。具体来说,在时间维度上,文章设计了一种新的能够利用局部上下文的自注意力机制,用于数字序列的转换表示,使预测模型能够捕获交通数据的时间动态,同时采用全局感受野便于长期预测。在空间维度上,文章开发了动态图卷积模块,利用自注意力机制动态捕捉空间相关性。此外,通过嵌入(Embedding)模块捕捉周期性和空间异质性。在五个真实交通流数据集上的实验表明,ASTGNN性能优于其他先进的模型。
介绍
近年来,许多国家致力于研究智能交通系统(ITS),交通预测作为智能交通系统不可或缺的一部分,为优化交通资源调度提供有效数据支持,还帮助人们更好安排日常出行。因此,过去几年人们一直在努力实现准确和长期的交通预测。目前广泛采用的交通预测框架是时空图神经网络(STGNNs),图中每个节点代表一个交通监控站,边代表道路网络。STGNNs将在空间维度上操作的图卷积块和在时间维度上动态建模的前向神经网络相结合,以充分捕捉交通流的时空特征来提高预测精度。尽管在预测准确性上取得了有效提升,但准确、长期的交通预测仍然存在挑战。
首先,如何有效地对交通数据在时空维度上的动态性进行建模仍然是一项挑战。通常来讲,动态性通常与随时间变化的物理量相联系,动态性描述了物理量如何随时间演变,在文章中,该物理量指的是每个监测站所观测到的交通状态。目前为止,研究仅考虑从时间维度对单个交通观测点的动态性进行建模。然而,交通拥堵通常由一条道路传播到另一条道路,这意味着站点的交通流状态演变不仅与自身历史交通状态有关,还受其他相邻站点影响。为了对空间相关性进行建模,大多研究都是利用图卷积网络处理静态的路网拓扑图。换句话说,目前存在的模型都假设空间相关性是不变的,但这在实际中是不成立的。
其次,现有的模型很难实现精确的长期预测。常见的RNNs或者CNNs模型都通过前向计算对动态性进行建模。众所周知,RNNs容易出现梯度消失问题,尤其是在长序列建模任务中;另一方面,CNNs由于卷积核的感受域有限,因此它们很难捕获远距离依赖关系。因此,现有方法的预测性能通常会随着预测区间增加而急剧下降。
此外,对长时交通序列数据进行有效的周期性建模以及在没有详细空间信息的情况下考虑空间异质性仍值得关注。交通数据是由人类的日常活动产生的,具有明显的周期性。图1-(1)显示了一个检测器检测到的流量,具有明显的周期性。因此,在搭建准确的交通预测模型时,如何有效地从长而冗余的历史序列中捕捉交通流周期性是一个需要思考的问题。在交通预测中另一个重要的点是交通的空间异质性。图1-(2) 为两个不同检测器在同一天内的交通流量变化情况,检测器A位于街道而B位于高速公路。即使位于相同时间段,二者具有不同的交通流特征,这意味着交通流在空间维度上有所不同,不同位置的交通模型不同。考虑到数据的可获取性,如何仅根据道路网络结构捕捉空间异质性仍然是一个有待研究的问题。
图1 交通流的周期性和空间异质性
为了解决这些问题,文章提出了一个新的交通预测模型,称为基于注意力机制的时空图神经网络(ASTGNN)。与RNNs或基于CNNs的方法相比,在ASTGNN中,动态性的参数更加灵活地取决于输入。为了精确预测,自注意机制使每个符号的表示可以直由其他符号所表示,这将产生一个有效的全局感受域,从而使模型能够做出准确的长期预测。此外,文章精确地模拟了周期性和空间异质性,进一步提高了性能。这篇文章的贡献总结如下:
该文章首次提出一种自注意的交通预测模型ASTGNN,该模型以灵活的方式捕捉动态,提供更准确的长期预测。
文章设计了一种趋势感知自注意力模块,使自注意力机制可以感知局部信息,并提出了动态图卷积模块对空间相关性进行建模。
与现有模型不同,文章考虑了交通数据的周期性和空间异质性以进一步提高模型的性能。
文章在五个真实世界的交通流数据集上对模型预测效果进行验证。结果表明,文章提出的ASTGNN明显优于目前最先进的交通预测方法。
与作者在另一篇文章所提出的基于注意力机制的时空图卷积网络(ASTGCN)相比,该模型存在以下的重大提升:
ASTGNN不采用一维CNN,而是采用了一种新的时间趋势感知多头自注意力模块,能够更有效地捕捉交通数据的动态。
ASTGNN设计了一种新的动态图卷积块以动态捕捉空间相关性。此外,文章对空间异质性进行了精确建模,进一步提高模型性能。
文章通过实验评估了ASTGNN的有效性。通过消融实验评估ASTGNN各组成部分对预测性能的影响。
1. Problem formulation
Definition1 (Traffic Network):文章定义了一个交通网络G=(V,E),其中V表示节点的集合,共有N个节点,每个节点代表一个交通检测器或观测站点,E是节点边的集合 。文章提出的解决方案均可以应对有向或者无向网络。
Definition 2 (Traffic Signal Matrix):交通网络G在时间段t的观测值被定义为交通信号矩阵,其中定义为节点v在时刻t的特征向量,C表示特征的数量。
Problem Statement (Traffic Forecasting):给定过去个时间段的历史时空交通信号矩阵、全局周期序列 以及局部周期序列,文章旨在预测未来个时间步的交通信号矩阵 。
大部分交通预测的相关研究仅仅将近期历史交通状态作为输入。为了公平比较,文章首先保留了相同的输入,与其他基准模型进行比较。另外,上述提到了交通数据与人们日常活动有关且具有周期性。因此,文章进一步对交通数据的周期性进行建模,加入了全局周期序列和局部周期序列。
2. Multi-Head Attention
注意力机制可以视为一个将query和key与value的集合映射到输出的函数,其中query、key和value均是向量。对这些数值加权求和计算得到输出,权重的设定是通过兼容性函数计算所得,其变量是query和相应的key。文章采用“Scaled Dot-Product Attention”,对所有的quries执行矩阵乘法操作。具体来说,给定queries和keys的维度,注意力计算公式如下:
式中,分别表示queries、keys以及values。
为了使模型能够捕捉不同子空间的注意力,学者提出了多头注意力机制。本文使用表示模型的特征尺寸。给定初始的queries、keys以及values,多头注意力可以通过以下公式计算得出:
式中,表示多头的数量,其余的W表示需要学习的权重。
(1) Overall Pipeline
ASTGNN的主要目的是在时间和空间维度上直接对交通流数据复杂的动态相关性进行建模。该模型基于encoder-decoder框架,其总体构成如下图所示,encoder和decoder块具有多个相同的层堆叠而成。为了保证模型可以深入学习,ASTGNN还使用了残差连接和层归一化。
图2 ASTGNN模型框架
(2) Spatial-Temporal Encoder
时空编码块(spatial-temporal encoder)由时空编码层堆叠形成,每层由时间趋势感知多头自注意力机制和空间动态图卷积组成。时间趋势感知多头注意力块旨在从时间维度对交通数据的动态性进行建模,而空间动态GCN模块则为了捕获交通数据的空间相关动态。
1) Temporal Trend-Aware Multi-Head Self-Attention
由于多头自注意力机制起初是为了处理离散标记(如单词等),并没有考虑连续数据中固有的局部特征。因此,简单将其应用于交通信号序列处理中可能会导致权重不匹配,即原始的多头注意力机制仅根据两个节点的取值相近判定二者的相关强度较大,而忽略了节点的局部趋势是否相同,这会使模型得到错误的序列表示,进而影响最终的预测性能。
为了解决传统多头注意力机制存在的局部趋势不可知问题,文章设计了一种考虑局部上下文信息的时间趋势感知多头自注意力机制。节点之间共享时间趋势感知的多头注意力,这是卷积自注意力机制(Convolutional Self-Attention)的变体,使用1D卷积替代Q、K的线性投影。由于卷积运算通过将局部上下文作为输入来计算表示,因此模型可以了解隐藏在交通流数据中的局部变化趋势。形式上,时间趋势感知多头自注意力机制定义如下。
在第l层encoder层中,给定输入,在所有节点上执行时间趋势感知多头自注意力机制后,得到一个中间序列表示。趋势感知自注意力机制使模型中的时间动态性是基于输入计算的。相比之下,在先前基于RNN和CNN的STGNNs模型中,时间动态性被假定为随时间移动而不变。
2) Spatial Dynamic Graph Convolution
为了捕捉空间动态性,文章基于GCN进一步设计了动态图卷积网络。GCN将传统的卷积计算从结构化数据推广到图结构,能够捕获隐藏在图中的非结构化模式。GCNs的总体思想是通过在节点之间交换信息来学习节点表示。具体地说,给定一个节点,GCN首先聚合其相邻节点的表示以生成该节点的中间表示,然后使用线性投影和非线性激活函数对聚合表示进行转换。具体公式如下:
其中以及 分别为节点表示,权重矩阵以及非线性激活函数。表示节点之间的交互关系,定义如下:
其中表示邻接矩阵,表示邻接矩阵的度矩阵。
这种传统的图卷积运算不会随时间变化,即给定一个图G,相应的权重矩阵A是一个常数。然而,对于交通网络而言,节点之间的相关性很可能随着时间推移而改变,如果将传统的GCN应用于交通网络则无法捕获此类动态。基于此,文章提出了动态卷积网络DGCN,可以自适应地调整节点间的关系强弱,其思想是利用自注意机制动态计算节点间的空间相关性强度。例如,给定节点表示,时间趋势感知多头注意力的输出作为输入,空间相关性矩阵S的计算如下:
直观来说,的元素表示节点i和j之间的关联强度,取值大表示强关联,取值小表示弱关联。一旦获得了空间相关权重矩阵,就可以利用它通过element-wise dot-product来调整静态的权重矩阵A。
文章提出的动态图卷积模块基于由输入决定的可变的相关性矩阵以整合邻接信息,最终得到空间信息输出。
(3) Spatial-Temporal Decoder
时空解码模块由L个相同的解码层堆叠组成,以自回归的方式生成输出序列。为了防止使用未来子序列信息,解码器中使用了掩码(Mask)机制。每个解码层由两个时间趋势感知多头注意模块和一个空间动态GCN模块组成。具体来说,第一个时间趋势感知多头注意模块捕捉了decoder输入序列的相关性。为了掩盖未来信息,对query和key的1D卷积替换为了因果卷积,这是因为因果卷积仅关注当前位置的左侧,保证卷积运算不会窥视序列的未来信息。图3阐述了因果卷积和传统1D卷积的差别。第二个时间趋势感知多头注意块用于捕捉decoder输入序列(queries)与encoder(keys)输出序列间的相关性,其中因果卷积被应用于queries的计算而1D卷积被应用于keys的计算。
图3 传统1D卷积与因果卷积的差别
(4) Handling Preiodicity and Position Embedding
1)Handling Periodicity
该文章进一步考虑了隐藏在流量数据中的两种周期模式,即全局周期性和局部周期性。全局周期性是由于人们活动的规律性,例如通勤者在每周一早上8点离开家,因此每周同一天的同一时段的交通状况往往形似。局部周期性则是由气候或者天气变化引起的,例如大雪三天的交通速度与其他几天的交通速度显著不同。为了在预测未来个时间步的交通流时考虑这两种周期模式,除了过去个时间步的历史交通流数据,文章还引入了另外两种数据格式。
Global periodic tensor:为了捕捉全局周期性,文章考虑了过去w周与当前星期日期属性相同天的个交通记录,即。例如,假设时间步长为1小时,预测星期一早上7点到11点未来4个小时的交通状况,则需要提取过去三周(w=3)中星期一早上7点到11点的交通记录,得到全局周期性张量。
Local periodic tensor:类似全局周期张量,文章考虑过去d个连续日每日的个交通记录,即。例如,假设时间步为1小时,若希望预测当天早上7点到11点未来四个小时的交通状况,则需要提取过去两天(d=2)早上7点到11点的交通状况数据,得到局部周期张量。
2)Temporal Position Embedding
在时间趋势感知多头注意力模块中,动态性完全由自注意力机制建模。由于注意力机制通过加权和函数建立输入和目标之间的依赖关系,因此注意力机制对序列中符号的顺序时完全不可知的。然而,顺序信息在时间序列建模任务中起着非常重要的作用,因为相邻节点的信息往往更具有关联性。因此,明确地将顺序偏差引入模型可以提高预测的精确度。基于此,文章通过position embedding赋予每个元素位置信息,使相邻的元素具有紧密的位置关系。文章采用了固定位置嵌入,将每个输入元素嵌入到位置t中,具体实现如下:
其中,t是输入中每个元素的相对索引。另一个好处是,当输入包括全局周期张量和局部周期张量时,引入时间位置嵌入有利于模型更好的识别三种张量间的相对位置关系。
3)Spatial Position Embedding
虽然文章前面提出了如何捕捉不同节点(观测站)之间的动态变化相关性,但除了动态变化的交通状况外,每个空间节点还与一些静态特征相关联,这些静态特征主要由包括局部拓扑特征和相关道路类别属性在内的空间特征所决定。这些静态空间特征不随时间推进而演变,但随空间变化而变化,即具有空间异质性。因此,为了在反映图结构信息的同时对空间异质性进行建模,模型首先为每个节点分配一个额外的嵌入向量,从而得到初始空间位置嵌入矩阵。接着使用GCN层进行拉普拉斯平滑以得到最终的空间位置嵌入矩阵。
在得到时间和空间位置嵌入后,将二者加入到最初的输入中以改进模型性能。
总结
以上是对该文章所提出模型的框架及算法的具体介绍,实验部分在此不展开详细讲述,感兴趣的读者可以自行查看文章。这篇文章提出了一种新的交通流时空预测模型,称为ASTGNN。ASTGNN框架在时间和空间维度上均采用了注意力机制以实现交通数据动态性建模,同时考虑了交通流数据的周期性和空间异质性。具体来说,文章设计了一种时间趋势感知的多头注意机制,用于时间序列预测任务,它可以捕获时间序列中的局部上下文。为了捕捉空间维度上的动态,文章开发了一种新的动态GCN,可以自适应地调整空间相关强度。此外,文章明确建模了交通数据的周期性和空间异质性。在五个真实交通数据集上的实验表明,ASTGNN优于最先进的基线。
Attention
欢迎关注微信公众号《当交通遇上机器学习》!如果你和我一样是轨道交通、道路交通、城市规划相关领域的,也可以加微信:Dr_JinleiZhang,备注“进群”,加入交通大数据交流群!希望我们共同进步!