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. 学习ASP.NET Core Blazor编程系列十三——路由(完)

    学习ASP.NET Core Blazor编程系列一--综述 学习ASP.NET Core Blazor编程系列二--第一个Blazor应用程序(上) 学习ASP.NET Core Blazor编程系 ...

  2. MyBatis详解(一)

    MyBatis简单介绍 [1]MyBatis是一个持久层的ORM框架[Object Relational Mapping,对象关系映射],使用简单,学习成本较低.可以执行自己手写的SQL语句,比较灵活 ...

  3. 【离线数仓】Day03-系统业务数据仓库:数仓表概念、搭建、数据导入、数据可视化、Azkaban全调度、拉链表的使用

    一.电商业务与数据结构简介 1.业务流程 2.常识:SKU/SPU SKU=Stock Keeping Unit(库存量基本单位).现在已经被引申为产品统一编号的简称,每种产品均对应有唯一的SKU号. ...

  4. Linux 系统用户文件缺失造成“bash-4.2$”错误的解决办法

    一.问题出现的原因 造成这个现象的原因是因为用户文件夹下的bash_logout.bash_profile和bashrc这三个隐藏文件缺失 二.问题复现 现在删除这三个文件 此时问题出现了 三.问题解 ...

  5. Octave/Matlab初步学习

    Octave/Matlab初步学习 1.基本运算 和其他语言一样,可以通过数学运算符号来实现数学公式的运算.逻辑运算也基本相同 要注意的是,≠这个符号,表达式为 1 ~= 2 而不是用!=来表达 ​ ...

  6. 使用Git提交代码

    目录 1.提交前准备工作 2.代码提交步骤 3.从git上面拉代码 4.Git变更集 5.参考资料 1.提交前准备工作 首先去git官网下载git工具(Git GUI Here.Git Bash He ...

  7. salesforce零基础学习(一百二十四)Postman 使用

    本篇参考: Salesforce 集成篇零基础学习(一)Connected App salesforce 零基础学习(三十三)通过REST方式访问外部数据以及JAVA通过rest方式访问salesfo ...

  8. P1162填涂颜色——题解

    题目描述 由数字0组成的方阵中,有一任意形状闭合圈,闭合圈由数字1构成,围圈时只走上下左右4个方向.现要求把闭合圈内的所有空间都填写成2.例如:6×6的方阵(n=6),涂色前和涂色后的方阵如下: 0 ...

  9. vue3实现一个抽奖小项目

    前言 在公司年会期间我做了个抽奖小项目,我把它分享出来,有用得着的可以看下. 浏览链接:http://xisite.top/original/luck-draw/index.html 项目链接:htt ...

  10. java 进阶P-6.2+P-6.3

    细胞自动机 CellularAutomation(细胞自动机)细胞自动机(英语:Cellular automaton),又称格状自动机.元胞自动机,是一种离散模型,在可算性理论.数学及理论生物学都有相 ...