论文阅读 (94):Substructure Aware Graph Neural Networks (SAGNN, AAAI2023)

文章目录

  • 1 要点
    • 1.1 概述
    • 1.2 一些概念
    • 1.3 代码
    • 1.4 引用
  • 2 基础知识
    • 2.1 符号
    • 2.2 信息传递神经网络 (MPNN)
  • 3 方法
    • 3.1 子图提取
      • 3.1.1 基于节点的策略
      • 3.1.2 基于图的策略
    • 3.2 随机游走返回概率编码
    • 3.3 子图信息注入的信息传递

1 要点

1.1 概述

题目子结构感知图神经网络 (Substructure aware graph neural networks, SAGNN)

背景:尽管图神经网络 (GNN) 在图学习方面取得了巨大成就,但由于GNN的传播范式与一阶Weisfeiler-Leman图同构测试算法 (1-WL) 的一致性,导致其难以突破1-WL表达能力的上限。

思路:通过子图更容易区分原始图。

方法:提出子结构感知图神经网络 (SAGNN):

  1. 剪切子图 (Cut subgraph):通过连续且有选择地去除边获得;
  2. 随机游走编码范式扩展到子图上跟节点的返回概率,以捕获结构信息并将其作为节点特征,以提高GNN的表达能力;
  3. 理论证明所提出的SAGNN相较于1-WL的强结构感知能力。

1.2 一些概念

  • 1-WL:一种图同构测试算法,用于判断两个图是否同构。传统GNN的表达能力与1-WL算法相当,也就是说,GNN不能区分1-WL不能区分的图;
  • EgoNetwork:一种图的子结构,它由一个中心节点和它的邻居节点,以及它们之间的边组成;
  • k k k跳内的节点集:与根节点之间的最短路径长度不超过 k k k的所有节点的集合;
  • 边介数中心性 (EBC):通过一条边的最短路径的数量或比例,用于衡量边在图或网络中的重要性;

1.3 代码

https://github.com/BlackHalo-Drake/SAGNN-Substructure-Aware-Graph-Neural-Networks

1.4 引用

@inproceedings{Zeng:2023:1112911137,
author		=	{Ding Yi Zeng and Wan Long Liu and Wen Yu Chen and Li Zhou and Ma Lu Zhang and Hong Qu},
title		=	{Substructure aware graph neural networks},
booktitle	=	{{AAAI}},
pages		=	{11129--11137},
year		=	{2023},
url			=	{https://ojs.aaai.org/index.php/AAAI/article/download/26318/26090}
}

2 基础知识

2.1 符号

G = ( V , E , X ) G=(V,E,\mathbf{X}) G=(V,E,X)表示一个无向连通图,其中 V V V是节点的有限集、 E E E是边的有限集,以及 X = [ x 1 , x 2 , … , x n ⊤ ] \mathbf{X}=[\text{x}_1,\text{x}_2,\dots,\text{x}_n^\top] X=[x1,x2,,xn]是节点特征。

2.2 信息传递神经网络 (MPNN)

MPNN提供了一种通过消息传统机制的统一试图,以抽象GNN。在MPNN中,节点到节点的信息是通过迭代地将相邻节点的信息聚合到中心节点来传播。形式上,给定 G G G中的节点 i i i,其 t t t轮迭代的隐藏表示为 h i t \mathbf{h}_i^t hit、邻居节点为 N ( i ) N(i) N(i)、边 e i j \mathbf{e}_{ij} eij连接了节点 i i i j j j,则标准信息传递范式表示为:
c i t = ∑ j ∈ N ( i ) ϕ t ( h i t , h j t , e i j ) , (1) \tag{1} \mathbf{c}_i^t=\sum_{j\in N(i)}\phi^t(\mathbf{h}_i^t,\mathbf{h}_j^t,\mathbf{e}_{ij}), cit=jN(i)ϕt(hit,hjt,eij),(1) h i t + 1 = σ t ( c i t , h i t ) , (2) \tag{2} \mathbf{h}_{i}^{t+1}=\sigma^t(\mathbf{c}_i^t,\mathbf{h}_i^t), hit+1=σt(cit,hit),(2)其中 ϕ t \phi^t ϕt σ t \sigma^t σt分别表示聚合和更新函数。

3 方法

MPNN在足够深度和宽度的表达能力方面仍然不能超过1-WL,而区分更大的图则需要更强的表达能力。基于子图比原始图更容易区分这一事实,本文讲图同构问题概括为子图同构问题,并依次介绍所提出的SAGNN的三个步骤:a) 子图提取;b) 子图随机游走返回概率编码;以及 c \text{c} c) 子图信息注入。具体如图1。

3.1 子图提取

子图提取是模型表达的关键步骤,其被分为基于节点和基于图的策略。

3.1.1 基于节点的策略

该策略定义为基于单个节点的子图提取,即不需要完整图的信息。通常而言,在当前策略中。子图的数量等于原始图中节点的数量,其中EgoNetwork是最常用的策略。

N ( v ) N(v) N(v)表示根节点 v v v的邻居节点的集合, N k ( v ) N_k(v) Nk(v)表示 k k k跳内节点集。 E g o ( v ) k Ego(v)_k Ego(v)k是以节点 v v v为根节点的的k跳EgoNetwork,其对应节点是根节点 v v v的k跳 N k ( v ) N_k(v) Nk(v)内的邻居。

3.1.2 基于图的策略

该策略需要整张图的信息以获取子图,其子图的数量与原始图中的节点数无直接联系。最简单的策略是随机删除一个边或者一个节点,但这很难提升模型的表示能力,且在高密度强规则图中的性能很差。为了提升GNN的表达能力,本文提出了剪切子图

定义1 C u t ( v ) b Cut(v)_b Cut(v)b子图定义为 b b b个块中包含节点 v v v的块,其通过从原始图中去除边获得:首先计算原始图中所有边的边介数中心性 (Edge betweenness centrality, EBC),并持续去掉图中具有最大EBC的边,直到图被划分为 b b b块。

  1. b = 1 b=1 b=1 C u t ( v ) b Cut(v)_b Cut(v)b等价于原始图。随着 b b b的增加, C u t ( v ) b Cut(v)_b Cut(v)b的大小及其包含的信息级别均下降;
  2. b b b等于节点数时, C u t ( v ) b Cut(v)_b Cut(v)b等价于节点;
  3. C u t ( v ) b Cut(v)_b Cut(v)b是包含节点 v v v的连通图。

3.2 随机游走返回概率编码

在子图中计算返回概率,可以有效应对图编码的随机游走的时间开销大或者表达欠缺的问题。具体地,在子图 G s u b G_{sub} Gsub中,节点 v v v随机游走返回概率编码定义为:
p v G s u b = [ R G s u b 1 ( v , v ) , R G s u b 2 ( v , v ) , … , R G s u b S ( v , v ) ] T , \boldsymbol{p}_v^{G_{sub}}=\left[ \boldsymbol{R}^1_{G_{sub}}(v,v), \boldsymbol{R}^2_{G_{sub}}(v,v),\dots,\boldsymbol{R}^S_{G_{sub}}(v,v) \right]^T, pvGsub=[RGsub1(v,v),RGsub2(v,v),,RGsubS(v,v)]T,其中 R G s u b s ( v , v ) \boldsymbol{R}^s_{G_{sub}}(v,v) RGsubs(v,v) s s s步随机游走在子图 G s u b G_{sub} Gsub中从节点 v v v开始的概率。基于此,分别获得对Ego子图和Cut子图的返回概率 p v E g o \boldsymbol{p}_v^{Ego} pvEgo p v C u t \boldsymbol{p}_{v}^{Cut} pvCut。接下来,使用一个线性层将返回概率编码为子图隐藏表示向量 h v E g o \mathbf{h}_v^{Ego} hvEgo h v C u t \mathbf{h}_v^{Cut} hvCut。注意,单个节点的Ego编码是所有包含当前节点的Ego子图编码的汇聚。

3.3 子图信息注入的信息传递

为了注入子图信息并捕捉全局结构信息,本文同时拼接了子图隐藏表示向量和对应于原始图 G G G的节点 v v v的结构隐藏表示 h v G \mathbf{h}_v^{G} hvG。最终获取的子图信息注入特征定义为:
h v E , 0 = [ x v , h v E g o , h v G ] , h v C , 0 = [ x v , h v C u t , h v G ] . (4) \tag{4} \mathbf{h}_v^{E,0}=[\mathbf{x}_v,\mathbf{h}_v^{Ego},\mathbf{h}_v^G],\mathbf{h}_v^{C,0}=[\mathbf{x}_v,\mathbf{h}_v^{Cut},\mathbf{h}_v^G]. hvE,0=[xv,hvEgo,hvG],hvC,0=[xv,hvCut,hvG].(4)信息传递通道包括Ego通道和Cut通道,分别定义为:
c v E , t = ∑ u ∈ N ( v ) ϕ E t ( h v E , t , h u E , t , e v u ) , (5) \tag{5} \mathbf{c}_{v}^{E,t}=\sum_{u\in N(v)}\phi_E^t(\mathbf{h}_v^{E,t},\mathbf{h}_u^{E,t},\mathbf{e}_{vu}), cvE,t=uN(v)ϕEt(hvE,t,huE,t,evu),(5) c v C , t = ∑ u ∈ N ( v ) ϕ C t ( h v C , t , h u C , t , e v u ) , (6) \tag{6} \mathbf{c}_{v}^{C,t}=\sum_{u\in N(v)}\phi_C^t(\mathbf{h}_v^{C,t},\mathbf{h}_u^{C,t},\mathbf{e}_{vu}), cvC,t=uN(v)ϕCt(hvC,t,huC,t,evu),(6) h v E , t + 1 = σ E t ( c v E , t , h v E , t ) , h v C , t + 1 = σ C t ( c v C , t , h v C , t ) , (7) \tag{7} \mathbf{h}_v^{E,t+1}=\sigma_E^t(\mathbf{c}_v^{E,t},\mathbf{h}_{v}^{E,t}),\mathbf{h}_v^{C,t+1}=\sigma_C^t(\mathbf{c}_v^{C,t},\mathbf{h}_{v}^{C,t}), hvE,t+1=σEt(cvE,t,hvE,t),hvC,t+1=σCt(cvC,t,hvC,t),(7)其中 ϕ t \phi^t ϕt σ t \sigma^t σt分别是汇聚和更新函数。最终,全局图表示 h G \mathbf{h}_G hG通过全局池化获得:
h G = POOL ( { h v E , L , h v C , L ∣ v ∈ V } ) . (8) \tag{8} \mathbf{h}_G=\text{POOL}(\{ \mathbf{h}_v^{E,L},\mathbf{h}_{v}^{C,L}|v\in V \}). hG=POOL({hvE,L,hvC,LvV}).(8)

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

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

相关文章

adb: failed to install .\xxxxxx.apk: Failure [INSTALL_FAILED_USER_RESTRICTED

开发者模式和USB调试均已打开,adb安装时报错。看了一下,小米手机还需要开启USB安装才行。 问题已解决

基于Hadoop的豆瓣电影的数据抓取、数据清洗、大数据分析(hdfs、flume、hive、mysql等)、大屏可视化

目录 项目介绍研究背景国内外研究现状分析研究目的研究意义研究总体设计数据获取网络爬虫介绍豆瓣电影数据的采集 数据预处理数据导入及环境配置Flume介绍Hive介绍MySQL介绍Pyecharts介绍环境配置及数据加载 大数据分析及可视化豆瓣影评结构化分析豆瓣电影类型占比分析豆瓣电影…

C语言数组练习

1、打印杨辉三角 #include <stdio.h> #include <string.h> int main(int argc, const char *argv[]) {int m;printf("please enter a value:");scanf("%d",&m);int arr[m][m];for(int i0;i<m;i){for(int j0;j<m-i;j)printf(" …

【STM32】GPIO

一、GPIO简介 1. 基本介绍 GPIO是通用输入输出端口的简称&#xff0c;STM32芯片通过GPIO与外设连接&#xff0c;从而实现与外设的数据收发。 最基本的输出功能是由STM32控制引脚输出高、低电平&#xff0c;实现开关控制。如把GPIO引脚接入到LED灯控制LED亮灭&#xff0c;或者…

49天精通Java,第0天,编程语言类型有哪些?我心中的TOP1编程语言,什么是java跨平台性?

目录 一、常见的编程语言类型1、机器语言2、汇编语言3、高级语言 二、计算机编程语言三、跨平台性1、跨平台的优势包括&#xff1a;2、实现跨平台的方式包括&#xff1a; 四、Java的跨平台性五、java运行时和虚拟机六、Java内存管理和Java垃圾回收1、Java内存管理2、Java垃圾回…

SSM学习笔记-------SpringMVC(二)

SSM学习笔记-------SpringMVC&#xff08;二&#xff09; SpringMVC_day021、SSM整合1.1 流程分析1.2 整合配置步骤1&#xff1a;创建Maven的web项目步骤2:添加依赖步骤3:创建项目包结构步骤4:创建SpringConfig配置类步骤5:创建JdbcConfig配置类步骤6:创建MybatisConfig配置类步…

ACL 2023|如何智能生成吸引人又符合实际的标题?

夕小瑶科技说 原创 作者 | 小戏、Python 标题生成&#xff0c;乍一看似乎并不是一个复杂的任务&#xff0c;要数据简单的爬虫就可以获得许多标题-文本对&#xff0c;要评价通过用户点击与浏览的次数就多少可以区分“好标题”与“坏标题”&#xff0c;万事俱备使用一些经典的监…

HTTP/HTTPS 简介||HTTP 消息结构

HTTP/HTTPS 简介 HTTP 协议是 Hyper Text Transfer Protocol&#xff08;超文本传输协议&#xff09;的缩写&#xff0c;是用于从万维网&#xff08; WWW:World Wide Web &#xff09;服务器传输超文本到本地浏览器的传送协议。 HTTP 是一个基于 TCP/IP 通信协议来传递数据&a…

IBM N系列存储和NetApp FAS之间的对应关系

IBM在很长一段时间都是OEM NetApp的FAS存储作为他的NAS产品线&#xff0c;在IBM叫做Storage N series&#xff0c;就是N系列&#xff0c;在2014年IBM终止了和NetApp之间的OEM关系&#xff0c;目前在市场上的OEM的NetApp存储型号主要是 FAS3000&#xff0c;FAS31和FAS32的中端系…

【新星计划·2023】Linux系统的架构和组件讲解

作者&#xff1a;Insist-- 个人主页&#xff1a;insist--个人主页 作者会持续更新网络知识和python基础知识&#xff0c;期待你的关注 前言 本文将讲解Linux系统的架构和组件。 目录 一、Linux系统的架构 1、硬件层 2、内核层 3、进程管理子系统 4、内存管理子系统 5、…

C语言 base32与base64加解密

概述 Base32、Base64编码就是分别用32个、64个可打印字符表示二进制数据。 一、Base32规则 32 2^5&#xff0c;所以需要5 Bit来表示一个base32字符。一个字节8 Bit&#xff0c;5和8的最小公倍数是40。编码的过程中&#xff0c;以5个字节为一组转为8个base32字符&#xff0c;不…

服务端⾼并发分布式结构演进之路

1.前置概念 应⽤&#xff08;Application&#xff09;/系统&#xff08;System&#xff09; 为了完成一整套服务的一个程序或相互配合的程序群 模块&#xff08;Module&#xff09;/组件&#xff08;Component&#xff09; 当应⽤较复杂时&#xff0c;为了分离职责&#xf…

2023年测试之路,从功能测试进阶测试开发工程师,突破内卷...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 测试开发工程师到…

SpringBoot配置外部Tomcat项目启动流程源码分析

前言 SpringBoot应用默认以Jar包方式并且使用内置Servlet容器(默认Tomcat)&#xff0c;该种方式虽然简单但是默认不支持JSP并且优化容器比较复杂。故而我们可以使用习惯的外置Tomcat方式并将项目打War包。 【1】创建项目并打War包 ① 同样使用Spring Initializer方式创建项目 …

并发编程_jmm部分

1. JMM 理解 前提&#xff1a;并发编程有3大问题&#xff0c;可见性、有序性、原子性。 导致可见性的原因是缓存&#xff0c;有序性的原因是 编译器优化。解决方法就是直接禁用缓存和编译器优化&#xff0c;导致程序性能堪忧。 因此合理的方案就是按需禁用缓存和编译器优化。 …

JUC之ThreadLocal

文章目录 1 基础知识1.1 强软弱虚四种引用 2 ThreadLocal出现的好处3 ThreadLocal源码分析3.1 ThreadLocal内存泄露问题3.2 ThreadLocal为什么使用的是弱引用3.3 清扫过期的Entry 4 ThreadLocal使用建议 1 基础知识 1.1 强软弱虚四种引用 【整体结构】 【强引用】 【软引用…

初始网络原理

目录 网络发展史 独立模式 网络互连 局域网LAN 广域网WAN 网络通信基础 IP地址 端口号 认识协议 五元组 协议分层 OSI七层模型 TCP/IP五层&#xff08;或四层&#xff09; 网络设备所在分层 封装和分用 网络发展史 独立模式 独立模式&#xff1a;计算机之间相互…

【技能实训】Day01

文章目录 任务1 项目准备一、开发环境二、系统简介三、项目创建 任务2【任务2.1】菜单项设计及其测试【任务2.2】使用数组存储采集的数据【任务2.3】控制显示采集的数据 任务1 项目准备 一、开发环境 1.JDK8下载及其环境变量配置(JDK8以上版本) 2.IDE &#xff1a;Eclipse 或…

应用层:万维网WWW

1.万维网WWW 笔记来源&#xff1a; 湖科大教书匠&#xff1a;应用层概述 湖科大教书匠&#xff1a;万维网WWW 声明&#xff1a;该学习笔记来自湖科大教书匠&#xff0c;笔记仅做学习参考 浏览器最重要的部分是渲染引擎&#xff0c;也就是浏览器内核。负责对网页内容进行解析和…

postgresql 数据库 索引 介绍

postgresql 数据库 索引 介绍 文章目录 postgresql 数据库 索引 介绍前言一 什么是索引&#xff1f;二 简介三 索引的种类B-treeHash索引GiST索引GIN 索引BRIN 索引SP-GiST索引 CREATE INDEX1.大纲2.描述3. 参数UNIQUECONCURRENTLYIF NOT EXISTSINCLUDEnameONLYmethodcolumn_na…
最新文章