MTGNN论文解读

ops/2025/2/7 20:16:17/

模型架构

        MTGNN 由多个模块组合而成,目标是捕捉多变量时间序列中的空间(变量间)和时间(时序)依赖。

  • 图学习层:用于自适应地学习图的邻接矩阵,发现变量之间的关系。
  • 图卷积模块:根据邻接矩阵处理节点间的空间依赖。
  • 时间卷积模块:通过时间轴上的卷积提取时序特征。
  • 输出模块:将中间结果转换为最终预测结果。

1  图学习层 (Graph Learning Layer)

        图学习层通过数据自适应地学习邻接矩阵,以捕捉时间序列数据中的隐藏关系。传统方法使用相似性度量(如点积或欧几里得距离)来构造图,但这种方式导致 O(N²) 的计算复杂度,限制了对大图的处理能力。

        而作者采用采样策略,每次仅计算部分节点的关系,从而降低计算和内存成本。此外,传统方法生成的邻接矩阵是对称的(即 A[i,j]=A[j,i]),表示节点之间的关系是双向的。但时间序列中的依赖关系可能是单向的(例如,一条道路的拥堵可能会影响下游道路,但反过来未必成立)。通过如下公式即可确保邻接矩阵是单向的。

        上述公式中, M₁ 和 M₂ 为节点嵌入矩阵,α 是用于控制激活函数饱和率的超参数。M_{1}[i]M_{2}[j]^T表示道路 i 的流量对道路 j 流量的影响,M_{2}[j]M_{1}[i]^T表示道路 j 的流量对道路 i 流量的影响。如果M_{1}[i]M_{2}[j]^T-M_{2}[j]M_{1}[i]^T的值为正,则表示道路 i 对道路 j 的影响强于道路 j 对道路 i 的影响。如果结果为负,Relu 激活函数会将负值截断为 0,保留单向依赖关系的非负部分。

        其次,通过保留每个节点的前 k 个邻居,并将其他权重置为 0,可以进一步降低复杂度。

2 图卷积模块 (Graph Convolution Module)

        传统图卷积网络的一个严重限制是,随着图卷积层数趋于无穷,相邻节点的特征会逐渐融合,节点隐藏状态会收敛到一个单点。这是因为具有许多层的图卷积网络会达到随机游走的极限分布,而与初始节点状态无关,这就产生了过平滑问题(over-smoothing problem)。为解决这个问题,作者在传播过程中保留一定比例的节点原始状态,以便传播的节点状态既能保留局部性又能探索深层邻域。

        具体来说,作者设计的图卷积模块通过 Mix-hop 传播层融合节点和邻居的信息,以处理图中的空间依赖性。Mix-hop 传播层包括两部分:信息传播和信息选择。

  • 信息传播:保留一部分节点自身状态(通过 \beta 调节),同时以递归方式沿图结构传播邻居的信息。
  • 信息选择:通过线性变换筛选重要的节点特征,防止无用信息累积(通过 W^{(k)} 训练学习各层传播特征的权重)。

3 时间卷积模块 (Temporal Convolution Module)

        时间卷积模块由两个膨胀卷积层组成。一个膨胀卷积层后接 tanh 激活函数,用作过滤器;另一个膨胀卷积层后接 sigmoid 激活函数,用作门控控制。

        卷积核设置的大小一直是 CNN 的一个难题。太大会无法精细地表示短期信号模式,或者太小无法充分发现长期信号模式。因此,作者借鉴了图像处理中的 inception。由于时间信号往往具有几个固有周期,如 7、12、24、28 和 60,具有 1×1、1×3 和 1×5 滤波器尺寸的 inception 层堆叠不能很好地涵盖这些周期(太小)。因此,作者提出了一个由四个滤波器尺寸(即 1×2、1×3、1×6 和 1×7)组成的时间 inception 层。

        为了处理非常长的序列,作者采用了膨胀因果卷积。与上面结合形成扩张 inception 层。

4 学习算法 (Learning Algorithm)

        Chiang 等人应用图聚类算法将图划分为子图,并在划分后的子图上训练图卷积网络,以此来解决内存瓶颈问题。但是作者的模型训练的同时也在学习潜在的图结构,因此模型不能提前对图结构进行聚类。

        那么该如何修改?在每次迭代时,随机把节点分成若干组,基于采样节点学习子图结构,每组节点相互独立学习,训练结束后构建全局图。


http://www.ppmy.cn/ops/156532.html

相关文章

汽车自动驾驶AI

汽车自动驾驶AI是当前汽车技术领域的前沿方向,以下是关于汽车自动驾驶AI的详细介绍: 技术原理 感知系统:自动驾驶汽车通过多种传感器(如激光雷达、摄像头、雷达、超声波传感器等)收集周围环境的信息。AI算法对这些传感…

京准:NTP卫星时钟服务器对于DeepSeek安全的重要性

京准:NTP卫星时钟服务器对于DeepSeek安全的重要性 京准:NTP卫星时钟服务器对于DeepSeek安全的重要性 在网络安全领域,分布式拒绝服务(DDoS)攻击一直是企业和网络服务商面临的重大威胁之一。随着攻击技术的不断演化…

旅行社项目展示微信小程序功能模块和开发流程

旅行社当前旅游线路的程序(微信小程序),旨在帮助旅行社更高效地管理线下活动预订,同时为客户提供便捷的报名和查看功能。适用于短途游、团队建设等活动,支持在线预订、缴费及订单管理,可根据用户需求定制更多个性化服务,为公司提升品牌知名度与客户体验。通过简洁明了的…

Linux 内核源码can相关配置项

目录 一、配置项解释(kernel源码/net/can/Makefile)1. CONFIG_CAN2. CONFIG_PROC_FS3. CONFIG_CAN_RAW4. CONFIG_CAN_BCM5. CONFIG_CAN_GW6. CONFIG_CAN_J19397. CONFIG_CAN_ISOTP8. 总结 二、Linux can协议栈部分功能细究1. CAN Gateway1.1 原理及使用场景1.2 使用方法1.3 为什…

阿里云不同账号vpc对等连接

目录 一,VPC对等连接介绍 1,VPC功能介绍 2,使用场景 二,准备vpc,和ECS服务器 1,第一个账号vpc网络/网段 ​编辑 2,第一个账号下的ECS实例 ip:172.19.45.29 ​编辑 3, 第二个账号vpc网络/网段 4&…

亚博microros小车-原生ubuntu支持系列:18 Cartographer建图

Cartographer简介 Cartographer是Google开源的一个ROS系统支持的2D和3D SLAM(simultaneous localization and mapping)库。基于图优化(多线程后端优化、cere构建的problem优化)的方法建图算法。可以结合来自多个传感器&#xff0…

Spring Boot 自动装配原理与优化实践

在 Java 开发领域,Spring Boot 以其 “约定优于配置” 的理念,极大地简化了 Spring 应用的开发和部署过程,成为了众多开发者的首选框架。它通过自动装配机制,让开发者能够快速搭建一个功能完备的应用,而无需进行繁琐的…

js-使用dayjs库常用方法以及vue中使用计算两个日期间的天数差

1.前言 dayjs是一个轻量级的JavaScript日期库,可以方便地处理日期和时间。 2.dayjs常用方法 2.1创建dayjs对象 dayjs(); dayjs(2023-10-01); dayjs(1664582400000); // 时间戳2.2获取日期和时间 dayjs().year(); // 获取年份 dayjs().month(); // 获取月份&…