HOW POWERFUL ARE GRAPH NEURAL NETWORKS?

本文是 Jure Leskovec 又一力作,首先对图神经网络的原理做了深入检出、提纲挈领的叙述,然后从原理方面介绍了如何发挥图神经网络的效用。

图神经网络可以分为三个阶段:

  1. Aggregate:聚合邻居节点信息

    \[a^{(k)}_v = AGGREGATE^{(k)}(\{h_{\mu}^{(k−1)}:\mu\in N(v)\})
    \]
  2. Combine:聚合邻居和当前节点

    \[h_{\mu}^{(k)} = COMBINE^{(k)}({h_{\mu}^{(k−1)},a^{(k)}_v})
    \]
  3. 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的更多相关文章

  1. 论文解读(GIN)《How Powerful are Graph Neural Networks》

    Paper Information Title:<How Powerful are Graph Neural Networks?>Authors:Keyulu Xu, Weihua Hu, ...

  2. 论文解读(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, ...

  3. PGL图学习之图神经网络GraphSAGE、GIN图采样算法[系列七]

    0. PGL图学习之图神经网络GraphSAGE.GIN图采样算法[系列七] 本项目链接:https://aistudio.baidu.com/aistudio/projectdetail/50619 ...

  4. zz【清华NLP】图神经网络GNN论文分门别类,16大应用200+篇论文最新推荐

    [清华NLP]图神经网络GNN论文分门别类,16大应用200+篇论文最新推荐 图神经网络研究成为当前深度学习领域的热点.最近,清华大学NLP课题组Jie Zhou, Ganqu Cui, Zhengy ...

  5. 论文解读(soft-mask GNN)《Soft-mask: Adaptive Substructure Extractions for Graph Neural Networks》

    论文信息 论文标题:Soft-mask: Adaptive Substructure Extractions for Graph Neural Networks论文作者:Mingqi Yang, Ya ...

  6. HDOJ 3593 The most powerful force

    树形DP / 泛化物品的背包...可以去看09年徐持衡论文<浅谈几类背包问题> The most powerful force Time Limit: 16000/8000 MS (Jav ...

  7. CodeForces 86D Powerful array(莫队+优化)

    D. Powerful array time limit per test 5 seconds memory limit per test 256 megabytes input standard i ...

  8. hdu 4150 Powerful Incantation

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=4150 Powerful Incantation Description Some dangerous ...

  9. D. Powerful array 莫队算法或者说块状数组 其实都是有点优化的暴力

    莫队算法就是优化的暴力算法.莫队算法是要把询问先按左端点属于的块排序,再按右端点排序.只是预先知道了所有的询问.可以合理的组织计算每个询问的顺序以此来降低复杂度. D. Powerful array ...

  10. 10+ powerful debugging tricks with Visual Studio

    10+ powerful debugging tricks with Visual Studio Original link : http://www.codeproject.com/Articles ...

随机推荐

  1. 当resource bundle 的多语言文件里包含引号'时

    背景 项目中使用Spring的ReloadableResourceBundleMessageSource这个类来实现多语言,有一次字符串里包含引号'时,解析时出了问题,一起来看一下吧 例子 resou ...

  2. 关于vlc"编解码器暂不支持: VLC 无法解码格式“MIDI” (MIDI Audio)"解决

    解决办法 sudo apt install vlc-plugin-fluidsynth

  3. Jmeter启动报错: ANOMALY: use of REX.w is meaningless (default operand size is 64), Unrecognized option: --add-opens

    摘要:需要远程到其他电脑,把本机的jmeter打包发到远程的电脑上,启动jmeter时报错如下: 原因分析:第一反应无法创建java虚拟机我以为是没有JDK,通过CMD   Java -version ...

  4. AI绘画提示词创作指南:DALL·E 2、Midjourney和 Stable Diffusion最全大比拼 ⛵

    作者:韩信子@ShowMeAI 深度学习实战系列:https://www.showmeai.tech/tutorials/42 自然语言处理实战系列:https://www.showmeai.tech ...

  5. 干电池升压5V,功耗比较低

    干电池升压5V,功耗10uA PW5100干电池升压5V芯片 输出电容: 所以为了减小输出的纹波,需要比较大的输出电容值.但是输出电容过大,就会使得系统的 反应时间过慢,成本也会增加.所以建议使用一个 ...

  6. Window系统的mysql数据库定时备份

    原文:Window系统的mysql数据库定时备份 - Stars-One的杂货小窝 最近老大提到了数据库备份的功能,由于服务器是window系统的,所以研究了下备份的方案,特此记录 主要是实现每天定时 ...

  7. 【精选】前端JS面试题35个

    1.问:什么是匿名函数?作用是什么?           答:没有名字的函数就是匿名函数,作用有三,把函数当作变量赋值,把函数当作参数(回调函数),把函数当作另一个函数的返回值(闭包)         ...

  8. UVA439 Knight Moves

    原题Vjudge 题目大意 有一个骑士,他可以骑马日字型跳跃,问他从A点到B点最少要几步 解题思路 这题就是一个特别裸的广搜板子 它的主要问题在于输入输出 输入的数据我们可以用\(pair\)读入,第 ...

  9. STL map容器常用API

    map容器:键值和实值是分开的,排序规则按照键值排序 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<map& ...

  10. 【转载】SQL SERVER 将多行数据合并成一行

    昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行 比如表中有两列数据 : ep_classes  ep_name A ...