GIN--HOW POWERFUL GNN
HOW POWERFUL ARE GRAPH NEURAL NETWORKS?
本文是 Jure Leskovec 又一力作,首先对图神经网络的原理做了深入检出、提纲挈领的叙述,然后从原理方面介绍了如何发挥图神经网络的效用。
图神经网络可以分为三个阶段:
Aggregate:聚合邻居节点信息
\[a^{(k)}_v = AGGREGATE^{(k)}(\{h_{\mu}^{(k−1)}:\mu\in N(v)\})
\]Combine:聚合邻居和当前节点
\[h_{\mu}^{(k)} = COMBINE^{(k)}({h_{\mu}^{(k−1)},a^{(k)}_v})
\]Readout:整合表示图中所有节点
\[h_G = READOUT(\{h^{(K)}_v|v \in G\})
\]
在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的理论形式,即函数 \(f\) 的变量是一个multiset,Combine \(\phi\) 是单射函数, Readout 是单射函数。

那么如何根据定理3设计改进GNN?
GIN:Graph Isomorphism Network
针对节点分类任务,使用nodel-level级GIN:

对于图分类任务,替换 \(h_G\) 如下

注意到式(4.1)做了两处改变,
- 使用sum作为agg函数
- 使用MLP替代 \(\sigma W\)
那么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
GIN--HOW POWERFUL GNN的更多相关文章
- 论文解读(GIN)《How Powerful are Graph Neural Networks》
Paper Information Title:<How Powerful are Graph Neural Networks?>Authors:Keyulu Xu, Weihua Hu, ...
- 论文解读(KP-GNN)《How Powerful are K-hop Message Passing Graph Neural Networks》
论文信息 论文标题:How Powerful are K-hop Message Passing Graph Neural Networks论文作者:Jiarui Feng, Yixin Chen, ...
- PGL图学习之图神经网络GraphSAGE、GIN图采样算法[系列七]
0. PGL图学习之图神经网络GraphSAGE.GIN图采样算法[系列七] 本项目链接:https://aistudio.baidu.com/aistudio/projectdetail/50619 ...
- zz【清华NLP】图神经网络GNN论文分门别类,16大应用200+篇论文最新推荐
[清华NLP]图神经网络GNN论文分门别类,16大应用200+篇论文最新推荐 图神经网络研究成为当前深度学习领域的热点.最近,清华大学NLP课题组Jie Zhou, Ganqu Cui, Zhengy ...
- 论文解读(soft-mask GNN)《Soft-mask: Adaptive Substructure Extractions for Graph Neural Networks》
论文信息 论文标题:Soft-mask: Adaptive Substructure Extractions for Graph Neural Networks论文作者:Mingqi Yang, Ya ...
- HDOJ 3593 The most powerful force
树形DP / 泛化物品的背包...可以去看09年徐持衡论文<浅谈几类背包问题> The most powerful force Time Limit: 16000/8000 MS (Jav ...
- CodeForces 86D Powerful array(莫队+优化)
D. Powerful array time limit per test 5 seconds memory limit per test 256 megabytes input standard i ...
- hdu 4150 Powerful Incantation
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=4150 Powerful Incantation Description Some dangerous ...
- D. Powerful array 莫队算法或者说块状数组 其实都是有点优化的暴力
莫队算法就是优化的暴力算法.莫队算法是要把询问先按左端点属于的块排序,再按右端点排序.只是预先知道了所有的询问.可以合理的组织计算每个询问的顺序以此来降低复杂度. D. Powerful array ...
- 10+ powerful debugging tricks with Visual Studio
10+ powerful debugging tricks with Visual Studio Original link : http://www.codeproject.com/Articles ...
随机推荐
- 当resource bundle 的多语言文件里包含引号'时
背景 项目中使用Spring的ReloadableResourceBundleMessageSource这个类来实现多语言,有一次字符串里包含引号'时,解析时出了问题,一起来看一下吧 例子 resou ...
- 关于vlc"编解码器暂不支持: VLC 无法解码格式“MIDI” (MIDI Audio)"解决
解决办法 sudo apt install vlc-plugin-fluidsynth
- Jmeter启动报错: ANOMALY: use of REX.w is meaningless (default operand size is 64), Unrecognized option: --add-opens
摘要:需要远程到其他电脑,把本机的jmeter打包发到远程的电脑上,启动jmeter时报错如下: 原因分析:第一反应无法创建java虚拟机我以为是没有JDK,通过CMD Java -version ...
- AI绘画提示词创作指南:DALL·E 2、Midjourney和 Stable Diffusion最全大比拼 ⛵
作者:韩信子@ShowMeAI 深度学习实战系列:https://www.showmeai.tech/tutorials/42 自然语言处理实战系列:https://www.showmeai.tech ...
- 干电池升压5V,功耗比较低
干电池升压5V,功耗10uA PW5100干电池升压5V芯片 输出电容: 所以为了减小输出的纹波,需要比较大的输出电容值.但是输出电容过大,就会使得系统的 反应时间过慢,成本也会增加.所以建议使用一个 ...
- Window系统的mysql数据库定时备份
原文:Window系统的mysql数据库定时备份 - Stars-One的杂货小窝 最近老大提到了数据库备份的功能,由于服务器是window系统的,所以研究了下备份的方案,特此记录 主要是实现每天定时 ...
- 【精选】前端JS面试题35个
1.问:什么是匿名函数?作用是什么? 答:没有名字的函数就是匿名函数,作用有三,把函数当作变量赋值,把函数当作参数(回调函数),把函数当作另一个函数的返回值(闭包) ...
- UVA439 Knight Moves
原题Vjudge 题目大意 有一个骑士,他可以骑马日字型跳跃,问他从A点到B点最少要几步 解题思路 这题就是一个特别裸的广搜板子 它的主要问题在于输入输出 输入的数据我们可以用\(pair\)读入,第 ...
- STL map容器常用API
map容器:键值和实值是分开的,排序规则按照键值排序 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<map& ...
- 【转载】SQL SERVER 将多行数据合并成一行
昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行 比如表中有两列数据 : ep_classes ep_name A ...