HOW POWERFUL ARE GRAPH NEURAL NETWORKS? 论文/GIN学习笔记

news2024/11/19 14:39:27

对GNN的评估

GNN 通用表达式

聚合:

a v ( k ) = A G G R E A G T E ( k ) ( { h u ( k − 1 ) : u ∈ N ( v ) } ) a_v^{(k)}=AGGREAGTE^{(k)}(\{ h_u^{(k-1)} : u \in \mathcal{N}(v) \}) av(k)=AGGREAGTE(k)({hu(k1):uN(v)})

更新:

h v ( k ) = C O M B I N E ( k ) ( h v ( k − 1 ) , a v ( k ) ) h_v^{(k)} = COMBINE^{(k)}(h_v^{(k-1)},a_v^{(k)}) hv(k)=COMBINE(k)(hv(k1),av(k))

GNN 的主要任务

节点分类任务:相同邻域有相同表征,不同的邻域有不同的表征

图分类任务:同构图有相同的表征,非同构图有不同的表征

定义1 multiset的广义定义:允许其元素有多个实例的集合。

multiset是一个二元组 X = ( S , m ) X = (S, m) X=(S,m)

  • S 是由不同元素形成的X的基础集合
  • m : S → N ≥ 1 m : S \rightarrow N_{\ge 1} m:SN1 给出了元素的 multiset

举个例子,节点集合是S,每个节点的邻居集合是m

引理2 假设 G1 和 G2 是两个不同构的图。如果对于一个GNN模型 A, G1 和 G2 有着不同的嵌入,那么WL图同构检测也能得到同样的结果。


引理2说明:任何基于聚合的GNN的效果天花板是WL算法。

WL测试:有效且计算高效的检测图同构算法

  • 迭代地聚合节点及其邻居的标签
  • 哈希聚合的标签为新的标签
  • 对比标签,如果在某次迭代中两个图的节点标签不同则不是同构的

定理3 假设 A 是一个GNN模型。如果由足够多的GNN层,A 能够将任何WL算法检测为非同构的图 G1 和 G2 表达为不同的嵌入。同时,这需要满足以下约束:

  • A 通过 h v ( k ) = ϕ ( h v ( k − 1 ) , f ( { h u ( k − 1 ) : u ∈ N ( v ) } ) ) h_v^{(k)} = \phi (h_v^{(k-1)}, f(\{ h_u^{(k-1)} : u \in N(v) \})) hv(k)=ϕ(hv(k1),f({hu(k1):uN(v)})) 迭代地聚合和更新节点特征
    • 其中, f f f作用于multiset, ϕ \phi ϕ是单射的
  • A 的 graph-level readout (作用于节点特征 { h v ( k ) } \{ h_v^{(k)} \} {hv(k)}的multiset) 是单射的

Readout函数:输入节点嵌入生成整图嵌入的函数

定理3说明:如果聚合邻居的函数和graph-level readout函数是单射的,那么GNN的结果可以和WL算法一样好

引理4 假设输入的特征空间 X \mathcal{X} X 是可数的,如果 g ( k ) g^{(k)} g(k) 是由GNN的第k层参数化的函数 (k=1,2,3,…,L, g ( 1 ) g^{(1)} g(1)定义在有界的multiset X ⊂ X X \subset \mathcal{X} XX 上),那么 g ( k ) g^{(k)} g(k) 的范围也是可数的 (对于k=1,2,3,…,L)


疑惑:是在讲收敛性吗?

GNN 相比 WL 的优势

  • 由于WL算法的节点特征向量本质上是one-hot encodings,因此无法得知子树的相似性。
    • 疑问:多次迭代不就可以知道n阶邻居的信息了吗,是因为哈希方法处理特征所以无法有效保存结构信息吗?
  • 但满足定理3的GNN模型可以获得图结构的相似性,学习为子树生成低维嵌入。

Graph Isomorphism Network (GIN)

GIN满足定理3,是WL算法的推广,因此取得了一众GNN中最好的判别效果

引理5 假设 X \mathcal{X} X 是可数的。那么存在一个函数 f : X → R n f : \mathcal{X} \rightarrow \R ^n f:XRn 使得 h ( X ) = ∑ x ∈ X f ( x ) h(X) = \sum_{x \in X} f(x) h(X)=xXf(x) 对于每一个有界的multiset x ⊂ X x \subset \mathcal{X} xX 是唯一的。此外,对于某些函数 ϕ \phi ϕ ,任何 multiset 函数 g 都可以被分解为 g ( X ) = ϕ ( ∑ x ∈ X f ( x ) ) g(X) = \phi (\sum _{x \in X} f(x)) g(X)=ϕ(xXf(x))


引理5说明:累加聚合器是单射的,是multiset的通用函数

推论6 假设 X \mathcal{X} X 是可数的。那么存在一个函数 f : X → R n f : \mathcal{X} \rightarrow \R ^n f:XRn ,对于 ϵ \epsilon ϵ 的无限个选择 (包含所有无理数) ,对于每一对 ( c , X ) (c,X) (c,X) h ( c , X ) = ( 1 + ϵ ) ⋅ f ( c ) + ∑ x ∈ X f ( x ) h(c, X) = (1+\epsilon) \cdot f(c) + \sum_{x \in X} f(x) h(c,X)=(1+ϵ)f(c)+xXf(x) 是唯一的 (其中 c ∈ X , X ⊂ X c \in \mathcal{X}, X \subset \mathcal{X} cX,XX)。此外,对于一些函数, ( c , X ) (c,X) (c,X) 上的任何函数都可以被分解为 g ( c , X ) = φ ( ( 1 + ϵ ) ⋅ f ( c ) + ∑ x ∈ X f ( x ) ) g(c, X) = \varphi ((1 + \epsilon) \cdot f(c) + \sum_{x \in X} f(x)) g(c,X)=φ((1+ϵ)f(c)+xXf(x))


推论6在众多聚合方案中提供了一个简单而具体的公式。

GIN 更新公式 - 节点:

h v ( k ) = M L P ( k ) ( ( 1 + ϵ ( k ) ) ⋅ h v ( k − 1 ) + ∑ u ∈ N ( v ) h u ( k − 1 ) ) h_v^{(k)} = MLP^{(k)} ((1 + \epsilon^{(k)}) \cdot h_v^{(k-1)} + \sum_{u \in \mathcal{N}(v)} h_u^{(k-1)}) hv(k)=MLP(k)((1+ϵ(k))hv(k1)+uN(v)hu(k1))

  • MLP : 多层感知机
  • ϵ \epsilon ϵ : 可学习的参数或固定值

GIN Readout函数 - 整图:

h G = C O N C A T ( R E A D O U T ( { h v ( k ) ∣ v ∈ G } ) ∣ k = 0 , 1 , . . . , K ) h_G = CONCAT(READOUT(\{ h_v^{(k)} | v \in G \}) | k=0,1,...,K ) hG=CONCAT(READOUT({hv(k)vG})k=0,1,...,K)

通过定理3 和 推论6 可知,如果使用上式作为readout函数(累加相同迭代的所有节点特征作为图的表征),那么它是WL的推广。

GNN方法对比

单层感知机 vs 多层感知机

引理7 存在有限个multiset X 1 ≠ X 2 X_1 \neq X_2 X1=X2 ,对于任何线性映射 W, ∑ x ∈ X 1 R e L U ( W x ) = ∑ x ∈ X 2 R e L U ( W x ) \sum _{x \in X_1} ReLU(Wx) = \sum_{x\in X_2} ReLU(Wx) xX1ReLU(Wx)=xX2ReLU(Wx)


引理7说明:存在仅用单层感知机的模型永远无法区分的网络邻域 (multiset)

  • 缺少偏置项的单层感知机类似于线性映射,GNN层退化为仅仅累加邻居特征,引理7就是基于此证明得到的。
  • 相比MLPs,单层感知机 (即使存在偏置项) 就算能够在某种程度上嵌入不同的图到不同的位置,依然难以捕获结构的相似性,因此难以完成分类任务。

聚合方法对比 - Mean && Max && Sum

请添加图片描述

  • sum 捕获完整的multiset
  • mean 捕获multiset中元素的分布 / 比例
  • max 则忽略了多样性,将multiset简化为一个简单的集合

请添加图片描述

  • (a) 图的两种结构使用mean和max无法区分
  • (b) 图的两种结构使用max无法区分
  • © 图的两种结构使用mean和max无法区分

Mean和Max方法是置换不变的,但不是单射的。而三种方法中,Sum方法更接近偏向单射。

Mean

推论8 假设 X \mathcal{X} X 是可数的。存在一个函数 f : X → R n f : \mathcal{X} \rightarrow \R ^n f:XRn 使得当且仅当 X 1 X_1 X1 X 2 X_2 X2 有着相同的分布时, h ( X ) = 1 ∣ X ∣ ∑ x ∈ X f ( x ) , h ( X 1 ) = h ( X 2 ) h(X) = \frac{1}{|X|} \sum _{x \in X} f(x), h(X_1) = h(X_2) h(X)=X1xXf(x),h(X1)=h(X2) 。也就是说,假设 ∣ X 2 ∣ ≥ ∣ X 1 ∣ |X_2| \ge |X_1| X2X1 ,那么,对于一些 k ∈ N ≥ 1 k \in \N _{\ge 1} kN1 ,我们有 X 1 = ( S , m ) X_1 = (S,m) X1=(S,m) X 2 = ( S , k ⋅ m ) X_2 = (S, k \cdot m) X2=(S,km)


该定理说明了使用Mean无法区分的情况,对于Mean而言:

  • X 1 = ( S , m ) X_1 = (S,m) X1=(S,m) X 2 = ( S , k ⋅ m ) X_2 = (S, k \cdot m) X2=(S,km) 时, X 1 = X 2 X_1 = X_2 X1=X2 。( k ⋅ m k \cdot m km 表示有k个m的复制 )
  • 捕获的只是邻居特征的分布
  • 适合节点分类任务,因为在这类任务节点的特征丰富,并且邻域特征的分布有着巨大的重要性

Max

推论9 假设 X \mathcal{X} X 是可数的。存在一个函数 f : X → R ∞ f : \mathcal{X} \rightarrow \R ^{\infty} f:XR 使得得当且仅当 X 1 X_1 X1 X 2 X_2 X2 有着相同的基础集时, h ( X ) = M A X x ∈ X f ( x ) , h ( X 1 ) = h ( X 2 ) h(X) = MAX _{x \in X} f(x), h(X_1) = h(X_2) h(X)=MAXxXf(x),h(X1)=h(X2)


该定理说明了使用Max无法区分的情况,对于Max而言:

  • 既不捕获结构信息也不捕获分布信息,捕获的是 the underlying set of a multiset
  • 适合识别代表性元素或 ”skeleton“ 的任务,如3D点云的骨架,并且对噪声和异常值具有鲁棒性

实验

请添加图片描述

  • GIN- ϵ \epsilon ϵ : 通过梯度下降法学习 ϵ \epsilon ϵ
  • GIN-0 : 设置 ϵ \epsilon ϵ为固定值0

请添加图片描述

可以看出,GIN- ϵ \epsilon ϵ 和 GIN-0 对于所有数据集都有这不错的效果。此外,GIN-0 略优于 GIN- ϵ \epsilon ϵ,作者归因于其简单性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/124846.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【JavaSE成神之路】流程控制语句

哈喽,我是兔哥呀,今天就让我们继续这个JavaSE成神之路! 这一节啊,咱们要学习的内容是流程控制语句。 先来看概念 Java的流程控制语句是指用来控制程序执行流程的语句,它们可以改变程序的执行顺序,使程序更…

javaee之SpringMVC1

三层架构与MVC设计模式介绍 一张图介绍 之前在写软件设计的三层架构的时候,有一张图直接拿过来 springMVC的一些简单介绍 入门案例 一、入门案例之需求分析 二、搭建开发环境 1.利用骨架创建一个maven项目 因为这个项目要部署到服务器,所以采用如下骨…

代码质量与安全 | 如何将清洁代码标准扩展到整个企业,促进业务上的成功?

清洁代码能够让软件开发工作变得更简单、更有趣。因为如果代码不够清洁,开发人员将花费很多时间在解决编码问题上,使他们无法将精力投入开发新代码、解决其他更有趣的问题上。 那么,该如何将清洁代码标准扩展到整个企业呢?阅读本…

操作系统:进程与线程之间的区别及联系

一、定义 1、进程:进程是一个具有独立功能的程序关于某个数据集合的以此运行活动。 是系统进行资源分配和调度的独立单位,也是基本的执行单元。是一个动态的概念,是一个活动的实体。它不只是程序的代码,还包括当前的活动。 进程…

学习UI设计都可以学习哪些软件?

学UI设计要学习哪些工具软件?今天来做个大盘点 ​Photoshop(简称PS) 不懂设计的人也听说过PS著名大名。确切地说,确切地说,PS它是一款强大的综合性软件,主要用于位图处理,可以做图片处理,也可以做UI设计、平…

【财务】FMS财务管理系统---日常数据核对与处理

开发FMS财务管理系统,每天都会与数据打交道,数据的核对与处理是日常工作的一部分,相信接触过财务系统的同学都深有感触,为了一个差异查来查去,最终发现是前端业务系统的问题,白忙一场,本篇就说一…

筑博设计:知识管理数字化提升企业核心竞争力

编者按:这是一个真正与业务相融合的知识管理系统,筑博设计陈主任的分享专业且精细,从容而豁达,不仅有行业的经验,还有做事的方法,更有做人的情怀,让我们看到了“知识就是力量,知识使…

【HTML+CSS+JavaScript】实现萤火虫闪烁效果

文章目录【HTMLCSSJavaScript】实现萤火虫闪烁效果一. 效果图二. HTML部分代码三. CSS部分代码四. JavaScript部分代码五. 外部js文件代码六. 完整的代码和图片获取【HTMLCSSJavaScript】实现萤火虫闪烁效果 本文主要讲解屏幕不断闪烁星光效果(配合夜晚深林的背景图…

使用DataSecurity Plus监控Windows文件完整性

使用我们的文件完整性监控软件DataSecurity Plus,与精明的黑客,突发的恶意软件爆发以及挑战法规要求进行战斗。这种先进的工具还有助于生成可操作的报表,提供基于严重性的告警,简化合规性要求,发现妥协指标&#xff0c…

ip route常用语法

官方手册参考: ip-rule(8) - Linux manual page #interface ens11f0 #Bring up an interface ip link set dev ens11f0 up ip addr add 11.126.48.231/27 dev ens11f0#Use table 101 with metrics 101 for specific interface routing #Each interface should use i…

科技云报道:信创基础设施迎来“升级潮”,可持续性架构成关键技术

科技云报道原创。 如果说单一领域的技术突破是河流,信创毫无疑问是汪洋大海。 随着“数字中国”战略的明确,数字化转型进程加速,信创产业成为国家战略布局的重点领域之一,是缩短科技发展周期以及国内外科技差距的一剂良方。 2…

立根铸魂,崛起数智时代 | 麒麟信安携手openEuler 共推操作系统产业腾飞发展!

操作系统产业峰会2022于12月28日在线上举办。本次峰会由开放原子开源基金会、中国软件行业协会、CCF(中国计算机学会)开源专委会、绿色计算产业联盟、中关村科学城管委会共同主办,华为、麒麟信安等单位共同协办,以“立根铸魂 崛起…

数据结构基础:P1-基本概念----编程作业02:Maximum Subsequence Sum

本系列文章为浙江大学陈越、何钦铭数据结构学习笔记,前面文章链接如下: 数据结构基础:P1-基本概念 数据结构基础:P1-基本概念----编程作业01:最大子列和问题 文章目录一、题目描述二、代码实现一、题目描述 题目描述&…

【408篇】C语言笔记-第十九章(C语言语法进阶)

文章目录第一节:条件运算符与逗号运算符1. 条件运算符2. 逗号运算符第二节:自增自减运算符1. 自增自减运算符2. 自增自减运算符与取值运算符第三节:位运算符1. 位运算符2. 异或运算符实例解析第四节:switch和do while讲解1. switc…

使用Bigemap计算挖填土石方量

1、 Bigemap GIS Office 第一步: 用Bigemap GIS Office导出待计算区域的高程数据: 1.1 打开Bigemap GIS Office选择目标区域:如下图: 1.2选择的目标区域的高程数据(NASA, TIF, 高精度高程数据) 1…

【SSM框架】MyBatis核心配置文件详解

1.MyBatis核心配置文件之environments <!--environments&#xff1a;配置多个连接数据库的环境 属性&#xff1a;default&#xff1a;设置默认使用的环境的id --><environments default"development"><!--environment&#xff1a;配置某个具体的环境 …

C++ opencv形态学、轮廓查找、特征检测和图像分割

C opencv形态学、轮廓查找、特征检测和图像分割形态学基本处理方法二值化全局二值化局部二值化腐蚀和膨胀图像形态学运算开运算闭运算顶帽黑帽代码图像轮廓寻找轮廓绘画轮廓轮廓的面积和周长多边形逼近和凸包多边形逼近凸包外接矩形最小外接矩形最大外接矩形案例车辆检测&#…

召回和排序模型中的用户行为序列的建模

1. 概述 用户在使用一个APP或者浏览网页的过程中&#xff0c;都是由一些行为构成的&#xff0c;以资讯类为例&#xff0c;通常对一个帖子感兴趣&#xff0c;对于感兴趣的帖子&#xff0c;通常会点击进入查看&#xff0c;或者点击收藏或者对其进行评论&#xff0c;这一系列行为…

电脑录屏怎么录全屏?win10电脑如何录屏

随着互联网的发展&#xff0c;线上办公以及网课越来越频繁&#xff1b;线上办公或者网课都是使用电脑来完成工作和学习的&#xff1b;那Win10电脑如何录屏以及电脑录屏怎么录屏全屏呢&#xff1f;接下来给大家分享三个电脑录制全屏的教程方法给大家&#xff1b; win10录制全屏方…

【MySQL】绿色版下载配置教程(Windows)

文章目录下载MySQL压缩包1 创建my.ini文件2 配置mysql环境变量3 在终端执行命令下载MySQL压缩包 https://dev.mysql.com/downloads/mysql/ 1 创建my.ini文件 模板内容如下 [mysqld] basedir D:\\Program Files\\mysql # 设置mysql的安装目录 datadir D:\\Program Files\\m…