HOW POWERFUL ARE GRAPH NEURAL NETWORKS?(GIN)

devtools/2025/2/28 20:30:58/

GIN——Graph Isomorphism Network

normal message deliverer

related work

GraphSAGE(Inductive Representation Learning on Large Graphs)

突破传统基于矩阵分解的节点嵌入方式,GraphSAGE 通过采样和聚合节点局部邻域的特征信息来生成嵌入,同时学习节点邻域的拓扑结构和特征分布。这种方式避免为每个节点单独训练嵌入向量,提高了模型的泛化能力 。 

最大池化聚合器

逐元素最大池化:对邻居节点的每个特征维度独立取最大值,生成当前节点的新特征

平均池化聚合器

element-wise mean pooling:


文章中的一些理论和观点

作者提出并证明GNNs判别图同构的能力的上限是WL-test

其核心观点
"Our answer, in Theorem 3, is yes: if the neighbor aggregation and graph-level readout functions are injective, then the resulting GNN is as powerful as the WL test."

MEAN LEARNS DISTRIBUTIONS

Thus, the mean captures the distribution (proportions) of elements in a multiset, but not the exact multiset.

说明:基集一样的多重集由mean aggregator映射的分布是一样的

换句话说,假设不同的基集对应一种分布,那么mean可以区分这些不同的分布,但无法区分相同基集的不同多重集

回顾sum方法,我们就发现,sum可以区别不同的基集构成的多重集,和相同基集构成的多重集


题外话:这两个命题并不是等价的,它说明了相同基底多重集不能被区分,可事实上,不同基底的多重集也不一定能被区分。

那么mean的区分能力到底在哪里?这个是不确定的。

不过文章这个角度至少说明了在这个同基底多重集的判别下mean是弱的


MAX-POOLING LEARNS SETS WITH DISTINCT ELEMENTS

max的方法,区分能力进一步下降,但相应的其抗噪声能力却是较强的

文章指出“However, it may be suitable for tasks where it is important to identify representative elements or the “skeleton”, rather than to distinguish the exact structure or distribution.”

《识别骨干能力》

这一部分,作者目的在解释了其GIN网络在多重集上使用sum而非mean,max的原因


other aggregation

Attention(Graph attention networks), LSTM pooling(Inductive representation learning on large graphs)

GIN的构建

对于多重集只有sum方法是单射的,根据作者的理论只有aggregation和readout都是单射,才能使GNN的判别图同构的能力最强

Gin构建的核心思路

对应推论6,作者将节点label视为元素,节点自身label和其邻域label构成一个可数多重集。再以此基础上配合相应理论。

这里通过MLP模拟phi函数,epsilon是当前节点c的label权重超参数

然后就是readout

这篇文章的主要创新点在于

  1. 结合多重集理论证明了在aggregation和readout单射情况判别能力能逼近WL-test.
  2. 并基于上述论证,证明了sum aggregator是单射的.
  3. 在readout步骤,通过线性运算获得终值而非mlp进一步保证单射性质.

代码待续...


http://www.ppmy.cn/devtools/163437.html

相关文章

阿里云ECS通用计算

阿里云ECS通用计算概述 阿里云ECS(Elastic Compute Service)是阿里云提供的一款灵活、高效的云计算服务,它允许用户在云端部署虚拟计算实例,进行各种计算任务。通用计算型实例是阿里云ECS实例的一种类型,专门为中低负…

【备份】php项目处理跨域请求踩坑

这都是老生常谈的东西了。我还在踩坑,记录一下。 我在项目入口明明写了如下代码: // 处理预检请求 (OPTIONS) if ($_SERVER[REQUEST_METHOD] OPTIONS) {header("Access-Control-Allow-Origin: https://xxx.vip");header("Access-Cont…

redis批量删除namespace下的数据

在开发中为了更好的管理数据,对redis进行了分组存储操作,在存值时加了命名空间来实现,如下:Cacheable的value来实现分组 Cacheable(value "config",key "#comparamid_#comCode" )/* */ Query(value "…

校园快递平台系统(小程序论文源码调试讲解)

第4章 系统设计 用户对着浏览器操作,肯定会出现某些不可预料的问题,但是不代表着系统对于用户在浏览器上的操作不进行处理,所以说,要提前考虑可能会出现的问题。 4.1 系统设计思想 系统设计,肯定要把设计的思想进行统…

2024华为OD机试真题-根据某条件聚类最少交换次数(C++/Java/Python)-E卷-100分

2024华为OD机试最新E卷题库-(C卷+D卷+E卷)-(JAVA、Python、C++) 目录 题目描述 输入描述 输出描述 用例1 题目解析 代码 c++ python java 题目描述 给出数字 K,请输出所有结果小于 K 的整数组合到一起的最少交换次数。 组合一起是指满足条件的数字相邻,不要求相邻…

PyCharm 的使用 + PyCharm快捷键 + 切换中文界面

2025 - 02 - 27 - 第 62 篇 Author: 郑龙浩 / 仟濹 【PyCharm的使用】 文章目录 如何使用Pycharm1 新建工程,新建 .py 文件,运行2 常用快捷键3 其他快捷键 - DeepSeek 总结如下**代码编辑****导航与定位****查找与替换****运行与调试****代码重构****其…

【Python爬虫(81)】当量子计算邂逅Python爬虫:一场技术变革的预演

【Python爬虫】专栏简介:本专栏是 Python 爬虫领域的集大成之作,共 100 章节。从 Python 基础语法、爬虫入门知识讲起,深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑,覆盖网页、图片、音频等各类数据爬取,还涉及数据处理与分析。无论是新手小白还是进阶开发…

TCP网络编程库——Muduo库

目录 1,Muduo库的说明 2,Muduo库的主要组件 3,Muduo常用的类接口 4,Muduo库的代码运用 5、Muduo库的工作流程 6、特点与优势 1,Muduo库的说明 Muduo库是一个基于非阻塞IO和IO多路复用的C高并发TCP网络编程库&…