STGNNs:SPATIAL–TEMPORAL GRAPH NEURAL NETWORKS

许多实际应用中的图在图结构和图输入方面都是动态的。STGNNs在捕获图的动态性方面占有重要地位。

这类方法的目的是建模动态节点输入,同时假设连接节点之间的相互依赖性。STGNNs同时捕获一个图的空间和时间依赖性。

STGNNs的任务可以是预测未来节点值或标签或预测时空图标签。

For example, a traffic network consists of speed sensors placed on roads, where edge weights are determined by the distance between pairs of sensors. As the traffic condition of one road may depend on its adjacent roads’ conditions, it is necessary to consider spatial dependence when performing traffic speed forecasting. As a solution, STGNNs capture spatial and temporal dependencies of a graph simultaneously.

STGNNs  分为两个方向:

1)RNN-based methods

大多数基于RNN的方法通过:使用图卷积传递到递归单元, 过滤输入和隐藏状态来捕获时空依赖性

a simple RNN takes the form:

X(t): Rn×d is the node feature matrix at time step t. After inserting graph convolution, it becomes

Gconv(·) is a graph convolutional layer.

相关工作:

  1): Graph convolutional recurrent network (GCRN) combines an LSTM network with ChebNet.

  2): Diffusion convolutional RNN (DCRNN) incorporates a proposed diffusion graph convolutional layer into a GRU network. Besides, DCRNN adopts an encoder-decoder framework to predict the future K steps of node values.

  3): Structural-RNN proposes a recurrent framework to predict node labels at each time step. It comprises two kinds of RNNs, namely, a node-RNN and an edge-RNN. The temporal information of each node and each edge is passed through a node-RNN and an edge-RNN, respectively. To incorporate the spatial information, a node-RNN takes the outputs of edge-RNNs as inputs. Since assuming different RNNs for different nodes and edges significantly increases model complexity, it instead splits nodes and edges into semantic groups. Nodes or edges in the same semantic group share the same RNN model, which saves the computational cost.

RNN-based approaches suffer from time-consuming iterative propagation and gradient explosion/vanishing issues. 

2)CNN-based methods

CNN-based approaches tackle spatial-temporal graphs in a nonrecursive manner with the advantages of parallel computing, stable gradients, and low-memory requirements.

CNN-based approaches interleave 1-D-CNN layers with graph convolutional layers to learn temporal and spatial dependencies, respectively.

Assume that the inputs to an STGNN are a tensor X: RT×n×d and the 1-D-CNN layer slides over X[:, i, :] along the time axis to aggregate temporal information for each
node, while the graph convolutional layer operates on X[i,:,:] to aggregate spatial information at each time step.

以前的方法都使用预定义的图结构。它们假设预定义的图结构反映了节点之间真实的依赖关系。然而,在时空设置中有许多图形数据的快照,可以从数据中自动学习潜在的静态图形结构。

学习潜在静态空间依赖可以帮助研究者发现网络中不同实体之间可解释且稳定的相关性。但是,在某些情况下,学习潜在的动态空间依赖关系可以进一步提高模型的精度。

GaAN employs attention mechanisms to learn dynamic spatial dependencies through an RNN-based approach. An attention function is used to update the edge weight between two connected nodes given their current node inputs.

ASTGCN further includes a spatial attention function and a temporal attention function to learn latent dynamic spatial dependencies and temporal dependencies through a CNN-based approach.

ASTGCN还包括一个空间注意函数和一个时间注意函数,用于通过基于cnn的方法学习潜在的动态空间依赖和时间依赖。

The common drawback of learning latent spatial dependencies is that it needs to calculate the spatial dependence weight between each pair of nodes, which costs O(n2).


Dynamic Graph Convolutional Networks:(2017)

Many different classification tasks need to manage structured data, which are usually modeled as graphs. Moreover, these graphs can be dynamic, meaning that the vertices/edges of each graph may change during time. Our goal is to jointly exploit structured data and temporal information through the use of a neural network model.

许多不同的分类任务需要管理结构化数据,这些数据通常建模为图。此外,这些图可以是动态的,这意味着每个图的顶点/边可能在一段时间内改变。我们的目标是通过使用神经网络模型联合利用结构化数据和时间信息。

this paper proposes two novel approaches, which combine Long Short-Term Memory networks and Graph Convolutional Networks to learn long short-term dependencies together with graph structure.

本文提出了两种新的方法,即结合长短期记忆网络和图卷积网络来学习长短期依赖关系和图结构。

However, many real-world structured data are dynamic and nodes/edges in the graphs may change during time. In such a dynamic scenario, temporal information can also play an important role.

然而,许多真实世界的结构化数据是动态的,图中的节点/边可能会随着时间的推移而改变. 在这种动态场景中,时间信息也可以发挥重要作用。

the new network architectures proposed in this paper will work on ordered sequences of graphs and ordered sequences of vertex features.

时空图神经网路:STGNNs的更多相关文章

  1. 人工智能起步-反向回馈神经网路算法(BP算法)

    人工智能分为强人工,弱人工. 弱人工智能就包括我们常用的语音识别,图像识别等,或者为了某一个固定目标实现的人工算法,如:下围棋,游戏的AI,聊天机器人,阿尔法狗等. 强人工智能目前只是一个幻想,就是自 ...

  2. 神经网路的层数,损失函数(loss)

    神经网络的复杂度:可用神经网络的层数和神经网络中待优化参数个数表示 神经网路的层数:一般不计入输入层,层数 = n 个隐藏层 + 1 个输出层 神经网路待优化的参数:神经网络中所有参数 w 的个数 + ...

  3. tensorflow学习之路-----简单卷积神经网路

    import tensorflow as tf#取数据,目的是辨别数字from tensorflow.examples.tutorials.mnist import input_data'''手动添加 ...

  4. 神经网路-SGD-1

    SGD神经网络以及python中实现 1.SGD(stochastic gradient descend):<1>数据抽取:<2>计算梯度;<3>参数更新:< ...

  5. tensorflow学习2-线性拟合和神经网路拟合

    线性拟合的思路: 线性拟合代码: import tensorflow as tf import numpy as np import matplotlib.pyplot as plt #%%图形绘制 ...

  6. 可视化CNN神经网路第一层参数

    在上Andrew Ng的课的时候搜集到了课程里面自带的显示NN参数的代码,但是只能显示灰度图,而且NN里的参数没有通道的概念.所以想要获得可视化CNN的参数,并且达到彩色的效果就不行了. 所以就自己写 ...

  7. 神经网络模型之AlexNet的一些总结

    说明: 这个属于个人的一些理解,有错误的地方,还希望给予教育哈- 此处以caffe官方提供的AlexNet为例. 目录: 1.背景 2.框架介绍 3.步骤详细说明 5.参考文献 背景: AlexNet ...

  8. np2016课程总结

    林牧 SA16222166 课程目标 课程安排 A1a A2 A3 项目集成 环境搭建 其他方面的收获 本课心得 课程目标 通过实现一个医学辅助诊断的专家系统原型,具体为实现对血常规检测报告OCR识别 ...

  9. Stanford机器学习笔记-6. 学习模型的评估和选择

    6. 学习模型的评估与选择 Content 6. 学习模型的评估与选择 6.1 如何调试学习算法 6.2 评估假设函数(Evaluating a hypothesis) 6.3 模型选择与训练/验证/ ...

随机推荐

  1. IoT平台如何实现业务配置中心

    摘要:本文讲述业务配置中心(下文简述为配置中心)的关键技术和实现方式. 本文分享自华为云社区<手把手教你物联网平台如何实现业务配置中心>,作者: 华为云IoT专家团 . 上一篇<华为 ...

  2. 浏览器获取京东cookie

    电脑浏览器打开京东网址 https://m.jd.com/ 按键盘F12键打开开发者工具,然后点下图中的图标 此时是未登录状态(使用手机短信验证码登录),如已登录请忽略此步骤 使用手机短信验证码登录( ...

  3. Linux的快捷使用(不断更新中)

    Linux 命令行提示符 ~代表当前目录,即家目录,#是超级用户提示符,如果是普通用户使用$ 基本快捷键的使用 移动光标命令 Ctrl+A:移动光标到开头 Ctrl+E:移动光标到结尾 Ctrl+F: ...

  4. netty系列之:netty中常用的xml编码解码器

    目录 简介 XmlFrameDecoder XmlDecoder 总结 简介 在json之前,xml是最常用的数据传输格式,虽然xml的冗余数据有点多,但是xml的结构简单清晰,至今仍然运用在程序中的 ...

  5. Oracle中通过逗号分割字符串并转换成多行

    通过逗号对字符串字段进行分割,并返回多行,通过使用regexp_substr()函数实现. SQL示例: select regexp_substr(q.nums, '[^,]+', 1, rownum ...

  6. arts-week10

    Algorithm 905. Sort Array By Parity - LeetCode Review Who's Afraid of the Big Bad Preloader? 一文读懂前端缓 ...

  7. monit 命令详解(monit)

    monit是Monit软件的主操作控制命令. 语法 monit [options]+ [command] 选项(options) -c file 指定要使用的配置文件 -d n 每间隔多少秒运行一次M ...

  8. 耗时半年,Eoapi 终于正式发布 API 工具的插件广场

      这是我们的第一篇月报,每个月和每个来之不易的开发者分享产品故事以及产品进展. 在 5.20 这个极具中国特色的"节日"里,Eoapi 发布了 1.0.0 版,三个程序员掉了半年 ...

  9. LVS+keepalived高可用

    1.keeplived相关 1.1工作原理 Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题. 在一个LVS服务集群中通常有主服务器(MAS ...

  10. 如何在Uniapp中访问CabloyJS后端API管理系统

    介绍 CabloyJS是一款免费开源的NodeJS全栈开发框架,采用前后端分离设计,具备开箱即用的后台管理系统 Cabloy-SDK是专门为Uniapp应用量身定制的前端SDK,用于便捷的访问Cabl ...