GIN--HOW POWERFUL GNN
HOW POWERFUL ARE GRAPH NEURAL NETWORKS?
本文是 Jure Leskovec 又一力作,首先对图神经网络的原理做了深入检出、提纲挈领的叙述,然后从原理方面介绍了如何发挥图神经网络的效用。
图神经网络可以分为三个阶段:
-
Aggregate:聚合邻居节点信息
-
Combine:聚合邻居和当前节点
-
Readout:整合表示图中所有节点
在GraphSAGE中,Aggregate和Combine过程如下,GCN同理
那么如何衡量图神经网络是否学到了良好的表示,这里提到了 Weisfeiler-Lehman test ,有兴趣可以下去研究。
文章的和核心出发点在于:对于子树结构相同且对应节点特征相同的的俩个节点,一个有效的GNN应该有能力映射两个节点到embedding空间中相同的位置,决不会将两个不同的节点映射到同一embedding空间位置。
Intuitively, a maximally powerful GNN maps two nodes to the same location only if they have identical subtree structures with identical features on the corresponding nodes
A maximally powerful GNN would never map two different neighborhoods
因此,GNN的Aggregate必须是单射的,单射函数(一对一函数)如下
由此引出定理3,定理3是本文中一个重要的定理,其规定了一个powerful GNN的理论形式,即函数 的变量是一个multiset,Combine 是单射函数, Readout 是单射函数。
那么如何根据定理3设计改进GNN?
GIN:Graph Isomorphism Network
针对节点分类任务,使用nodel-level级GIN:
对于图分类任务,替换 如下
注意到式(4.1)做了两处改变,
- 使用sum作为agg函数
- 使用MLP替代
那么GIN是否有效?实验分别验证了 sum 和MLP 在此发挥的作用,分别用
(1) 1-layer perceptrons instead of MLPs and
(2) mean or max-pooling instead of the sum
根据引理7,单层perceptrons更接近于线性映射,使GNN退化为简单的summing。
作者用下面两个图阐述了sum>mean>max,此部分内容有兴趣可以阅读原文。
实验结果也验证了在大部分模型和任务上,GIN可以带来有效的提升。
原文:HOW POWERFUL ARE GRAPH NEURAL NETWORKS?
官方GitHub:https://github.com/weihua916/powerful-gnns
《Graph Neural Networks多强大?》阅读笔记 - 陈乐天的文章 - 知乎 https://zhuanlan.zhihu.com/p/62006729
GraphSAGE: GCN落地必读论文 - 风浪的文章 - 知乎 https://zhuanlan.zhihu.com/p/62750137
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!