论文笔记《Graph WaveNet for Deep Spatial-Temporal Graph Modeling》

Abstract

现存问题:

  • 在捕获空间依赖性方面。 大多在固定图上捕获空间依赖关系,这种固定图结构不一样反映真实依赖关系,而真实依赖关系可能由于不完整的邻接关系而丢失。
  • 在捕获时间依赖性方面。 RNNs/CNNs等在捕获长程的时间序列时,效果不太好。

本文解决方法:

  • 提出自适应邻接矩阵,并通过节点嵌入学习它
  • 堆叠空洞1D卷积,感受野随着堆叠层数增加而指数级增加,进而捕获长程关系

1. Introduction

时空图模型的一个基本假设是:节点未来信息仅取决于该节点和其邻居的历史信息。后续研究成果证明了将数据的图结构引入模型中的有效性,但该类模型存在两个问题:

  • 依赖关系未能充分表征。(1)连接不包含两个节点之间的依赖关系,例如推荐系统中,存在连接的用户并不会对产品有共同偏好。(2)两个节点之间存在依赖关系,但缺乏链接,例如推荐系统中,两个用户存在相同偏好,但缺乏连接。
  • 时空图模型未能有效学习到时间依赖性。(1)基于RNN的方法,迭代传播耗时、存在梯度爆炸/消失问题。(2)基于CNN的方法通常需要较多层以保证感受野大小。

本文贡献:

  • 提出自适应的邻接矩阵(a self-adaptive adjacency matrix),据此捕获隐藏的空间依赖关系,该矩阵能够在没有任何先验知识指导的情况下自动从数据中发现不可见的图结构。
  • 提出了一个有效的框架来同时捕获时空相关性,具体就是将图卷积和dilated casual convolution组合。

2. Related Works

图卷积模型 大概两个分支:

  • 基于频谱域的方法
  • 基于空域的方法

但这些方法,都将邻接矩阵认为是一种先验知识,并且在训练过程中也是固定不变的。

3. Methodology

3.1 Problem Definition

  • G = ( V , E ) G=(V,E) G=(V,E),节点集 V V V,边集 E E E
  • 邻接矩阵 A ∈ R N × N \mathbf{A} \in \mathbf{R}^{N \times N} ARN×N
  • 在时间步 t t t,输入矩阵为 X ( t ) ∈ R N × D \mathbf{X^{(t)} }\in \mathbf{R}^{N \times D} X(t)RN×D
  • 本文目标是,给定图 G G G 和历史 S S S步图信号数据,学习映射关系 f f f,进而预测接下来 T T T 步图信号 [ X ( t − S ) : t , G ] → f X ( t + 1 ) : ( t + T ) \left[\mathbf{X}^{(t-S): t}, G\right] \stackrel{f}{\rightarrow} \mathbf{X}^{(t+1):(t+T)} [X(tS):t,G]fX(t+1):(t+T)

3.2 Graph Convolution Layer

Graph Convolution Layer : Z = A ~ X W \mathrm{Z}=\tilde{\mathrm{A}} \mathrm{XW} Z=A~XW

  • 标准化的邻接矩阵 A ~ ∈ R N × N \tilde{\mathbf{A}} \in \mathbf{R}^{N \times N} A~RN×N
  • 输入 X ( t ) ∈ R N × D \mathbf{X^{(t)} }\in \mathbf{R}^{N \times D} X(t)RN×D
  • 输出 Z ∈ R N × M \mathbf{Z}\in \mathbf{R}^{N \times M} ZRN×M
  • 模型参数 W ∈ R D × M \mathbf{W}\in \mathbf{R}^{D \times M} WRD×M

a diffusion convolution layer(扩散卷积): Z = ∑ k = 0 K P k X W k \mathbf{Z}=\sum_{k=0}^{K} \mathbf{P}^{k} \mathbf{X} \mathbf{W}_{\mathbf{k}} Z=k=0KPkXWk
【1】参考了 《Diffusion convolutional recurrent neural network: Data-driven traffic forecasting》 中的思路
【2】【DCRNN】Diffusion Convolutional Recurrent Neural Network: Data-Driven Traffic Forecasting

  • P k \mathbf{P}^{k} Pk 代表转移矩阵的幂级数
  • 如果是无向图 P = A / r o w s u m ( A ) \mathbf{P}=\mathbf{A} /rowsum(\mathbf{A}) P=A/rowsum(A)
  • 如果是有向图,则前向转移矩阵为 P f = A / r o w s u m ( A ) \mathbf{P}_{f}=\mathbf{A} / rowsum(\mathbf{A}) Pf=A/rowsum(A),后向转移矩阵为 P b = A T / r o w s u m ( A T ) \mathbf{P}_{b}=\mathbf{A^T} / rowsum(\mathbf{A^T}) Pb=AT/rowsum(AT)
    这样一来 扩散卷积层表示为: Z = ∑ k = 0 K P f k X W k 1 + P b k X W k 2 \mathbf{Z}=\sum_{k=0}^{K} \mathbf{P}_{f}^{k} \mathbf{X} \mathbf{W}_{k 1}+\mathbf{P}_{b}^{k} \mathbf{X} \mathbf{W}_{k 2} Z=k=0KPfkXWk1+PbkXWk2

Self-adaptive Adjacency Matrix(自适应邻接矩阵): A ~ a d p = SoftMax ⁡ ( ReLU ⁡ ( E 1 E 2 T ) ) \tilde{\mathbf{A}}_{a d p}=\operatorname{SoftMax}\left(\operatorname{ReLU}\left(\mathbf{E}_{1} \mathbf{E}_{2}^{T}\right)\right) A~adp=SoftMax(ReLU(E1E2T))

  • A ~ a d p \tilde{\mathbf{A}}_{a d p} A~adp 不需要先验知识,是通过学习得到的
  • E 1 , E 2 ∈ R N × C E_1,E_2\in \mathbf{R}^{N \times C} E1,E2RN×C 都是可学习的参数, E 1 E_1 E1 是source node embedding, E 2 E_2 E2 是target node embedding,通过这样的表示,可以得到原始节点和目标节点之间的空间依赖权值。
    这样一来 图卷积层进一步表示为: Z = ∑ k = 0 K P f k X W k 1 + P b k X W k 2 + A ~ a p t k X W k 3 \mathbf{Z}=\sum_{k=0}^{K} \mathbf{P}_{f}^{k} \mathbf{XW}_{k 1}+\mathbf{P}_{b}^{k} \mathbf{XW}_{k 2}+\tilde{\mathbf{A}}_{a p t}^{k} \mathbf{XW}_{k 3} Z=k=0KPfkXWk1+PbkXWk2+A~aptkXWk3

注: relu函数是为了消除弱连接的影响,softmax函数是用来归一化自适应邻接矩阵。经过这样一番处理的邻接矩阵可以看作是,隐藏的扩散过程的状态转移矩阵(表征隐含的图的依赖性)。

3.3 Temporal Convolution Layer

【NLP】因果卷积(causal)与扩展卷积(dilated)

  • 作者使用扩展的因果卷积 (dilated causal convolution) 作为时间卷积层 (TCN)
    ,来捕获节点的时间趋势。具体原理参考上面的连接,下文给出计算公式: x ⋆ f ( t ) = ∑ s = 0 K − 1 f ( s ) x ( t − d × s ) \mathrm{x} \star \mathrm{f}(t)=\sum_{s=0}^{K-1} \mathrm{f}(s) \mathrm{x}(t-d \times s) xf(t)=s=0K1f(s)x(td×s),其中 f \mathrm{f} f 是卷积核, d d d 是每次跳跃/间隔的距离。

论文笔记《Graph WaveNet for Deep Spatial-Temporal Graph Modeling》_第1张图片

  • 为了有效控制信息流 学习更复杂时间维度的依赖关系,采用 Gated TCN 结构,公式为: h = g ( Θ 1 ⋆ X + b ) ⊙ σ ( Θ 2 ⋆ X + c ) \mathbf{h}=g\left(\boldsymbol{\Theta}_{1} \star \mathcal{X}+\mathbf{b}\right) \odot \sigma\left(\boldsymbol{\Theta}_{2} \star \mathcal{X}+\mathbf{c}\right) h=g(Θ1X+b)σ(Θ2X+c),其中 g g g 代表双曲正切激活函数, σ \sigma σ 代表 sigmoid 函数用以控制信息传递到下一层的比率。

3.4 Framework of GraphWaveNet

有了上文各个模块的铺垫,整体网络的架构图如下:
论文笔记《Graph WaveNet for Deep Spatial-Temporal Graph Modeling》_第2张图片

  • 该模型 = 堆叠多个spatial-temporal layer + 一个输出层
  • 一个spatial-temporal layer = 一个GCN + 一个Gated TCN,对于每个层 里面都有残差连接 residual connections
  • 针对不同的spatial-temporal layer 通过skip connections 连接(1D 卷积,只不过设置不同的dilation factor k,即跳跃步数)

注意:本文还有个不同之处在于,输出的 T T T 步是一起产生的,而不像以往是递归输出 T T T 步预测。

4. Experiments

  • METR-LA 数据集。洛杉矶高速公路4个月的207个传感器的交通速度数据。
  • PEMS-BAY 数据集。海湾地区6个月的325个传感器的交通速度数据。
  • 5分钟一个滑窗,70%训练集,10%验证集,20%测试集。
    论文笔记《Graph WaveNet for Deep Spatial-Temporal Graph Modeling》_第3张图片

分析角度1就是对比其他模型,这部分不详细记录了,本文模型效果肯定是最好的。
论文笔记《Graph WaveNet for Deep Spatial-Temporal Graph Modeling》_第4张图片
分析角度2就是测评下 自适应邻接矩阵 是不是真的有效果
论文笔记《Graph WaveNet for Deep Spatial-Temporal Graph Modeling》_第5张图片

  • 实验部分共测评了5种不同的自适应邻接矩阵,根据 MAE, RMSE, MAPE指标得出结论:如果图结构信息已知的话,利用自适应邻接矩阵的模型精度会更好。
  • 另外,下图作者还对 forward-backward-adaptive model 做了热力图可视化分析,看到列9和其他列相比具有较高的值,这说明这部分的一些点的依赖关系(影响)较强,图5b 的实际网络图印证了这样的结论,可以看到节点9附近是一些交叉口。
    论文笔记《Graph WaveNet for Deep Spatial-Temporal Graph Modeling》_第6张图片

分析角度3就是测评训练和预测时间
论文笔记《Graph WaveNet for Deep Spatial-Temporal Graph Modeling》_第7张图片

你可能感兴趣的:(论文笔记)