当前位置: 首页 > news >正文

Classic GNNs are Strong Baselines: Reassessing GNNs for Node Classification

Classic GNNs are Strong Baselines: Reassessing GNNs for Node Classification

Neurips 24

推荐指数: #paper/⭐⭐⭐#​

摘要

我们的研究结果表明,由于GNN中的超参数设置次优,之前报道的GT的优越性可能被夸大了。值得注意的是,通过轻微的超参数调整,这些经典GNN模型就实现了最先进的性能,在所检查的18个不同数据集中的17个数据集中,与最近的GT相匹配甚至超过了。

贡献:

  1. 通过适当的超参数调整,经典GNN可以在具有多达数百万个节点的同配图和异配图的节点分类中实现极具竞争力的性能。值得注意的是,经典GNN的表现优于最先进的GT,在18个数据集中的17个数据集上排名第一。这表明之前声称的GT相对于GNN的优势可能被夸大了,可能是由于GNN评估中的超参数配置次优。
  2. 我们的消融研究对用于节点分类的GNN超参数有价值的见解。我们证明了(1)normalization对于大规模图至关重要;(2)Dropout始终被证明是有益的;(3)残差链接可以显着提高性能,尤其是在异亲图上;(4)异配图上的GNN往往在更深的层中表现得更好

GNN训练的关键参数

Normalization

具体的是,一般有Layer Normalization 和bath normalization两种

$$\boldsymbol{h}_v^l=\sigma(\mathrm{Norm}(\sum_{u\in\mathcal{N}(v)\cup\{v\}}\frac{1}{\sqrt{\hat{d}_u\hat{d}_v}}\boldsymbol{h}_u^{l-1}\boldsymbol{W}^l)).$$

Dropout

$$\boldsymbol{h}_v^l=\mathrm{Dropout}(\sigma(\mathrm{Norm}(\sum_{u\in\mathcal{N}(v)\cup\{v\}}\frac1{\sqrt{\hat{d}_u\hat{d}_v}}\boldsymbol{h}_u^{l-1}\boldsymbol{W}^l))).$$

Residual Connections(残差连接)

残差网络可以明显的增加GNN的性能通过将输入层和输出层链接到一起

$$\boldsymbol{h}_v^l=\mathrm{Dropout}(\sigma(\mathrm{Norm}(\boldsymbol{h}_v^{l-1}\boldsymbol{W}_r^l+\sum_{u\in\mathcal{N}(v)\cup\{v\}}\frac1{\sqrt{\hat{d}_u\hat{d}_v}}\boldsymbol{h}_u^{l-1}\boldsymbol{W}^l)))$$

网络深度:

虽然DeepGCN和DeeperGCN等之前的研究主张使用最多56层和112层的深度GNN,但我们的研究结果表明,可以通过2-10层的GNN架构来实现相当的性能。

image

image

image

观测结果,结论:

对同配图的观察(表2)。经典GNN仅对超参数进行轻微调整,在同配图的节点分类任务中具有高度竞争力,在许多情况下往往优于最先进图transformer。

对异配图的观察(表3)。我们的实验显着增强了之前报道的异性图上经典GNN的最佳结果,超越了为此类图量身定制的专业GNN模型,甚至超越了领先的图Transformer架构。这一进步不仅支持而且强化了先前文章中的发现,即传统GNN是异配图的有力竞争者,挑战了它们主要适合同配图结构的普遍假设。

在roman-empire方面,GCN的表现增长了17.58%。有趣的是,我们发现改善主要源于残差连接,我们的消融研究将对残余连接进行进一步分析

image

对大图上的观察(表4)。我们的实现显着增强了之前报告的经典GNN结果,在某些情况下,准确性出现了两位数的提高。它在这些大型Graph数据集(无论是同配还是异配)中取得了最好的结果,并且性能优于最先进的图transformer。这表明消息传递对于学习大图上的节点表示仍然非常有效

总而言之,基本GNN可以在大规模图形上实现最著名的结果,这表明当前的Graph transformer尚未解决过度平滑和长距离依赖性等GNN问题。

消融

观察1:normalization(BN或LN)对于大规模图形上的节点分类很重要,但在小图形上不太重要。

image

normalization在大图中始终至关重要,去掉会导致GraphSAGE和GAT对ogbn蛋白的准确性分别降低4.79%和4.69%。我们认为这是因为大图显示了更广泛的节点特征,从而导致整个图表中的数据分布不同。normalization有助于在训练期间标准化这些特征,确保更稳定的分布。

观察2:人们一致认为,Dropout对于节点分类至关重要。

观察3:残差连接可以显着提高特定数据集的性能,对异配图的影响比对同配图的影响更明显。

image

观察4:与同配图相比,更深的网络通常会导致异性图的性能提高更大。

我们的研究对基础GNN模型在节点分类任务中的功效进行了彻底的重新评估。通过广泛的实证分析,我们证明这些经典GNN模型可以达到或超过GT在各种图数据集上的性能,挑战GT在节点分类任务中的明显优势。此外,我们全面的消融研究还深入了解了各种GNN配置如何影响性能。我们希望我们的研究结果能够促进图机器学习研究中更严格的实证评估

总结:

本文中使用的残差公式类似于: h v l = h v l − 1 + F ( h v l − 1 ) h_v^l=h_v^{l-1}+F(h_v^{l-1}) hvl=hvl1+F(hvl1)。其思想是将第i层输出和第i-1层的输入联系在一起

个人觉得其与雪花假设等有相似之处:

$$\begin{equation} h_v^l = \begin{cases} F(h_v^{l-1}) & \text{if } v < l, \\ h_v^{l-1} & \text{if } v \geq l. \end{cases} \end{equation}$$

其思路是在第l层后使用Identity函数。

其思想都是认为,在某种情况下,原始特征已经和聚合的特征一样重要了。本文直接将原始特征和聚合特征相加,雪花假设是在聚合特征到某种情况下后对此节点停止特征传播。哪种更有效,可能在现在的手头的工作做完之后做消融

相关文章:

Classic GNNs are Strong Baselines: Reassessing GNNs for Node Classification

Classic GNNs are Strong Baselines: Reassessing GNNs for Node Classification Neurips 24 推荐指数&#xff1a; #paper/⭐⭐⭐#​ 摘要 我们的研究结果表明&#xff0c;由于GNN中的超参数设置次优&#xff0c;之前报道的GT的优越性可能被夸大了。值得注意的是&#xff…...

Android 字节飞书面经

Android 字节飞书面经 文章目录 Android 字节飞书面经一面二面 一面 1. 线程是进程的一部分&#xff0c;一个线程只能属于一个进程&#xff0c;而一个进程可以有多个线程&#xff0c;但至少有一个线程。 2. 根本区别&#xff1a;进程是操作系统资源分配的基本单位&#xff0c;…...

选择好友窗口(三)

选择好友窗口&#xff08;三&#xff09; 前言 在前两集我们就完成了整个左半部分的内容了&#xff0c;那么我们这一集开始就要完成我们的选择好友窗口的右侧部分。 需求分析 我们要做出的效果如下图 可以看到我们整个布局是一个网格的布局&#xff0c;当然也可以做成一个垂…...

【含文档】基于ssm+jsp的音乐播放系统(含源码+数据库+lw)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: apache tomcat 主要技术: Java,Spring,SpringMvc,mybatis,mysql,vue 2.视频演示地址 3.功能 系统定义了两个…...

【C语言】动态内存开辟

写在前面 C语言中有不少开辟空间的办法&#xff0c;但是在堆上开辟的方法也就只有动态内存开辟&#xff0c;其访问特性与数组相似&#xff0c;但最大区别是数组是开辟在栈上&#xff0c;而动态内存开辟是开辟在堆上的。这篇笔记就让不才娓娓道来。 PS:本篇没有目录实在抱歉CSD…...

Redis缓存在thinkPHP/fastAdmin框架中的应用

Redis缓存在thinkPHP/fastAdmin框架中的应用 引言 在现代Web开发中&#xff0c;性能优化是一个永恒的话题。随着用户数量的增加和业务逻辑的复杂化&#xff0c;如何提高应用的响应速度和处理能力成为了开发者们必须面对的挑战。缓存技术作为提升性能的有效手段之一&#xff0…...

Ceisum无人机巡检视频投放

公司投标内容有个视频投放的功能动画&#xff0c;原本想实现这么一个效果&#xff1a; 案例效果来自别人的展示作品&#xff0c;Leader一眼就相中了这个效果&#xff0c;可惜别人的终究是别人的&#xff0c;又不会白白给你&#xff0c;终究是要自己动手尝试。 动画方面的展示…...

分享几款开源好用的图片在线编辑,适合做快速应用嵌入

图片生成器是指一种工具或软件&#xff0c;用于自动生成图片或图像内容&#xff0c;通常依据用户设定的参数或模板进行操作。这种工具能够帮助用户快速创建视觉效果丰富的图像&#xff0c;而无需具备专业的设计技能。 在数字化时代&#xff0c;图片编辑已经成为日常工作和生活的…...

闪存学习_1:Flash-Aware Computing from Jihong Kim

闪存学习_1&#xff1a;Flash-Aware Computing from Jihong Kim 前言一、Storage Media&#xff1a;NAND Flash Memory1、概念2、编程和擦除操作3、读操作4、异地更新操作&#xff08;Out-Place Update&#xff09;5、数据可靠性6、闪存控制器&#xff08;SSD主控&#xff09;7…...

如何将本地项目上传至Gitee仓库(详细教程)

前提条件 1、本地电脑安装Git客户端 2、本地已有项目 3、Gitee注册好了账户 如果没有安装Gitee 可以区菜鸟查看一下安装教程 Git教程https://www.runoob.com/git/git-tutorial.html 操作示例 前提条件已经准备好的情况下登录gitee 码云 https://gitee.com 点解右侧加号 新…...

redis详细教程(3.hash和set类型)

hash Redis中的Hash是一种数据结构&#xff0c;用于存储键值对集合。在Redis中&#xff0c;Hash非常适合表示对象&#xff0c;其中对象的每个字段都对应一个键值对。以下是关于Redis中Hash的详细讲解&#xff1a; 特点&#xff1a; 1. 键值对集合&#xff1a;Hash是一个包含…...

性能测试详解

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、 性能测试术语解释 1. 响应时间 响应时间即从应用系统发出请求开始&#xff0c;到客户端接收到最后一个字节数据为止所消耗的时间。响应时间按软件的特点…...

修改ruoyi的logo和标题

1、修改网页标签上的图标和标题 静态修改 标签页上的 图标 直接替换public/favicon.ico文件为你自己的图标文件 如果你的图标文件名不是favicon.ico&#xff0c;你还需要在public/index.html中相应地修改这一行&#xff0c;将/favicon.ico替换为你的图标文件路径。 静态修改…...

vue系列==vue3新语法

vue系列vue3新语法 1、setup组合式API入口函数 2、利用ref函数定义响应式数据 3、利用reactive函数定义响应式数据 1、setup组合式API入口函数 1、Vue3为组合式API提供了一个setup函数&#xff0c;所有组合式API函数都是在此函数中调用的&#xff0c;它是组合式API的使用入口…...

001-Kotlin界面开发之Jetpack Compose Desktop学习路径

Compose Desktop学习之路 学习过程 理解Kotlin的基本语法 Compose Desktop采用Kotlin构建&#xff0c;因此对Kotlin的基本语法有很好的理解是必不可少的。你可以从官方的Kotlin文档开始。 用一句话概括&#xff0c;Kotlin是一种现代的、静态类型的编程语言&#xff0c;它结合…...

qt QStackedLayout详解

QStackedLayout类提供了一种布局方式&#xff0c;使得在同一时间内只有一个子部件&#xff08;或称为页面&#xff09;是可见的。这些子部件被维护在一个堆栈中&#xff0c;用户可以通过切换来显示不同的子部件&#xff0c;适合用在需要动态显示不同界面的场景&#xff0c;如向…...

python实现钉钉群机器人消息通知(消息卡片)

直接上代码 python """ 飞书群机器人发送通知 """ import time import urllib3 import datetimeurllib3.disable_warnings()class DingTalkRobotAlert():def __init__(self):self.webhook webhook_urlself.headers {Content-Type: applicatio…...

防火墙技术应用

目录 防火墙安全功能指标防火墙性能指标防火墙部署防火墙应用案例-Linux防火墙防火墙应用案例-华为包过滤防火墙ACL(基本)防火墙应用案例-工控防火墙部署 防火墙安全功能指标 我们防火墙也会提供各种各样的互联接口&#xff0c;它这种接口有以太网、快速以太网、千兆以太网&am…...

docker engine stopped

1&#xff09;环境&#xff1a;win 10 2&#xff09;docker安装时已经已经安装了虚拟机 3&#xff09;启用网络适配器 4&#xff09;启用docker服务&#xff08;依赖服务LanmanServer&#xff09; 5&#xff09;全都弄好了&#xff0c;docker还是打不开&#xff0c;没办法了&a…...

Redis- 内核的分配内存限制的警告“WARNING Memory overcommit must be enabled!”

文章目录 问题描述报错原因影响解决方案注意事项 问题描述 [rootredisxxx]# redis-sentinel ./sentinel.conf 19638:X 01 Nov 2024 16:57:27.180 # WARNING Memory overcommit must be enabled! Without it, background save or replication may fail under low memory condi…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具

作者&#xff1a;来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗&#xff1f;了解下一期 Elasticsearch Engineer 培训的时间吧&#xff01; Elasticsearch 拥有众多新功能&#xff0c;助你为自己…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面&#xff0c;开源代码 作为一个电子罗盘模块&#xff0c;我们可以通过I2C从中获取偏航角yaw&#xff0c;相对于六轴陀螺仪的yaw&#xff0c;qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具

文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

大数据学习(132)-HIve数据分析

​​​​&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4…...