FC-GAGA:Fully Connected Gated Graph Architecture for Spatio-Temporal Traffic Forecasting

在这里插入图片描述


该论文发表于AAAI 2021,论文地址和源码地址如下:
论文地址: https://arxiv.org/abs/2007.15531
论文代码: https://github.com/boreshkinai/fc-gaga

1. Abstract

       该论文提出了一种新的体系结构,它可以在不借助预定义知识图的条件下表现出较好的效果。该模型的关键部分是可学习的全连接层hard图门控机制,它可以确保在交通预测应用中使用最先进和最高效计算效率的全连接时间序列预测体系结构。

2. Introduction

       目前,对于多变量时序预测的问题都默认使用图模型,特别是在预测变量和其他变量之间存在因果关系时,例如:一个商店引入百事可乐进行售卖必定会影响到可口可乐的销量。没有图形建模,模型对变量之间细微的影响就会视而不见,就会对模型的解释和预测造成困难。

       虽然采用图形建模的方式已经证明可以提高精度,但目前的模型扔点有以下几个严重的局限性
(1)模型复杂性较高且运算时长较长
(2)一些模型依赖于领域专家提供的变量关系之间的定义,例如对于医疗领域中变量之间的关系,就需要专业的医生来进行预先定义;
(3)现有模型倾向于依赖马尔科夫假设来使跨变量的交互建模变得易于处理,也就是现有的大部分模型都是马尔科夫过程,即默认当前时刻的状态只和它前一个时刻的状态相关。

       作者基于以上局限性,提出了FC-GAGA模型,该模型将作者之前的一篇文章提出的单变量全连接TS模型N-beats)与hard图门控机制进行结合。

       为了产生单个时序序列(图模型中的某一节点)的预测,它通过可学习的图形权重来衡量所有的其它节点的历史观测值,通过ReLU函数对他们进行门控,最后将所有节点的门控观测值叠加起来,通过全连接层的残差块处理它们。

       模型的优点
(1)该体系结构不依赖于底层图的知识,而是专注于学习所需的非线性预测关系;
(2)该体系结构的基本层是可堆叠的,它允许每个层学习自己的图形结构,具有可以有效地学习一般的非马尔可夫信息扩散过程的能力;
(3)该结构可以高效计算并且内存占用少。

2.1 问题陈述

       图Graph=(V, E), 其中 V是节点的有序集合,V=1,2,…,N,E属于V x V,图中每一个节点都会生成一个观测序列:
y v = [ y v , 1 . . . y v , T ] ∈ R T \boldsymbol{y_v}=[y_{v,1} ...y_{v,T}]\in\mathbb R^T yv=[yv,1...yv,T]RT

       图中关系E编码的连通性被认为可以捕捉定点之间未知的关系。

       任务:利用所有顶点的已知时间序列去预测某一个节点的未来一段时间的序列。

       节点v的已知w长度的时间序列:
X v ∈ R w = [ y v , T − w + 1 , . . . , y v , T ] \boldsymbol{X_v} \in\mathbb R^w=[y_{v,T-w+1},...,y_{v,T}] XvRw=[yv,Tw+1,...,yv,T]

       待预测的长度为H的时间序列:
y v ∈ R H = [ y T + 1 , y T + 2 , . . . , y T + H ] \boldsymbol{y_v} \in\mathbb R^H = [y_{T+1}, y_{T+2},...,y_{T+H}] yvRH=[yT+1,yT+2,...,yT+H]

       评价指标:MAE、MAPE和RMSE。

3. FC-GAGA模型

在这里插入图片描述
上图就是FC-GAGA模型的框架图。

       图中的每个节点都由一个d维嵌入向量进行表示:
e i = [ e i , 1 , . . . , e i , d ] \boldsymbol{e_i} = [e_{i,1}, ..., e_{i,d}] ei=[ei,1,...,ei,d]

       E表示所有节点向量组成的矩阵。

3.1 图的边权重

       图中任意两个节点之间的连接强度被编码到一个权重矩阵中, W ∈ R N × N \boldsymbol{W} \in\mathbb R^{N \times N} WRN×N ,其中,W的计算公式为:
W = e x p ( ϵ E E T ) \boldsymbol{W} = exp(\epsilon \boldsymbol{EE^T}) W=exp(ϵEET)

        W i , j W_{i,j} Wi,j反应了节点i和节点j之间相互影响的强度

3.2 时间门控块

       使用乘法们建立时间相关特征,在FC-GAGA的每一层采用全连接层得到前向和后向的时间特性,在该层输入时除以后向时间特征,在输出预测时乘以前向时间特性。

       作用:在输入的时候删除节点特性的季节性(解耦合),并在该层进行输出预测时加上该时间特性(耦合)。

3.3 图门控块

       模型输入 X ∈ R N × w \boldsymbol X\in\mathbb R^{N \times w} XRN×w,表示了图中所有节点长度为w的历史信息。 x ~ i \tilde{\boldsymbol x}_i x~i是每一行中,即每个节点的历史信息中最大的值,维度为N。门控操作会产生矩阵 G ∈ R N × N w \boldsymbol G\in\mathbb R^{N \times Nw} GRN×Nw
G i , j + k = R E L U [ W i , j X j , k − x ~ i ] / x ~ i \boldsymbol G_{i,j+k} = RELU[\boldsymbol W_{i,j} \boldsymbol X_{j,k} - \tilde{\boldsymbol x}_i] / \tilde{\boldsymbol x}_i Gi,j+k=RELU[Wi,jXj,kx~i]/x~i

        W i , j W_{i,j} Wi,j: 节点i和节点j之间的权重(影响gate是否打开)
        X j , k X_{j,k} Xj,k: 节点j的第k个时刻的值

  在门控中需要注意两个点,第一点就是 R E L U RELU RELU内部使用减法来判断gate门是否打开,并且使用除法进行拉平(归一化);第二点就是 R E L U RELU RELU可以关闭不相关的节点对

  在这个地方有的同学可能会对 G \boldsymbol G G的维度产生疑问,对于每一个 W W W中的第i个节点和第j个节点的权重 W i , j W_{i,j} Wi,j,都会和第j个节点的第k个时刻的值进行计算,也就是对于节点i,需要计算节点i和其余所有节点的所有时刻值的一个影响,使用 R E L U RELU RELU来判定是否门是否打开

       使用hard gate的原因
       实验表明在没有hard gate的情况下,图权重不起作用,因此,可能是由于对于每个目标节点的相关节点是稀疏的,hard gate可以支持稀疏矩阵。

3.4 全连接块

       每一个Block含有L个全连接层,每个Layer共有R个block,且每个block的权重共享。节点i的输入Z包含了节点的嵌入信息和历史信息:
Z = [ E , X / x ~ i , G ] T , Z ∈ R N ( w + 1 ) + d × N \boldsymbol Z = [\boldsymbol E, \boldsymbol X / \tilde{\boldsymbol x}_i, \boldsymbol G]^T, \boldsymbol Z\in\mathbb R^{N(w+1)+d \times N} Z=[E,X/x~i,G]T,ZRN(w+1)+d×N

       每个全连接层的构造如下所示, A r , l \boldsymbol A^{r,l} Ar,l 为权重, b r , l \boldsymbol b^{r,l} br,l 为偏执向量, r r r 表示第 r r r 个block, l l l 表示第 r r r 个block的第 l l l 个全连接层,计算公式如下:
F C r , l ( H r , l − 1 ) ≡ R E L U ( A r , l H r , l − 1 + b r , l ) FC_{r,l}(\boldsymbol H^{r,l-1}) \equiv RELU(\boldsymbol A^{r,l}\boldsymbol H^{r,l-1} + \boldsymbol b^{r,l}) FCr,l(Hr,l1)RELU(Ar,lHr,l1+br,l)

       全连接块的计算公式如下:
Z r = R E L U [ Z r − 1 − Z ^ r − 1 ] H r , 1 = F C r , 1 ( Z r ) , . . . , H r , L = F C r , L ( H r , L − 1 ) Z ^ r = B r H r , L , Y ^ r = ( H r , L ) T F r \boldsymbol Z^r = RELU[\boldsymbol Z^{r-1} - \widehat{\boldsymbol Z}^{r-1}] \\ \boldsymbol H^{r,1} = FC_{r,1}(\boldsymbol Z ^r),...,\boldsymbol H^{r,L} = FC_{r,L}(\boldsymbol H^{r,L-1}) \\ \widehat{\boldsymbol Z}^{r} = \boldsymbol B^r \boldsymbol H^{r,L}, \widehat{\boldsymbol Y}^{r} = (\boldsymbol H^{r,L})^T \boldsymbol F^r Zr=RELU[Zr1Z r1]Hr,1=FCr,1(Zr),...,Hr,L=FCr,L(Hr,L1)Z r=BrHr,L,Y r=(Hr,L)TFr

       其中,第一行公式为残差处理部分,第二行的公式为L个全连接层的计算公式,最后为计算前向预测以及输入到下一个block的后向向量

       在每一个Layer会将每一个block进行累和,然后将于时间门控部分提取到的前向时间特征进行乘法操作,作为当前Layer的输出。

3.6 FC-GAGA Layer 堆叠

       在堆叠Layer时需要满足以下三个原则
       1)下一层接受前一层预测只和作为输入;
       2)每一个Layer都有它自己的嵌入,从而有自己的图门;
       3)最终模型输出等于每一个Layer预测的平均值。

4. 实验

       数据集:交通预测数据集 METR-LAPEMS-BAY
       实验结果:
在这里插入图片描述
在这里插入图片描述
       通过实验对比,发现该模型的效果优于现有的一些多变量时序预测模型。此外,作者还进行了消融实验,具体实验结果可以参考原始论文。

5. 总结

       1.该节点不借助预定义的知识图,而是利用各个节点的权重和门控来控制节点的联系;
       2.每个节点不仅仅使用到了他的历史信息,它还为每个节点加入了嵌入向量来存储节点的一些信息,在进行预测的时候,将二者进行了连接融合;
       3.该论文从侧面证明了全连接层的强大,全文并没有使用一些花哨的网络结构,主要采用了全连接层,达到了较好的实验结果。





  如果有同学需要作者上一篇发表于ICLR2020的论文,可以通过下面的链接访问论文和源码:
N-beats 论文:https://arxiv.org/pdf/1905.10437v4.pdf
N-beats 源码:https://github.com/jdb78/pytorch-forecasting


PS:第一次写论文笔记,如果有什么不对的地方还希望大家见谅。如果有什么不同的意见或者不对的地方可以评论区留言或者私信,后续还需继续完善一下该文章。

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FutureForMe@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值