文章目录
本文为学习产物,学习链接(如有侵权,请告知删除):
人工智能【图神经网络实战】教程,让你一天就学会深入浅出图神经网络GNN,从入门到精通!
一、Graph Attention Network
1.1 图注意力机制作用与方法
图中的注意力机制相当于在某个点进行特征重构时,其邻接点都加上一个权重,使得其在重构特征时受权重较大的邻接点影响更大,起到注意力的效果。
1.2 Attention计算
如下所示,权重参数a的计算是我们最应该关注的点
权重参数a怎么计算呢?
最简单的方法如下:
假设图中节点1、节点2、节点3的特征向量分为为A1、A2、A3
a12 = A1 与 A2 的内积 ; a13 = A1 与 A3的内积
再对a12和a13进行softmax操作即可得到两条边的权重参数啦!
稍微复杂一点的方法如下:
例如我们要计算权重参数a12
- 我们可以将A1和A2拼接为一个一维行向量
- 然后令其右乘一个可训练的参数(同长度的一维列向量,可以看作输入为行向量长度输出为1的一个全连接层)
- 然后再连接LeakyRelu激活函数确保其为非负值
- 最后连接softMax激活函数进行归一化。
这样随着训练,权重参数的计算会越来越“准确”
1.3 Graph Attention 做了什么
其实就是对邻接矩阵进行了加权。权重越大,网络就越“注意”它。
二、序列图神经网络TGCN
2.1 序列图神经网络TGCN的应用
左图展示的是静态图,随着时间的变化,其图的邻接矩阵不发生改变(图的结构不变)
右图展示的是动态图,随着时间的变化,其图的邻接矩阵也在变化(图的结构在变)
对于动态图,传统的GNN就不太好用了,想想在时间序列数据上我们最常用的网络是什么?没错,是RNN。
所以,将GNN套用在RNN上,就构成了这一章的主角:序列图神经网络TGCN
下面,让我们来看看TGCN的具体应用场景:
- 交通的预测(交通路线不是固定的,可能明天就有一条新路通车了,或者有一条路被封闭了)
- 疾病的蔓延(一方面有地区交通决定,一方面由蔓延时间所决定)
- 手势识别(手的关节点是一个图,随着时间的变化,图会改变)
2.2 序列图神经网络细节(实例:交通流量预测)
2.2.1 交通场景示意图
2.2.2 根据道路和传感器构建图
2.2.3 构建序列输入
由于传感器上的数值不是固定的,而是随着时间的变化而变化的(例如,每5分钟更新采集一次当前车流量数据),所以我们还需要考虑时间序列,例如我们可以这样构造序列输入:
2022-10-06 :[45,8,9,775,56,3]
2022-10-07 :[24,5,6,33,44,24]
2022-10-08 :[78,3,1,498,65,7]
…
2.2.4 套用RNN模型
如何套用RNN模型呢?
最简单的思路是:我们可以将每个时刻的序列先送入GCN进行特征提取,然后再将提取后的特征送入GRU单元往后传递,依此类推。最后,用末尾的GRU单元的输出进行分类或者回归任务。
版权归原作者 WSKH0929 所有, 如有侵权,请联系我们删除。