图神经网络简介及其在交通流预测中的应用

Pytorch-基于GCN/GAT/Chebnet图神经网络实现的交通流预测(附代码) Pytorch代码地址 1:目录结构 基于图神经网络实现的交通流量预测,主要包括:GCN、GAR、ChebNet算法。 2:数据集信息 数据来自美国的加利福尼亚州的洛杉矶市,CSV文件是关于节点的表示情况,一共有307个节点,npz文件是交通流量的文件,每5分钟输出节点数据信息。 数据集信息: PEMS-04 数据时间范围:2018.1.1—2018.2.28 节点信息:共307个检测器,即Nodes数量为307 3个特征:流量值,占有率,速度值。 3:数据探索 dataView.py 文件为数据可视 阅读详情

原文链接: 图神经网络简介及其在交通流预测中的应用



1.火爆的图神经网络究竟什么来路?

最近几年,作为一项新兴的图数据学习技术,图神经网络(GNN)受到了广泛的关注。2018年年末,发生了两件特殊的事情。图数据学习领域同时发表了三篇综述论文,这种现象体现了学术界对该项技术的高度认可;更有众多工业界与学术界的大佬联名上书,支持GNN。由DeepMind、谷歌大脑、MIT 和爱丁堡大学等公司和机构的 27 位科学家共同发表了一篇论文Relational inductive biases, deep learning, and graph networks,提出了图网络(graph network)的概念。让深度学习也能因果推理。

图1 27位科学家联名综述[1]

知道它这么厉害,总要先知道它是什么吧,首先我们来看看图神经网络究竟是什么样子的。下面我们通过两张图说明普通卷积与图神经网络卷积的含义与不同。

图2 普通卷积网络

如图2所示,普通卷积神经网络使用的卷积核一般是固定大小的(如图中为3*3大小)。它的应用一般面向的对象是序列或者是图像这种规则化的数据结构,这就是为什么现在神经网络在图像处理与自然语言处理领域应用的如此火爆。

图3 图卷积神经网络

图卷积神经网络也是卷积,如图3所示,我们卷积产生的结果Z3就是来自X1,X2,X3,X4,简单的说就是邻域节点的特征对于自己有没有帮助,进行一定的吸收,吸收之后重新产生一个新的图。图卷积的功能与传统卷积神经网络是相同的,提取高维特征,找到更加粗粒度的表示,例如图中存在的社团,簇等等。但是卷积的时候由于受限于邻居节点数量不同的问题。图神经网络卷积核的选取往往比较困难。

看完了对比,我们发现普通神经网络主要是依靠固定的卷积核组合出高维特征。图神经网络使用特别设计的卷积核来提取泛图数据中的高维特征。卷积核的设计一般有两种方式,后续我们会聊到。

有人说就这模样,就人工智能2.0了,你骗钱呐吧!别急,我们往下看,自2012年以来,深度学习理论及其所需的硬件计算能力取得了很大的发展,然后它在很多的领域取得了极大的发展。尤其在计算机视觉以及自然语言处理两个领域取得了巨大的成功。深度学习的杰出代表就是CNN,RNN。俩兄弟一个处理图片,一个处理序列,分工明确,各司其职(但是我告诉你们一个秘密,最近又出了个temporal convolutional neural network,这两个兄弟要打架了,CNN要抢RNN的饭碗啊)。言归正传,我觉得题目中所说的图神经网络(GNN)将会是第三个杰出代表,为什么这么说呐?主要有两个核心原因。

2.第三个杰出代表,why?

传统神经网络无法逾越的鸿沟

CNN无法处理非欧几里得结构(Non Euclidean Structure)数据,学术上的表达是传统的离散卷积在非欧几里得结构的数据上无法保持平移不变性。通俗的理解就是在拓扑图中每个顶点的相邻节点数目可能不同,所以根本无法用一个同样尺寸的卷积核来进行卷积运算。

图4 图卷积神经网络

我们还是来看这张图片,我们会发现X3有三个邻居,但是X1,X2只有一个邻居,所以我们再卷积的时候卷积的大小究竟是1?还是3?这个情况CNN是hold不住的啊。

由于传统神经网络的大兄弟CNN无法处理非欧几里得结构的数据,又希望在这样的数据结构(拓扑图)上有效地提取空间特征来进行机器学习,所以GCN成为了研究的重点。

面向对象广

既然能够处理非欧几里得结构数据,那这种数据究竟有什么用处呐?其实现实的问题当中还存在大量的该结构数据,如社交多媒体网络(Social Network)数据,化学成分(Chemical Compound)结构数据,生物基因蛋白(Protein)数据以及知识图谱(Knowledge Graphs)数据等均可以抽象出图谱,同时图也是一种典型的非欧几里得结构数据。图神经网络能够解决该结构数据的卷积,因此它有很大的应用空间。

3.GNN如此厉害,有何具体的操作?

按照我们上面介绍的图神经网络理论思路,它有两种方式,这两种方式其实也比较简单,继续向下看吧。

空域(spatial domain)卷积

简单说就是提取拓扑图上的空间特征,然后把每个顶点相邻的节点(邻域)找出来,我把你拼成规则的数据结构,然后进行卷积[2]。

具体的操作方法包含三个步骤:

1.从图中选择一个固定长度的节点序列;

2.对序列中的每个节点,收集固定大小的邻域集合;

3.对由当前节点及其对应的邻域构成的子图进行规范化,作为卷积结构的输入,后面就是传统神经网络的常规操作了。

频域(spectral domain)卷积

这种思路就是希望借助图谱的理论来实现拓扑图上的卷积操作。从整个研究的时间进程来看:首先研究谱图论(graph signal processing)的学者定义了graph上的Fourier Transformation,进而定义了graph上的convolution,最后与深度学习结合提出了Graph Convolutional Network。其实核心概念就是借助于图的拉普拉斯矩阵的特征值和特征向量来研究图的性质。什么是拉普拉斯矩阵呢?拉普拉斯矩阵就是长下面这个样子(最右侧),它就是包含了每个节点自身与其邻域节点连接信息的矩阵。

图5 拉普拉斯矩阵(引自维基百科)

其实使用的时候非常的简单,我们继续向下看:最后我们编程使用的就是AXW,基本上所有使用GCN的论文都可以看到这个公式的身影,最多就是变形些。其中A是标准化的邻接矩阵,X是每个节点的特征矩阵,就是每个节点有什么属性,举个简单的例子,比如图像处理中,图片的每个像素有RGB值,如果把每个像素看作一个节点,那RGB值就是三个属性。W是学习的参数,就是神经网络要训练优化的参数。再牛一些的公式就是A(AXW)W,它是一个两层的图卷积网络,一般的图卷积网络由于计算量比较大,除非经过特殊的改良,否则实验只操作到两层。

从上面我们可以看出来,目前设计图卷积核的方式主要是两个,第一种设计的卷积核是确定的,比如空域。对于不同的图,如果每个节点的邻居数量不同,要去规范化一个卷积核,,那就选取固定数量的邻居,这样就能够使用一个固定大小的卷积核。第2种就是频域的卷积核设计,我将所有的节点都考虑,但是在卷积的时候,我根据拉普拉斯矩阵的特征进行选择,只选择部分与节点相关的邻域进行卷积。

空域卷积其实是将问题简单化,卷积前先进行剪枝邻域,所以计算速度一般较快。频域的卷积是先将所有的节点考虑,然后在卷积时依靠拉普拉斯矩阵进行筛选,由于考虑了所有节点,所以这种计算速度明显的要慢一些。

图神经网络在交通领域中的应用

由于城市中道路网络具有着天然的网结构数据,图神经网络的应用是当然的选择。简单介绍背景:神经网络开始应用在交通领域是微软亚洲研究院(现为京东副总裁)的郑宇博士[3]。将地图的人流量与车流量转化为热力图,然后使用图片处理的方法解决。使用三个CNN模型分别去拟合周期性(period)、邻近性(closeness)和趋势性(trend),在CNN中使用12个残差单元,每个残差单元包含两个级联的ReLu和Conv模块,并使用shortcut降低梯度消失的问题。

简单介绍背景:图神经网络开始应用在交通领域是南加州大学的李亚光老师初次introduce的。与ConvLSTM[4]有异曲同工之妙,只是CNN换为GCN。在使用的时候就是使用图卷积(GCN)代替普通卷积(CNN),同时考虑的双向传输性。然后将卷积的结果输入到RNN或LSTM捕捉时序特征[5]。

图6 双向卷积公式
图7 DCRNN架构图

说到这里,我们介绍时空特征提取:交通流预测主要包含两个方面,一个是空间(spatial),另一个是时间(temporal)。

1.Spatial的手段主要包括基于road network(如图8)的图卷积(GCN)与基于地图网格(如图9)的普通卷积(CNN);

2.Temporal的手段主要是基于LSTM,GRU等序列建模的方式,现在对于更长期的序列建模也是研究的热点,一个是基于多个序列模型(如RNN,LSTM等)的聚合(如图11),来增加时间维度的感受野。一个是使用时间卷积网络(TCN)来增强时间维度的感受野(如图10)。基本主流论文中的方法大框架都是采用空间领域的图卷积与时间领域的GRU。

图8 road network
图9 map grid
图10 TCN
图11 多序列模型聚合

基于这些基础基础,还有这更加复杂的模型。基于真实的交通信息,使用注意力机制计算每个道路节点之间的变化相似度,得到一个节点特征相似性矩阵(similarity matrix)(描述道路节点之间的相似性),如图12(a)所示;使用道路结构信息(structure info)对相似性矩阵进行截断;然后通过图卷积(GCN)对特征进行聚合,最后通过全连接层输出更新系数与重置系数,如图12(b)所示。我觉得创新主要有两点:1)使用attention的方式代替原来GCN中基于拉普拉斯矩阵进行聚合的方式,用来捕捉基于节点特征的网络结构动态性。2)使用新GCN重新设计原来GRU中的首个linear层(即更新门与重置门),如图12(c)所示;整个模型的训练流程如图13所示。

图12 AGCN cell结构图。其中(a)(b)共同构成了AGCN cell,(c)展示了基于AGCN cell的新GRU
图 13 模型训练框架图

5.总结

看到这里相信你对图神经网络有了比较全面的认识。图神经网络有着如此大的应用市场,如智能交通,智慧物流,社交网络等复杂场景,又有如此简单的操作,相信以后可以大有作为。大家若感兴趣,或者有疑问可以知乎私信(知乎@皇德华叫兽),也可以在知识星球提问。


参考文献

[1]Battaglia, Peter W, Hamrick, Jessica B, Bapst, Victor,等. Relational inductive biases, deep learning, and graph networks[J].

[2] Niepert M , Ahmed M , Kutzkov K . Learning Convolutional Neural Networks for Graphs[J]. ICML ,2016.

[3]Zhang,Junbo, Zheng, Yu, Qi, Dekang. Deep Spatio-Temporal Residual Networks for Citywide Crowd Flows Prediction[J].

[4]Shi X,Chen Z,Wang H, et al. Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting[J]. 2015:802-810.

[5]Li Y , Yu R , Shahabi C , et al. Diffusion Convolutional Recurrent Neural Network: Data-Driven Traffic Forecasting[J]. 2017.

【论文笔记】通过强化学习优化交通灯管理:交通状态无关智能体与具有当前 V2I 交通状态知识的整体智能体 本文将当前交通灯控制分为两类:是否利用当前交通状态知识(接近十字路口的车辆位置和速度),针对这一点进行了详细实验比较;利用当前交通状态知识的整体系统在交通信号控制问题下,大幅提高了平均车速和流量,同时在多个指标取得优势 阅读详情

相关推荐

【论文翻译】STGAFormer:基于时空门控注意力Transformer的交通流预测图神经网络

本文提出了一种**基于图神经网络的时空门控注意力Transformer(STGAFormer)模型**,利用Transformer的编码器架构。模型中的门控时间自注意力机制(一个新模块)可以提高模型进行长期预测的能力,并通过增强本地和全球时间特征的提取来处理突发的交通事件。此外,本文提出了一个距离空间自注意力模块,该模块通过阈值化选择性地从附近和远处区域中识别关键特征。这样,模型吸收关键空间信息的能力得以提升。我们的模型还结合了多种输入,包括交通流属性、周期性、邻近邻接矩阵和自适应邻接矩

double_piga的博客 3155

Pytorch复现STGCN:基于图卷积时空神经网络在交通速度中的预测

1:论文信息 1.1:论文思路 1.2:摘要引言总结

yilulvxing的博客 5万+

大数据在智慧城市中的应用:交通流量预测案例

import dgl# 图卷积操作:聚合邻居信息return h# x形状:(Batch, Time Steps, Nodes, Features) → 转换为(Batch*Nodes, Features, Time Steps)# 时间卷积# 转换回原形状:(Batch, Time Steps, Nodes, Out Feats)return hself.residual = nn.Conv2d(in_feats, out_feats, kernel_size=1) # 残差连接。

AI智能探索者的博客 1225

【交通标志识别】基于matlab GUI BP神经网络交通标志识别(带面板)【含Matlab源码 1647期】

BP神经网络交通标志识别(带面板) 完整代码,直接运行,适合小白!可提供运行操作视频!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 4686

空间数据分析在交通流量预测中的模型比较

你是否经历过这样的场景?早高峰开车出门,导航显示“前方3公里拥堵”,但实际到达时拥堵已扩散到5公里外——这是传统交通预测模型的“失效时刻”。本文聚焦“空间数据分析”这一关键技术,解决传统模型忽略的“位置关联”问题(比如相邻路口的车流量会互相影响),并对比主流模型在交通预测中的表现,帮助读者掌握“用对模型”的核心能力。

AI 算法实战派 1118

【2020顶会www】基于时空图神经网络的交通流预测

概述 交通流分析、预测和管理是新时期建设智慧城市的关键。借助深层神经网络和大交通数据,我们可以更好地了解隐藏在复杂交通网络中的潜在模式。一条道路交通流的动态不仅在时间维度上依赖于序列模式,在空间维度上也依赖于其他道路。虽然已有预测未来交通流的研究工作,但大多数研究在建模空间和时间依赖性方面存在一定的局限性。本文提出了一种新的交通流预测空间时态图神经网络,它能全面地捕捉空间和时态模式。特别是,该框架提供了一个可学习的位置注意机制,以有效地聚集来自邻近道路的信息。同时,为交通流动态建模提供了时序组件,利...

huang_shao1的博客 3040

lstm处理时序数据结构图_主编推荐 | 图神经网络简介及其在交通流预测中的应用...

题目:主编推荐 | 图神经网络简介及其在交通流预测中的应用编者按:图神经网络(GNN)作为一项新兴的图数据学习技术,近年来受到了广泛的关注。2018年年末,图数据学习领域不仅同时发表了三篇综述论文,而且由DeepMind、谷歌大脑、MIT 和爱丁堡大学等公司和机构的 27 位科学家联名发表论文推广GNN。本文带领大家先看GNN是什么,然后介绍其在交通领域的应用。图数据一直就是机器学习领域里最重要的...

weixin_39762001的博客 601

【交通流预测论文】基于时空自监督学习的交通流预测

在智能交通系统中,对不同时间段的城市交通流量进行鲁棒预测是至关重要的。虽然以往的研究在建立时空相关性模型方面做了大量的工作,但现有的方法仍然存在两个关键的局限性:1)大多数模型集中预测所有区域的交通流量,而没有考虑空间异质性,即不同区域的交通流量分布可能存在偏差。ii)这些模型无法捕捉时变交通模式引起的时间异质性,因为它们通常是在所有时间段内与共享参数化空间进行时间相关性建模。

gao00013的博客 2991

机器学习作业-交通流量预测综述

综述,交通预测

一个努力生活的人的博客 1万+

图神经网络 | Python基于图卷积的U-Net架构进行交通流量和速度的预测

Python基于图卷积的U-Net架构进行交通流量和速度的预测

前程算法屋的博客 1925

图神经网络在时序推理中的应用研究

在当今的信息时代,大量的数据呈现出复杂的时空关系,例如交通流量数据、气象数据、社交网络中的用户行为数据等。这些数据不仅具有时间上的先后顺序,还存在着复杂的空间关联。传统的机器学习和深度学习方法在处理这类具有时空特性的数据时存在一定的局限性。图神经网络(Graph Neural Networks, GNN)作为一种强大的工具,能够有效地处理图结构数据,捕捉数据中的复杂关系。本研究的目的在于深入探讨图神经网络在时序推理中的应用,研究如何利用图神经网络的优势来挖掘时序数据中的时空模式,提高时序推理的准确性和效率。

欢迎来到我的优快云空间!这里聚焦AI大模型应用实战,分享前沿技术、实战案例与开发经验。 916

基于图神经网络的时空预测

本文刊登于2020年11月第70期《超图通讯》 时空数据蕴含着巨大的应用价值,对时空数据的智能分析和预测是智慧城市和空间大数据领域中的重要问题。有效挖掘时空数据中的时空规律和知识,对智能交通、城市规划、公共安全和环境保护等方面都至关重要。然而,因为时空数据存在噪声多、特征复杂等特点,时空数据的预测建模一直是很有挑战性的难题。 近年来,空间大数据获取手段日趋多样,可获得的数据规模越来越大。如何从这些海量、非线性、高维和高噪声的时空数据中挖掘有价值的规律,进而指导各行各业应用,则需要科学有效的时空预测方法。.

SuperMap技术控 5869

基于图神经网络的交通流预测实战项目

示例:基础GCN层的消息传递逻辑(PyTorch Geometric风格)self.conv1 = GCNConv(input_dim, hidden_dim) # 第一层图卷积self.conv2 = GCNConv(hidden_dim, output_dim) # 第二层图卷积return x该模型通过邻接矩阵定义的拓扑结构进行信息传播,每一层聚合邻居节点特征并更新自身表示,实现对空间依赖性的逐层建模,为后续交通流预测提供可学习的节点表征基础。

weixin_36277197的博客 919

图神经网络详解及其在交通预测方面的应用

layout: mypost title: 图神经网络及其在交通预测方面的应用 categories: [Traffic prediction, Graph Neural Networks] 图神经网络 图神经网络可以粗略地分为基于谱的图神经网络和基于空间的图神经网络。其中前者从图的傅立叶变换而来,具有坚实的理论基础,在通过多番简化之后,其计算开销、局部性等已经能够满足大部分情形下的要求,但是它只能用来处理边上权重维数为111的无向图。而后者虽然缺乏理论基础,但是可以用来处理更加广泛的图结构数据,如有向图.

小卜妞的博客 3500

INCA基础教程

以软件自带Demo为例记录INCA学习过程,主要内容包括测量与标定。

yunqianrui的博客 6万+

Allegro中调整差分对等长的步骤介绍

【代码】Allegro中调整差分对等长的步骤介绍。

qq_30882617的博客 3833

图神经网络中的边的预测问题

图神经网络(GNNs)通过编码器和解码器预测图中的边,广泛应用于社交网络分析、蛋白质相互作用预测等领域。

python_plus的博客 5309

可变形卷积(Deformable Conv)原理解析与torch代码实现

图6为可变形卷积示意图。图1所示为普通卷积在输入特征图上进行卷积计算的过程,卷积核大小为3*3,在输入特征图尺寸为7*7上进行卷积,将卷积核权重与输入特征图对应位置元素相乘并求和得到输出特征图元素,按一定方式滑动窗口就能计算得到整张输出特征图。图6所示,在input feature map上普通卷积操作对应卷积采样区域是一个卷积核大小的正方形(绿框),而可变形卷积对应的卷积采样区域为一些蓝框表示的点,这就是可变形卷积与普通卷积的区别。先来一张图感受一下,图3为标准卷积与可变形卷积的卷积示例。

panghuzhenbang的博客 5万+
上一篇: 强化学习 马尔科夫决策过程(MDP)
下一篇: 深度强化学习探索算法最新综述,近200篇文献揭示挑战和未来方向
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值