首页 > 其他分享 >学习笔记:Graph WaveNet

学习笔记:Graph WaveNet

时间:2023-10-17 16:56:19浏览次数:42  
标签:mathbf 卷积 Graph WaveNet 邻接矩阵 笔记 tilde

Graph WaveNet for Deep Spatial-Temporal Graph Modeling
用于深度时空图模型的Graph WaveNet
期刊:IJCAI2019
作者:Zonghan Wu, Shirui Pan, Guodong Long, Jing Jiang, Chengqi Zhang
论文地址:https://www.ijcai.org/Proceedings/2019/0264
代码地址:https://github.com/nnzhan/Graph-WaveNet

这是一篇很经典的老论文,学这篇打好基础吧。

复现结果

GPU: A100(由于内存需求太大,部分数据集TITAN V无法运行)
下面的是保持模型原本的损失计算方法不变,只更改数据集的结果

数据集 节点数量 MAE MAPE RMSE epoch 时间消耗(h,min)
PEMS03 358 15.04 14.49 25.36 100 0h45
PEMS04 307 19.89 14.52 31.27 100 0h25
PEMS07 883 21.27 9.71 34.09 100 2h10
PEMS08 170 15.44 10.00 24.30 100 0h20

模型

GraphWaveNet框架图

空间卷积结构

GCN通过聚合和转化邻域信息来平滑节点信号[1]
令\(\tilde A\in\mathbb R^{N\times N}\)为加了自环的归一化邻接矩阵

\(\tilde A\)构造方法:\(A\)归一化后,加上单位矩阵
( -(A/A.std).square ).exp + I
没有连边的位置为0

对于无向图,\(P=A/rowsum(A)\),然后:

\[\mathbf{Z}=\sum_{k=0}^K\mathbf{P}^k\mathbf{X}\mathbf{W}_\mathbf{k} \]

对于有向图,正向转移为\(\mathbf{P}_f=\mathbf{A}/rowsum(\mathbf{A})\),反向转移为\(\mathbf{P}_b=\mathbf{A}^\mathbf{T}/rowsum(\mathbf{A}^\mathbf{T})\),然后:

\[\mathbf{Z}=\sum_{k=0}^K\mathbf{P}_f^k\mathbf{X}\mathbf{W}_{k1}+\mathbf{P}_b^k\mathbf{X}\mathbf{W}_{k2} \]

自适应邻接矩阵
随机生成节点嵌入\(\mathbf E_1, \mathbf E_2\in\mathbb R^{N\times c}\)(看起来就是在模型的开始随机生成的),自适应邻接矩阵为:

\[\mathbf{\tilde{A}}_{adp}=SoftMax(ReLU(\mathbf{E}_1\mathbf{E}_2^T)) \]

此时,自适应图卷积表示为:

\[\mathbf{Z}=\sum_{k=0}^K\mathbf{\tilde{A}}_{apt}^k\mathbf{X}\mathbf{W}_k \]

整个图卷积公式表示为邻接矩阵和自适应图两个卷积的和。

时间卷积结构

使用扩展因果卷积(dilated causal convolution)作为时间卷积层(TCN)

GraphWaveNet TCN

与rnn方法相比,扩展因果卷积能够并行处理序列,有利于并行计算[2]

在数学上,给定一个一维序列\(x\in\mathbb R^T\)和过滤器\(f\in\mathbb R^K\),卷积操作表示为:

\[\mathbf{x}\star\mathbf{f}(t)=\sum_{s=0}^{K-1}\mathbf{f}(s)\mathbf{x}(t-d\times s) \]

其中\(d\)是扩展因子(dilation factior),表示跳过的距离。

TCN的实现需要看一下,是不是通过多层隐藏层实现的
是这样的,有多个block,每个block有多个layer,其中每个block的第一层layer的d=1,然后依次d*=2

门控机制在控制时间卷积网络层间的信息流方面也很强大[3]

总结

  • “邻接矩阵+自适应邻接矩阵”的方式很好
  • 扩展因果卷积的想法不错

  1. Page3, section3.2 ↩︎

  2. Page 3 section3.3 ↩︎

  3. GraphWaveNet Page4 formula(9) ↩︎

标签:mathbf,卷积,Graph,WaveNet,邻接矩阵,笔记,tilde
From: https://www.cnblogs.com/white514/p/17770116.html

相关文章

  • GPU-笔记
    GPU发展​ PC时代随着图形操作系统的出现,大量需要3D图形运算的工具软件和游戏对于浮点运算的要求急剧升高,传统的X86CPU处理器并不擅长这类任务,于是诞生了更擅长浮点运算的GPU。在这类应用中,系统会把图形渲染等任务offload到GPU上去。​ 随着神经网络研究和应用的发展......
  • 2023/10/17 学习笔记
    传输层协议tcp/udp协议TCP/IP协议族的传输层协议tcp特性1.工作在传输层2.面向连接协议3.全双工协议4.半关闭(四次挥手)5.错误检查6.将数据打包成段,排序(分片)7.确认机制8.数据恢复,重传9.流量控制,滑动窗口udp特性工作在传输层提供不可靠的网络访问非面向连接协......
  • javaweb-jsp脚本总结笔记
    1什么是JSPjsp又叫JavaserveltPage这门技术最大的特点就是,写jsp就像是再写html但是不仅可以写静态页面,而且可以内置Java代码写出动态页面,也就是说可以为用户提供动态数据。总的来说jsp=java+HTML2.JSP快速入门2.1提供对应的驱动包2.1创建对应jsp文件2.2写对应代码......
  • [学习笔记] 浏览器F12检查中应该如何判断margin的上下左右?
    如下图所示,margin上下左右四个方向分别是1px,2px,3px,4px。 而在浏览器F12检查时,margin显示如下图所示:即浏览器检查时显示的margin值,是按照上、右、下、左的顺序来的。该规律在padding也同样适用。 ......
  • EPLAN 电气设计入门学习笔记
     1.EPLAN中的结构描述符号功能面结构=功能面结构符号“=”,译为高层代号,表示系统根据功能被分为若干组成项目。产品面结构-符号“-”,表示根据产品分类,例如“-Q”表示空气开关。位置面结构+符号“+”,描述部件在系统中的位置,译为“位置代号”。器件引脚标识:例如“-H1:......
  • [学习笔记] 有关CSS响应式设计的单位
    em和rem单位:em和rem是相对于元素的字体大小计算的单位。em单位是相对于父元素的字体大小,而rem单位是相对于根元素(通常是 <html> 元素)的字体大小。em和rem单位可以用于实现相对于字体大小的自适应布局。vw和vh单位:vw和vh是视口宽度和视口高度的百分比单位......
  • React学习笔记04-JSX语法
    1.JSX语法JSX将HTML语法直接加入到JavaScript代码中,再通过翻译器转换到纯JavaScript后由浏览器执行。在实际开发中,JSX在产品打包阶段都已经编译成纯JavaScript,不会带来任何副作用,反而会让代码更加直观并易于维护。编译过程由Babel的JSX编译器实现。 2.JSX语法的......
  • Linux学习笔记2
    Linux学习笔记1.文件重定向1.尝试在命令行输人ifconfig.找到自己电脑的IP地址.zzh@ubuntu:~/Desktop$ifconfigens33:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu1500   inet192.168.216.128netmask255.255.255.0broadcast192.168.216.255   in......
  • 《巴小特的宝藏》一款小游戏的诞生笔记
    起源:《巴小特的宝藏》项目初创与2022年初,拥有多年游戏开发经验的我萌生自己创作游戏的念头,市场上好多游戏同质化严重,并且基本主要考虑的都是娱乐性,而我想做一款不一样的东西出来,当时很痴迷研究经济、金融,自己也炒股,该赔的钱也都赔,正好也赶上了2022年股市大跌,没有在跌......
  • 《Deep Residual Learning for Image Recognition》阅读笔记
    论文标题《DeepResidualLearningforImageRecognition》撑起CV界半边天的论文Residual:主要思想,残差。作者何恺明,超级大佬。微软亚研院属实是人才辈出的地方。初读摘要提问题:更深层次的神经网络更难训练。提方案:提出了残差网络解决深层网络训练的问题。这也......