论文《Geom-GCN:Geometric Graph Convolutional Networks》笔记

【Geom-GCN】现有的MPNNs方法具有两个基本弱点:①丢失邻域节点的结构信息;②缺乏捕获非同配性图的长距离依赖的能力。本文从经典神经网络和网络几何学的观察出发,提出了一种新的几何聚合方案,该方案利用图背后的连续空间进行聚合,以克服上述弱点。本文将几何聚合方案应用于图卷积网络,提出Geom-GCN,用于执行图上的归纳学习。Geom-GCN通过节点嵌入、结构邻域和双层聚合三个模块来实现。

本文发表在2020年ICLR会议上,第一作者学校:吉林大学,引用量:1016。

ICLR会议简介:全称International Conference on Learning Representations(国际学习表征会议),深度学习顶会。

查询会议:

  • 会伴:https://www.myhuiban.com/

  • CCF deadline:https://ccfddl.github.io/

原文和开源代码链接:

  • paper原文:https://arxiv.org/abs/2002.05287
  • 开源代码:https://github.com/alexfanjn/GeomGCN_PyG

0、核心内容

背景:传统的信息传递神经网络(MPNNs)已成功应用于多种实际应用中的图表示学习,但存在两个基本弱点:丢失邻域节点的结构信息缺乏捕获非同配性图中长距离依赖的能力

问题:现有的MPNNs聚合器在处理图结构数据时,由于其排列不变性的要求,导致无法区分某些非同配图,并且难以捕获图中的长距离依赖。

方法:作者从经典神经网络和网络几何学的观察出发,提出了一种新颖的几何聚合方案,称为Geometric Aggregation Scheme。该方案利用图背后的连续空间进行聚合,以克服上述弱点。

实现:作者将几何聚合方案应用于图卷积网络,提出了一种新的网络——Geom-GCN,用于执行图上的归纳学习。Geom-GCN通过节点嵌入、结构邻域和双层聚合三个模块来实现。

实验:通过在多个开放图数据集上的实验,结果表明Geom-GCN达到了最先进的性能。

贡献:

  • 提出了一种新颖的几何聚合方案;
  • 实现了Geom-GCN用于图上的归纳学习;
  • 通过广泛的比较实验验证了Geom-GCN的性能。

细节:

  • 节点嵌入:将图中的节点映射到一个潜在的连续空间中,以保持图的结构和属性。
  • 结构邻域:基于图和潜在空间构建结构邻域,该邻域包括图中的邻接节点和潜在空间中的距离中心节点小于预给参数 ρ ρ ρ的节点。
  • 双层聚合:在结构邻域上提出了一种新颖的双层聚合方案,用于更新图神经网络中节点的隐藏特征,同时保证排列不变性。

结论与未来工作:作者提出了通过图嵌入将离散图桥接到连续几何空间的方法,并通过实验验证了其优势。未来的工作将探索选择合适嵌入方法的技术,并考虑输入图和目标应用的需求。

1、Geometric Aggregation Scheme

在这里插入图片描述

图1:几何聚合方案的说明。

  • A1-A2:原始图被映射到一个潜在的连续空间
  • B1-B2:B1中所有相邻的节点都位于一个中心节点周围的一个小区域内,以便于可视化;在B2中,图中的邻域包含了图中所有相邻的节点,潜在空间中的邻域包含半径为 ρ ρ ρ的虚线圆内的节点。关系算子 τ τ τ由一个彩色的3×3网格表示,其中每个单元对应于与红色目标节点的几何关系。
  • C:在结构邻域上的双级聚集。虚线和实心箭头分别表示低级和高级聚集;蓝色和绿色箭头分别表示图中邻域和潜在空间上的聚集。
① 节点嵌入(Node embedding)

节点嵌入是将图中的节点映射到一个潜在的连续空间的过程,这个空间可以捕捉和表示图中的结构和属性。具体来说,节点嵌入包括以下几个步骤:

定义映射函数:首先定义一个映射函数 f : v → z v f:v→z_v f:vzv,它将图中的每个节点 v v v映射到潜在空间中的一个向量 z v z_v zv。在潜在空间中, z v z_v zv可以被看作是节点 v v v的位置。

保持图结构:在映射过程中,需要保持图的结构和属性。这意味着图中的拓扑关系,如节点之间的连接和距离,在潜在空间中也应该得到体现。

使用不同的嵌入方法:可以使用不同的嵌入方法来推断潜在空间,这些方法可能包括但不限于:

  • Isomap:一种等距嵌入方法,它通过保持图中节点间的最短路径长度来嵌入节点。
  • Poincare Embedding:在超bolic空间中嵌入节点,可以很好地表示层次结构。
  • struc2vec:一种基于图结构的嵌入方法,可以捕捉图中的局部结构。

维度选择:在实验中,作者通常选择潜在空间的维度为2,以便于可视化和解释。但在实际应用中,可以根据需要选择更高维度的空间。

几何关系:在潜在空间中,节点之间的几何关系(如距离、角度等)被用来构建结构邻域,这些关系有助于在后续的聚合步骤中捕获图中的局部和全局结构。

通过节点嵌入,Geom-GCN能够将图数据映射到一个连续的几何空间,在这个空间中,可以更直观地利用几何关系来进行图卷积操作,从而提高图神经网络对图结构的表示能力。

② 结构邻域(Structural neighborhood)

结构邻域是几何聚合方案的一个关键组成部分,它定义了如何在潜在的连续空间中构建和利用节点的邻域信息。

图邻域和潜在空间邻域:结构邻域由两部分组成,一部分是图中的邻域( N g ( v ) N_g(v) Ng(v)),即与节点 v v v直接相连的节点集合;另一部分是潜在空间中的邻域( N s ( v ) N_s(v) Ns(v)),即在潜在空间中与节点 v v v距离小于预设参数 ρ ρ ρ的节点集合。

图中的邻域( N g ( v ) N_g(v) Ng(v)):定义为节点 v v v的所有相邻节点的集合,即与 v v v有直接连接的节点。

潜在空间中的邻域( N s ( v ) N_s(v) Ns(v)):定义为在潜在空间中距离节点 v v v小于某个阈值 ρ ρ ρ的所有节点的集合。这个邻域可能包括在图中距离 v v v较远但在潜在空间中与 v v v相似的节点。

关系算子(Relational Operator, τ τ τ):这是一个在潜在空间中定义的函数,输入是节点 v v v u u u的有序位置对 ( z v , z u ) (z_v,z_u) (zv,zu),输出是一个离散变量 r r r,表示在潜在空间中从 v v v u u u的几何关系。关系算子 τ τ τ的输出 r r r属于一组几何关系的集合 R R R

几何关系:几何关系可以使任何在潜在空间中定义的有意义的关系,例如距离、角度或其他几何属性。这些关系有助于在聚合过程中区分不同的节点。

长距离依赖:通过在潜在空间中定义邻域,结构邻域能够捕获图中的长距离依赖,即使这些节点在原始图中相隔较远。

排列不变性:尽管结构邻域考虑了节点间的几何关系,但聚合方案仍然需要保证排列不变性,即无论节点如何排列,只要图的拓扑结构不变,聚合结果也应保持不变。

结构邻域的设计允许Geom-GCN在保持排列不变性的同时,更有效地捕获图中的结构信息和长距离依赖,从而提高图神经网络在各种任务上的性能。

③ 双层聚合(Bi-level aggregation)

双层聚合是几何聚合方案的核心机制之一,用于更新图神经网络中节点的特征表示。

**低层聚合(Low-level aggregation):在这一步中,网络首先在局部邻域内聚合节点特征。**对于每个节点 v v v,根据其在图邻域( N g ( v ) N_g(v) Ng(v))和潜在空间邻域( N s ( v ) N_s(v) Ns(v))中的节点,以及它们与 v v v的几何关系 r r r,将具有相同几何关系的节点特征聚合到一个虚拟节点上。这是通过一个排列不变的聚合函数 p p p完成的,例如 L p − 范数 Lp-范数 Lp范数,它可以是平均、能量或最大池化。

**高层聚合(High-level aggregation):在低层聚合的基础上,高层聚合进一步处理得到的特征。**它使用一个函数 q q q来聚合来自不同虚拟节点的特征,这些虚拟节点对应于不同的邻域和几何关系。函数 q q q可以是一个考虑顺序的对象的函数,例如连接(concatenation),以区分不同虚拟节点的特征,从而显式地提取邻域中的结构信息。

非线性变换(Non-linear transform):在高层聚合之后,节点的新隐藏特征 h l + 1 v h_{l+1}^v hl+1v通过一个非线性变换得到,其中 W l W_l Wl是第 l l l层的可学习权重矩阵,非线性激活函数,例如ReLU。

排列不变性的证明:论文中还证明了所提出的双层聚合方案能够保证对于任何节点排列的排列不变性。这是通过证明低层聚合是排列不变的,并且根据排列不变性的性质,整个双层聚合方案也是排列不变的。

结构信息的提取:通过双层聚合,Geom-GCN能够有效地提取邻域节点的结构信息,并且能够通过在潜在空间中定义的邻域来聚合来自图中远距离但信息丰富的节点的特征表示。

实现细节:在实现上,Geom-GCN采用了与GCN相似的归一化隐藏特征的求和作为低层聚合的聚合函数 p p p,并且在高层聚合中,除了最后一层使用平均值外,其它层使用连接操作作为聚合函数 q q q

双层聚合是Geom-GCN区别于传统GCN的关键创新之一,它使得网络能够更好地捕获和利用图中的结构信息和长距离依赖,从而提高图表示学习的性能。

2、Comparisons to Related Work

这一部分讨论了作者提出的几何聚合方案与现有工作相比如何克服图神经网络的两个主要弱点:邻域节点结构信息的丢失和在非同配性图中捕获长距离依赖的能力不足。

结构信息的显式建模:作者提出的几何聚合方案通过利用潜在空间中的节点几何关系,并使用双层聚合有效地提取这些信息,从而显式地建模邻域节点的结构信息。与之相比,一些现有的工作尝试通过学习隐式结构信息来区分不同的邻居,例如使用注意力机制和节点/边属性来学习不同邻居的“消息”权重。

相关工作的比较:论文中提到了一些尝试解决MPNNs弱点的相关研究,如GAT、LGCL、GG-NN和CCN等,它们通过不同的机制来学习或利用图中的结构信息。

长距离依赖的捕获:几何聚合方案通过两种方式捕获非同配性图中的长距离依赖——

  • 将图中距离较远但相似的节点映射到目标节点在潜在空间中的邻域,以便在聚合时使用它们的有用特征表示。
  • 结构信息的使用使得方法能够在基于图的邻域中区分不同的节点,并赋予与目标节点具有特殊几何关系的信息节点更高的权重。

案例研究:作者通过一个案例研究展示了如何使用结构邻域来区分现有MPNNs聚合器无法区分的异配图。案例中展示了两个具有相同节点特征但在结构上不同的图,并且说明了如何通过几何聚合方案区分它们。

在这里插入图片描述

与现有方法的正交性:作者指出,他们的工作与现有方法正交,可以很容易地结合现有方法来进一步提高性能。特别是,他们的方法侧重于图拓扑方面的几何关系,而其他方法侧重于特征表示方面,这两个方面是互补的。

总结:作者总结了他们的几何聚合方案如何克服现有方法的局限性,并强调了其在保持排列不变性的同时提取更多结构信息和聚合远距离节点特征表示的能力。

3、Geom-GCN实现

实现几何聚合方案:作者提出了Geom-GCN,这是几何聚合方案在图卷积网络中的具体实现。这个实现涉及到三个关键模块:节点嵌入、结构邻域和双层聚合函数。

① 节点嵌入的实现

作者采用了不同的嵌入方法来将图映射到合适的潜在空间,以保持图中的特定拓扑模式。文中提到了三种嵌入方法:Isomap、Poincare嵌入和struc2vec,分别产生了三种Geom-GCN的变体:Geom-GCN-I、Geom-GCN-P和Geom-GCN-S。

② 结构邻域的定义

在Geom-GCN中,每个节点的结构邻域由图邻域和潜在空间邻域组成。图邻域包括节点的直接邻居,而潜在空间邻域包括在潜在空间中距离节点小于参数 ρ ρ ρ的所有节点。

几何关系算子:作者实现了一个简单的几何关系算子 τ τ τ,用于定义2D欧几里得空间或双曲空间中两个节点之间的相对位置关系。

③ 双层聚合的具体实现

在低层聚合中,使用了与GCN相同的归一化隐藏特征求和作为聚合函数 p p p。在高层聚合中,除了最后一层使用平均值外,其他层使用连接操作作为聚合函数 q q q

4、实验

平均分类精度:

在这里插入图片描述

消融实验的平均分类精度:

在这里插入图片描述

所有变体的性能:

在这里插入图片描述

5、启发&心得

本文中提到的潜在空间中的邻域( N s ( v ) N_s(v) Ns(v))与论文【GloGNN】中的系数矩阵 Z Z Z和节点嵌入矩阵 H H H很相似,即从全局的角度考虑了共享相似的特性和局部结构的这些节点,作为潜在空间的邻域,虽然这些节点在图拓扑上并不直接相连。

6、参考资料
  • kimi:https://kimi.moonshot.cn/

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python爬虫技术:动态JavaScript加载音频的解析

在当今的互联网世界中,JavaScript已成为构建丰富交互体验不可或缺的技术。然而,对于网络爬虫开发者来说,JavaScript动态生成的内容却带来了不小的挑战。音频内容的动态加载尤其如此,因为它们往往涉及到复杂的用户交互和异步数据加…

游戏高度可配置化(二)用“模型抽象”化解游戏策划和程序员的江湖恩怨

游戏高度可配置化(二)用“模型抽象”化解游戏策划和程序员的江湖恩怨 码客 卢益贵 ygluu 关键词:模型抽象、功能抽象、抽象工厂模式、游戏服务端引擎、高度可配置化、恩怨情仇、游戏策划、数据引擎、生产消费模型、订阅-通知模型 一、前言…

Day11 —— 大数据技术之Spark

Spark快速入门系列 Spark的概述什么是Spark?Spark的主要特点Spark的主要组件 Spark安装Spark三种运行模式Spark Standalone架构Spark Standalone的两种提交方式Spark On YARN架构 RDD算子转化算子行动算子 Spark RDDRDD的创建从对象集合创建RDD从外部存储创建RDD Sp…

基于SpringBoot+vue闲置物品交易网站详细设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,…

系统架构师概述

引言 系统架构设计师是项目开发活动中的众多角色之一,它可以是一个小组或者一个人或者是一个团队,架构师包含建筑师,设计师,创造者,缔造者,可以说架构师就是我们社会各个领域的创造者和缔造者。从组织上划分…

【深度学习系列】全面指南:安装TensorFlow的CPU和GPU版本

本博客旨在为初学者提供一份全面的指南,介绍如何根据个人电脑的配置选择并安装适合的TensorFlow版本。内容涵盖了如何查看电脑显卡型号以确定是安装CPU还是GPU版本的TensorFlow,创建Python虚拟环境,以及使用conda命令查找可用的TensorFlow版本…

使用Vercel 搭建自己的Dashy导航页

背景 Dashy 是一个开源的自托管导航页面配置服务,它具有易于使用的可视化编辑器、状态检查、小工具和主题等功能。用户可以利用 Dashy 将自己常用的一些网站聚合起来,形成一个个性化的导航页面。 同类的竞品还有Heimdall, Flare 等。 可以通过Docker 等…

DAMA学习笔记(二)-数据治理

1.引言 数据治理(Data Governance,DG)的定义是在管理数据资产过程中行使权力和管控,包括计划、监控和实施。在所有组织中,无论是否有正式的数据治理职能,都需要对数据进行决策。建立了正式的数据治理规程及…

深入学习Java1213新特性

一、关于Java生态圈 二、Java老矣,尚能饭否? 三、JDK各版本主要特性 四、JDK与IDE的下载与安装 五、Java12新特性 1.switch表达式(预览)

以太坊==MetaMask获取测试币最新网址

估算分数https://community.infura.io/t/unable-to-receive-sepolia-eth-from-faucet/7715 Gitcoin Passport 水龙头地址,填入自己的测试地址 水龙头项目地址 GitHub - pk910/PoWFaucet: Modularized faucet for EVM chains with different protection methods (…

DNF手游攻略:云手机辅助流光星陨刀详细攻略大全!

DNF手游中,流光星陨刀是鬼剑士的专属神器之一,拥有快速的攻击速度和优秀的物理与法术攻击属性,因其出色的性能和未来升级的潜力,成为广大玩家关注的焦点。 流光星陨刀的背景与起源 流光星陨刀作为鬼剑士的标志性武器之一&#xf…

Go 语言学习笔记之数组与切片

大家好,我是码农先森。 数组与切片的区别 在 Go 语言中,数组和切片是两种不同的数据结构,它们之间有以下主要区别。 参数长度: 数组(Array):数组的长度是固定的,在创建时就需要指…

CMMM Plus+ Calculus Update 超级游戏大作 游戏说明

资源链接 关卡编辑器 ◽️使用 WASD 移动视图。 ◽️LMB 放置单元格。 ◽️Space LMB 删除单元格。Ctrl Space LMB 删除所有相同类型的单元格。 ◽️Q / E 旋转单元格。 ◽️Z / X 在单元格类别之间切换。 ◽️键 1-9 快速选择单元格。 ◽️按 F 显示可拖动的图块。 ⌨️控…

机器学习好神奇,来看看Lasso的超参数调整与模型选择

目录 一、什么是机器学习?二、稀疏建模介绍三、Lasso回归简介四、Lasso超参数调整与模型选择 一、什么是机器学习? 机器学习是一种人工智能技术,它使计算机系统能够从数据中学习并做出预测或决策,而无需明确编程。它涉及到使用算…

贪心算法——最少跳跃步数(C++)

未来,未来。 ——2024年6月17日 题目描述 给定一个含n(1≤n≤1000)个非负整数数组nums(0≤nums[i]≤1000),数组中的每个元素表示在该位置可以跳跃的最大长度,假设总是可以从初始位置0到达最后一…

【C++】————类和对象(中)

作者主页: 作者主页 本篇博客专栏:C 创作时间 :2024年6月22日 一、类的6个默认成员函数 如果一个类中什么成员都没有,简称为空类。空类中什么都没有吗?并不是的,任何一个类在我们不写的情 况下&#x…

MySQL数据库中的索引知识

MySQL数据库中索引的作用是用来加快数据的查询速度。 索引 index(表的层面) 在数据库中使用select来查询数据的时候会一条一条得去查询符合要求的数据,而索引就相当于在这张表中依据某一个字段的数值给这张表的数据创建了一个目录。目录帮…

MK的前端精华笔记

文章目录 MK的前端精华笔记第一阶段:前端基础入门1、(1)、(2)、 2、3、4、5、6、7、 第二阶段:组件化与移动WebAPP开发1、(1)、(2)、 2、3、4、5、6、7、 第三…

发布微信小程序需要icp证吗?

微信小程序需要办理ICP许可证吗? 微信小程序需不需要办理ICP许可证,具体要看你的小程序类目是什么,还要看你的小程序具体是做什么的? 根据《互联网信息服务管理办法》 第四条 国家对经营性互联网信息服务实行许可制度&#xff1b…

微信小程序反编译 2024 unveilr.exe

ps:一开始用的反编译工具是wxappUnpacker,后面改为 unveilr.exe 1.先找到小程序安装目录“E:\聊天记录\WeChat Files\Applet”,要反编译小程序的包 文件夹下的名字对应的是小程序ID,如果不确定是哪个,可以删除->打…