基于Transformer的交通预测模型部分汇总【附源代码】

交通预测一直是一个重要的问题,它涉及到交通运输系统的可靠性和效率。随着人工智能的发展,越来越多的研究者开始使用深度学习模型来解决这个问题。其中,基于Transformer的交通预测模型在近年来备受关注,因为它们具有优秀的建模能力和较好的预测准确性。


本文将介绍几个基于Transformer的交通预测模型,欢迎讨论。如有错误,也请指正。

目录

    • 1. STTN(2020)
    • 2. Traffic Transformer(T-ITS 2021)
    • 3. ASTGNN(TKDE 2021)
    • 4. MGT(Neurocomputing 2022)
    • 5. ASTTN(2022)
    • 6. PDFormer(AAAI 2023)
    • 参考


1. STTN(2020)

论文:[2001.02908] Spatial-Temporal Transformer Networks for Traffic Flow Forecasting

代码:GitHub - Lin956/STTNS: Spatial-Temporal Transformer Networks for Traffic Flow Forecasting

作者:Xu M, Dai W, Liu C, et al.

针对问题:

  1. 动态空间相关性:空间相关性随时间变化(实时的交通状况和交通流方向) <—— 设计了一种GNN变体,spatial transformer建模时变有向空间相关性;

  2. 长期时间相关性:长期时间相关性(短期<30min,长期>=30min)考虑得少,且过去自回归方法存在误差累积问题<—— 设计了 temporal transformer实现长期多步预测。

模型设计:

  • 所提出的STTN(Spatial-Temporal Transformer Network)由堆叠的时空块和预测层组成。每个时空块由一个空间transformer和一个时间transformer组成,共同提取上下文动态依赖的时空特征。时空块可以进一步堆叠,形成深层时空特征的深层模型。然后,预测层利用两个1 × 1卷积层聚合这些时空特征进行交通预测。

  • 在空间transformer中包含固定图卷积层(Fixed Graph,使用图卷积捕获平稳的空间依赖关系)、动态图卷积层(Dynamical Graph,使用多头自注意力捕获动态双向的空间依赖关系,节点特征用在前馈神经网络中)以及门控机制(融合上述固定与动态的空间特征)。
    STTN模型架构

2. Traffic Transformer(T-ITS 2021)

论文:[2104.05163] Learning dynamic and hierarchical traffic spatiotemporal features with Transformer

代码:暂未找到

作者:Yan H, Ma X, Pu Z.

针对问题:

GNN的局限性:

  1. 难以获得完美的邻接矩阵:不能简单基于距离<——设计了全局编码器与全局-局部编码器分别提取全局空间特征和局部空间特征;
  2. 大部分邻接矩阵是固定的:交通流量会根据交通状况改变<——注意力机制实现动态捕获;
  3. 没有深度和等级:使用多个邻接矩阵的方法,大多都采用直接相加或拼接,没法学习不同层次的交通时空特征<——多个全局编码器和全局局部解码器块堆叠实现分层提取特征。

模型设计:

  • Traffic Transformer由两个主要部分组成。一个叫全局编码器,另一个叫全局-局部解码器。几个全局编码器和全局-局部解码器块堆叠起来,形成一个层次结构特征的深层模型。全局编码器和全局-局部解码器分别提取全局空间特征和局部空间特征。全局-局部解码器还融合了全局空间特征和局部空间特征。此外,时间嵌入块提取模型的时间特征。然后,位置编码和嵌入块帮助模型理解节点的绝对位置和相对位置。最后,一个Linear层聚合学习到的特征进行最终预测。

  • 全局与全局-局部的区分是使用K-hop邻接矩阵定义的mask忽略非局部节点来提取局部空间特征。这种多头注意是全局和局部空间特征的融合,其表现优于通过注意机制简单地添加或串联。
    Traffic Transformer模型架构

3. ASTGNN(TKDE 2021)

论文:Learning Dynamics and Heterogeneity of Spatial-Temporal Graph Data for Traffic Forecasting | IEEE Journals & Magazine | IEEE Xplore

代码:GitHub - guoshnBJTU/ASTGNN

作者:Guo S, Lin Y, Wan H, et al.

针对问题:

  1. 动态空间相关性<——时间趋势感知多头自注意力模块(卷积自注意力机制变体)与动态空间图卷积;
  2. 交通流数据的周期性<——输入张量拼接全局周期张量和局部周期张量;
  3. 空间异质性:静态空间特征不随时间推进而演变,但随空间的变化而变化(比如道路类型、POI之类的)<——在position embedding中附加静态特征信息。

模型设计:

该模型思想是直接在时间和空间维度用自注意力建模与相关的复杂动态性。整个架构跟经典的transformer是一样的。主要有三点不同:

1)position embedding包含时空两个维度

时间的与原Transformer的一致,空间的是首先通过无监督图嵌入技术学习节点的表示,然后将学习到的表示作为节点嵌入向量的初始化,再根据监督信号进行微调,最后应用GCN层进行拉普拉斯平滑,得到最终的空间位置嵌入矩阵。

2)多头注意力机制模块他重构成了自己的时间趋势感知多头自我注意力

使用1D卷积替代原本多头自注意力Q、K的线性投影。由于卷积运算通过将局部上下文作为输入来计算表示,因此模型可以了解隐藏在交通流数据中的局部变化趋势。

3)Feed-forward模块被替换成了动态空间图卷积

其思想是利用自注意机制动态计算节点间的空间相关性强度,即把静态邻接矩阵与前面注意力模块的输出空间相关性矩阵作点积,再GCN。
ASTGNN模型架构

4. MGT(Neurocomputing 2022)

论文: Meta Graph Transformer: A Novel Framework for Spatial–Temporal Traffic Prediction

代码: GitHub - lonicera-yx/MGT

作者:Ye X, Fang S, Sun F, et al.

针对问题:

  1. 时空异质性:大多数基于注意力的方法有一个缺陷,即参数在所有位置和时间间隔中是共享的,因此节点之间的相关性仅取决于它们各自的特征,但不同节点不同时间交通相关性是不同的(STSGCN、AGCRN、GMAN、ASTGNN都有针对设计)<——将元学习融入多头注意力中以捕获时空异质性;
  2. 考虑各种类型的空间相关性:不同图解释节点之间的不同关系<——将多图(简单连通图、功能相似度图、起点-目的地OD图)用于空间特征学习,稀疏空间自注意力。

模型设计:

  • MGT采用编码器-解码器架构。编码器和解码器都使用跳过连接堆叠多个子层。利用Temporal Self-Attention (TSA),Spatial Self-Attention (SSA)和 Temporal Encoder-Decoder Attention (TEDA)三种注意层来学习时空相关性。所有注意层都使用Spatial–Temporal Embeddings (STEs)来执行Spatial–Temporal Heterogeneity-Aware (STHA) attention操作。 Transition Matrices (TMs)被SSA用来执行稀疏空间注意。采用自回归方法逐步预测未来交通状态。

  • TSA:为每个head创建一个带有隐藏层的多层感知器,取消多头自注意力共享参数机制;

  • SSA:通过element-wise将转移矩阵中的动态注意系数和静态值联合确定相邻节点的权值;

  • TEDA:该模块目的是自适应地参与沿时间维度的Encoder特征。Q来自Decoder,而K和V来自Encoder。随后K、V执行STS-guide的时间注意操作。
    MGT模型架构

5. ASTTN(2022)

论文: [2207.05064] Adaptive Graph Spatial-Temporal Transformer Network for Traffic Flow Forecasting

代码:GitHub - yokifly/ASTTN_pytorch

作者:Feng A, Tassiulas L.

针对问题:

  1. 分别处理空间维度和时间维度数据的方法对直接建模跨时空效应可能是无效的:车祸会在会在一定时间后影响到周围路段<——使用局部时空图进行时空建模,并将关注范围限制为1跳空间邻居;
  2. 空间建模不准确<——使用自适应图来探索隐藏的相关性;
  3. 动态建模仍是挑战<——使用自注意力机制来建模图中的动态时空相关性。

模型设计:

它由输入层、时空嵌入层、具有残余连接的堆叠的ST注意块和输出层组成。模型的输入包括特征矩阵和底层图形结构. 每个ST注意块的输入和输出具有相同的尺寸以便于残差连接。嵌入层利用图结构对结构信息进行编码,并利用ST注意块计算局部MSA(multi-head self-attention)。
ASTTN模型架构

Local Spatial-Temporal Attention

如下图所示,在构建时空图Transformer时,可以考虑不同的注意力机制。带有颜色的项表示对应的两个节点(由行和列索引确定)将相互关注,不同的颜色对应于不同类型的attentions。本文所使用的的是Local st-attention与Adaptive st-attention。

Local st-attention

利用空间邻接性,通过将st-attention保持在空间1跳邻域内来降低注意力的复杂性,具体方法即Q、K点积缩放后得到的空间相关性矩阵再乘一个掩码矩阵。

Adaptive st-attention

使用两个可学习随机初始化的节点嵌入来计算自适应可学习邻接矩阵,随后对其应用局部注意力。

在构建时空图Transformer时,可以考虑不同的注意力机制

6. PDFormer(AAAI 2023)

论文:[2301.07945] PDFormer: Propagation Delay-Aware Dynamic Long-Range Transformer for Traffic Flow Prediction

代码:GitHub - BUAABIGSCity/PDFormer: [AAAI2023] A PyTorch implementation of PDFormer: Propagation Delay-aware Dynamic Long-range Transformer for Traffic Flow Prediction.

作者:Jiang J, Han C, Zhao W X, et al.

针对问题:

  1. 动态空间建模<——使用多头自注意力机制;
  2. 长距离空间依赖关系:两个距离较远的位置,可能反映了相似的交通模式<——通过不同的图掩蔽方法对局部地理邻域和全局语义邻域进行建模,使注意力更有侧重点;
  3. 交通流存在时间延迟:当一个地点发生交通事故时,需要几分钟才能影响到邻近地点的交通状况(与ASTTN的第一个问题差不多)<——设计了交通延迟感知特征转换模块,使用K-shape聚类的方式附加交通模式。

模型设计:

PDFormer模型由数据嵌入层、堆叠的 L个时空编码层和输出层组成。时空编码层包括三个核心组件:语义空间自注意力用来捕获距离远但功能相似的节点的空间相关性、带有延迟感知特征转换模块的地理空间自注意力模块用来建模距离近的节点的空间相关性并且考虑空间信息的传播延迟、时间自注意力模块用来捕捉动态和长时间模式。
PDFormer模型架构

语义空间自注意力

与ASTTN 的Local st-attention类似,都是在得出空间相关性矩阵后乘一个掩码矩阵,对于语义空间自注意力,掩码矩阵是使用动态时间规整(DTW) 算法计算节点之间历史交通流的相似度,每个节点选择相似度最高的K个节点作为其语义邻居,权值为1,否则为0。

地理空间自注意力模块

地理空间自注意力同样乘一个掩码矩阵,不同的是只有当两个节点之间的距离小于阈值λ时,权值为1,否则为0。

延迟感知特征转换模块

延迟感知特征转换模块的思想是使用K-shape从历史交通数据中识别出一组具有代表性的短期交通模式,然后比较每个节点的历史序列与提取的模式集,将相似模式的信息融合到每个节点的历史序列表示中。

考虑到交通流的延迟传播在远处影响很小,所以只作用在地理空间自注意力模块的Key矩阵中。


参考

  1. Wen Q, Zhou T, Zhang C, et al. Transformers in time series: A survey[J]. arXiv preprint arXiv:2202.07125, 2022.

  2. ChatGPT

  3. Spatial-Temporal Transformer Networks for Traffic Flow Forecasting_sttns_爱学习的吨吨a的博客-CSDN博客

  4. [论]Learning Dynamic and Hierarchical Traffic Spatiotemporal Features with Transformer-CSDN博客

  5. 基于注意力时空图神经网络的交通预测_当交通遇上机器学习的博客-CSDN博客

  6. Meta Graph Transformer: A Novel Framework for Spatial–Temporal Traffic Prediction_爱学习的吨吨a的博客-CSDN博客

  7. 论文笔记:Adaptive Graph Spatial-Temporal Transformer Network for Traffic Flow Forecasting_asttn_雪色冥茫的博客-CSDN博客

  8. 【交通数据预测】PDFormer (AAAI 2023)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/1018.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

设计模式之桥接模式(C++)

作者&#xff1a;翟天保Steven 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 一、桥接模式是什么&#xff1f; 桥接模式是一种结构型的软件设计模式&#xff0c;将抽象部分与实现部分分离&#xff0c;使他们可…

像ChatGPT玩转Excel数据

1.引言 最近ChatGPT的出现&#xff0c;把人工智能又带起了一波浪潮。机器人能否替代人类又成了最近热门的话题。 今天我们推荐的一个玩法和ChatGPT有点不一样。我们的课题是“让用户可以使用自然语言从Excel查询到自己想要的数据”。 要让自然语言可以从Excel中查数据&#…

通过百度文心一言大模型作画尝鲜,感受国产ChatGPT的“狂飙”

3月16日下午&#xff0c;百度于北京总部召开新闻发布会&#xff0c;主题围绕新一代大语言模型、生成式AI产品文心一言。百度创始人、董事长兼首席执行官李彦宏&#xff0c;百度首席技术官王海峰出席&#xff0c;并展示了文心一言在文学创作、商业文案创作、数理推算、中文理解、…

用Qt画一个温度计

示例1 以下是用Qt绘制一个简单的温度计的示例代码&#xff1a; #include <QPainter> #include <QWidget> #include <QApplication> class Thermometer : public QWidget { public:Thermometer(QWidget *parent 0); protected:void paintEvent(QPaintEvent …

【Hive】配置

目录 Hive参数配置方式 参数的配置方式 1. 文件配置 2. 命令行参数配置 3. 参数声明配置 配置源数据库 配置元数据到MySQL 查看MySQL中的元数据 Hive服务部署 hiveserver2服务 介绍 部署 启动 远程连接 1. 使用命令行客户端beeline进行远程访问 metastore服务 …

LC-146.LRU 缓存

题解&#xff1a;https://leetcode.cn/problems/lru-cache/solution/lru-ce-lue-xiang-jie-he-shi-xian-by-labuladong/ 文章目录[146. LRU 缓存](https://leetcode.cn/problems/lru-cache/)思路从0开始实现使用LinkedHashMap实现拓展&#xff1a;[460. LFU 缓存](https://leet…

【2024考研】计算机考研,4轮复习时间安排

文章目录&#x1f3a8;第1轮复习&#xff08;暑假前&系统课&#xff09;英语1/2数学1/2专业课408&#x1f3a8;第2轮复习&#xff08;开学前&真题&#xff09;英语1/2试卷数学1/2试卷专业课408试卷&#x1f3a8;第3轮复习&#xff08;报名前&政治&#xff09;政治试…

什么是数据治理,如何保障数据质量?_光点科技

随着信息化和数据化的发展&#xff0c;数据已经成为企业最为重要的资产之一。数据治理作为一种管理和保障数据质量的方法&#xff0c;越来越受到企业的重视。什么是数据治理&#xff1f;数据治理是一种管理和保障数据质量的方法。数据治理的主要目的是确保数据的可靠性、准确性…

Android APP隐私合规检测工具Camille使用

目录一、简介二、环境准备常用使用方法一、简介 现如今APP隐私合规十分重要&#xff0c;各监管部门不断开展APP专项治理工作及核查通报&#xff0c;不合规的APP通知整改或直接下架。camille可以hook住Android敏感接口&#xff0c;检测是否第三方SDK调用。根据隐私合规的场景&a…

二、数据结构-线性表

目录 &#x1f33b;&#x1f33b;一、线性表概述1.1 线性表的基本概念1.2 线性表的顺序存储1.2.1 线性表的基本运算在顺序表上的实现1.2.2 顺序表实现算法的分析1.2.3 单链表类型的定义1.2.4 线性表的基本运算在单链表上的实现1.3 其他运算在单链表上的实现1.3.1 建表1.3.2 删除…

Adam优化器算法详解及代码实现

文章目录学习率调整与梯度估计修正RMSprop 算法动量法Adam学习率调整与梯度估计修正 在介绍Adam算法之前&#xff0c;先谈谈Adam中两个关键的算法&#xff1a;学习率调整&#xff08;RMSprop 算法&#xff09;与梯度估计修正。 RMSprop 算法 学习率是神经网络优化时的重要超…

计算机组成原理(3)-哈工大

概述存储器分类按存储介质分类第一个是易失的&#xff0c;后面三个是非易失的按存取方式分类按在计算机中的作用分类RAM可读可写 ROM只读存储器的层次结构存储器的三个主要特性的关系缓存-主存层次和主存-辅存层次时间局部性就是cpu访问了一个数据&#xff0c;在不久的将来可能…

python学习——【第六弹】

前言 上一篇文章 python学习——【第五弹】中我们了解了python中的不可变序列元组&#xff0c;这篇文章接着介绍可变序列 字典。 字典 字典的实现原理&#xff1a; 字典&#xff0c;顾名思义其实现原理和字典类似&#xff0c;字典中的元素都是key—value&#xff0c;以键值对…

操作系统学习笔记 ---- 网络系统

1 DMA技术 直接内存访问&#xff08;Direct Memory Access&#xff09; 技术。 在进行 I/O 设备和内存的数据传输的时候&#xff0c;数据搬运的工作全部交给 DMA 控制器&#xff0c;而 CPU 不再参与任何与数据搬运相关的事情&#xff0c;这样 CPU 就可以去处理别的事务。 DM…

js逆向学习、安卓逆向

JS基础 提示信息 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn 安卓逆向 1.模拟器环境搭建 Magisk 是一套用于定制 Android 的开源软件&#xff0c;支持高于 Android 5.0 的设备。 以下是一些功能亮点&#xff1a; MagiskSU&#xff1a;为应用程序提供 root 访…

什么是 .com 域名?含义和用途又是什么?

随着网络的发展&#xff0c;网络上出现了各种不同后缀的域名&#xff0c;这些域名的后缀各有不同的含义&#xff0c;也有不同的用途。今天&#xff0c;我们就一起来探讨一下 .com 后缀的域名知识。 .com 域名是一种最常见的顶级域名&#xff0c;它是由美国国家网络信息中心&…

第3章 多层感知器

这章节我们来解决的问题是&#xff1a;如何使用神经网络实现逻辑电路中的“异或门”模型&#xff1f;如下图&#xff1a;根据第2章我们知道&#xff0c;单层感知器是能够解决“与门”、“或门”、“非门”这些简单的线性问题&#xff0c;但是不能解决“异或门”这类非线性问题。…

内存函数的简单实用

本篇要分享的是常见的内存函数 前面分享的函数都是和字符串相关&#xff0c;但是当我们在操作数据的时候不仅仅要操作字符数据 接下来分享几个与内存相关的函数 目录 本篇要分享的是常见的内存函数 1.memcpy 2.memmove 自定函数模拟实现memmove函数 3.memcmp 4.memset …

【算法经典题集】DP和枚举(持续更新~~~)

&#x1f63d;PREFACE&#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐ 评论&#x1f4dd;&#x1f4e2;系列专栏&#xff1a;算法经典题集&#x1f50a;本专栏涉及到的知识点或者题目是算法专栏的补充与应用&#x1f4aa;种一棵树最好是十年前其次是现在DPDP就是动态规划&a…

Web前端 JS WebAPI

1、操作DOM 1.1、什么DOM&#xff1f; DOM&#xff08;Document Object Model——文档对象模型&#xff09;&#xff1a;DOM是浏览器提供的一套专门用来操作网页内容的功能 DOM作用&#xff1a;开发网页内容特效和实现用户交互 DOM树是什么&#xff1f; 将 HTML 文档以树状…