论文阅读: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)的语义融合模块,而不是使用简单的加权和形式,以进一步探索每对语义之间的相互关系。

实验


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

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

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

相关文章

Java集合框架性能优化与选择指南

Java集合框架性能优化与选择指南 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 引言 Java集合框架是每位Java开发者日常工作中不可或缺的一部分。正确选择和…

Bytebase 2.20.0 - 支持为工单事件配置飞书个人通知

🚀 新功能 支持 Databricks。支持 SQL Server 的 TLS/SSL 连接。支持为工单事件配置飞书个人通知。支持限制用户注册的邮箱域名。 🔔 重大变更 将分类分级同步设置从数据库配置移至工作空间的全局配置。 SQL 编辑器只读模式下只允许执行 Redis 的只读…

着色器预热?为什么 Flutter 需要?为什么原生 App 不需要?那 Compose 呢?Impeller 呢?

依旧是来自网友的问题,这个问题在一定程度上还是很意思的,因为大家可能会想,Flutter 使用 skia,原生 App 是用 skia ,那为什么在 Flutter 上会有着色器预热(Shader Warmup)这样的说法&#xff1…

【PYG】pyg里dataloader和torch中dataloader有什么不一样

torch.utils.data.DataLoader 和 torch_geometric.loader.DataLoader 是两个不同的加载器,它们分别用于处理不同类型的数据。以下是它们之间的主要区别: torch.utils.data.DataLoader torch.utils.data.DataLoader 是 PyTorch 中的通用数据加载器&…

论文1--ViT

Vision Transformer (ViT) 论文:https://arxiv.org/abs/2010.11929代码:GitHub - google-research/vision_transformer 1.背景 (1)transformer在NLP很强,但在CV的应用还非常有限,在此之前只有目标检测中…

【轻量化】YOLOv8 更换骨干网络之 MobileNetv4 | 《号称最强轻量化网络》

论文地址:https://arxiv.org/pdf/2404.10518 代码地址:https://github.com/tensorflow/models/blob/master/official/vision/modeling/backbones/mobilenet.py 文章速览 文章摘要 MobileNetV4引入了一个名为Universal Inverted Bottleneck (UIB) 的新搜索模块,这个模块融合…

2024年网络安全技术全景扫描:新趋势与新挑战

**# 2024年网络安全技术全景扫描:新趋势与新挑战 随着技术的飞速发展,网络安全领域在2024年迎来了新的变革。从人工智能的深入应用到零信任模型的广泛采纳,再到云环境、太空网络以及量子信息技术的兴起,这些新兴技术正在重塑网络…

民用无人机企业招标投标需要资质证书详解

一、基础资质 在民用无人机企业的招标投标过程中,基础资质是首要考虑的因素。这些资质通常包括企业注册资质、税务登记证、组织机构代码证等。 1.1 企业注册资质 企业应具备合法的注册资质,即营业执照。该执照应包含企业名称、注册地址、法定代表人、…

在Ubuntu 14.04上安装和配置Magento的方法

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 简介 Magento 是最流行的电子商务网站内容管理系统。它被小型企业和大型企业公司广泛使用,并且可以通过成千上万的扩展和主…

谈谈华为国产系列

目前借着华为发布会,谈谈华为的软件系列 1.鸿蒙系统 鸿蒙是手机系统,兼容安卓软件,目前华为借助国内软件公司,适配鸿蒙,即将纯血。鸿蒙系统借助这一波互联网兴起,没有遇到之前各种系统的麻烦之中&#xf…

idea集成uglifycss压缩混淆css

Uglifycss介绍 https://www.npmjs.com/package/uglifycss 命令行 $ uglifycss [options] [filename] [...] > output 选项: --max-line-len n每个字符添加一个换行符(大约); 表示无换行符,并且是默认值n0 --expand-vars扩…

【Linux】性能分析器 perf 详解(二):list、record、report、top

上一篇:【Linux】性能分析器 perf 详解(一) 1、perf命令列表 annotate 读取perf.data(由perf record生成)并结合源代码展示详细的性能分析结果,包括CPU执行热点、函数调用栈等信息。archive 使用perf.data文件中找到的带构建标识符的对象文件创建归档文件,便于后续对这…

考研数学|《660》一刷的错题,二刷还错,怎么能做对?

660这本习题册的难度不小,它不仅考察你对知识点的掌握程度,还考察你的解题思路和方法。很多题目会同时涉及多个知识点,而且对概念的挖掘非常深入,甚至在一些容易出错的地方还设置了陷阱,这对于基础不扎实的同学来说&am…

商城积分系统的代码实现(下)-- 积分订单的退款与结算

一、接着上文 用户在消耗积分的时候&#xff0c;需要根据一定的逻辑&#xff0c;除了扣减账户的当前余额&#xff0c;还需要依次消费积分订单的余额。 private void updatePointsOrderByUse(Integer schoolId, Long userId, String pointsType, int usingPoints) {List<Po…

Web攻防基础篇-文件上传漏洞

文件解析安全问题上&#xff0c;格式解析是一对一的&#xff08;不能jpg解析php&#xff09;&#xff0c;换句话来说有解析错误配置或后缀解析漏洞时才能实现格式差异解析。 文件上传漏洞 程序或系统未对上传文件作全面的限制&#xff0c;导致用户可以上传某些非法文件&#…

换热器材质的选择

一、换热器材质的选择 选择烟气换热器的材质是一个涉及多个因素的综合考量过程。 1、根据烟气成分 烟气成分是一个重要的考虑因素。烟气中可能含有酸性物质和腐蚀性物质&#xff0c;如HCl、SO2等。这些物质对换热器的材质具有腐蚀性&#xff0c;因此所选材料应能够长期承受这些…

【数据结构】数据结构前置知识

这里写目录标题 基本概念与术语数据数据元素数据项数据对象数据结构 逻辑结构和物理结构物理结构顺序存储结构链式存储结构 逻辑结构集合结构线性结构树形结构图形结构 算法时间复杂度和空间复杂度大O的渐进表示法时间复杂度常数阶线性阶对数阶平方阶常见时间复杂度 空间复杂度…

Jetson系列机载电脑创建热点模式配置方法

Jetson nano为例—— 创建热点模式配置方法 1.1、新建一个 WiFi 在屏幕右上角找到网络图标&#xff0c;点击后选择“Edit Connections”选项&#xff0c;进入选择网络连接页面&#xff0c;然后点击左下角加号&#xff0c;新建一个连接&#xff0c;类型选择 WiFi 后点击 “cre…

在TkinterGUI界面显示WIFI网络(ESP32s3)摄像头画面

本实验结合了之前写过的两篇文章Python调用摄像头&#xff0c;实时显示视频在Tkinter界面以及ESP32 S3搭载OV2640摄像头释放热点&#xff08;AP&#xff09;工作模式–Arduino程序&#xff0c;当然如果手头有其他可以获得网络摄像头的URL即用于访问摄像头视频流的网络地址&…

【笔记】从零开始做一个精灵龙女-拆uv阶段

目录 先回顾一下拆uv的基础流程吧 肩部盔甲分UV示例 手环UV部分 腰带UV部分 其它也差不多&#xff0c;需要删掉一半的就先提前删掉一半&#xff0c;然后把不需要的被遮挡的面也删掉 龙角UV 胸甲UV 侧边碎发UV 马尾UV 脸部/耳朵UV 特殊情况&#xff1a;如果要删一半再…