图卷积神经网络5:图卷积的应用

知乎主页https://www.zhihu.com/people/shuang-shou-cha-dai-53icon-default.png?t=LBL2https://www.zhihu.com/people/shuang-shou-cha-dai-53

备注:本篇博客摘自某培训机构上的图神经网络讲解的视频内容,该视频关于图神经网络入门讲解、经典算法的引入和优缺点的介绍比较详细,逻辑主线也比较清晰。因此记录分享下。


前几篇介绍了谱域图卷积及空域图卷积:

图卷积神经网络1-谱域卷积:拉普拉斯变换到谱域图卷积

图卷积神经网络2-谱域卷积:SCNN/ChebNet/GCN的引入和介绍

图卷积神经网络3-空域卷积:GNN/GraphSAGE/PGC的引入和介绍

图卷积神经网络4-空域卷积:空域卷积局限性分析和过平滑解决方案

本篇博客主要讲解图卷积神经网络的主要应用。

目录

1:简介

2:图卷积在交通预测上的应用(主要讲解)

2.1:交通预测任务介绍

2.2:实现方法

2.2.1:单节点忽略空间信息

2.2.2:构建时空矩阵

2.2.3 栅格模型

3:图的构建

3.1:高斯核构建邻接矩阵

3.2:多图表示法

4:小结

5:其他方面

5.1:天气预测

5.2:骨架视频

5.3:文本分类

5.4:小结


1:简介

2:图卷积在交通预测上的应用(主要讲解)

2.1:交通预测任务介绍

说明一下公式:V_{t}\varepsilon R^{n*c},其中 n 是节点数,c 是通道数,也就是说,有 n 个节点,每个节点上是一个1 ∗ c 的向量,代表节点上的信号,这还只是一个时刻的交通数据。通常来说,交通数据中的节点可以由道路、十字路口、监测站或者一个区域来代表。这个c cc其实就是节点的信号,也就是特征,可以是车的流量、车速、这个区域或者道路的拥挤程度等。

如果是单一信息预测,比如说交通流量预测,那么c 就等于1,这种情况也就是说在某个时刻,一个节点上只有一个特征,这个特征代表交通流量。

上面右图是一个示例。实际上不仅预测下一时刻,也可预测多个时刻。

以上就是交通数据介绍,下面具体看看实现方法:

2.2:实现方法

2.2.1:单节点忽略空间信息

上面只考虑了单个节点,下面看多个节点的处理办法:

但是这里有一个问题:将所有的节点排成一排后,节点就完全失去了空间的信息。

2.2.2:构建时空矩阵

这个其实就是节点只考虑了周围的两个节点,比如说2号节点只考虑了1和3号节点,而不会考虑其他的节点。这种其实要求数据集是很特殊的,如上面右图,是一个环状的,就可以使用这种思想,但是一般的交通结构不是这种的,所以此模型不具有泛化性。

2.2.3 栅格模型

上面这个模型可以看作是从传统的方法到图方法的过渡,使用node embedding的方法来辅助交通预测任务。

上面的这张图我们在前面其实提到过,现在放在交通流量预测中我们再来看看:输入的每个节点上只有一个数(特征),但是输入的数据是一个历史数据,比如说输入的是过去的5个时刻的数据,预测未来3个时刻的数据,那么输入的每个节点上的数为5,也就是C = 5,表示过去的5个时刻;同样的输出的每个节点上的数为3,也就是F = 3 F=3,表示预测未来3个时刻的流量。

上面这个就是通过建模来预测交通流量问题,当然这个只是其中的一种建模方法,更多在处理时序数据的时候使用的是LSTM和图卷积结合起来,在这里只讲全图卷积来进行流量预测。

可以说交通流量预测问题就是一个节点回归问题,需要对每一个节点上的信号给出一个具体的值,这个值就是此节点上未来的多个时刻的交通流量。

虽然这里介绍的是交通流量预测问题,但是图的构建问题是广泛存在多个领域的,是很重要的部分,如果连图的构建都不会,还想做后面的工作,想peach呢?需要说明一下,图的构建问题实际上就是如何构建出邻接矩阵。

3:图的构建

3.1:高斯核构建邻接矩阵

解释一下上面的公式:d_{ij} 表示 i 节点和 j 节点的欧式距离,w_{ij} 为两个节点的关系,显然 d 越大,w_{ij}​就越小,同时设定一个阈值,超出这个范围,那w_{ij}=0 。

3.2:多图表示法

对相关图解释一下,比如说有A和B两个节点,在一段时间中,它们的交通流量呈现相似性,那么就可以认为它们的相关性高。

最后就是将距离图、交互图、相关图这三种图进行融合,首先的意思就是对邻接矩阵标准化或者说归一化,然后添加自连接边,最后就表示加权求和的过程,F 是最后融合的图的权重,W'_{i}是可学习的参数。

虽然实验结果表明,多图表示法效果最好,但是加权求和起来的图是否可靠是有疑问的,没有理论的支持。而且这样图确定后不能再变了,但是交通预测中图是随时间变化的。

上面介绍的都是人为的手工去构造图结构,那么能不能用深度学习的方法自动的学习图结构呢?下面来看:

解释一下上面的公式:​\widetilde{A}_{apt}^{}k 是邻接矩阵,X 是输入特征,W_{k} 是卷积核参数,和ChebNet网络很相似。

这篇文章中的邻接矩阵是可学习的,\widetilde{A}_{apt}^{}k ​就是自适应的邻接矩阵,但是由于\widetilde{A}_{apt}^{}k​是一个N ∗ N 的矩阵,由于参数量太大,直接学习是不现实,所以对\widetilde{A}_{apt}^{}k 进行了相当于矩阵分解的操作,就是\widetilde{A}_{apt}^{}k = SoftMax(ReLu(E_{1}E_{2}^{T}) ,也就是将\widetilde{A}_{apt}^{}k 分解成E_{1}  和 E_{2}^{T} ​。现在假设E_{1}  ∈ R^{N*P},一般P<<N,E_{2}  ∈ R^{N*P}转置后相乘就会把P消掉,所以E_{1}E_{2}^{T}N*N。这样就降低了参数量的作用。

这篇文章只能自动学习到邻接矩阵,学习下来后就固定了,而不能动态的改变邻接矩阵。

那么有没有学习动态的图结构的方法呢?答案是有的。

这个就是说Attention机制在学习注意力参数a_{ij} ​时,不同的输入会学习到不同的a_{ij},所以就达到了学习动态图的效果。


4:小结


5:其他方面

5.1:天气预测

可以发现与交通预测的数据建模很相似。


5.2:骨架视频


5.3:文本分类


5.4:小结

知乎主页https://www.zhihu.com/people/shuang-shou-cha-dai-53icon-default.png?t=LBL2https://www.zhihu.com/people/shuang-shou-cha-dai-53

  • 18
    点赞
  • 107
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值