龙空技术网

STSGCN:用于交通数据预测的时空同步图卷积

交大包老师 153

前言:

今天小伙伴们对“时空数据模型分为哪几种形式”大约比较着重,看官们都想要剖析一些“时空数据模型分为哪几种形式”的相关文章。那么小编同时在网摘上收集了一些对于“时空数据模型分为哪几种形式””的相关内容,希望咱们能喜欢,朋友们快快来了解一下吧!

文章信息

《Spatial-Temporal Synchronous Graph Convolutional Networks: A New Framework for Spatial-Temporal Network Data Forecasting》,收录于第34届国际人工智能会议(AAAI-2020),作者为北京交通大学的硕士生宋超、博士生郭晟楠,以及林友芳、万怀宇两位老师。

这篇论文的目标为时空网络的数据预测,并为此设计了一种新的预测框架,用以同时捕捉三种时空关系,并且在美国加州高速公路数据集PeMS的4个子集上的测试表明该框架的性能卓越,有很好的预测效果。

论文下载地址:

GitHub代码地址:

摘要

时空网络数据预测在交通管理和城市规划中具有重要意义。然而,潜在的复杂时空相关性和异质性使得这个问题具有很大的挑战性。现有的方法通常使用单独的空间和时间模型来获取时空相关性,从而忽略了时空数据的异质性。本文提出了一种新的时空同步图卷积网络框架,用于时空网络数据的预测。该模型通过时空同步建模机制,能够有效地捕获复杂的局部时空相关性。同时,该模型根据不同时间段分别使用了独立的模块,有效捕捉了局部时空图的异质性。本文在美国加州高速公路的四个真实数据集上进行了大量实验,结果表明文章中所设计的方法达到了最先进的性能,并且始终优于其他基线。

理论概述

时空网络是一种典型的数据结构,通过它能够描述出交通、供水等许多系统的数据关系。作者认为,在时空网络中,节点依赖关系可以分为三类。第一类如棕色箭头所指示为空间依赖关系,表示在同一个时间片中,特定节点与周围邻居之间的关系,体现为空间上的邻居节点。第二类如蓝色箭头所指为时间依赖关系,表示两个相邻时间片中,特定节点与其自身的关系,体现为时间上的邻居节点。第三类如绿色箭头所指为时空依赖关系,表示特定节点与相邻时间片上其自身的空间邻居的关系,体现为时空上的邻居节点。这三种依赖关系是由于信息的传播同时发生在空间和时间两个维度上,并且这种受到空间距离和时间范围的限制,因此这种关系统称为局部时空相关性。

图1 时空网络中的节点关系

在以往的许多涉及到时空建模的相关论文中,它们的架构模型几乎都是分成两步进行的,先在空间上使用图卷积等操作进行关系建模,再在时间维度上使用一维卷积或者RNN,虽然这些方法在时空预测任务也能够取得很好的预测效果,但它们都只捕捉了前两种关系,并通过一系列的操作处理后间接得到了第三种关系,因此对第三种时空依赖关系缺乏直观的可解释性。因此如果能有一种模型架构能够直接捕获所有的这三种依赖关系,将能够更好地预测时空,因此这中建模关系将能够揭示时空网络数据生成的基本方式。

图2 TGCN和ASTGCN的模型结构

创新点设计并实现了时空同步图卷积模块(STSGCM),直接捕获局部的三种时空依赖关系。使用多模块层来捕获时空图中的异质性,每个模块可以专注于提取每个局部时空图上的时空相关性。问题定义

,图信号矩阵表示空间网络G在时间片t处的观测值。

输入为,输出为

模型介绍

本文所提出的论文整体结构如下所示,模型分为了三个部分,输入层和输出层分别和全连接层相连,中间部分则是堆叠的包含多个时空同步图卷积模块的时空同步图卷积层,在这里可以捕获序列中的复杂时空关系和异质性。

图3 STSGCN模型

本文所设计的模型需要同时捕获三种节点依赖关系,因此时空同步图卷积模块的核心思想是构建局部时空图,而局部时空图最直观的构建方法是将相邻的两个时间片的每个节点与其自身相连,这样连续三个时间片所组成的图就叫做局部时空图。在这个图上,每个节点的邻居不仅有空间上的邻居还有时间上的邻居,而前后时间片上的空间邻居则是他的二阶邻居,根据图的拓扑结构,三种依赖关系都将在这个图中被捕获。对这张图进行卷积操作就可以让每个节点考虑自身与其它邻居的关系,其中一阶邻居包含了时间依赖和空间依赖关系,二阶邻居包含了时空关联性。为了将其转化为邻接矩阵,我们定义表示每一个时间片上的空间图的邻接矩阵,因此局部时空图所对应的邻接矩阵为

图4 局部时空图和邻接矩阵的构建

然而由于在局部时空图上,不同时间步上的节点被放在了相同的环境里进行图卷积,因此节点的空间信息和时间信息被模糊淡化了。为了区分出这些节点的时空信息,作者使用了位置编码的思想对其进行了时空嵌入,从而增强了对时空关系建模的能力。具体的操作方法是,对于时空序列设计了空间嵌入矩阵和时间嵌入矩阵。之后再通过广播操作将这两个嵌入矩阵融合到序列中,因此最终的输入序列为

下图(a)为时空同步图卷积模块(STSGCM)的整体结构,所有的局部时空关系就是在这个模块中被捕获。这个模块由一系列的图卷积操作和一个聚合操作(ACG)组成,其中图卷积部分就是一个正常普通的图卷积操作,这里不做过多描述,需要注意的是,每一次图卷积操作的输出都会做一个类似残差的操作将其输入到最后的聚合部分中。在ACG中,操作一共分为两步,第一步是最大池化操作,它对STSGCM中所有图卷积部分的输出进行逐元素的max运算,该操作表示为。第二步是裁剪操作,如下图(c)所示,只保留中间时间片,前后两个时间片的数据直接删除,这么做的好处是可以大幅减少参数的输了,提高模型的效率,防止冗余信息对模型性能造成损害。作者所给出的可以这么做的理由是,图卷积操作可以聚合邻居的数据信息,而STSGCM前面进行了一系列的图卷积操作,因此前后两个时间步的信息已经聚合到中间那个时间步上,这样丢掉前后两个时间步也不会对后续操作造成影响。

图5 时空同步图卷积模块结构

从图3的整体架构图中可以看到,每一个时空同步图卷积层(STSGCL)都由多个时空同步图卷积模块所组成。这么做的原因是因为每一个STSGCM处理了三个时间片的信息,对于时间范围更长的时空序列来说,使用滑动窗口的方式对序列进行切片是一个很好的办法,如果时空序列的总长度为T,那么滑动窗口可以切出T-2个局部时空图。又因为时间因素的影响,所以这T-2个局部时空图之间的时空关联性是不同的,因此不能单纯将其放在一个模块中进行处理,而是使用了T-2个模块对其单独操作,这样有效地捕获了时空序列中的异质性。

这些独立的时空同步图卷积模块的输出拼接起来后就得到了一个新的时空序列,通过叠加多个STSGCL就可以构建一个能够捕获复杂时空相关性和时空异质性的层次模型。

除了上述的主要部分外,整个架构还包含了一些其它小模块,它们被用来增强模型的表达能力。首先是掩码矩阵,在局部时空图中每个节点对它的邻居有不同的影响,如果邻接矩阵仅包含0和1,则聚集可能受到限制。并且如果局部时空图中的两个节点连接在一起,即使在某一时间段内没有相关性,它们的特征也会被聚合。因此,文中在STSGCN中增加了一个可学习的mask矩阵来调整聚合权值,使聚合更加合理。然后是损失函数,在这部分中作者选择了Huber损失作为损失函数,它对异常值的敏感性小于平方误差损失。该损失函数的形式为:

总结

在这篇文章中,作者针对传统的时空模型的不足提出了局部时空同步图,将时间维度与空间维度的信息同步连接起来,相比于以往的模型来说,这个新的结构将会更加简单。这个结构的设计非常新颖,它虽然是一个通用的时空网络数据的预测框架,但也可以应用于其他相关的研究领域中。

标签: #时空数据模型分为哪几种形式