带你读论文:WL算法到神经网络:high-order GNN

论文:《Weisfeiler and Leman Go Neural: Higher-Order Graph Neural Networks》

发表于AAAI-2019

在这里插入图片描述

文章脉络:

1.证实了GNN在非同构图区分上并不比WL算法强,并且在某种特定情况下,GNN与WL算法具有同等效力,所以也具有相同的问题

2.从K-WL算法受到启发提出了K-GNN模型,从粗细粒度方面能够更好的提取信息

3.实验证实了文章提出的higher-order GNN对于图分类和图回归都十分重要

文章在介绍相关方法时主要分成了两部分,包括后面的对比试验也是,文章将图领域内的方法分为两种,一种是基于核的方法,例如基于随机游走或者最短距离内核的等等算法,另外就是GNN系列的方法,比如Gated Graph Neural Networks,GraphSAGE, SplineCNN等等,其中,WL算法是属于基于核方法的一种方法。

首先,什么是WL算法?

WL算法: Weisfeiler-Lehman算法,于1968年提出,其实是一种检验同构图的一种方法,但是其方法与现在的GNN有异曲同工之处,所以现在在图论中是一个比较重要的算法,并且本次介绍的另一篇论文中也有提到WL算法的优越性

WL算法是一种区别同构图的算法,那么首先,介绍一下同构图:

定义:假设G=(V,E)和G1=(V1,E1)是两个图,如果存在一个双射m:V→V1,使得对所有的x,y∈V均有xy∈E等价于m(x)m(y)∈E1,则称G和G1是同构的。

在这里插入图片描述
在这里插入图片描述

图来自CSDN:https://blog.csdn.net/qq_27590277/article/details/106264298

判断同构图的意义:在分析社会网络、蛋白质、基因网络等通常会考虑彼此间的相似度问题,比如说,具有相似结构的分子可能具备相似的功能特性,因此度量图的相似度是图学习的一个核心问题。

而图同构问题通常被认为是 NP 问题,目前最有效的算法是 Weisfeiler-Lehman 算法,可以在准多项式时间内进行求解。

1-WL:以一维WL算法为例:

在这里插入图片描述
在这里插入图片描述

a:给出两个标签 Label 的图

b:考虑节点邻域的标签,并对此排序。(4,1135 表示当前节点标签为 4,其领域节点标签排序后为 1135)

c:对标签进行压缩映射

d:得到新标签

e:迭代 1 轮后,利用计数函数分别得到两张图的计数特征,得到图特征向量后便可计算图之间的相似性了

而说到GNN与WL,就要提到另一篇文章:

《How powerful are graph neural network?》

发表于ICLR-2019
在这里插入图片描述

这是他们的理论模型。

WL的强悍之处:

文章指出WL-test 是 GNN 的性能上界,通篇文章都在使GNN能够接近WL算法

一般来说,一个好的 GNN 的算法仅仅会在两个节点具有相同子树结构的情况下才会将其映射到同一位置。由于子树结构是通过节点邻域递归定义的,所以我们可以将分析简化为这样一个问题:GNN 是否会映射两个邻域到相同的 Representation?一个好的 GNN 永远不会将两个不同领域映射得到相同的 Representation。即聚合模式必须是单射。WL-test 之所以那么强主要原因在于单射聚合更新(injective aggregation update)
在这里插入图片描述

本文提出的GIN,也就是满足单射函数的图同构网络(Graph Isomorphism Network)

主要从结构与信息两方面,导致GIN比GNN与其他GNN的变体强。

信息捕捉方面:

在这里插入图片描述

结构方面:

在这里插入图片描述

对于图 a 来说,max 和 mean 池化操作无法区分其结构,聚合邻居节点后最终标签都为 b,而对于 sum 操作来说 可以得到 2b 和 3b;

对于图 b 来说,max 操作无法区分,而 mean 和 sum 可以区分;

对于图 c 来说,max 和 mean 都无法区分,而 sum 依然可以区分。

由此可见,max 和 min 并不满足单射性,故其性能会比 sum 差一点。

结果分析:
在这里插入图片描述
在这里插入图片描述

再回到我们的这篇文章:他首先阐明了GNN与WL的相似性,然后参考K-WL算法提出了High-order的GNN网络

常规GNN:

在这里插入图片描述

在这里插入图片描述

为了防止过拟合,作者建议使用下面的方法:

在这里插入图片描述

在这里插入图片描述

这里就和之前文章中的有些类似(https://blog.csdn.net/deep_revealer/article/details/110816982),那就是将几个节点看作是一个节点,文中是1-GNN就是一个节点就是一个节点,2-GNN就是两个节点看作一个节点,以此类推,来提取不同情况下的结果,再进行pooling再经过MLP进行下游任务。

实验结果分析:

主要分了下列几种情况来进行实验:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

结论与展望:

1.就区分非同构图而言,GNN原则上具有相同的功能,同时具有适应给定数据分布的额外好处。所以本文提出了k-GNN,它是基于k-WL的GNN的泛化。

2.K-GNN能够获取更多的结构信息。在大规模分子学习任务中,k-GNN始终优于1-GNN。

3.之后在进行结点分类的时候也可以尝试使用k-GNN的方法来进行方法设计,另外,《HOW POWERFUL ARE GRAPH NEURAL NETWORKS?》这篇文章还有很多GNN最近关注的问题,比如其中提到的WL算法,这篇文章就应该是受到了一定程度的启发。

4.今后做GNN相关工作和算法,图论里面的一些基础还是比较重要,其实虽然有点复杂,但是也比较有意思,不说研究多深,但是起码见多了会受到一些启发。

欢迎关注我的CSDN博客:https://blog.csdn.net/deep_revealer
欢迎关注我的微信公众号:深度revealer
欢迎关注我的github:https://github.com/Zhankun-Xiong

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值