论文详解笔记:Graph WaveNet for Deep Spatial-Temporal Graph Modeling

Graph WaveNet for Deep Spatial-Temporal Graph Modeling

论文详解笔记:Graph WaveNet for Deep Spatial-Temporal Graph Modeling_第1张图片

一 作者介绍

本文的作者是悉尼科技大学的Zonghan Wu博士,师从IEEE member Shirui Pan,作者还发表了一篇GNN的综述《A Comprehensive Survey on Graph Neural Networks》,引用量达到600多。这里是作者团队的主页:https://shiruipan.github.io/。ResearchGate

二 摘要:

本文提出了一个新的时空图建模方式,并以交通预测问题作为案例进行全文的论述和实验。交通预测属于时空任务,其面临的挑战就是复杂的空间依赖性和时间依赖性。近年来由于图卷积的火热,加上路网结构和图卷积的契合,在交通领域的应用达到了不错的效果。然而,之前的工作存在一些不足。对空间层面而言,之前的工作往往是在一张固定的图结构上取捕获空间依赖特征,假设实体之间的基本关系是预先确定的,但是,固定的图结构(关系)并不一定反映真实的依赖关系,反过来讲,真实的关系可能由于数据中不完整的连接而缺失。对时间层面而言,往往采用的是基于RNNs的模型,并不能很好的捕获到长期依赖。用一般的RNN的方法,会出现梯度消失或梯度爆炸的问题;用LSTM等RNN的变体模型去训练,需要更多的资源,难以训练,而且不能处理大量更长的序列预测问题。

针对这两项不足,本文提出了一个新的时空图建模的方式Graph WaveNet,该模型在空间依赖的获取方面采用了图卷积的方式,同时增加了一个网络不全的方式,即根据数据自适应的学习出一个新的邻接矩阵;在时间依赖的获取方面,采用了扩张卷积的方式,不需要RNNs的循环、递归,用一种简单的卷积神经网络实现,在效果和运行时间上都占有很大优势。最后在两个真实的数据集上得以验证,取得了state-of-the-art的效果。

三 文章亮点:

本文解决的是时空问题,因此分别从时间和空间两个角度进行分析。针对上面提到的固定图结构,本文提出了自适应邻接矩阵,也就是对固定图结构的补充;针对时间的长期依赖问题,使用LSTM经过多层的迭代,会导致很久以前的信息逐渐消失,那么本文采用dilated conv不需要考虑太久之前的信息消失问题,可以提取比LSTM更长的时间依赖。

  • 空间依赖:GCN + adaptive adjacency matrix + diffusion convolution
  • 时间依赖:dilated casual convolution + gated mechanism

四 详细内容:

4.1 模型定义:

给定初始化图结构,以及数据预处理得出的邻接矩阵(通过计算节点之间的距离得到的),N表示路网中的节点数,X表示输入的特征向量,在这里表示t时刻的交通流。D表示每个节点的特征数,预测问题的目标就是用前S个时间步的车流量来预测未来T个时间步的车流量,这里的车流量一般指的是每一个时间段的平均车速。

  • Given:
    • Graph: G = ( V , E ) G=(V,E) G=(V,E)
    • Adjacency matrix: A ∈ R N × N A\in R^{N\times N} ARN×N
    • Dynamic feature matrix: X t ∈ R N × D X^t∈R^{N\times D} XtRN×D
  • Target: [ X ( t − S ) : t , G ] ⟶ f X ( t + 1 ) : ( t + T ) [X^{(t-S):t},G]\stackrel{f}\longrightarrow X^{(t+1):(t+T)} [X(tS):t,G]fX(t+1):(t+T)

下面看一下模型的框架结构。左边是模型的输入部分,堆叠了K层时空层,提取时空依赖特征。每个时空层包括一个gated TCN块和GCN块,其中的gated TCN用于提取时间依赖,包括两个TCN模块,分别是TCN-aTCN-b。TCN模块提取到时间依赖特征之后,传到GCN层提取空间依赖特征。右侧是输出层,相当于一个MLP(多层感知器)。下面我来分别介绍时空层的两个组件。
论文详解笔记:Graph WaveNet for Deep Spatial-Temporal Graph Modeling_第2张图片

4.2 时间依赖:

首先是TCN模块,TCN这个组件解决的问题是前面提到的时间依赖的提取,特别是对长期依赖的处理。关于时间依赖特征提取,需要同时考虑到短期内相邻时间数据的影响,也要考虑到长期的时间周期性影响。在之前的工作中,采用的都是基于RNN的循环卷积,计算量很大,训练模型不容易。因此本文采用了一种特殊的TCN模块,基于一般的卷积神经网络进行操作。

4.2.1【Gate Mechanism】

本模型的TCN组件采用了门限机制,包括两个TCN块,这两个TCN使用了不同的激活函数,TCN-a使用tanh,是神经网络训练过程中的最常使用的激活函数(非线性映射),右侧TCN-b使用sigmoid激活函数,然后将二者的值按元素进行乘积。(此处需要对这两种激活函数有所了解)

此处用到了门(gate)的概念。门实际上是一种对向量的控制机制,它的输入是一个向量,输出是一个0到1之间的实数向量,使用方法就是用门的输出向量按元素乘以我们需要控制的那个向量。W是门的权重向量,b是偏置项,那么门可以表示为: g ( x ) = σ ( W x + b ) g(x)=\sigma(Wx+b) g(x)=σ(Wx+b)。可以看出来,该公式和一般神经网络是一样的,只是激活函数 σ \sigma σ用了 s i g m o i d sigmoid sigmoid函数,因为它的值域是 ( 0 , 1 ) (0,1) (0,1),当门输出为0时,任何向量与之相乘都会得到0向量,这就相当于该信息不可以通过;输出为1时,任何向量与之相乘都不会有任何改变,这就相当于信息可以通过。所以门的状态都是半开半闭的。

这里的门限机制和LSTM中的是一致的,作用就是控制有效信息的流入和无效信息的丢弃。

在Gated-TCN中,TCN-a就相当于input(被控制的向量),TCN-B就是gate,最后将两者的值进行乘积得到该组件的输出,公式表示: h = g ( Θ 1 ⋆ χ + b ) ʘ σ ( Θ 2 ⋆ χ + c ) ) h=g(Θ_1⋆χ+b)ʘσ(Θ_2⋆χ+c)) h=g(Θ1χ+b)ʘσ(Θ2χ+c)),其中Θ1和Θ2,b,c分别是可学习参数, ⋆ \star 表示卷积。

4.2.2【Dilated Casual Conv】

在TCN中采用Dilated Casual Conv(扩张因果卷积),将所有的输入数据以时间维度为轴看作一维向量,对所有的输入向量进行1D卷积操作。

Casual Conv(因果卷积)就是某时刻的预测值仅仅和历史时刻的值相关,保证了在预测任务中,只是用历史信息进行预测,不包含未来的信息。在时间序列分析方面,因为模型只有因果卷积,而没有递归连接,模型的训练速度要比RNN快得多,特别对于很长的序列。用式子表示ÿ

你可能感兴趣的:(#,时空序列预测/智慧城市,深度学习,神经网络,数据挖掘)