论文阅读:Simple and Efficient Heterogeneous Graph Neural Network

Yang, Xiaocheng, Mingyu Yan, Shirui Pan, Xiaochun Ye and Dongrui Fan. “Simple and Efficient Heterogeneous Graph Neural Network.” AAAI Conference on Artificial Intelligence (2022).

论文地址:[PDF] Simple and Efficient Heterogeneous Graph Neural Network | Semantic Scholar

论文代码:https://github.com/ICT-GIMLab/SeHGNN


提前需要了解的知识

什么是异构图?

什么是元路径?


摘要

异构图神经网络(Heterogeneous graph neural networks, HGNNs)具有将异构图丰富的结构和语义信息嵌入到节点表示中的强大能力。现有的hgnn继承了许多专为同构图设计的图神经网络(gnn)的机制,特别是注意力机制和多层结构。这些机制带来了过高的复杂性,但很少有人研究它们对异构图是否真的有效。文中对这些机制进行了深入细致的研究,提出了简单高效的异构图神经网络(SeHGNN)。为了轻松捕获结构信息,SeHGNN使用轻量级的均值聚合器对邻居聚合进行预计算,通过消除过度使用的邻居注意力和避免在每个训练周期中重复的邻居聚合来降低复杂度。为了更好地利用语义信息,SeHGNN采用具有长元路径的单层结构来扩展感受野,并采用基于transformer的语义融合模块来融合不同元路径的特征。因此,SeHGNN具有网络结构简单、预测精度高、训练速度快的特点。在真实异构图上的大量实验结果表明,SeHGNN在精度和训练速度上均优于现有同类算法

动机

图1描述了hgnn的两种主要类别。基于元路径的方法(Schlichtkrull等人,2018;Zhang et al. 2019;Wang et al. 2019;Fu et al. 2020)首先捕获同一语义的结构信息,然后融合不同语义信息。这些模型首先聚合每个元路径范围内的近邻特征以生成语义向量,然后将这些语义向量进行融合以生成fnal嵌入向量。无元路径方法(Zhu et al. 2019;Hong等,2020;Hu et al. 2020b;Lv等人2021)同时捕获结构和语义信息。这些模型像传统gnn一样聚合来自节点局部邻域的消息,但使用额外的模块(如attention)将节点类型和边类型等语义信息嵌入传播的消息中。

现有的hgnn继承了gnn的许多机制在同质图上,特别是注意力机制主义和多层结构,如图1所示,但很少有工作研究这些机制在异构图上是否真的有效。此外,多层网络中的层次注意力计算
以及在每个训练周期中重复的邻域聚合带来过多的复杂性和计算量。例如,基于注意力模块的邻居聚合过程在基于元路径的方法中,耗时超过85%HAN模型(Wang et al. 2019)和无元路径模型HGB (Lv et al. 2021),已经成为hgnn在更大规模的异构图上应用的速度瓶颈。
该文对该问题进行了深入细致的研究这些机制并产生了两个发现:(1)语义注意力是必要的,而邻居注意力是不必要的,(2)单层结构和长元路径模型的性能优于多层结构和短元路径模型。这些发现表明近邻注意力和多层结构不仅引入了不必要的复杂性,但也会阻碍模型取得更好的性能。

为此,提出一种新的基于元路径的方法SeHGNN。SeHGNN采用均值聚合器(Hamilton、Ying和Leskovec 2017)来简化近邻聚合,采用具有长元路径的单层结构来扩展感受野,并利用基于transformer的语义融合模块来学习语义对之间的相互注意力。此外,由于SeHGNN中的简化邻居聚合是无参数的,且只涉及线性操作,因此在预处理步骤中只需要执行一次邻居聚合。因此,SeHGNN不仅表现出更好的性能,而且避免了在每个训练周期中重复聚合近邻的需要,从而显著提高了训练速度。

模型

如图2所示,SeHGNN包括三个主要组件:简化近邻聚合、多层特征投影和基于transformer的语义融合。图2还强调了SeHGNN和其他基于元路径的hgnn之间的区别,即SeHGNN在预处理步骤中预先计算近邻聚合,从而避免了在每个训练周期中重复近邻聚合的过度复杂性。

简化近邻聚合

简化的邻居聚合在预处理步骤中只执行一次,并为所有给定元路径的集合ΦX生成不同语义的特征矩阵列表。一般来说,对于每个节点vi,它采用均值聚合对每个给定元路径的基于元路径的邻居进行特征聚合,并输出一个语义特征向量列表,表示为:

受GCN分层传播的启发,作者使用邻接矩阵的乘法计算每个节点对目标的最终贡献权重。

对于

简化的近邻聚合过程可以表示为:

此外,之前的研究已经证明,将标签作为额外的输入可以提高模型的性能。为了利用这一点,与原始特征的聚合类似,作者以one-hot格式表示标签,并在各种元路径上传播它们。为了避免标签泄漏导致过滤波,通过去除邻接矩阵乘法结果中的对角线值来防止每个节点接收自身的真值标签信息。标签传播也在邻居聚合步骤中执行,并产生语义矩阵作为后续训练的额外输入。

多层特征投影

因为不同元路径的语义向量可能具有不同的维度或位于不同的数据空间中,因此,特征投影步骤将语义向量投影到相同的数据空间中。

通常,它为每个元路径P定义一个特定于语义的转换矩阵WP并计算。为了获得更好的表示能力,对每个元路径P使用多层感知块MLP,其中包含一个归一化层、一个非线性层和两个连续线性层之间的dropout层。那么,该特征投影过程可以表示为:

基于transformer的语义融合

语义融合步骤对语义特征向量进行融合,生成每个节点的最终嵌入向量。作者提出了一个基于transformer (Vaswani et al. 2017)的语义融合模块,而不是使用简单的加权和形式,以进一步探索每对语义之间的相互关系。

实验


在融合图结构时,异构图确实是一个值得考虑的方向。

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

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

相关文章

centos7 xtrabackup mysql 基本测试(5)mysql 建立 测试 数据库及内容

centos7 xtrabackup mysql 基本测试(5)mysql 建立 测试 数据库及内容 登录 mysql -u etc -p 1234aA~1创建数据库 名字是company show databases ; create database company;在 company里面 创建表employee use company; DROP TABLE IF EXISTS employ…

Webpack: 构建 NPM Library

概述 虽然 Webpack 多数情况下被用于构建 Web 应用,但与 Rollup、Snowpack 等工具类似,Webpack 同样具有完备的构建 NPM 库的能力。与一般场景相比,构建 NPM 库时需要注意: 正确导出模块内容;不要将第三方包打包进产…

C : 线性规划例题求解

Submit Page TestData Time Limit: 1 Sec Memory Limit: 128 Mb Submitted: 93 Solved: 49 Description 求解下述线性规划模型的最优值min �1�1�2�2�3�3�.�. &…

Pbootcms留言“提交成功”的提示语怎么修改

我们在用到pbootcms建站时候,其中有个留言功能,提交成功后会提示:提交成功(如下图所示),那么我们要修改这个提示语要怎么操作呢? 如果需要修改的话,直接找到文件/apps/home/control…

完美世界|单机版合集(共22个版本)

前言 我是研究单机的老罗,今天给大家带来的是完美世界的单机版合集,一共22个版本。本人亲自测试了一个版本,运行视频如下: 完美世界|单机版合集 先看所有的版本的文件,文件比较大,准备好空间,差…

运行CDN

背景 CDN代码,调试运行 日常 git clone代码配置虚拟环境 puthon3.8,pip install r requirements.txt改项目数据集路径,在hico.py文件里面 # PATHS {# train: (root / images / train2015, root / annotations / trainval_hico.json),# val: …

捕获野生的登录页,暴改Vue3

1.实现效果 2.Vue组件 <script setup> import {onMounted} from "vue";onMounted(()>{// getAllData() }) </script><template><div class"login"><div class"form-cont"><div class"form-top"&…

音视频开发34 FFmpeg 编码- 将h264和acc文件打包成flv文件

FFmpeg合成流程 示例本程序会⽣成⼀个合成的⾳频和视频流&#xff0c;并将它们编码和封装输出到输出⽂件&#xff0c;输出格式是根据⽂件 扩展名⾃动猜测的。 示例的流程图如下所示。 ffmpeg 的 Mux 主要分为 三步操作&#xff1a; avformat_write_header &#xff1a; 写⽂…

ASP.Net.WebAPI和工具PostMan

1.WebAPI概述 1.1 WebAPI WebAPI 是一种传统的方式&#xff0c;用于构建和暴露 RESTUI风格的Web服务。它提供了丰富的功能和灵活性&#xff0c;可以处理各种HTTP请求&#xff0c;并支持各种数据格式&#xff0c;如JSON、XML等。 WebAPI使用控制器(Controllers)和动作方法(Ac…

25 防火墙基础操作

1 防火墙进入WEB页面操作 华三防火墙的默认用户:admin/密码:admin 将IP地址改在同一网段的信息 在防火墙的管理地址 GE/0/0/1&#xff1a;192.168.0.1 主机的地址是:192.168.0.101 思考一下为什么Ping不通 security-zone name Management import interface GigabitEthernet1/…

python、pytorch、cuda安装及常见pip命令

1、查看本地安装的CUDA版本 命令&#xff1a;nvidia-smi 2、安装CUDA 下载地址&#xff1a;https://developer.nvidia.com/cuda-toolkit-archive?spm5176.28103460.0.0.49e33da2H7ktW7 进入后选择指定版本进入详情页&#xff0c;选择linux和windows版本&#xff0c;下载然后…

Qt开发报错:Q_INTERFACES Error: Undefined interface

1、背景 VS2019qt5.12.10 从svn拉下来的项目&#xff0c;结果报错&#xff1a; Q_INTERFACES Error: Undefined interface 之前在VS的扩展中在线安装了qt插件&#xff0c; 安装了一半&#xff0c;比较慢&#xff0c;直接强行退出了。。 后来安装了qt官网的插件。。。。 2、报…

【计算机网络】HTTP——基于HTTP的功能追加协议(个人笔记)

学习日期&#xff1a;2024.6.29 内容摘要&#xff1a;基于HTTP的功能追加协议和HTTP/2.0 HTTP的瓶颈与各功能追加协议 需求的产生 在Facebook、推特、微博等平台&#xff0c;每分每秒都会有人更新内容&#xff0c;我们作为用户当然希望时刻都能收到最新的消息&#xff0c;为…

Keepalive技术

文章目录 一、Keepalive基础vrrp技术Keepalived介绍Keepalived架构 二、 Keepalived 相关文件配置文件组成全局配置虚拟路由器配置 三、配置lvs和keepalive联动服务器架构抢占模式配置配置单播、组播配置通知模块日志功能脑裂现象 四、keepalived和nginx联动keepalive和其他应用…

探索MySQL核心技术:理解索引和主键的关系

在数据密集型应用中&#xff0c;数据库的性能往往是决定一个应用成败的重要因素之一。其中&#xff0c;MySQL作为一种开源关系型数据库管理系统&#xff0c;以其卓越的性能和丰富的功能被广泛应用。而在MySQL数据库优化的众多技巧中&#xff0c;索引和主键扮演着极其重要的角色…

专题一: Spring生态初探

咱们先从整体脉络上看下Spring有哪些模块&#xff0c;重要的概念有个直观印象。 从Spring框架的整体架构和组成对整体框架有个认知。 Spring框架基础概念 Spring基础 - Spring和Spring框架组成 上图是从官网4.2.x获取的原图&#xff0c;目前我们使用最广法的版本应该都是5.x&am…

svn怎么新建分支,切换分支

在当前分支下&#xff0c;点svn右键&#xff0c;选择分支/标记 在选择远端地址时&#xff0c;点右边更多选项&#xff0c;打开远端版本库。找到对应的分支上级位置&#xff0c;点击确定 填写新分支名称&#xff0c;我这儿是将分支建在了branches下&#xff0c;分支名称为V1.1 填…

WEB攻防【4】——JavaWeb项目/JWT身份攻击/组件安全/访问控制

一、知识点 1、Javaweb常见安全及代码逻辑 Javaweb的架构&#xff1a; 如何通过包查找到文件&#xff0c;通过URL对应源码的文件&#xff0c;或者通过源码文件对应URL地址。 2、目录遍历&身份验证&逻辑&JWT Javaweb里面有身份认证的JWT的技术&#xff0c;pyth…

二级建造师(建筑工程专业)考试题库,高效备考!!!

16.在施工合同履行期间发生的变更事项中&#xff0c;属于工程变更的是&#xff08;&#xff09;。 A.质量要求变更 B.分包单位变更 C.合同价款变更 D.相关法规变更 答案&#xff1a;A 解析&#xff1a;工程变更一般是指在工程施工过程中&#xff0c;根据合同约定对施工的…

SSM学习2:依赖注入、依赖自动装配、集合注入、加载properties文件

依赖注入 依赖注入方式 setter注入——引用类型 setter注入——简单类型 public class BookDaoImpl implements BookDao {public void setDatabaseName(String databaseName) {this.databaseName databaseName;}public void setNum(int num) {this.num num;}private Stri…