李宏毅机器学习课程梳理【九】:GNN&Spatial-based GNN

摘要

上一篇文章介绍了卷积神经网络,一个多维列向量作为卷积神经网络的输入,经过卷积、池化与全连接网络后会对图像等识别工作取得较好结果,而不能处理数据结构中“图”的概念。本文介绍的Spatial-based GNN,受到卷积层计算的启发,考虑图的节点与边等结构,设计出符合图结构的Model。文章介绍了五种Spatial-based GNN及其有效性的判别结论。

1 引入图神经网络

Graph如何输入进神经网络里面?如何输入图的结构、节点和边的feature?
如果Graph有20k个节点如何处理?
如果Training Set中数据量很大,不能将全部数据Labeled,如何训练model?
GNN如何捕捉邻居关系来训练model?

如何将图的节点嵌入到feature space中做卷积?
方法一:借鉴CNN,用邻居更新Feature Map,Spatial-based convolution方法。
Aggregate:用邻居的特征更新Feature Map、也就是更新下一层的hidden state,示意图如图1所示。
1
Readout:把所有节点的特征集合起来代表整个graph

方法二:使用Signal Processing理论,经过一系列步骤得到经过Filter的输出,Spectral-based convolution方法

2 Spatial-based GNN

NN4G(Neural Networks for Graph)

NN4G这个model是采用方法一Spatial-based convolution,Model的Input layer输入节点、边和特征,Hidden layer 0使用特征矩阵提取每一个节点特征,这两个步骤的示意图如图2所示。
2
接下来Aggregate,NN4G把算法设计成将邻居的特征相加、经过一次Transform、再加上原本的Input layer的特征。示意图如图3所示。
3
最后Readout,叠的各层分别对特征取平均、经过一次Transform、再相加变成一个Feature,代表整个Graph的特征。示意图如图4所示。
4

DCNN(Diffusion-Convolution Neural Network)

以相同的输入图为例,Hidden layer 0设计成将所有与被计算节点距离为1的节点求平均、再微分,每一个节点做相同的事情,示意图如图5所示。
5
再叠加的层更新Feature时,所用特征的数据来源于Hidden layer 0,将Hidden layer 1中所有与被计算节点距离为2的节点求平均、再微分,每一个节点做相同的事情,示意图如图6所示。
6
Output layer的节点特征计算:
7
图7假设叠了K层,将某个节点在K层矩阵中对应数值取出来,经过一次Transform,即得到节点特征。

DGC(Diffusion Graph Convolution)

在Input layer、Hidden layer与DCNN相同,在Output layer采取相加,而非Transform,如图8所示。
8

MoNET(Mixture Model Networks)

Aggregate时,被计算节点的邻居之间应该考虑权重。定义节点之间的距离,即每条边都计算 u x , y u_{x,y} ux,y来表示节点x与节点y之间的距离,将距离Transform后作为权重。如图9所示。
9

GAT(Graph Attention Networks)

不仅要考虑权重,还让权重是机器自己学的。定义目标节点与其邻居的energy,如图10所示。
10
GAT目前使用很广泛。

GIN(Graph Isomorphism Network)

基于图相对复杂的结构,使用Max和Mean可能会导致失败,有效地更新特征的式子应该为 h v ( k ) = M L P ( k ) ( ( 1 + ϵ ( k ) ) ⋅ h v k − 1 + ∑ h u k − 1 ) h_v^{(k)}=MLP^{(k)}\big((1+\epsilon^{(k)})\cdot h_v^{k-1}+\sum h_u^{k-1}\big) hv(k)=MLP(k)((1+ϵ(k))hvk1+huk1),求和是较好的处理。

3 总结与展望

本文介绍的Spatial-based GNN,受到卷积层计算的启发,考虑图的节点与边等结构,设计出符合图结构的Model。文章介绍了五种Spatial-based GNN及其有效性的判别结论。接下来将介绍Graph Signal Processing and Spectral-based GNN以及衡量GNN效果的Benchmark。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值