Dynamic Graph Convolutional Recurrent Network for Traffic Prediction: Benchmark and Solution

1. 文章概述

1.1 当前不足

  • 交通图拓扑的动态特性需要进一步建模。预定义邻接矩阵和自适应邻接矩阵都是随时间变化的静态矩阵,不足以反映现实中路网拓扑的动态特性。
  • 静态的基于距离的图和动态的基于属性的图从不同的角度描述了交通网络的拓扑结构,因此将它们结合起来可以为模型提供更大的范围来捕捉空间依赖关系。然而,大多数作品未能在保持效率和避免过度平滑的同时将它们融合在一起。
  • 尽管在时间序列预测中得到广泛应用,但 RNN 及其变体的训练速度受到内部递归运算的限制,这阻碍了序列对序列等结构在流量预测任务中的应用
  • 随着交通预测领域的快速发展,所提出的模型和交通数据集的数量也在不断增加,其中模型是在具有相应实验设置的不同数据集上进行评估的。这使得在模型之间进行公平的比较变得棘手,阻碍了该领域的发展。

1.2 主要贡献:

  • 我们提出了一个基于GNN和RNN的模型,其中动态邻接矩阵被设计成从一个超网络逐步生成,与RNN迭代同步。
  • 为了克服神经网络在效率和资源占用方面的不足,本文对基于RNN的模型采用了一种通用的训练方法,不仅有效地提高了性能,而且大大减少了训练时间消耗。
  • 本文在三个公共数据集上进行了充分的比较实验,以获得各种复杂模型的公平比较结果,并得出一个可复制的标准化基准。该基准由15种代表性方法在3个数据集上的对比预测性能组成,可为研究者提供参考价值,促进相关问题的进一步研究。

1.3 相关研究

本文作者将相关工作按照空间拓扑构建、空间依赖建模、时间依赖建模和外部特征四个部分进行分类,如下表所示:

1.3.1 空间拓扑构建

预定义图:预定义的邻接矩阵是静态的,构造方法是有限的,这是描述复杂道路网络的天然缺陷

  • 用阈值化的高斯核函数通过距离度量计算节点对之间的相似度,得到加权邻接矩阵或者仅仅使用连通性来导出一个简单的二进制邻接矩阵
  • 多视图构图:像POI相似性,DTW相似性,自由流可达矩阵,边向图

自适应图:自适应图邻接矩阵的参数可以通过训练过程来学习,一些工作直接使邻接矩阵可学习,另一些工作计算可学习节点嵌入之间的相似性。然而,静态自适应邻接矩阵仍然很难建模道路网络的动态特性

1.3.2 空间相关性构建

  • CNN被用于从欧式距离中获取空间相关性
  • GCN在捕捉非欧几里德数据中的空间相关性方面是强大而灵活的
  • 空间注意力

1.3.3 时间相关性构建

  • RNN具有强大的捕捉时间相关性的能力,但是时间和内存的消耗大
  • GRU、LSTM进一步提高了模型捕捉时间关系的能力且避免了梯度消失问题
  • 注意力机制在序列依赖建模中也很强大

注意力机制存在问题

1)受到内存消耗大和对计算资源要求高的限制

2)位置编码简单,不足以表示复杂的序列信息,自注意力只能导出重要性权重,因此捕捉局部(短期)序列相关性比RNNs更难。

1.3.4 外部特征

交通状况会受到天气,和POI,等外部因素的显著影响或推断,这些因素需要额外的收集和预处理。其他一些特征,如时间信息,DTW相似性,道路结构和连通性,可以从原始时间序列或邻接矩阵中生成

2.模型介绍

DGCRNN由两个主要部分组成:

  • Graph generator:使用编码器和解码器的两个超网络来捕获动态信息并生成动态滤波器,然后将其与随机发起的节点嵌入向量相结合并生成动态节点嵌入。最后计算动态节点嵌入之间的成对相似度,并导出动态邻接矩阵
  • Dynamic graph convolutional recurrent module:高效地集成动态图和静态图
变量 定义
VtV_tVt​ t时刻交通网络的速度
TtT_tTt​ 一天中的时刻t
HtH_{t}Ht​​​ t时刻的隐藏状态
AAA 基于距离的邻接矩阵

2.1 Graph Generator

输入定义为:
It=Vt∥Tt∥Ht−1I_t=V_t\|T_t\|H_{t-1} It​=Vt​∥Tt​∥Ht−1​
其中 ∥\|∥ 代表连接操作,对速度、时间、和隐藏状态的拼接作为图生成器的输入。本文使用hyper-network图卷积,通过基于距离的邻接矩阵A进行消息传递挖掘节点间的内在联系:
DFt=Θ⋆G(It)\mathbf{D F}^{t}=\Theta_{\star G}\left(\mathbf{I}_{t}\right) DFt=Θ⋆G​(It​)
其输出为一个动态滤波器张量,在实际应用中本文作者使用了两个hyper-networks 去分别为源节点嵌入和目标节点嵌入生成两个动态过滤器,以此表达源节点的嵌入向量以及目标节点的嵌入向量,表示如下:
DE1t=tanh⁡(α(DF1t⊙E1),DE2t=tanh⁡(α(DF2t⊙E2).\mathbf{D E}_{1}^{t}=\tanh(\alpha(\mathbf{D F}_{1}^{t} \odot \mathbf{E}_{1}), \\ \mathbf{D E}_{2}^{t}=\tanh (\alpha(\mathbf{D F}_{2}^{t} \odot \mathbf{E}_{2}). DE1t​=tanh(α(DF1t​⊙E1​),DE2t​=tanh(α(DF2t​⊙E2​).
其中⊙\odot⊙表示哈达玛乘积,α\alphaα为控制激活函数饱和速率的超参数。最后本文使用节点之间的相似性来计算动态邻接矩阵,如下所示
DAt=ReLU⁡(tanh⁡(α(DE1tDE2tT−DE2tDE1tT)))\mathbf{D A}^{t}=\operatorname{ReLU}\left(\tanh \left(\alpha\left(\mathbf{D E}_{1}^{t} \mathbf{D} \mathbf{E}_{2}^{t^{T}}-\mathbf{D E}_{2}^{t} \mathbf{D} \mathbf{E}_{1}^{t^{T}}\right)\right)\right) DAt=ReLU(tanh(α(DE1t​DE2tT​−DE2t​DE1tT​)))
DAtDA^tDAt​为时间步长 t 的动态邻接矩阵。

​ 总的来说,本文通过将RNN的隐藏状态添加到图生成的过程,并且在图生成过程中应用图卷积,使图生成变得更加有效,动态图的生成是对基于距离的静态邻接矩阵的补充。

2.2 Dynamic Graph Convolutional Recurrent Module

静态的基于距离的图和动态的基于节点属性的图从不同的角度反映了节间的相关性。本文在每个图卷积层上采用输入图信号、预定义静态图和动态图的图卷积结果的加权求和,k-hop动态图卷积模块可以表示如下:
H(k)=αHin+βH(k−1)DAt+γH(k−1)A~,Hout=∑i=0KH(k)W(k),H(0)=HinDAt=D~t−1(DAt+I)D~:,i,it=1+∑jDA:,i,jt,A~=D~−1A,D~i,i=∑jAi,j\begin{aligned} &\mathbf{H}^{(k)}=\alpha \mathbf{H}_{i n}+\beta \mathbf{H}^{(k-1)} \mathbf{D} \mathbf{A}^{t}+\gamma \mathbf{H}^{(k-1)} \tilde{\mathbf{A}}, \\ &\mathbf{H}_{o u t}=\sum_{i=0}^{K} \mathbf{H}^{(k)} \mathbf{W}^{(k)}, \mathbf{H}^{(0)}=\mathbf{H}_{i n} \\ &\mathbf{D \mathbf { A }}^{t}=\tilde{\mathbf{D}}^{t^{-1}\left(\mathbf{D} \mathbf{A}^{t}+\mathbf{I}\right)} \\ &\tilde{\mathbf{D}}_{:, i, i}^{t}=1+\sum_{j} \mathbf{D} \mathbf{A}_{:, i, j}^{t}, \\ &\tilde{\mathbf{A}}=\tilde{\mathbf{D}}^{-1} \mathbf{A}, \tilde{\mathbf{D}}_{i, i}=\sum_{j} \mathbf{A}_{i, j} \end{aligned} ​H(k)=αHin​+βH(k−1)DAt+γH(k−1)A~,Hout​=i=0∑K​H(k)W(k),H(0)=Hin​DAt=D~t−1(DAt+I)D~:,i,it​=1+j∑​DA:,i,jt​,A~=D~−1A,D~i,i​=j∑​Ai,j​​
本文采用双向图卷积来更好地利用有向图
Ho=Θ1⋆G(Hin,DAt,A)+Θ2⋆G(Hin,DAtT,AT)\mathbf{H}_{o}=\Theta_{1 \star G}\left(\mathbf{H}_{i n}, \mathbf{D} \mathbf{A}^{t}, \mathbf{A}\right)+\Theta_{2 \star G}\left(\mathbf{H}_{i n}, \mathbf{D} \mathbf{A}^{t^{T}}, \mathbf{A}^{T}\right) Ho​=Θ1⋆G​(Hin​,DAt,A)+Θ2⋆G​(Hin​,DAtT,AT)
RNN在建模顺序依赖方面很强大,GRU进一步提高了RNN在长期时间建模和避免梯度消失方面的能力。本文用动态图卷积模块代替GRU矩阵乘法,得到DGCRM,表示如下:
z(t)=σ(Θz⋆G(Xt∥Ht−1))r(t)=σ(Θr⋆G(Xt∥Ht−1))h(t)=tanh⁡(Θh⋆G(Xt∥(r(t)⊙Ht−1)))Ht=z(t)⊙Ht−1+(1−z(t))⊙h(t)\begin{aligned} z^{(t)} &=\sigma\left(\Theta_{z \star G}\left(\mathbf{X}_{t} \| \mathbf{H}_{t-1}\right)\right) \\ r^{(t)} &=\sigma\left(\Theta_{r \star G}\left(\mathbf{X}_{t} \| \mathbf{H}_{t-1}\right)\right) \\ h^{(t)} &=\tanh \left(\Theta_{h \star G}\left(\mathbf{X}_{t} \|\left(r^{(t)} \odot \mathbf{H}_{t-1}\right)\right)\right) \\ \mathbf{H}_{t} &=z^{(t)} \odot \mathbf{H}_{t-1}+\left(1-z^{(t)}\right) \odot h^{(t)} \end{aligned} z(t)r(t)h(t)Ht​​=σ(Θz⋆G​(Xt​∥Ht−1​))=σ(Θr⋆G​(Xt​∥Ht−1​))=tanh(Θh⋆G​(Xt​∥(r(t)⊙Ht−1​)))=z(t)⊙Ht−1​+(1−z(t))⊙h(t)​

2.3 训练策略

本文在RNN正向传播过程中,并不是直接计算解码器的所有步骤,而只计算前i个步骤。随着训练过程的进行,不断增加,直到它达到最大值,也就是预测序列的长度。这样,模型就不需要在训练过程中一直采用前向和后向传播,这可以显著减少时间消耗,并在早期节省GPU内存。更重要的是,由于早期时间步骤的良好基础,绩效也可以从策略中受益。

Dynamic Graph Convolutional Recurrent Network for Traffic Prediction Benchmark and Solution相关推荐

  1. 2020 AAAI-GMAN: A Graph Multi‐Attention Network for Traffic Prediction阅读笔记(翻译)

    注明:本文仅是翻译了论文,主要目的方便日后温故

  2. Structured Sequence Modeling With Graph Convolutional Recurrent Networks

    https://davidham3.github.io/blog/2018/07/23/structured-sequence-modeling-with-graph-convolutional-re ...

  3. 论文阅读”Multigraph Fusion for Dynamic Graph Convolutional Network“(TNNLS2022)

    论文标题 Multigraph Fusion for Dynamic Graph Convolutional Network 论文作者.链接 作者: Gan, Jiangzhang and Hu, R ...

  4. [论]【DSTGCN】Dynamic SpatiotemporalGraph Convolutional Neural Networks for Traffic Data Imputation

    Dynamic Spatiotemporal Graph Convolutional Neural Networks for Traffic Data Imputation with Complex ...

  5. 论文笔记 Inter-sentence Relation Extraction with Document-level Graph Convolutional Neural Network

    一.动机 为了抽取文档级别的关系,许多方法使用远程监督(distant supervision )自动地生成文档级别的语料,从而用来训练关系抽取模型.最近也有很多多实例学习(multi-instanc ...

  6. (论文笔记)An Attention Enhanced Graph Convolutional LSTM Network for Skeleton-Based Action Recognition

    An Attention Enhanced Graph Convolutional LSTM Network for Skeleton-Based Action Recognition 文章目录 An ...

  7. Spectral-based graph convolutional neural network

    这里写自定义目录标题 Spectral-based graph convolutional neural network 1. 来自对<[A Comprehensive Survey on Gr ...

  8. 【论文翻译】An Attention Enhanced Graph Convolutional LSTM Network for Skeleton-Based Action Recognition

    An Attention Enhanced Graph Convolutional LSTM Network for Skeleton-Based Action Recognition 基于骨架的注意 ...

  9. 多尺度动态图卷积神经网络----Multi-scale Dynamic Graph Convolutional Network for Hyperspectral Image Classificati

    一.摘要 卷积神经网络(CNN)在表示高光谱图像和实现高光谱图像分类方面表现出令人印象深刻的能力.然而,传统的CNN模型只能对固定大小和权重的规则正方形图像区域进行卷积,因此不能普遍适用于具有不同对象 ...

最新文章

  1. linux中查找某一个字符串,Linux系统下,在文件中查找某个字符串
  2. mysql数据库的事物日志在哪里_mysql数据库中事务日志的作用
  3. 数据结构之栈的应用:递归
  4. 合理使用EntityFramework数据验证的异常错误提示信息
  5. 运营商宣传的volte语音高清有啥好处啊?
  6. mysql事务的ACID属性:
  7. Android 使用Nginx rtmp 模块
  8. hook监控限制_**CodeIgniter通过hook的方式实现简单的权限控制
  9. 消息队列(MSMQ)学习
  10. windows工具:推荐一款可以截长图(滚动截图)的工具FSCapture
  11. 传感网应用开发(中级)网络协议报文详解
  12. 关于T检验的各种问题
  13. INT8量化原理理解
  14. 深度解析Contains底层代码
  15. rar压缩包找回压缩密码
  16. 方舟:生存进化官服和私服区别
  17. rar和unrar压缩解压
  18. Linux编译器-gcc/g++的使用
  19. 网络编程二-LINUX网络IO模型
  20. MANIFEST.MF文件

热门文章

  1. Linux red hat-PPTP服务器搭建
  2. 小程序开发费用一览表
  3. 360服务器协议,360安全浏览器10.1beta版 国密通信协议相关说明
  4. Uniapp实现微信群聊头像|九宫格合并图片
  5. uc浏览器请求被拦截报跨域踩坑记录
  6. 慕课网实战项目《WebAPP书城整站开发》笔记一:底部边栏样式实现
  7. Comsol建模部分域的材料(如空气)属性无法被定义问题
  8. 常见的域名后缀有哪些?不同域名后缀的含义是什么?
  9. java可以操作扫描仪吗_在Java中操作扫描仪(使用JNI)
  10. 服务器向所有浏览器响应数据,浏览器工作原理与实践总结一