How to Build a Graph-Based Deep Learning Architecture in Traffic Domain: A Survey

1. 文章概述

1.1 本文主要内容

  • 我们首先给出基于图的交通问题的公式,并从各种交通数据集构建图。
  • 分解这些基于图的架构,讨论它们使用的深度学习技术,阐明每种技术在流量任务中的应用
  • 总结了一些常见的流量挑战以及相应的基于图的深度学习解决方案
  • 提供了基准数据集、开源代码和未来的研究方向

1.2 在流量预测领域的一些方法

  • 基于统计学的方法:统计学方法基于对数据是线性平稳的假设,该假设不符合实际,使以效果不佳

  • 基于传统机器学习:传统机器学习方法浅层的结果和分离学习的方法在特征捕捉方面效果不佳,且需要手工处理数据在大数据环境下不太适用。

  • 基于深度学习方法:主要是CNN+RNN,使用CNN捕捉空间依赖,使用RNN捕捉时间依赖。但是由于交通网络在时间情况下通常是图结构的,所以使用CNN捕捉不是最佳的。

  • 基于图神经网络:许多现有的工作将GNNs结合到深度学习架构中,以捕捉空间依赖性,且表现出更好的

1.3 挑战和技术回顾

主要挑战:时间和空间依赖性的捕捉和外部因素

时空依赖性:在预测一个地区的交通状况时需要考虑周围地区的交通状况和起一个时间段的交通状况

额外的因素:如节假日、天气等因素也会对交通预测产生影响

2. 图的构建

2.1 节点及节点特征的构建

(1)节点和节点特征构造:

  • Sensors Datasets:该类型数据库分为两种

    • A sensor graph:传感器代表一个节点,该节点的特征是由其对应的传感器收集的流量测量值
    • **A road segment graph **:一个路段代表一个节点,该节点的特征是对应路段所有传感器的平均交通测量值
  • GPS Datasets:全球定位系统轨迹数据集通常是由一个城市某段时间内的出租车数量生成的。
    • A road segment graph:其中路段代表一个节点,该节点的特征是由其对应路段上的所有GPS点记录的平均交通测量值
    • A road intersection graph:其中道路交叉口代表一个节点,该节点的特征是通过它的交通测量的总和
  • Rail-hailing Datasets :这些数据集记录了各个城市一段时间内的汽车/出租车/自行车需求订单。该类型数据将城市讽刺大小相等的网格,每个网格代表一个点,每个点的特征是给定时间间隔内相应区域中的订单数量
  • Transactions Datasets:这些数据集由部署在公共交通网络(如地铁网络和公交网络)中的自动售检票系统收集。每个车站被视为一个节点,车站的特征通常包含离开的乘客数量。

(2)邻接矩阵构造

Fixed Matrix:许多工作假设节点之间的相关性是固定的,不会随着时间而改变。因此,设计了一个固定的矩阵,并且在整个实验过程中保持不变。

  • Distance matrix:根据几何距离测量节点之间的接近度。有些工作使用阈值高斯核来定义邻接矩阵,其中dij为两点间距离,

aij={exp⁡(−dij2σ2),i≠jand dij≥ϵ0,i=jor dij<ϵ\mathbf{a}_{i j}=\left\{\begin{array}{l} \exp \left(-\frac{\mathbf{d}_{i j}^{2}}{\sigma^{2}}\right), i \neq j \text { and } \mathbf{d}_{i j} \geq \epsilon \\ 0, i=j \text { or } \mathbf{d}_{i j}<\epsilon \end{array}\right. aij​={exp(−σ2dij2​​),i​=j and dij​≥ϵ0,i=j or dij​<ϵ​

  • Functional similarity matrix :衡量两个节点在功能上是否相似,共享相似功能的地区可能有相似的需求模式,所以在具有相同兴趣点的区域之间建立边(此处论文中给定的图应该是给反了)
  • Transportation connectivity matrix:距离遥远但是交通方便的两点之间(如通高速)应该建边

Dynamic Matrix:由于有缺陷的先验知识或不完整的数据,预定义矩阵不一定反映节点之间的真正依赖关系。在一些实验中已经证明该矩阵能更好的捕捉隐藏的空间特征。这种自适应矩阵通过数据进行学习。

Evolving Matrix:在某些情况下,图形结构会随着时间的推移而演变。进化的拓扑结构被结合到模型中以捕捉这种动态空间变化。

3. 深度学习技术回顾

3.1 GNN:

在交通预测领域主要使用的是ConvGNNs,ConvGNNs主要有两种卷积方法一种是基于谱理论的图卷积,一种是基于空间的图卷积。基于空间的图卷积中最近的主要方法是使用扩散卷积。spectral graph convolution (SGC)只能用于无向图的, diffusion graph convolution (DGC) 既可以用于有向图也可以用于无向图。

3.1.1 spectral-based convolutions

三种常用拉普拉斯矩阵:(1)$ L=D-A$ (2)L=D−1/2LD−1/2=I−D−1/2AD−1/2L=D^{-1/2}LD^{-1/2}=I-D^{-1/2}AD^{-1/2}L=D−1/2LD−1/2=I−D−1/2AD−1/2 (3) L=D−1LL=D^{-1}LL=D−1L

为什么使用拉普拉斯矩阵:(1)拉普拉斯矩阵是对称矩阵可以进行特征分解 (2)由于卷积在傅里叶域计算相对简单,为了在graph上做傅里叶变换需要找到连续的正交基对应于傅里叶变换的基,因此要使用拉普拉斯矩阵的特征向量

由卷积定理:函数卷积的傅里叶变换是函数傅立叶变换的乘积,所以对图的特征f和卷积核g可以表示为f∗g=U((UTg)(UTf))f*g=U((U^Tg)(U^Tf))f∗g=U((UTg)(UTf)) 如果将UTgU^TgUTg看成一个整体θ\thetaθ可以写成f∗g=UΘUTff*g=U{\Theta}U^Tff∗g=UΘUTf。这就是基于谱理论的卷积操作,但是这种操作的时间复杂度为O(N2)O(N^2)O(N2)太过耗时。

在之后的改进中Defferrard et al通过将Θ\ThetaΘ限制为Θ=∑i=1K−1θkΛK\Theta=\sum_{i=1}^{K-1}\theta_k\Lambda^KΘ=∑i=1K−1​θk​ΛK,则卷积表达式可以表示为∑k=0K−1θkUΛUTx=∑k=0K−1θkLkx\sum_{k=0}^{K-1}\theta_kU\Lambda U^Tx=\sum_{k=0}^{K-1}\theta_kL^kx∑k=0K−1​θk​UΛUTx=∑k=0K−1​θk​Lkx,并通过Chebyshev多项式Tk(x)T_k(x)Tk​(x)逼近LkL_kLk​最终卷积公式为:∑k=0K−1θkTk(L~)x\sum_{k=0}^{K-1}\theta_kT_k(\tilde{L})x∑k=0K−1​θk​Tk​(L~)x,其中L~=2λmaxL−IN\tilde{L}=\frac{2}{\lambda_{max}}L-I_NL~=λmax​2​L−IN​(这里是为了满足Chebyshev多项式的输入要在[ − 1 , 1 ] 之间),通过这种方法可以将时间复杂度降为O(K∣E∣)O(K|E|)O(K∣E∣)。

3.1.2 spatial-based convolutions

扩散卷积神经网络(DCNN)[25]将图形卷积视为扩散过程。它假设信息以一定的转移概率从一个节点传输到其相邻节点之一,以便信息分布在几轮之后达到平衡。 卷积层定义如下:
Yj=ρ(∑k=0K−1∑i=1FI(θk,1,i,j(DO−1A)k+θk,2,i,j(DI−1AT)k)Xi)Y=ρ(∑K−1(DO−1A)kXWk1+(DI−1AT)kXWk2)\begin{aligned} Y_{j} &=\boldsymbol{\rho}\left(\sum_{k=0}^{\mathrm{K}-1} \sum_{i=1}^{\mathbf{F}_{\mathbf{I}}}\left(\theta_{k, 1, i, j}\left(\mathbf{D}_{\mathbf{O}}^{-1} \mathbf{A}\right)^{k}+\theta_{k, 2, i, j}\left(\mathbf{D}_{\mathbf{I}}^{-1} \mathbf{A}^{T}\right)^{k}\right) X_{i}\right) \\ Y &=\boldsymbol{\rho}\left(\sum^{\mathbf{K}-1}\left(\mathbf{D}_{\mathrm{O}}^{-1} \mathbf{A}\right)^{k} X W_{k 1}+\left(\mathbf{D}_{\mathbf{I}}^{-1} \mathbf{A}^{T}\right)^{k} X W_{k 2}\right) \end{aligned} Yj​Y​=ρ(k=0∑K−1​i=1∑FI​​(θk,1,i,j​(DO−1​A)k+θk,2,i,j​(DI−1​AT)k)Xi​)=ρ(∑K−1​(DO−1​A)kXWk1​+(DI−1​AT)kXWk2​)​
其中DoD_oDo​为出度矩阵DID_IDI​为入度矩阵。 状态迁移矩阵定义为D−1AD^{-1}AD−1A

3.1.3 图卷积在交通领域的应用

  • Guo et al.重新定义了的注意机制,以自适应地捕捉交通网络中的动态相关性;
  • Y u .等人通过扫描图上的K阶邻居和时间轴上的Kt邻居,在没有填充的情况下,在空间和时间维度上推广了SGC

3.2 RNN

3.2.1 LSTM

为了克服梯度消失问题,LSTM引入门控机制
it=σ([Ht−1,Xt]⋅Wi+bi)ot=σ([Ht−1,Xt]⋅Wo+bo)ft=σ([Ht−1,Xt]⋅Wf+bf)Ct=ft⊙Ct−1+it⊙tanh⁡([Ht−1,Xt]⋅Wc+bc)Ht=ot⊙tanh⁡(Ct)\begin{aligned} i_{t} &=\sigma\left(\left[\mathbf{H}_{t-1}, \mathbf{X}_{t}\right] \cdot W_{i}+b_{i}\right) \\ o_{t} &=\sigma\left(\left[\mathbf{H}_{t-1}, \mathbf{X}_{t}\right] \cdot W_{o}+b_{o}\right) \\ f_{t} &=\sigma\left(\left[\mathbf{H}_{t-1}, \mathbf{X}_{t}\right] \cdot W_{f}+b_{f}\right) \\ \mathbf{C}_{t} &=f_{t} \odot \mathbf{C}_{t-1}+i_{t} \odot \tanh \left(\left[\mathbf{H}_{t-1}, \mathbf{X}_{t}\right] \cdot W_{c}+b_{c}\right) \\ \mathbf{H}_{t} &=o_{t} \odot \tanh \left(\mathbf{C}_{t}\right) \end{aligned} it​ot​ft​Ct​Ht​​=σ([Ht−1​,Xt​]⋅Wi​+bi​)=σ([Ht−1​,Xt​]⋅Wo​+bo​)=σ([Ht−1​,Xt​]⋅Wf​+bf​)=ft​⊙Ct−1​+it​⊙tanh([Ht−1​,Xt​]⋅Wc​+bc​)=ot​⊙tanh(Ct​)​

3.2.2 GRU

GRU是LSTM的变种,LSTM有输入门,输出门,遗忘门而GRU只有两个门,减少了参数,从而缩短训练时间
rt=σ([Ht−1,Xt]⋅Wr+br)ut=σ([Ht−1,Xt]⋅Wu+bu)H~t=tanh⁡(rt⊙[Ht−1,Xt]⋅Wh+bh)Ht=ut⊙Ht−1+(1−ut)⊙H~t\begin{aligned} r_{t} &=\boldsymbol{\sigma}\left(\left[\mathbf{H}_{t-1}, \mathbf{X}_{t}\right] \cdot W_{r}+b_{r}\right) \\ u_{t} &=\boldsymbol{\sigma}\left(\left[\mathbf{H}_{t-1}, \mathbf{X}_{t}\right] \cdot W_{u}+b_{u}\right) \\ \tilde{\mathbf{H}}_{t} &=\tanh \left(r_{t} \odot\left[\mathbf{H}_{t-1}, \mathbf{X}_{t}\right] \cdot W_{h}+b_{h}\right) \\ \mathbf{H}_{t} &=u_{t} \odot \mathbf{H}_{t-1}+\left(1-u_{t}\right) \odot \tilde{\mathbf{H}}_{t} \end{aligned} rt​ut​H~t​Ht​​=σ([Ht−1​,Xt​]⋅Wr​+br​)=σ([Ht−1​,Xt​]⋅Wu​+bu​)=tanh(rt​⊙[Ht−1​,Xt​]⋅Wh​+bh​)=ut​⊙Ht−1​+(1−ut​)⊙H~t​​

3.2.3 RNN在交通领域的应用

  • Spa-tiotemporal multi-graph convolution network for ride-hailing demand forecasting:将上下文信息,即包含相关区域信息的SGCN输出,合并到注意力操作中,以对不同时间戳处的观测值之间的相关性建模
  • Gated residual recurrent graph neural networks for traffic prediction:通过在输入中嵌入外部属性来考虑外部因素,并且通过残差路径将先前的隐藏状态添加到下一个隐藏状态,这能使GRU对对交通历史观测中的突然变化更加敏感和鲁棒
  • Y u .等人[105]通过改变隐藏状态将一个扩张的跳跃连接插入GRU,由Ht=GRU([Ht−1,Xt])H_t=GRU([H_{t-1},X_t])Ht​=GRU([Ht−1​,Xt​])变为Ht=GRU([Ht−s,Xt])H_t=GRU([H_{t-s},X_t])Ht​=GRU([Ht−s​,Xt​])
  • 用谱图卷积(SGC)或扩散图卷积(DGC)来代替RNNs隐藏层中的矩阵乘法,以联合捕获时空相关性

3.3 TCN

3.3.1 Sequence Modeling and 1-D TCN

TCN的论文链接

TCN是结合因果卷积、膨胀卷积的结合操作:
yt=Θ∗Tdxt=∑k=0K−1wkxt−dk\mathbf{y}_{t}=\Theta *_{\mathcal{T}^{\mathbf{d}}} \mathbf{x}_{t}=\sum_{k=0}^{\mathbf{K}-1} w_{k} \mathbf{x}_{t-\mathbf{d} k} yt​=Θ∗Td​xt​=k=0∑K−1​wk​xt−dk​
Td_{\mathcal{T}^{\mathbf{d}}}Td​是扩张率为d的dilated causal操作,在大部分工作中TCN能有比LSTM更好的效果。

4. 交通领域的四大挑战

4.1 空间依赖的捕捉

  • Spatial Locality: 空间局部性是指相邻区域通常彼此高度相关。
  • Multiple Relationships: 位置属性侧重于空间邻近性,但目标区域可以通过各种非欧几里德关系(如功能相似性、交通连通性、语义邻居)与远处区域相关联
  • Global Connectivity:指不同地区的交通状况在整个网络规模上相互影响。捕捉全局连通性的一种流行方法是将交通网络中不断变化的交通状况建模为发生在网络规模上的扩散过程,该扩散过程由转移矩阵的幂级数表示。

4.2 时间依赖

  • Multi-timescale:一些从多时间尺度的角度提取时间相关性。时间依赖被分解成最近的,每天的,和每周的依赖。Attention based spatial-temporal graph convolutional networks for traffic flow forecasting设置三个具有相同结构的并行组件来分别建模这三个时间属性。
  • Different Weights:一些著作认为,历史观测和未来观测之间的相关性在不同的时间片上是不同的。

4.3 时空依赖

单独建模时间核空间依赖的一个限制是忽略了空间特征和时间特征之间的潜在交互,这可能会损害预测性能。为了克服这种限制,一种流行的方法是将图卷积运算(例如,SGC、DGC)结合到RNNs中,以联合捕获时空相关性。

4.4 External Factors

对于外部因素主要有两种处理方法。第一种方法是将外部因素与其他特征连接起来,并将它们输入模型。第二种方法是设计一个单独负责处理外部因素的外部组件。

一些开源数据和模型

参考资料

拉普拉斯矩阵与拉普拉斯算子的关系 - 知乎 (zhihu.com)

谱域GCN的理解和详细推导

How to Build a Graph-Based Deep Learning Architecture in Traffic Domain A Survey相关推荐

  1. SortPool (DGCNN) - An End-to-End Deep Learning Architecture for Graph Classification AAAI 2018

    文章目录 1 背景介绍 图核方法 DGCNN和WL和PK的关系 2 Deep Graph Convolutional Neural Network (DGCNN) 深度图卷积神经网络 图卷积层 与We ...

  2. Spatio-Temporal Graph Convolutional Networks: A Deep Learning Framework for Traffic

    IJCAI 2018,大体思路:使用Kipf & Welling 2017的近似谱图卷积得到的图卷积作为空间上的卷积操作,时间上使用一维卷积对所有顶点进行卷积,两者交替进行,组成了时空卷积块, ...

  3. 恶意软件检测 - 论文《lazy-binding control flow graph and deep learning》阅读

    20200828 - 0. 引言 本篇文章介绍<Auto-detection of sophisticated malware using lazy-binding control flow gr ...

  4. 【点云系列】综述: Deep Learning for 3D Point Clouds: A Survey

    文章目录 起因 题目 摘要 1 简介 2 背景 2.1 数据集 2.2 衡量指标 3 3D形状分类 3.1基于多视角的方法 3.2基于体素的方法 3.3 基于点的方法 3.3.1逐点MLP网络 3.3 ...

  5. Deep Learning for 3D Point Clouds: A Survey - 3D点云的深度学习:一项调查 (IEEE TPAMI 2020)

    Deep Learning for 3D Point Clouds: A Survey - 3D点云的深度学习:一项调查(IEEE TPAMI 2020) 摘要 1. 引言 2. 背景 2.1 数据集 ...

  6. Deep Learning for 3D Point Clouds: A Survey 论文阅读

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 Abstract:在点云深度学习中,主要包含的任务有:3D形状分类.3D目标检测和跟踪.3D点云分割. ...

  7. 人群分析--ResnetCrowd: A Residual Deep Learning Architecture

    ResnetCrowd: A Residual Deep Learning Architecture for Crowd Counting, Violent Behaviour Detection a ...

  8. Deep Learning for Generic Object Detection: A Survey -- 目标检测综述总结

      最近,中国国防科技大学.芬兰奥卢大学.澳大利亚悉尼大学.中国香港中文大学和加拿大滑铁卢大学等人推出一篇最新目标检测综述,详细阐述了当前目标检测最新成就和关键技术.文章最后总结了未来8个比较有前景的 ...

  9. 【论文翻译】点云深度学习综述 -- Deep Learning for 3D Point Clouds: A Survey

    论文链接:Deep Learning for 3D Point Clouds: A Survey 文章目录 摘要 1. 介绍 2. 三维形状分类 2.1 基于投影的网络 2.1.1 多视图表示 2.1 ...

最新文章

  1. codebilcks怎么新建c++文件_赤峰将新建1280个公交候车亭丨明年,将对这6条街路实施改造|雨污分流|赤峰|候车亭|红山区|泵站...
  2. python调用数据库存储过程_python连接mysql调用存储过程示例
  3. gpu programming guide for g80(dx9)
  4. 听说你想去大厂看学妹,带你看看网易互娱游戏测试面经
  5. 解决deepin微信无法登录
  6. .NET Core中使用Razor模板引擎
  7. 模板主要变量注解 - $postlist 帖子内容页
  8. servlet对java的重要性_浅谈Servlet技术中的Listener起到的作用
  9. asp.net---jquery--ajax 实现滚动条滚动到底部分页显示
  10. Ubuntu搜索不到WiFi的解决办法
  11. SQL Server数据库的管理
  12. html5动漫人物小部件制作,虚拟动漫人物制作器app
  13. Ochestrator企业数据总线
  14. 学习是对自己最好的投资
  15. python面板数据模型操作步骤_面板数据分析方法步骤全解
  16. naxtTick获取服务器数据
  17. cocos2d-x创建新项目模板
  18. A2M峰会直击|闲鱼纳米镜——人人都是数据分析师
  19. Android 硬件传感器
  20. C++学习笔记:三种智能指针【Share、Unique、Weak】【Cherno】

热门文章

  1. shell脚本编写遇到的问题--循环
  2. 实例:用C#.NET手把手教你做微信公众号开发(10)--事件消息处理之关注公众号(普通关注)
  3. jQuery中的$.ajax
  4. 调用求x的n次幂的函数
  5. iPhoneXR成了真香机,iOS13的Haptic touch功能真6啊!
  6. 400亿美元的全球超算赛道 中国力量超速发展
  7. 基于微信云开发的幼儿园招生报名小程序
  8. Autoware速腾16线激光雷达定位若干问题
  9. 学历和能力对程序员那个更重要
  10. stm32 程序结构