Spatial-Temporal Graph ODE Networks for Traffic Flow Forecasting
Spatial-Temporal Graph ODE Networks for Traffic Flow Forecasting
摘要
交通流量的复杂性和长范围时空相关性是难点
经典现存的工作:
1.利用浅图神经网络(shallow graph convolution networks)和 时间提取模块去分别建模空间和时间依赖
2.STGCN,DCRNN通过结合GNN和RNN,分别获得空间表示和时间表示
缺点:
-
浅图卷积神经网络不能获取长范围空间相关性(太浅特征学习不全面),仅仅考虑了空间上的连接,并没 有考虑语义连接(时间和空间上的关联)
2.分别考虑空间,时间——》模型效果不佳
-
GNN连接两层时效果最好,过深会导致过平滑问题,太浅导致特征学习不全,获取长范围依赖较难。
提出STGODE模型
1.基于张量的ODE模型 --》可以构建更深的网络,有效利用时空特征
2.添加语义邻接矩阵(更全面的获取特征)和时间空洞卷积(TCN 扩大卷积核,增大感受野)–》获取长时间依赖
STGODE组件
使用几个相关组件,解决现存问题
1.构建两种邻接矩阵spatial adjacency matrix (空间邻接矩阵)and semantic adjacency matrix(语义邻接矩阵),可以实现空间特征,语义相似的获取,准确描述时空相关性。
2.残差连接解决过平滑,残差连接的离散层被看作ODE的离散化。
带有残差连接的GNN——》避免过平滑,加深网络深度——》获得更广泛的时空依赖
利用时空张量——》同时考虑了时空交互,模型表现能力更好
使用空洞卷积——》感受野增大——》提取大范围特征
介绍
1.Traffic flow forecasting attempts to predict the future traffic flow given historical traffic conditions and underlying road networks
通过历史数据来预测未来数据
2.the complex and long-range spatial-temporal dependencies in traffic networks.
3.GNN可以高效处理图结构数据,通过聚合邻接点来更新节点表示
4.本文贡献:张量形式的GNN连续表示,加深网路,改善获取长范围时空相关
利用道路节点的空间邻域和语义邻域来综合考虑时空相关性
相关工作
GNN
1.GNN有效的邻接聚合方案
2.解决了非欧几里德图结构数据
缺点:为了获得长时空相关性——》加深网络——》造成过平滑
利用重启分布缓解过平滑为本文动机 (restart distribution)
残差结构可以被看做是离散的常微分方程,现在已经存在通过ODE将残差连接的GCN表达为连续的GCN工作。作者考虑将CGNN(continous graph neural network)应用于交通预测以处理GCN过平滑的问题并同时提取时空依赖
GCN为一种简单的ODE离散化,表示节点表示的连续动态,实现更深的网络。
参数定义
N个节点,A为邻接矩阵,大小为N*N
空间邻接矩阵为 Asp 语义邻接矩阵 Ase
图信号张量X,xit大小为1*F,节点i在t时刻的观测值,F作为一个观测向量的长度
Xt=(X1t,X2t,…XNt)大小为N*F,在t时刻所有点的交通情况
X=(X1,X2,…XT)大小为T*N *F,所有节点在所有时刻的交通量
正则化邻接矩阵

转换之后,可以进行特征值分解,值在【0,阿尔法】
通过ODESolver实现神经网络参数化
模型
网络构成:两个ODE层(由多个STGODE block组成),一个最大值池化层,一个输出层
STGODE block 由 TCN(时间空洞卷积)+ ODESolver + TCN
TCN由空洞卷积和残差连接组成
ODESolver隐藏状态由当前状态和初始状态
邻接矩阵

去除一些关系较远的点,简化计算
语义相关矩阵
DTW算法——》计算两个时间序列的相似性(相较于逐点相似性,对形状相似性更加敏感)
DTW(X,Y)=D(m,n)为X和Y的最终距离


基于张量的时空图ODE

A 正则化矩阵
U时间变换矩阵
W特征转变矩阵
H0 GNN的初始输入

离散的格式如上图所示,其参数过多计算量过大。
ODESolver 可以实现时空融合,扩展网络深度,简化计算。
时间卷积模块

利用了空洞卷积,对每一个特征进行提取,然后再利用残差网络增强卷积性能
STGODE层
TCN+STGODESolver+TCN
优势:对时空信息敏感,卷积结构速度更快,并行性更好(空间邻接,语义邻接并行计算)
三明治法堆叠,扩展了获取复杂时空关系的能力
STGODE模块+最大值池化+两个MLP+Huber损失(对异常值的敏感性低于平方误差损失)
贡献:
我们利用基于张量的ODE框架来提取长距离时空相关性;
引入语义邻居来建立局部和全面的空间关系;
具有残差连接的时间扩张卷积网络有助于捕获长期时间相关性
相关文章:
Spatial-Temporal Graph ODE Networks for Traffic Flow Forecasting
Spatial-Temporal Graph ODE Networks for Traffic Flow Forecasting 摘要 交通流量的复杂性和长范围时空相关性是难点 经典现存的工作: 1.利用浅图神经网络(shallow graph convolution networks)和 时间提取模块去分别建模空间和时间依赖…...
IP协议+以太网协议
在计算机网络体系结构的五层协议中,第三层就是负责建立网络连接,同时为上层提供服务的一层,网络层协议主要负责两件事:即地址管理和路由选择,下面就网络层的重点协议做简单介绍~~ IP协议 网际协议IP是TCP/IP体系中两…...
可视化组件届的仙女‖蝴蝶结图、玫瑰环图、小提琴图
在上一篇内容中为大家介绍了几个堪称可视化组件届吴彦祖的高级可视化图表。既然帅哥有了,怎么能少得了美女呢?今天就为大家介绍几个可视化组件届的“美女姐姐”,说一句是组件届的刘亦菲不为过。蝴蝶结图蝴蝶结图因其形似蝴蝶结而得名…...
人的高级认知:位置感
你知道吗?人有个高级认知:位置感 位置感是啥?咋提高位置感? 趣讲大白话:知道自己几斤几两 【趣讲信息科技99期】 ******************************* 位置感 就是对自己所处环境和自身存在的领悟 属于人生智慧 来源于阅历…...
MATLAB——信号的采样与恢复
**题目:**已知一个连续时间信号 其中:f01HZ,取最高有限带宽频率fm5f0。分别显示原连续时间信号波形和 3种情况下抽样信号的波形。并画出它们的幅频特性曲线,并对采样后的信号进行恢复。 step1.绘制出采样信号 这部分相对简单…...
Docker Nginx 反向代理
最近在系统性梳理网关的知识,其中网关的的功能有一个是代理,正好咱们常用的Nginx也具备次功能,今天正好使用Nginx实现一下反向代理,与后面网关的代理做一个对比,因为我使用的docker安装的Nginx,与直接部署N…...
手把手教你实现书上的队列,进来试试?
一.队列的基本概念队列的定义队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。队列是一种先进先出(First In First Out)的线性表,简称FIFO。允许插入的一端称为队尾,允…...
【springboot】springboot介绍
学习资料 SpringBoot 语雀 (yuque.com)【尚硅谷】SpringBoot2零基础入门教程(spring boot2干货满满)_哔哩哔哩_bilibiliSpringBoot2核心技术与响应式编程: SpringBoot2核心技术与响应式编程 (gitee.com) Spring 和Springboot 1、Spring能做什么 1.1…...
PMP项目管理项目整合管理
目录1 项目整合管理概述2 制定项目章程3 制定项目管理计划4 指导与管理项目工作5 管理项目知识6 监控项目工作7 实施整体变更控制8 结束项目或阶段1 项目整合管理概述 项目整合管理包括对隶属于项目管理过程组的各种过程和项目管理活动进行识别、定义、组合、统一和协调的各个…...
ADS中导入SPICE模型
这里写目录标题在官网中下载SPICE模型ADS中导入SPICE模型在官网中下载SPICE模型 英飞凌官网 ADS中导入SPICE模型 点击option,设置导入选项 然后点击ok 如果destination选择当前的workspace,那么导入完成之后如下: (推荐使用…...
C++:异常
在学习异常之前,来简单总结一下传统的处理错误的方式: 1. 终止程序,如assert,缺陷:用户难以接受。如发生内存错误,除0错误时就会终止程序。 2. 返回错误码,缺陷:需要程序员自己去查找…...
3.初识Vue
目录 1 vue 浏览器调试工具 1.1 安装 1.2 配置 2 数据驱动视图与双向数据绑定 3 简单使用 3.1 下载 3.2 将信息渲染到DOM上 4 使用vue浏览器调试工具 5 vue指令 1 vue 浏览器调试工具 chrome可能是我浏览器的原因,装上用不了,我们使…...
【C语言复习】程序的编译与链接
程序的编译与链接写在前面程序的编译与链接编译的过程程序编译环境程序执行过程编译链接的过程预处理预处理符号#define条件编译写在前面 程序的编译与链接是C语言中非常重要的一节。关键点在于详解C语言的程序编译和链接、宏的定义和与函数的区别、条件编译等知识。 程序的编…...
Golang sql 事务如何进行分层
在写代码过程中遇到了需要使用gorm执行sql事务的情况,研究了一下各位大佬的实现方案,结合了自身遇到的问题,特此记录。 代码架构介绍 . ├── apis ├── config ├── internal │ ├── constant │ ├── controller │ ├──…...
linux系统openssh升级
linux系统openssh升级 说明 整个过程不需要卸载原先的openssl包和openssh的rpm包。本文的环境都是系统自带的openssh,没有经历过手动编译安装方式。如果之前有手动编译安装过openssh,请参照本文自行测试是否能成功。 如果严格参照本文操作,保…...
力扣-求关注者的数量
大家好,我是空空star,本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目:1729. 求关注者的数量二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.正确示范④提交SQL运行结果5.正确…...
近红外荧光染料修饰氨基IR 825 NH2,IR 825-Amine,IR-825 NH2
IR 825 NH2,IR 825-NH2,IR825 Amine,IR825-Amine,新吲哚菁绿-氨基,荧光染料修饰氨基产品规格:1.CAS号:N/A2.包装规格:10mg,25mg,50mg,包装灵活&am…...
Android Crash和ANR监控
文章目录一、Crash1.1 概念1.2 类型二、ANR2.1 概念2.2 类型2.2.1 KeyDispatchTimeout(常见)2.2.2 BroadcastTimeout2.2.3 ServiceTimeout2.2.4 ContentProviderTimeout三、测试中如何关注3.1 Crash测试关注方法3.2 ANR测试关注方法四、如何记录与处理4.…...
【02 赖世雄英语语法:复句的语法】
复句的语法复句:把单句 连在一起(标点符号,连词,关系词)1. 连接符号1.1 破折号 — :补充说明,同位语1.2 冒号 : (同位语)1.3 分号 ; ( , 连词)&am…...
北斗导航 | 多参考一致性监测算法(MRCC)(附伪码)—— B值计算
===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== MRCC 用于接收机失效检查与排除。在进行 MRCC 之前,先判断 4 台接收机…...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
深度学习习题2
1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...
【生成模型】视频生成论文调研
工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...
