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

news2024/10/7 15:22:07

【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/

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

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

相关文章

小白学react之Next.js 14(一)不配置路由的玩法

Next.js 14是目前最新版本,我们用就用最新的玩一下。 建一个示例之后,我在找配置,我应该在那建一个新的页面。找半天硬是没找着,答案是现在不需要配置。 我们来看一下Next.js 14的项目结构: 很明显,在src/…

Object、Class、Module之间关系

文章目录 1. 从继承关系来说,是Class --> Module --> Object,即Object是继承树的顶层,紧接着是Module,然后是Class。2. module 与Class 区别 1. 从继承关系来说,是Class --> Module --> Object&#xff0c…

我国目前常用的卫星影像星座有哪些(高分二号、高分七号、吉林一号、高景一号······)

​ 点击下方全系列课程学习 点击学习—>ArcGIS全系列实战视频教程——9个单一课程组合系列直播回放 点击学习——>遥感影像综合处理4大遥感软件ArcGISENVIErdaseCognition 中国目前的遥感卫星在数量、种类和应用领域上都取得了显著进展,覆盖了陆地、气象、海…

6月21日训练 (东北林业大学)(个人题解)

前言: 这次训练是大一大二一起参加的训练,总体来说难度是有的,我和队友在比赛时间内就写出了四道题,之后陆陆续续又补了了三道题,还有一道题看了学长题解后感觉有点超出我的能力范围了,就留给以后的自己吧。…

常见的七大排序

目录 前言 冒泡排序 选择排序 插入排序 堆排序 希尔排序 快排 归并排序 前言 本文介绍七种常见的排序方式:冒泡排序,选择排序,插入排序,堆排序,希尔排序,快排,归并排序 冒泡排序 将每2…

Day59 代码随想录打卡|二叉树篇---把二叉搜索树转换为累加树

题目(leecode T538): 给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。…

浅聊Cookie

前言 在客户端使用Nuxt的useFetch调用接口并存储cookie&#xff0c;发现一些趣事~ cookie存储需要遵守同源策略~ 理论我们是知道的&#xff0c;但具体是怎么一回事呢~ 实现 在Nuxt中是这样的~ 直接访问 Nuxt <template><div>{{ data }}</div> </te…

【chatgpt】train_split_test的random_state

在使用train_test_split函数划分数据集时&#xff0c;random_state参数用于控制随机数生成器的种子&#xff0c;以确保划分结果的可重复性。这样&#xff0c;无论你运行多少次代码&#xff0c;只要使用相同的random_state值&#xff0c;得到的训练集和测试集划分就会是一样的。…

Vision Pro的3D跟踪能力:B端应用的工作流、使用教程和经验总结

Vision Pro的最新3D跟踪能力为工业、文博、营销等多个B端领域带来了革命性的交互体验。本文将详细介绍这一功能的工作流、使用教程,并结合实际经验进行总结。 第一部分:工作流详解 一、对象扫描 使用Reality Composer iPhone应用程序对目标对象进行3D扫描,如吉他或雕塑,…

粉笔1000题——判断推理

目录 一、图形推理1. 位置规律平移旋转、翻转 二、定义判断三、类比推理四、逻辑判断 一、图形推理 1. 位置规律 平移 旋转、翻转 二、定义判断 三、类比推理 四、逻辑判断

红队内网攻防渗透:内网渗透之内网对抗:横向移动篇PTH哈希PTT票据PTK密匙Kerberoast攻击点TGTNTLM爆破

红队内网攻防渗透 1. 内网横向移动1.1 首要知识点1.2 PTH1.2.1 利用思路第1种:利用直接的Hash传递1.2.1.1、Mimikatz1.2.2 利用思路第2种:利用hash转成ptt传递1.2.3 利用思路第3种:利用hash进行暴力猜解明文1.2.4 利用思路第4种:修改注册表重启进行获取明文1.3 PTT1.3.1、漏…

养殖自动化温控系统:现代养殖场的智能守护神

现代农业养殖业中&#xff0c;养殖自动化温控系统已经成为提高生产效率和保障动物福利的关键技术之一。本篇文章将深入介绍养殖自动化温控系统的原理、组成、优势及其在不同类型养殖场中的应用实例&#xff0c;并展望该技术的未来发展。 一、养殖自动化温控系统概述 养殖自动…

LabVIEW编程控制ABB机械臂

使用LabVIEW编程控制ABB机械臂是一项复杂但十分有价值的任务。通过LabVIEW&#xff0c;可以实现对机械臂的精确控制和监控&#xff0c;提升自动化水平和操作效率。 1. 项目规划和硬件选型 1.1 确定系统需求 运动控制&#xff1a;确定机械臂需要执行的任务&#xff0c;如抓取、…

易优cms内核简洁文章资讯作文范文网站模板源码(带手机版)

易优cms内核简洁文章资讯作文范文网站模板源码 带手机版 适用于博客、文章、资讯类网站使用 界面预览 易优cms内核简洁文章资讯作文范文网站模板源码

Python题目

实例 3.1 兔子繁殖问题&#xff08;斐波那契数列&#xff09; 兔子从出生后的第三个月开始&#xff0c;每月都会生一对兔子&#xff0c;小兔子成长到第三个月后也会生一对独自。初始有一对兔子&#xff0c;假如兔子都不死&#xff0c;那么计算并输出1-n个月兔子的数量 n int…

element-plus 表单组件 之element-form

elment-plus的表单组件的标签有el-form,el-form-item。 单个el-form标签内包裹若干个el-form-item,el-form-item包裹具体的表单组件&#xff0c;如输入框组件&#xff0c;多选组件&#xff0c;日期组件等。 el-form组件的主要作用是&#xff1a;提供统一的布局给其他表单组件&…

FPGA学习网站推荐

FPGA学习网站推荐 本文首发于公众号&#xff1a;FPGA开源工坊 引言 FPGA的学习主要分为以下两部分 语法领域内知识 做FPGA开发肯定要首先去学习相应的编程语言&#xff0c;FPGA开发目前在国内采用最多的就是使用Verilog做开发&#xff0c;其次还有一些遗留下来的项目会采用…

长亭谛听教程部署和详细教程

PPT 图片先挂着 挺概念的 谛听的能力 hw的时候可能会问你用过的安全产品能力能加分挺重要 溯源反制 反制很重要感觉很厉害 取证分析 诱捕牵制 其实就是蜜罐 有模板直接爬取某些网页模板进行伪装 部署要求 挺低的 对linux内核版本有要求 需要root 还有系统配置也要修改 …

leetcode刷题日记

题目描述 解题思路 基本思想&#xff0c;将数组复制一份&#xff0c;按照位置取余&#xff0c;确实做出来了&#xff0c;但是这样时间和空间上的资源比较多。看到切片法&#xff0c;感觉到很新&#xff0c;思路很好&#xff0c;用来记录。 代码 python class Solution:def ro…

springboot + Vue前后端项目(第十八记)

项目实战第十八记 写在前面1. 前台页面搭建&#xff08;Front.vue&#xff09;2. 路由3.改动登录页面Login.vue4. 前台主页面搭建Home.vue总结写在最后 写在前面 本篇主要讲解系统前台搭建&#xff0c;通常较大的项目都会搭建前台 1. 普通用户登录成功后前台页面效果&#xf…