论文笔记--Connecting the Dots: Multivariate Time Series Forecasting with Graph Neural Networks

作者提出了一个针对多元时间序列数据设计的通用图神经网络框架。通过图形学习模块自动提取变量之间的单向关系。进一步对空间上图卷积层和时间上空洞卷积层进行改进来捕获时间序列中的空间和时间依赖性。

Problem Definition

Challenge: ①在时间序列预测的问题上,目前的GNN方法都依赖于预先定义的图结构。但大多数情况下,多元时间序列没有明确的图结构。变量之间的关系应该从数据种获得。

②即使给定空间上的图结构,给定的图结构未必是最优的,在图学习的过程中,应该在训练过程种不断更新。

解决办法:针对①作者提出了一个图学习层,能够自适应地从数据中抽取稀疏图邻接矩阵。基于学习得到的图邻接矩阵,作者使用图卷积模块进行变量之间空间依赖学习。同时,作者对图卷积模块进行了改进,学习变量之间的单向依赖以缓解图神经网络中的过平滑问题

针对②图学习层和图卷积模块参数都是可学习的,意味着图结构也是在训练过程中不断优化的。

所以作者提出模型框架图如下。时序数据首先经过图结构学习层,根据学到的图结构做图卷积,再通过改进的一维卷积来捕获时间上的相关性,得到预测结果。

论文笔记--Connecting the Dots: Multivariate Time Series Forecasting with Graph Neural Networks_第1张图片

Method

接下来就是作者提出模型的具体结构。一个图学习层,m个图卷积模块,m个时间卷积模块和一个输出模块。图学习层计算一个得到图邻接矩阵,然后将其作为所有图卷积模块的输入。然后图卷积模块与时间卷积模块交叉使用,分别捕捉空间和时间依赖性。输出模块将隐藏的特性投影到所需的输出维度。其中还包含一些残差连接用于避免梯度消失的问题。

论文笔记--Connecting the Dots: Multivariate Time Series Forecasting with Graph Neural Networks_第2张图片

然后对各个模块的具体介绍

Graph Learning Layer

如果使用现存的度量节点之间相似性来构建图,例如欧式距离,计算复杂度就是O(n^2),计算和存储成本随图大小的增加呈二次增长,在大图中将无法使用。

另一个问题是,现有的距离度量通常是双向的,作者认为节点之间的关系应该是单向的,例如交通问题中,一个节点流量变化会使其他的变化,而不是相互影响的关系(我理解就是流量的单向流动的)。所以作者向构建有向的图结构。图学习层是专门为提取单向关系而设计的。具体结构如下

论文笔记--Connecting the Dots: Multivariate Time Series Forecasting with Graph Neural Networks_第3张图片

其中E1和E2表示随机初始化的节点嵌入结果,Θ1, Θ2 are model parameters,α为激活函数的饱和率,argtopk(·)返回最大几个值得下标。可以看到公式(3)就是用来实现邻接矩阵得非对称性,通过relu来去除矩阵中得负值,最后达到如果Avu为正数,则对应得对称位置Avu则为0. 公式(4)(5)(6)则是用来减少图卷积时得运算量, 只取其中前K大得值作为邻居, 其他值为0. 同时如果有节点的属性信息可以,使用节点的属性来获得E1和E2.

Graph Convolution Module

图卷积模块的目的是将节点的信息与相邻节点的信息融合,以获得空间依赖关系。图卷积模块由两个mix-hop传播层组成,分别处理通过每个节点的流入和流出信息(例如交通流量中的流入流量,流出流量)。最终将两个信息相加所谓最终的模块输出信息。具体结构如图(a)

论文笔记--Connecting the Dots: Multivariate Time Series Forecasting with Graph Neural Networks_第4张图片

然后下面再介绍Mix-hop的具体结构如果(b),包含了两个子模块:信息传播信息选择

信息传播也就是下面一层,计算公式如下

其中β时超参数,用来控制保持原输入的比率.   , 就是一般进行卷积的对邻接矩阵的变换,  Hin输入的状态.

信息选择就是上面一层, 主要是MLP, 公式如下

论文笔记--Connecting the Dots: Multivariate Time Series Forecasting with Graph Neural Networks_第5张图片

K是消息传播的深度, Hout输出的隐藏状态.

在信息传播层,层数增加会使最后网络节点的表征趋于一致, 公式(7)中则是通过加入初始节点信息保持因子来缓解, 而在一些节点信息会被丢失的问题上使用公式(8)中维护一个的参数矩阵 ,充当特征选择器来选择有用的信息。如果信息传播公式进行k步传播后没有空间依赖, 则可以通过挑战K大于该值时的 为0即可.

Temporal Convolution Module

时间卷积部分包含两部分膨胀(空洞)inception卷积组成,两部分使用不同的激活函数。如下图(a)

论文笔记--Connecting the Dots: Multivariate Time Series Forecasting with Graph Neural Networks_第6张图片

而膨胀inception卷积具体结构如右图,

首先是卷积核的选择问题,不同于常规的选择,作者根据时间上7, 12, 24, 28, 和60这几个时间周期数字,选择使用 1 × 2, 1 × 3, 1 × 6和 1 × 7作为卷积核。

在结合几种卷积结果上,作者使用在图像上广泛使用的直接拼接(即inception),没有用一般上使用的残差连接的深度模型。

Skip Connection Layer & Output Module

跳跃连接层起到一个规范化信息的作用,使输入到输出层的序列长度相同。输出层包括两个1x1的卷积层,输出指定维度值,如果单步预测维度为1,如果多步Q预测,维度为Q。

学习算法

大图上的预测

在每次迭代中,我们随机地将节点分成若干组,并让算法学习基于采样节点的子图结构。这样,每个节点都有可能被分配到同一组中的另一个节点上,从而可以计算和更新这两个节点之间的相似度评分。这样可以把图学习层的时间复杂度由变为

②多步时间预测

  在多个时间步预测时,长期预测产生的损失比短期预测高得多。为了使总体损失最小化,模型更注重提高长期预测的准确性。所以作者提出一种课程学习策略。算法在开始时只进行一步的预测,让模型有一个好的开始;随着迭代次数的增加,我们逐渐增加模型的预测长度,使模型能够逐步学习困难的任务。

Experiments

数据集

论文笔记--Connecting the Dots: Multivariate Time Series Forecasting with Graph Neural Networks_第7张图片

单步预测

论文笔记--Connecting the Dots: Multivariate Time Series Forecasting with Graph Neural Networks_第8张图片

可以看到在交通领域数据集上提升非常明显。

多步预测

论文笔记--Connecting the Dots: Multivariate Time Series Forecasting with Graph Neural Networks_第9张图片

作者的方法不是最好的,但作者认为MTGNN的意义在于,它不使用预定义图,只使用最先进的时空图神经网络,而DCRNNSTGCNMRA-BGCN则完全依赖于预定义图。

消融实验

论文笔记--Connecting the Dots: Multivariate Time Series Forecasting with Graph Neural Networks_第10张图片

关于图学习层的实验

论文笔记--Connecting the Dots: Multivariate Time Series Forecasting with Graph Neural Networks_第11张图片

图(c)中红色的标记代表中心节点,黄色节点代表的是根据给定的图得到的三个邻居,绿色的点则是通过学习到的三个邻居。应为黄色点离得是比较近的,所以如图a流量情况表现出很强的相关性,而学习到的邻居时间序列更能提前提示中心节点的极端交通状况。

创新点

提出图学习层通过学习得到图的结构。

混合跳数的图卷积模块。

你可能感兴趣的:(论文笔记,神经网络,深度学习,pytorch)