Spatio-Temporal Graph Convolutional Networks A Deep Learning Framework for Traffic Forecasting

1.文章概述

在交通领域的预测问题,先前模型在短期预测上能取得较好的效果,但是在中长期的的预测中效果并不太好。

作者在文中将传统的中长期预测方法分为两种:

  • 动态建模:使用数学工具和物理知识,该方法需要复杂的编程和巨大的算力消耗,且模型中使用了很多不切实际的假设和简化。
  • 数据驱动:ARIMA该方法基于数据是平稳的假设不符合交通领域的实际情况。

深度学习的方法

使用CNN捕捉交通网格之间的相邻关系,同时使用RNN在时间维度上捕捉时间依赖。但是传统的卷积方法只能在网格上使用,于一些实际领域的情况不符。且RNN网络通过迭代训练会造成误差累积,且训练难度大。

文章使用方法:

  • 为了充分利用空间信息,使用图建模交通网络
  • 为了应对RNN固有的缺陷,文中通过在时间轴上使用卷积结构提取时间特征

2.文章模型

2.1 网络结构

请添加图片描述

整个网络由两个ST-Conv块和一个输出层组成,其中ST-Conv由两个Temporal Gated-conv和一个Spatial Grapa-Conv组成,分别用于提取时间和空间依赖

2.2 Graph CNNs for Extracting Spatial Features

(1)原始图卷积

原始的图卷积定义为: Θ ∗ G x = Θ ( L ) x = Θ ( U Λ U T ) x = U Θ ( Λ ) U T x \Theta *_{\mathcal{G}} x=\Theta(L) x=\Theta\left(U \Lambda U^{T}\right) x=U \Theta(\Lambda) U^{T} x ΘGx=Θ(L)x=Θ(UΛUT)x=UΘ(Λ)UTx,该方法进行图卷积十分耗时主要有两个方面的原因:一个是因为特征矩阵相乘使时间复杂度为 O ( n 2 ) O(n^2) O(n2),二就是特征分解也会耗费大量的时间。

(2)ChebNet

在后来的改进中,为了降低复杂度用首先对图卷积的核进行了限制,令 Θ ( Λ ) = ∑ k = 0 K − 1 θ k Λ k \Theta(\Lambda)=\sum_{k=0}^{K-1}\theta_k\Lambda^k Θ(Λ)=k=0K1θkΛk这样就将卷积由原来的N(所有节点的数量)降为K,并使用切比雪夫展开对卷积核进行近似, Θ ( Λ ) = ∑ k = 0 K − 1 θ k T k ( Λ ~ ) \Theta(\Lambda)=\sum_{k=0}^{K-1}\theta_k T_k(\tilde{\Lambda}) Θ(Λ)=k=0K1θkTk(Λ~),其中 Λ = 2 Λ / λ m a x − I n \Lambda=2\Lambda/\lambda_{max}-I_n Λ=2Λ/λmaxIn( λ m a x \lambda_{max} λmax是拉普拉斯矩阵的最大特征值)。新的图卷积就可以定义为 Θ ∗ G x = Θ ( L ) x = Θ ( U Λ U T ) x = ∑ k = 0 K − 1 θ k T k ( L ~ ) x \Theta *_{\mathcal{G}} x=\Theta(L) x=\Theta\left(U \Lambda U^{T}\right) x=\sum_{k=0}^{K-1}\theta_k T_k(\tilde{L}) x ΘGx=Θ(L)x=Θ(UΛUT)x=k=0K1θkTk(L~)x,其中 T k ( ) T_k() Tk()是切比雪夫多项式,其定义如下:
{ T 0 ( x ) = 1 T 1 ( x ) = x T n + 1 ( x ) = 2 x T n ( x ) − T n − 1 ( x ) \left\{\begin{array}{l} T_{0}(x)=1 \\ T_{1}(x)=x \\ T_{n+1}(x)=2 x T_{n}(x)-T_{n-1}(x) \end{array}\right. T0(x)=1T1(x)=xTn+1(x)=2xTn(x)Tn1(x)
该做法主要有两个好处:

  • 卷积核的参数从原先的n个减少到k个,从原先的全局卷积变为现在的局部卷积。

  • 通过切比雪夫不等式的迭代方法降低了时间复杂度,也避免了特征分解的操作

(3)ChebNet的一维近似

文中使K-1=1,则原来的卷积简化为 g θ ( L ) x ≈ θ 0 x + θ 1 ( L − I n ) x = θ 0 x − θ 1 ( D − 1 2 A D − 1 2 ) x g_{\theta}(L) x \approx \theta_{0} x+\theta_{1}\left(L-I_{n}\right) x=\theta_{0} x-\theta_{1}\left(D^{-\frac{1}{2}} A D^{-\frac{1}{2}}\right) x gθ(L)xθ0x+θ1(LIn)x=θ0xθ1(D21AD21)x,令 θ = θ 0 = − θ 1 \theta=\theta_0=-\theta_1 θ=θ0=θ1,则原式简化为 g θ ( L ) x ≈ θ ( I n + D − 1 / 2 A D − 1 / 2 ) x g_{\theta}(L) x \approx \theta(I_n+D^{-1/2}AD^{-1/2})x gθ(L)xθ(In+D1/2AD1/2)x此处由于 I n + D − 1 / 2 A D − 1 / 2 ∈ [ 0 , 2 ] I_n+D^{-1/2}AD^{-1/2}\in[0,2] In+D1/2AD1/2[0,2],采用重归一化, I n + D − 1 / 2 A D − 1 / 2 I_n+D^{-1/2}AD^{-1/2} In+D1/2AD1/2转化为 D ~ − 1 / 2 A ~ D ~ − 1 / 2 \tilde{D}^{-1/2}\tilde{A}\tilde{D}^{-1/2} D~1/2A~D~1/2,其中 A ~ = A + I n \tilde{A}=A+I_n A~=A+In, D i i ~ = ∑ j A i j ~ \tilde{D_{ii}}=\sum_j\tilde{A_{ij}} Dii~=jAij~

2.3 Gated CNNs for Extracting Temporal Features

Temporal convolutional layer包含一个一维因果卷积和门控线性单元(GLU)。

  • 1-D causal convolution

请添加图片描述

因果卷积

请添加图片描述

扩散卷积
  • gated linear units(GLU)

    img

    原始的GLU将输入分为两个部分,分别经过1D-conv之后一部分经过Sigmodi然后进行相乘。

请添加图片描述

参考资料

https://zhuanlan.zhihu.com/p/286445515

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值