2023/8/20周报

news2024/9/30 11:32:53

目录

摘要

论文阅读

1、标题和现存问题

2、准备知识

3、模型结构

4、实验准备

5、实验结果

深度学习

1、构建图数据

2、GCN模型

3、当前实验结果

总结


摘要

本周在论文阅读上,阅读了一篇时空图卷积网络:交通预测的深度学习框架的论文。文章的时空图卷积网络没有应用规则的卷积和递归单位,而是在图上公式化了问题,并建立了具有完整卷积结构的模型,从而可以以更少的参数更快的训练速度,实验结果表明模型十分优秀。在深度学习上,解决了之前遗留下的问题,并继续探究GCN。

This week,in terms of thesis reading,perusaling a paper on spatiotemporal graph convolutional networks: a deep learning framework for traffic prediction.The spatiotemporal graph convolutional network in the article does not apply regular convolution and recursive units, but formulates the problem on the graph and establishes a model with a complete convolutional structure, which can train faster with fewer parameters.The experimental results indicate that the model is very excellent.In deep learning, resolving the remaining issues and continued to explore GCN.

论文阅读

1、标题和现存问题

标题:时空图卷积网络:交通预测的深度学习框架

现存问题:以往对中长期流量预测的研究大致可以分为两大类:动态建模和数据驱动方法。动态建模为了达到稳态,仿真过程不仅需要复杂的系统编程,而且需要消耗大量的计算能力,模型的假设不实际和模型的简化也降低了预测的精度。经典的统计模型和机器学习模型是数据驱动方法的两个主要代表。这些方法对高度非线性的交通流具有约束可表示性。常规模型只能处理网格结构(如图像、视频),而不能处理一般的域。同时,用于序列学习的递归网络需要迭代训练,这就引入了误差的逐步积累。

2、准备知识

交通预测是一个典型的时间序列预测问题,预测下一个H个时间步中最可能的交通度量值(如速度或交通流量)为:

 

在一个图上定义交通网络,并重点研究结构化的交通时间序列,每个 vt 表示时间步长为 t 的当前交通状态帧,以图结构数据矩阵的形式记录。

 

文章基于谱图卷积的概念引入了图卷积算子“∗G”的概念,即信号x∈Rn与核的乘积Θ:

 

3、模型结构

STGCN由多个时空卷积块组成,每个卷积块形成一个“三明治”结构,中间有两个门控序列卷积层和一个空间图卷积层。

 

框架 STGCN由两个时空卷积块(ST-Conv块)和一个全连接的输出层组成。每个 ST-Conv 块包含两个时间门控卷积层和中间的一个空间图卷积层。在每个块内部采用剩余连接和瓶颈策略。

图的卷积可以写为:

 

构造一个更深层的结构来恢复深度的空间信息,而不受限于由多项式给出的显式参数化。由于神经网络的缩放和归一化,我们可以进一步假设λmax≈2。因此,上式可以改写为:

 

垂直应用具有一阶近似的图卷积堆栈,可以实现与水平方向上的k本地化卷积类似的效果,所有这些都利用了中心节点的(K−1)阶邻域的信息。在这种情况下,K是一个模型中连续的过滤操作或卷积层数。此外,分层线性结构是参数经济和高效的大规模图,因为近似的阶数限制在1。

文章在时间轴上采用整个卷积结构来捕捉交通流的时间动态行为。这种特殊的设计允许并行和可控的训练过程通过多层卷积结构形成的层次表示。时间卷积层包含一个一维的因果卷积,它带有一个宽度为kt的核,后面是一个非线性的门控线性单元(GLU)。对于图G中的每个节点,时间卷积在没有填充的情况下探索输入元素的Kt邻居,这导致序列的长度每次缩短Kt-1。因此,每个节点的时间卷积输入可以看作是一个长度为m的序列,时间门控卷积可以定义为:

 

为了融合时空特征,构造时空卷积块(ST-Conv块),对图结构时间序列进行联合处理。区块本身可以根据特定情况的规模和复杂性进行堆叠或扩展。模型中间的空间层是连接两个时间层的桥梁,时间层通过时间卷积实现从图卷积到空间状态的快速传播。“三明治”结构也有助于网络充分应用瓶颈策略,通过图卷积层对信道C进行降尺度和升尺度,实现尺度压缩和特征压缩。在每个ST-Conv块内采用层归一化,防止过拟合。对于block的输入输出:

 

STGCN用于流量预测的损失函数为:

 

模型STGCN的主要特征总结如下:

•STGCN是一种处理结构化时间序列的通用框架。它不仅可以解决交通网络建模和预测问题,而且可以应用于更一般的时空序列学习任务。

•时空块结合了图形卷积和门控时间卷积,可以提取最有用的空间特征,并连贯地捕获最本质的时间特征。

•该模型完全由卷积结构组成,因此以更少的参数和更快的训练速度实现了对输入的并行化。更重要的是,这种经济架构允许模型以更高的效率处理大规模网络

4、实验准备

数据集: BJER4 是用双环探测器从北京市东四环主要区域采集的。

PeMSD7 是由部署在加利福尼亚州高速公路系统主要城市地区的39000 多个传感器站实时收集到的。

两个数据集的标准时间间隔设置为 5 分钟。因此,道路图的每个节点每天包含 288 个数据点。数据清理后,用线性插值方法补全缺失值。另外,采用Z-Score方法对数据输入进行标准化处理。在BJER4 中,利用传感器站部署图构建了北京东四环线路系统的路网拓扑。通过对每条道路的隶属关系、方向和出发地点的整理, 环线系统可以数字化为有向图。

在PeMSD7 中,道路图的邻接矩阵是根据交通网络中车站之间的距离计算的。加权邻接矩阵W可以表示为:

 

为了消除非典型交通,实验仅采用工作日的交通数据。。所有的测试都使用 60 分钟作为历史时间窗口,也就是 12 个观测数据点(M = 12)来预测未来15、30和45分钟(H = 3、6、9)的交通状况。

评估指标和基线测量和评估不同方法的性能,平均绝对误差(MAE),平均绝对百分比误差(MAPE),和均方根误差(RMSE)。

5、实验结果

不同方法在数据集BJER4上的性能比较:

 

不同方法在数据集PeMSD7上的性能比较:

 

文章所提出的模型在三个评价指标中均取得了最佳的性能,且具有统计学意义(双尾t检验,α = 0.01, P < 0.01)。我们可以很容易地观察到,传统的统计和机器学习方法可能在短期预测方面表现良好,但由于错误积累、记忆问题和空间信息的缺乏,它们的长期预测并不准确。由于ARIMA模型不能处理复杂的时空数据,其性能最差。深度学习方法通常比传统的机器学习模型获得更好的预测结果。STGCN在数据集PeMSD7上的优势比BJER4更明显,因为PeMS的传感器网络更加复杂和结构化,模型可以有效地利用空间结构进行更准确的预测。

比较基于图卷积的三种方法 :GCGRU、 STGCN(Cheb) 和STGCN(1st)在早高峰和晚高峰时间的预测。

 

文章的STGCN方案比其他方法更准确地捕捉了交通高峰期的趋势;而且它能比其他车辆更早地检测到交通高峰期的结束。由于有效的图卷积和堆叠时间卷积结构,我们的模型能够快速响应交通网络的动态变化,而不像大多数循环网络那样过度依赖历史平均。

在我们的方案中,可以看到沿时间轴的卷积的好处:

 

STGCN采用默认设置。文章模型STGCN只消耗272秒,而rnn型的模型GCGRU在PeMSD7(M)上消耗3824秒。这种训练速度的14倍加速主要得益于应用时间卷积而不是循环结构。由于一阶逼近不局限于多项式的参数化,模型的优点也逐渐显现出来。与STGCN(Cheb)相比,模型STGCN(1)在更大的数据集上加速约20%,性能十分优秀。

深度学习

1、构建图数据

每个城市都相当于一个图,每一行数据都为一个节点,由于大气等数据是时序的,即每个节点按照线性关系,逐步连接下去,即一个接着一个,最后形成的图为一个线型图。每个城市都做这样的处理,广西有着14个市,即最后形成了14个图,将这些图放入一个数组中。同时根据市之间的邻近关系,将其连接起来。这就形成了我们所需要的图数据。同时按照数据以8比2的比例进行分割,形成了所需的训练数据和图数据。

 

连接关系说明:依据广西省地图对市之间进行连接,相邻的市之间,会有一条边将其连接起来;根据地图从下往上,从左往右进行连接,连接一次后则完成两个市的连接关系,例如从北海开始,与防城港、钦州、玉林连接后,当轮至防城港或钦州时不会与北海再连接一次。

连接关系:

1、 将北海与防城港、钦州、玉林连接。

2、 将防城港与钦州、崇左、南宁连接。

3、 将钦州与南宁、玉林连接。

4、 将崇左与南宁、百色连接。

5、 将南宁与贵港、来宾、河池、百色连接。

6、 将贵港与来宾、梧州连接。

7、 将梧州与贺州、来宾连接。

8、 将来宾与河池、柳州连接。

9、 将贺州与桂林连接。

10、将百色与河池相连

11、将河池与柳州相连

12、将柳州与桂林相连

2、GCN模型

图卷积网络(Graph Convolutional Network,简称 GCN)是一种用于图数据的深度学习模型,主要用于处理节点之间存在关系的数据,如社交网络、推荐系统、分子结构等。GCN 基于图结构,可以在节点上执行类似于卷积神经网络(CNN)的操作,但是适用于图数据的特殊性质。GCN 的主要思想是将节点的特征与其邻居节点的特征进行聚合,以便获取更丰富的上下文信息。通过多层的图卷积层,GCN 可以逐步地传播信息,捕捉到不同距离的节点之间的关系,从而实现节点特征的有效表征。

GCN 的核心概念和原理:

1、邻居聚合: 在每一层的图卷积中,每个节点会聚合其邻居节点的特征。这通过计算节点的邻居节点特征的加权平均来实现,权重可以使用图结构和/或特定的学习参数来确定。

2、权重共享: 类似于卷积神经网络,GCN 也使用权重共享的方式来处理不同节点。这意味着在图中的不同位置使用相同的权重参数,从而在不同节点上执行相同的特征转换操作。

3、多层堆叠: GCN 可以通过堆叠多个图卷积层来实现更强大的特征学习。在每一层,节点的特征都会被更新和改进,以便捕获更多的上下文信息。

4、图池化: 类似于 CNN 中的池化层,GCN 也可以使用图池化层来减少图的规模并提取更高级的特征。

5、非线性激活: 通常在 GCN 的每一层后会添加非线性激活函数,如 ReLU,以引入非线性变换,增强模型的表达能力。

6、节点分类和特征学习: GCN 最常见的应用是节点分类,即将节点分为不同的类别。通过训练 GCN,模型能够学习到节点的有用特征,从而实现准确的节点分类。

GCN在对于处理和预测时序性数据的优势(以大气数据为例子)

1、处理空间关系: 大气变化通常具有空间相关性,即相邻地区之间的气象数据存在相关性。GCN 可以捕捉站点之间的空间关系,通过聚合相邻站点的特征来提取空间信息,从而更准确地预测大气变化。

2、适应不规则结构: 大气站点的分布通常是不规则的,而且站点之间的连接关系可能因地理位置而异。GCN 可以适应不规则的图结构,无论站点之间的连接是怎样的,都能够有效地进行信息传播和特征学习。

3、多尺度信息: GCN 可以通过堆叠多层图卷积来捕捉不同尺度的信息。这对于预测大气变化很有用,因为不同时间尺度和空间尺度的气象变化对预测都有影响,而多层的 GCN 可以逐步地提取这些信息。

4、特征学习: 大气数据通常具有高维度的特征,而且这些特征之间的复杂关系可能不容易用传统方法捕捉。GCN 可以在多层卷积中学习特征的表征,从而更好地理解和利用这些复杂的特征。

5、迁移学习和泛化能力: GCN 可以从一个地区的数据中学习到的模式和特征迁移到其他地区,从而提高模型的泛化能力。这对于在新的地区进行大气变化预测非常有用,尤其是在数据有限的情况下。

6、数据不完整性和噪声: 大气数据可能会存在缺失值和噪声。GCN 具有一定的鲁棒性,可以在部分数据缺失或有噪声的情况下仍然有效地进行预测。

对于预测时序性数据,GCN具有其他模型所不具备的优势。

3、当前实验结果

训练的损失变化折线图:由图可以看出在模型的训练效果很好,而且收敛得很快,在200个epoch后就已经到了一个很低的值。

 

证明了模型的泛化能力很强,效果优异。

GCN主要用于处理图结构数据,能够充分利用节点之间的连接和特征信息。LSTM和GRU等时序型模型则更适用于序列数据,对于将广西各个市之间连接起来,毫无疑问这是作为图数据进行处理效果更佳。

总结

本周解决了之前不好处理时序型图数据的问题,成功构建了图数据,模型效果挺好。接下来完成项目的可视化过程。同时探究图之间的影响关系,研究模型是否能自己学习网络边权重,得多找点论文阅读沉淀下。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NOIP2014普及组,提高组 比例简化 飞扬的小鸟 答案

比例简化 说明 在社交媒体上&#xff0c;经常会看到针对某一个观点同意与否的民意调查以及结果。例如&#xff0c;对某一观点表示支持的有1498 人&#xff0c;反对的有 902人&#xff0c;那么赞同与反对的比例可以简单的记为1498:902。 不过&#xff0c;如果把调查结果就以这种…

Leetcode-每日一题【剑指 Offer 33. 二叉搜索树的后序遍历序列】

题目 输入一个整数数组&#xff0c;判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true&#xff0c;否则返回 false。假设输入的数组的任意两个数字都互不相同。 参考以下这颗二叉搜索树&#xff1a; 5 / \ 2 6 / \ 1 3 示例 1&#xff1a; 输入: […

第4天----找出第一个只出现一次的字符(桶计数法/4种思路讲解)

题目描述 给定一个只包含小写字母的字符串&#xff0c;请你找到第一个仅出现一次的字符。如果没有&#xff0c;输出 no。 输入格式 一个字符串&#xff0c;长度小于 1100。 输出格式 输出第一个仅出现一次的字符&#xff0c;若没有则输出 no。 输入输出样例 输入 #1复制 abc 输…

鸿蒙/Android上最大的毒瘤:快应用服务

鸿蒙/Android上最大的毒瘤&#xff1a;快应用服务 2023.3.22版权声明&#xff1a;本文为博主chszs的原创文章&#xff0c;未经博主允许不得转载。 1、什么是快应用&#xff1f; “快应用” 是安卓厂&#xff08;华&#xff0c;米&#xff0c;O、V、魅族、努、联、加&#xf…

消息中间件的选择:RabbitMQ是一个明智的选择

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; MQ&#xff08;Message Queue&#xff09; MQ&#xff08;消息队列&#xff09;是一种用于在应用程序之间进行异步通信的技术&#xff1b;允许应用程序通过发送和接收…

[虚幻引擎] DTGlobalVariable 插件说明,蓝图全局变量访问,设置, Get, Set。

本插件可以在蓝图或者UMG中直接访问指定的全局变量值&#xff0c;方便编写。 支持Bool&#xff0c;Byte&#xff0c;Int&#xff0c;Int64&#xff0c;Float&#xff0c;Name&#xff0c;String&#xff0c;Text&#xff0c;Vector&#xff0c;Rotator&#xff0c;Transform&am…

【Linux网络】网络编程套接字 -- 基于socket实现一个简单UDP网络程序

认识端口号网络字节序处理字节序函数 htonl、htons、ntohl、ntohs socketsocket编程接口sockaddr结构结尾实现UDP程序的socket接口使用解析socket处理 IP 地址的函数初始化sockaddr_inbindrecvfromsendto 实现一个简单的UDP网络程序封装服务器相关代码封装客户端相关代码实验结…

TE-L-Tyrosine (FET-precursor),合成蛋白质的必需成分之一,L-Tyrosine

试剂简介&#xff1a;TE-L-Tyrosine (FET-precursor)&#xff0c;L-Tyrosine是一种氨基酸&#xff0c;它是蛋白质合成的必需成分之一。除了在蛋白质合成中的重要作用外&#xff0c;L-Tyrosine还具有多种生理功能。它是肾上腺素、去甲肾上腺素、甲状腺激素等重要激素的前体物质&…

短视频矩阵系统源码|开发者步骤

一、为了开发和部署短视频矩阵系统&#xff0c;首先需要进行以下步骤&#xff1a; 1. 系统设计与开发&#xff1a;根据需求&#xff0c;进行系统架构设计&#xff0c;并选择合适的技术栈进行开发。这可能涉及到前端开发、后端开发、数据库设计等工作。 2. 实现核心功能&#…

AIGC与软件测试的融合

一、ChatGPT与AIGC 生成式人工智能——AIGC&#xff08;Artificial Intelligence Generated Content&#xff09;&#xff0c;是指基于生成对抗网络、大型预训练模型等人工智能的技术方法&#xff0c;通过已有数据的学习和识别&#xff0c;以适当的泛化能力生成相关内容的技术。…

MySQL运行时的可观测性

1.说在前面的话 2.安装employees测试库 3.观测SQL运行状态 3.1 观测SQL运行时的内存消耗3.2 观测SQL运行时的其他开销3.3 观测SQL运行进度 感知SQL运行时的状态 1. 说在前面的话 在MySQL里&#xff0c;一条SQL运行时产生多少磁盘I/O&#xff0c;占用多少内存&#xff0c;是否…

Ctfshow web入门 命令执行RCE篇 web29-web77 与 web118-web124 详细题解 全

Ctfshow 命令执行 web29 pregmatch是正则匹配函数&#xff0c;匹配是否包含flag&#xff0c;if(!preg_match("/flag/i", $c))&#xff0c;/i忽略大小写 可以利用system来间接执行系统命令 flag采用f*绕过&#xff0c;或者mv fl?g.php 1.txt修改文件名&#xff0c…

一文彻底理解时间复杂度和空间复杂度(附实例)

目录 1 PNP&#xff1f;2 时间复杂度2.1 常数阶复杂度2.2 对数阶复杂度2.3 线性阶复杂度2.4 平方阶复杂度2.5 指数阶复杂度2.6 总结 3 空间复杂度 1 PNP&#xff1f; P类问题(Polynomial)指在多项式时间内能求解的问题&#xff1b;NP类问题(Non-Deterministic Polynomial)指在…

数据中心UPS监控,不服不行!

UPS作为关键的电力保障设备&#xff0c;它在电力中断或波动的情况下&#xff0c;为电子设备提供稳定的备用电源&#xff0c;以防止数据丢失、设备损坏或生产中断。 通过远程监控、电池健康检测、负载管理、警报通知等功能&#xff0c;UPS监控确保了系统的高效运行和可靠性。同时…

Windows下安装tomcat无法启动问题汇总和解决

tomcat在初学的时候安装总是出现各种问题&#xff0c;最近重新安装了一次&#xff0c;居然也被一些小问题导致无法启动了&#xff0c;特此写下这篇文章&#xff0c;希望能帮助到大家 导致tomcat启动失败原因 1、未配置tomcat环境变量: CATALINA_HOME&#xff1b;然后path环境…

扭矩张力控制和速度张力控制详细介绍

张力控制的开环和闭环相关算法介绍,请查看下面文章链接: PLC张力控制(开环闭环算法分析)_张力控制plc程序实例_RXXW_Dor的博客-CSDN博客里工业控制张力控制无处不在,也衍生出很多张力控制专用控制器,磁粉制动器等,本篇博客主要讨论PLC的张力控制相关应用和算法,关于绕…

LeetCode(力扣)404. 左叶子之和Python

LeetCode404. 左叶子之和 题目链接代码 题目链接 左叶子之和 代码 递归 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right …

【JavaEE进阶】SpringMVC

文章目录 一. 简单认识SpringMVC1. 什么是SpringMVC?2. SpringMVC与MVC的关系 二. SpringMVC1. SpringMVC创建和连接2. SpringMVC的简单使用2.1 RequestMapping 注解介绍2.2 RequestMapping支持的请求类型2.3 GetMapping 和 PostMapping 3. 获取参数3.1 传递单个参数3.2 传递对…

2023年跑步耳机性价比最高的都在这里了!不容错过

你还在为如何选择合适的跑步耳机而困扰吗&#xff1f;身为一个常年的跑步的我&#xff0c;在选择运动耳机的时候我会从价格、性能、舒适度、耐用性等多个方面去进行了比较&#xff0c;这样才能够找到最适合自己的跑步耳机。那么下面我就给大家推荐几款具有性价比的跑步耳机&…

项目管理工具,让项目团队更高效

随着项目管理的发展&#xff0c;出现个各种各样的项目管理工具&#xff0c;帮助项目团队提高项目管理的效率和质量&#xff0c;降低成本和风险&#xff0c;增强团队的协作和沟通效率&#xff0c;实现项目的成功实施和持续发展。 1、项目计划是项目管理中重要的一环 在传统的…