论文: HOW POWERFUL ARE GRAPH NEURALNET WORKShttps://arxiv.org/abs/1810.00826v1
来源:ICLR 2019
代码: GitHub - weihua916/powerful-gnns: How Powerful are Graph Neural Networks?
【阅读笔记|GIN(图神经网络有多强大? HOW POWERFUL ARE GRAPH NEURALNET WORKS)】内容:从理论上证明了邻域聚合(或称消息传递)的GNN变体的表达能力的严格上限(WL同构检验),同时设计了一个此框架下,最强大的GNN,即GIN
1 邻域聚合/消息传递框架
-
文章图片
- 对每一个节点,首先从领域聚合消息,然后用其更新自身的节点嵌入
- 评价标准:图同构
- 定义:具有相同节点数的G1和G2,若存在两图节点之间的一一映射,使得邻接矩阵不变,则同构
- 如果一个GNN可以将不同构的图映射到不同的嵌入中,那么该GNN有较强的表征能力
- 图同构的一个启发式算法:WL test 什么是Weisfeiler-Lehman(WL)算法和WL Test? - 知乎
-
文章图片
- 文章证明了,当满足适当的条件下,GNN可以达到WL的能力,即GNN的表达能力上限为WL
-
3 GNN的上限以及如何达到上限 为什么上限是WL
-
文章图片
-
文章图片
- 再来看看GNN和WL两个公式,我们发现,他们实际上十分相像,因而有了进行比较的念头
-
文章图片
- 上图说明了GNN和WL test的相同点和区别
- 相同:两跳聚合的时候,都是先由其二阶邻居信息聚合得到一阶邻居节点信息,再由一阶邻居信息聚合得到自己
- 不同:WL test 是由哈希函数聚合,GNN 是由max pooling 或者 mean pooling来聚合
- 哈希函数是单射函数,因而可以保证不同构的图映射到不同的嵌入中,但是max和mean pool并不是单射
可以保证单射的GNN聚合方法:SUM
-
文章图片
- 从表达能力上说,sum>mean>max,sum可以区分多集(即拥有重复元素的集合);mean可以区分不同的分布,而max只能区分底层集合
-
文章图片
- 上图表示了三种不同的情况
- (a):MEAN和MAX都失效了,因为周围节点的底层集合({蓝})是相同的,分布(全蓝)是相同的
- (b):MAX失效,MEAN有效,因为底层集合({绿,红})相同,但分布(左右两图红蓝出现的概率)不同
- (c):MEAN和MAX都失效,因为底层集合({绿,红})和分布(左右两图红蓝出现的概率)都相同
- 但是,如果使用sum函数的话,这三种情况都是何以区分的
- (a):2蓝 和 3蓝
- (b):1红1绿 和 2红1绿
- (c):1红1绿 和 2红2绿
- 上图表示了三种不同的情况
- 那为什么采用Mean的GCN和采用Max的GraphSAGE这么有效呢?
- 因为很多时候,我们的数据集没有那么严苛
- 当数据集中没有多集的时候,max就已经够用了; 当多集的分布不同的时候,mean也够用了
如何达到WL
文章图片
- 两个条件:
- 聚合函数?是单射
- 图级读出函数是单射
以上结论论文通过严格的数学方法进行了证明,感兴趣的同学可以去看看
5 GIN架构
-
文章图片
- 其中MLP为多层感知器,可以近似拟合任何函数
- 文章中的定理5,6给出了其单射的证明
-
文章图片
-
文章图片
- readout模块使用concat+sum,对每次迭代的节点求和得到图的特征,最后拼接起来
- 拟合
-
文章图片
-
- 泛化
-
文章图片
-
7 感想
- 这篇文章理论方面证明了GNN的上限是WL,从此我们可以对GNN的能力有一个较为清醒的认识
- 有人证明WL test最多可以验证3维数据的同构性,更高的也不能了。可能正是因为知晓邻居传递方法的限制,最近几年,基于互信息/对比方法的GNN才多了起来
推荐阅读
- 资讯|为什么有些程序员敲代码太慢,效率太低()
- 芯片|从学术空间通往商业之路 系统性AI芯片专著《人工智能芯片设计》面世
- 算法|AAAI2021(面向交通流预测的时空融合图神经网络)
- 算法|图神经网络(01)-图与图学习(上)
- 神经网络|干货!图神经网络及其自监督学习
- 神经网络|神经网络究竟干了一件什么事()
- 生产系统中的机器学习工程|模型结构设计
- 深度学习|李宏毅机器学习2021——Optimization(最优化)
- 机器学习|Graph Neural Network学习笔记-Day2