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. python selenium 多个页面对象类使用同一个webdriver(即只打开一个浏览器窗口)

    1 class BasePage(): 2 """selenium基类""" 3 4 def __init__(self, driver=N ...

  2. SpringBoot 三层架构 Controller、Service、Dao作用和关系详解

    首先创建一个springboot项目. model层 model层也叫pojo层或者entity层,个人比较喜欢pojo层. 一般数据库的一张表对应一个pojo层,并且表中所有字段都在pojo层都一一 ...

  3. 同时将代码备份到Gitee和GitHub

    同时将代码备份到Gitee和GitHub 如何将GitHub项目一步导入Gitee 如何保持Gitee和GitHub同步更新 如何将GitHub项目一步导入Gitee 方法一: 登陆 Gitee 账号 ...

  4. kubeadm高可用master节点(三主两从)

    1.安装要求 在开始之前,部署Kubernetes集群机器需要满足以下几个条件: 五台机器,操作系统 CentOS7.5+(mini) 硬件配置:2GBRAM,2vCPU+,硬盘30GB+ 集群中所有 ...

  5. 多级级联数据的展示-vue递归组件

    如果采用普通的for循环方式,没办法确认数据到底有几层,要写几个for循环,所以想到了递归的方法. 那么在vue里然后实现呢? vue递归组件(组件中使用自己) 父组件中把数据以props形式传给子组 ...

  6. 使用WebDriverManager实现自动获取浏览器驱动程序

    原理: 自动到指定的地址下载相应的浏览器驱动保存到缓存区 ~/.cache/selenium 痛点: 解决因Chrome浏览器升级,driver需要同步升级,要重新下载驱动的问题 区别: 传统方式 需 ...

  7. CentOS6.x静默安装Oracle12c

    一.准备 1.1 安装环境 系统要求 内存 > 2G 安装目录空间 > 6.5G /tmp目录空间 > 1G 操作系统 cat /etc/redhat-release 用rpm命令确 ...

  8. 通过python将阿里云DNS解析作为DDNS使用

    通过python将阿里云DNS解析作为DDNS使用 脚本需要Python2.x运行 安装alidns python sdk sudo pip install aliyun-python-sdk-ali ...

  9. 23. Merge k Sorted Lists - LeetCode

    Question 23. Merge k Sorted Lists Solution 题目大意:合并链表数组(每个链表中的元素是有序的),要求合并后的链表也是有序的 思路:遍历链表数组,每次取最小节点 ...

  10. unity---克隆/贴图/平移/旋转

    克隆 GameObject clone =Instantiate(gameObject,new Vector3(10,10,10),Quaternion.identity); Destroy(clon ...