【论文笔记】Graph WaveNet for Deep Spatial-Temporal Graph Modeling
Graph WaveNet for Deep Spatial-Temporal Graph Modeling
摘要
现有模型大多是基于固定的图结构,但由于数据的损失可能导致某些true dependency丢失。现有方法对捕获时间趋势不是很有效,因为RNN和CNN不能捕获长时间序列。
GWN是通过更新一个自适应依赖矩阵,从而来捕获隐藏的空间依赖。GWN使用堆叠的1D卷积分结构,来使接受域不断扩大,从而使得模型可以处理非常长的序列。
介绍
假设1:一个结点的未来信息取决于一个结点的历史信息与相邻结点的历史信息。
问题1:图中结点间相互信息可能出现缺失或增加。
问题2:目前的时空建模难以学习到时间依赖。RNN容易出现梯度爆炸/消失,CNN需要很多1D卷积层(接受域随层数线性增长)。
GWN是基于CNN的,图卷积层中具有自适应调整矩阵,可通过端到端学习,从而保障矩阵保存隐藏的时间依赖。在WaveNet的启发下,采用了堆叠扩展随机卷积来捕获时间依赖性,随着层数堆叠,接受域线性增长,从而可以接受长范围时间序列。
方法
该模型实现采用了GCN和TCN,他们一同组成了网络,从而捕获时空依赖。
采用0-1矩阵表示结点连接,不同的时刻对应拥有不同的特征矩阵(图信号)。
图卷积层
图卷积可以提取结点结构特征信息,该模型中将切比雪夫谱滤波器作为了一个组合层,通过整合和转换来平滑结点信号:
Z=A~XWZ=\tilde{A}XW Z=A~XW
Li等人提出了扩散卷积层(diffusion convolution layer),该层被证明对时空建模有效。将上式推广可得:
Z=∑k=0KPkXWkZ=\sum^{K}_{k=0}P^kXW_k Z=k=0∑KPkXWk
其中PkP^kPk表示变换矩阵的幂数级,在无向图中,P=A/rowsum(A)P=A/rowsum(A)P=A/rowsum(A);在有向图中,传播过程分为两个方向,正向变换矩阵为Pf=A/rowsum(A)P_f=A/rowsum(A)Pf=A/rowsum(A),反向变换矩阵为Pb=AT/rowsum(AT)P_b=A^T/rowsum(A^T)Pb=AT/rowsum(AT),在考虑两个方向的情况下,该公式为:
Z=∑k=0KPfkXWk1+PbkXWk2Z=\sum^{K}_{k=0}P^{k}_{f}XW_{k1}+P^{k}_{b}XW_{k2} Z=k=0∑KPfkXWk1+PbkXWk2
自适应邻接矩阵
自适应邻接矩阵A~adp\tilde{A}_{adp}A~adp不需要任何先验知识,其在梯度下降过程中进行端到端学习,从而发现隐藏的空间依赖。
实现该策略的方法是用可学习的参数E1,E2E_1,E_2E1,E2随机初始化两个结点嵌入,则自适应邻接矩阵可以被定义为:
A~adp=SoftMax(ReLU(E1E2T))\tilde{A}_{adp}=SoftMax(ReLU(E_1E_2^T)) A~adp=SoftMax(ReLU(E1E2T))
根据该矩阵,我们可以获得源结点和目标结点间的空间依赖权重。根据结合预定义的空间依赖和自学习的隐藏图依赖,故有图卷积层:
Z=∑k=0KPfkKWk1+PbkKWk2+A~aptkKWk3Z=\sum^{K}_{k=0}P^k_fKW_{k1}+P^k_bKW_{k2}+\tilde{A}^{k}_{apt}KW_{k3} Z=k=0∑KPfkKWk1+PbkKWk2+A~aptkKWk3
当图结构不可获得时,可以仅用自适应邻接矩阵来获取隐藏空间依赖,即:
Z=∑k=0KA~aptkXWkZ=\sum^K_{k=0}\tilde{A}^k_{apt}XW_k Z=k=0∑KA~aptkXWk
时间卷积层(TCN)
该模型中使用了dilated causal convolution作为TCN层,采用它,相比于RNN可以有效处理长范围序列,并且进行并行计算并有效减少梯度爆炸问题。
同时,该层可以通过填充0来保持空间因果关系,从而使得对当前时刻的预测仅涉及历史信息。
在给定1D输入序列x∈RTx\in R^Tx∈RT及核F∈RKF\in R^KF∈RK的情况下,该层在时刻ttt的操作可以表示为:
x⋆f(t)=∑s=0K−1f(s)x(t−d×s)x\star f(t)=\sum^{K-1}_{s=0}f(s)x(t-d\times s) x⋆f(t)=s=0∑K−1f(s)x(t−d×s)
其中,ddd是膨胀系数,用于控制跳过距离。
有效节约计算资源。
门TCN
门机制(gating mechanisms)在RNN中很重要,能有效控制信息流在时间卷积网络中的层间流动。
h=g(θ1⋆χ+b)⨀σ(θ⋆χ+c)h=g(\theta_1\star \chi +b)\bigodot\sigma(\theta\star \chi +c) h=g(θ1⋆χ+b)⨀σ(θ⋆χ+c)
χ∈RN×D×S\chi \in R^{N\times D\times S}χ∈RN×D×S是输入,⨀\bigodot⨀是矩阵对应同位置相乘,g(⋅)g(·)g(⋅)是激活函数用于决定信息传递到下一层的概率。模型中采用了门TCN来学习复杂时间依赖。模型采用了正切双曲函数作为激活函数。
GWN结构
GWN结构中,由KKK个时空层组成和一个输出层。输入首先被一个线形层转换,然后依次经过门TCN以及GCN。每一层时空层都有循环连接并且与输出层相连。
GWN结构中,存在两个平行的TCN层(TCN-a,TCN-b)。GCN输入是[N,C,L][N,C,L][N,C,L],其中NNN是结点数,CCC是隐藏维度,LLL是序列长度,将图卷积应用于h[:,:,i]∈RN×Ch[:,:,i]\in R^{N\times C}h[:,:,i]∈RN×C。使用MAR作为loss。
模型输出为连续预测序列X^(t+1)+(t+T)\hat{X}^{(t+1)+(t+T)}X^(t+1)+(t+T),为实现连续序列,人为设计了GWN的接受域大小等于输入,从而使得在最后一个时空层中输出的时间维数恰好等于1。
实验
使用的数据集为METR-LA以及PEMS-BAY。其中METR-LA包含洛杉矶高速公路上207个传感器记录了四个月的车速数据。PEMS-BAY包含海湾地区325个传感器记录的六个月的车速数据。邻接矩阵中的结点使用阈值高斯核被道路交通网络的距离构建,Z-score归一化被用于输入。
实验步骤
在7系i9X CPU和Titan Xp GPU上进行实验。
- 实验中使用了8层GWN,膨胀系数分别是1,2,1,2,1,2,1,2。
- 使用无自适应矩阵的图卷积层,diffusion step K=2K=2K=2。
- 使用均匀分布随机初始化了size为10的节点嵌入。
- 使用的优化器是Adam,初始学习率0.001。
- 使用的Dropout p是0.3,被用在了图卷积层的输出。
- 评价用的是MAE、RMSE、MAPE。
- 在训练和测试中都包含丢失值。
实验结果
实验中比较了15min、30min、60min情况下GWN和baseline在METR-LA和PEMS-BAY数据集。
采用自适应邻接矩阵
为证明自适应邻接矩阵的有效性,GWN使用了5种不同的配置。Adaptive-only的表现好于Forward-only的表现。Forward-backward-adaptvie模型所拥有的分数最低,模型最优。
从a图与对应的b图中可以看到,第9行存在的高值点多于47行,在地图上对应的是第9行交叉路口更多。
训练时间
GWN是最具性价比的。这是因为GWN在一次运行中就生成12个预测,二其他必须根据之前的预测生成结果。
【论文笔记】Graph WaveNet for Deep Spatial-Temporal Graph Modeling相关推荐
- 论文详解笔记:Graph WaveNet for Deep Spatial-Temporal Graph Modeling
Graph WaveNet for Deep Spatial-Temporal Graph Modeling 一 作者介绍 本文的作者是悉尼科技大学的Zonghan Wu博士,师从IEEE membe ...
- Graph WaveNet for Deep Spatial-Temporal Graph Modeling
Graph WaveNet for Deep Spatial-Temporal Graph Modeling 时空图建模是分析系统中各组成部分的空间关系和时间趋势的一项重要任务.现有的方法大多捕捉固定 ...
- 【论文笔记】PassGAN: A Deep Learning Approach for Password Guessing
title: "[论文笔记]PassGAN: A Deep Learning Approach for Password Guessing" date: 2019-10-12 la ...
- 【论文笔记】Encoding cloth manipulations using a graph of states and transitions
[论文笔记]Encoding cloth manipulations using a graph of states and transitions Abstract 问题: Cloth manipu ...
- 论文笔记:DeepFuse: A Deep Unsupervised Approach for Exposure Fusion with Extreme Exposure Image Pairs
论文笔记:DeepFuse: A Deep Unsupervised Approach for Exposure Fusion with Extreme Exposure Image Pairs co ...
- 【推荐系统论文精读系列】(八)--Deep Crossing:Web-Scale Modeling without Manually Crafted Combinatorial Features
文章目录 一.摘要 二.介绍 三.相关工作 四.搜索广告 五.特征表示 5.1 独立特征 5.2 组合特征 六.模型架构 6.1 Embedding层 6.2 Stacking层 6.3 Residu ...
- 【交通流预测】《Graph WaveNet for Deep Spatial-Temporal Graph Modeling》论文详解
文章目录 文章总结 一.Abstract 二.Introduction 三.Methodology 1. Problem Definition 2. Graph Convolution Layer 3 ...
- spatial temporal graph convolutional network for skeleton-based action recognition
PPSIG:Paddlesports ST-GCN动作识别 - 飞桨AI Studio数据集为fsd-10花样滑冰,项目为ST-GCN从PaddleVideo抽取代码,可直接运行,acc为0.48 - ...
- 【深度学习论文笔记】DeCAF: A Deep Convolutional Activation Feature for Generic Visual Recognition
时间:2014/7/29 10:00 论文题目:DeCAF: A Deep Convolutional Activation Featurefor Generic Visual Recognit ...
最新文章
- 如何创建 java虚拟机_Java虚拟机如何创建对象?
- Linux shell编程与实践(五)之shell程序中循环结构
- 重构-改善既有代码的设计读书笔记
- JS中的六大数据类型 (笔记0)
- 【ESP8266】发送HTTP请求
- Java程序设计语言基础01:绪论
- 让皮肤看起来更加水嫩光泽
- LeetCode OJ:Bitwise AND of Numbers Range
- 2019 嵌入式智能国际大会圆满落幕,7 大专场精彩瞬间释出!
- 《基于ArcGIS的Python编程秘笈(第2版)》——第1章 面向ArcGIS的Python语言基础
- 行业深度见解•SD-WAN对于企业云的重要性 1
- C语言的 typedef 关键字
- iOS:segment对齐原则
- VASP 系列001. 高通量计算 Python 库 pymatgen 安装和一些使用(用 pymatgen 画 HSE 能带的细节和输出图片字体的简单调整)
- 几款经典的免费小软件 -- 白领的左右手
- 愚人节将至,怎么恶搞最过瘾
- 第九章 亚瑟龙的召唤
- opencv怎么使用GPU加速
- Coggle推荐系统学习任务1:推荐系统基础
- 获取iPhone相册的照片
热门文章
- 单片机_第4章 单片机的C51语言
- Arduino-Proteus仿真04-LED交通灯仿真
- 列控系统中临时限速服务器的英文缩写,基于UML的客运专线列控系统临时限速服务器维护终端的研究与实现...
- 李兴华javase课堂笔记 所有
- 【NCC】之三:FFT(DFT)加速协方差的计算
- 使用selenuim自动注册protonmail邮箱
- linux查物理内存,linux查询物理内存的方法有哪些
- ubuntu下安装epsxe简单说明
- NOI OJ 1.5 16:买房子 C语言
- 502粘到手上变硬了怎么办_502胶水粘性大,不小心粘住手也别怕,几个妙招轻松搞定...