热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

基于时空图卷积注意力网络的交通速度预测模型部分

文章用到了Transformer,水平不够,这篇文章看的云里雾里,后面回过头来再看,前面简介部分见下面的链接~基于时空图卷积
文章用到了Transformer,水平不够,这篇文章看的云里雾里,后面回过头来再看,前面简介部分见下面的链接~

基于时空图卷积注意力网络的交通速度预测

5、主体内容

文章利用过去12个时间段的速度数据预测未来12个时间段的历史数据,采用了encoder-decoder architecture。

5.1Encoder Architecture

该编码器由空间注意和时间注意两部分组成,用于预测未来序列。如图1所示,单个编码器层由三个顺序子层组成:空间注意力层、时间注意力层和点对点前馈神经网络。空间注意力层在每个时间步长上关注与中心节点在空间上相关的邻居节点,而时间注意层关注单个节点,关注给定输入序列的不同时间步长。编码器有一个skip-connection绕过子层,我们使用层归一化和每个子层后的dropout层来提高泛化性能。整个编码器架构是一个嵌入层和四个(L = 4)相同的编码器层的堆栈。编码器将输入信号的空间和时间依赖关系转换为隐藏的表示向量,稍后用于解码器中的注意力层。

5.2Embedding Layer

与基于卷积的GNNs不同基于注意力的GNNs主要利用节点间的连通性。但传统模型在建模过程中没有考虑邻近信息。为了合并邻近信息,STGRAT中的嵌入层采用了一种大规模信息网络嵌入方法做节点嵌入(Tang, J.; Qu, M.; Wang, M.; Zhang, M.; Yan, J.; and Mei, Q. 2015. Line: Large-scale information network embedding. In WWW)。节点嵌入特征会用于计算空间注意力,这将在下一节中进一步讨论。

嵌入层还执行位置嵌入,获取输入序列的顺序。与以往使用递归或卷积层进行序列建模的方法不同,我们遵循Transformer的位置编码方案(Vaswani et al. 2017)。位置编码不需要额外的训练参数。我们应用残差连接skip connection来防止随着编码器或解码器层数的增加而出现的嵌入特性的消失。我们将每个节点的嵌入结果与节点特征连接起来,然后将这些连接起来的特征投射到dmodel上。最后,我们将位置编码向量加入到每个时间步长中。

5.3Spatial attention

图2所示为所提出的空间注意,包括多个流入注意头(奇数项)和流出注意头(偶数项)。以前基于注意力的GNNs。以前基于注意力的GNNs定义的空间相关性不含有方向信息。它们计算所有邻居节点的注意力,而不考虑它们在路网中的方向。我们的模型通过方向区分相邻节点,即基于中心节点的进/出站流。具体来说,我们将注意力头、负责流入节点的奇数指标和负责流出节点的偶数指标进行了划分,这使得模型可以处理每个流入和流出流量的不同信息。(Transformer部分后续再讲)

5.4Temporal Attention

时间注意力和空间注意力有两个主要区别:1)时间注意力不使用标记向量,2)时间注意力注意每个节点的重要时间步长,空间注意力注意每个时间步长重要节点。然而,时间注意力与空间注意力相似,因为它使用多头注意力来捕获查询、键和值空间中的不同表示。

5.5Point-Wise Feed-Forward Networks

编码器的最后一个子层是点向前馈网络,它由两个连续的全连通网络组成。最后一个子层通常分别应用于每个节点,创建一个集成来自两个注意力层的信息的高级功能。

最后一个子层通常分别应用于每个节点,创建一个融合了两个注意力层信息的高阶特征。

5.6Decoder Architecture

解码器的整体结构与编码器相似。该解码器由嵌入层和其他四个子层组成:空间注意层、两个时间注意层和前馈神经网络。在每个子层之后,应用层归一化。编码器和解码器的一个区别是,解码器包含两个不同的时间注意力层—Mask-attention层和编码器-解码器(E-D)注意力层。Mask-attention层mask未来时间步长输入,仅输入对现在和过去信息的注意力。编码器-解码器(E-D)注意力层利用编码器和Mask-attention层的编码向量提取特征。在这一层中,编码器的注意力被用作key和value,每个节点的查询特征通过masked self-attention传递。最后,线性层预测未来的序列。


推荐阅读
  • 通过使用CIFAR-10数据集,本文详细介绍了如何快速掌握Mixup数据增强技术,并展示了该方法在图像分类任务中的显著效果。实验结果表明,Mixup能够有效提高模型的泛化能力和分类精度,为图像识别领域的研究提供了有价值的参考。 ... [详细]
  • MySQL初级篇——字符串、日期时间、流程控制函数的相关应用
    文章目录:1.字符串函数2.日期时间函数2.1获取日期时间2.2日期与时间戳的转换2.3获取年月日、时分秒、星期数、天数等函数2.4时间和秒钟的转换2. ... [详细]
  • 本文探讨了在 SQL Server 2012 的 Integration Services 项目中配置 ADO.NET 源时遇到的错误及其解决方案。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • PTArchiver工作原理详解与应用分析
    PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
  • 探索聚类分析中的K-Means与DBSCAN算法及其应用
    聚类分析是一种用于解决样本或特征分类问题的统计分析方法,也是数据挖掘领域的重要算法之一。本文主要探讨了K-Means和DBSCAN两种聚类算法的原理及其应用场景。K-Means算法通过迭代优化簇中心来实现数据点的划分,适用于球形分布的数据集;而DBSCAN算法则基于密度进行聚类,能够有效识别任意形状的簇,并且对噪声数据具有较好的鲁棒性。通过对这两种算法的对比分析,本文旨在为实际应用中选择合适的聚类方法提供参考。 ... [详细]
  • 在尝试将 mysqldump 文件加载到新的 MySQL 服务器时,遇到因使用保留关键字 'table' 导致的语法错误。 ... [详细]
  • LeetCode 实战:寻找三数之和为零的组合
    给定一个包含 n 个整数的数组,判断该数组中是否存在三个元素 a、b、c,使得 a + b + c = 0。找出所有满足条件且不重复的三元组。 ... [详细]
  • java解析json转Map前段时间在做json报文处理的时候,写了一个针对不同格式json转map的处理工具方法,总结记录如下:1、单节点单层级、单节点多层级json转mapim ... [详细]
  • 本文探讨了 TypeScript 中泛型的重要性和应用场景,通过多个实例详细解析了泛型如何提升代码的复用性和类型安全性。 ... [详细]
  • iOS snow animation
    CTSnowAnimationView.hCTMyCtripCreatedbyalexon1614.Copyright©2016年ctrip.Allrightsreserved.# ... [详细]
  • 本文介绍了 Python 中的基本数据类型,包括不可变数据类型(数字、字符串、元组)和可变数据类型(列表、字典、集合),并详细解释了每种数据类型的使用方法和常见操作。 ... [详细]
  • 普通树(每个节点可以有任意数量的子节点)级序遍历 ... [详细]
  • 单片微机原理P3:80C51外部拓展系统
      外部拓展其实是个相对来说很好玩的章节,可以真正开始用单片机写程序了,比较重要的是外部存储器拓展,81C55拓展,矩阵键盘,动态显示,DAC和ADC。0.IO接口电路概念与存 ... [详细]
author-avatar
圆季
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有