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相匹配甚至超过了。
贡献:
- 通过适当的超参数调整,经典GNN可以在具有多达数百万个节点的同配图和异配图的节点分类中实现极具竞争力的性能。值得注意的是,经典GNN的表现优于最先进的GT,在18个数据集中的17个数据集上排名第一。这表明之前声称的GT相对于GNN的优势可能被夸大了,可能是由于GNN评估中的超参数配置次优。
- 我们的消融研究对用于节点分类的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架构来实现相当的性能。
观测结果,结论:
对同配图的观察(表2)。经典GNN仅对超参数进行轻微调整,在同配图的节点分类任务中具有高度竞争力,在许多情况下往往优于最先进图transformer。
对异配图的观察(表3)。我们的实验显着增强了之前报道的异性图上经典GNN的最佳结果,超越了为此类图量身定制的专业GNN模型,甚至超越了领先的图Transformer架构。这一进步不仅支持而且强化了先前文章中的发现,即传统GNN是异配图的有力竞争者,挑战了它们主要适合同配图结构的普遍假设。
在roman-empire方面,GCN的表现增长了17.58%。有趣的是,我们发现改善主要源于残差连接,我们的消融研究将对残余连接进行进一步分析
对大图上的观察(表4)。我们的实现显着增强了之前报告的经典GNN结果,在某些情况下,准确性出现了两位数的提高。它在这些大型Graph数据集(无论是同配还是异配)中取得了最好的结果,并且性能优于最先进的图transformer。这表明消息传递对于学习大图上的节点表示仍然非常有效
总而言之,基本GNN可以在大规模图形上实现最著名的结果,这表明当前的Graph transformer尚未解决过度平滑和长距离依赖性等GNN问题。
消融
观察1:normalization(BN或LN)对于大规模图形上的节点分类很重要,但在小图形上不太重要。
normalization在大图中始终至关重要,去掉会导致GraphSAGE和GAT对ogbn蛋白的准确性分别降低4.79%和4.69%。我们认为这是因为大图显示了更广泛的节点特征,从而导致整个图表中的数据分布不同。normalization有助于在训练期间标准化这些特征,确保更稳定的分布。
观察2:人们一致认为,Dropout对于节点分类至关重要。
观察3:残差连接可以显着提高特定数据集的性能,对异配图的影响比对同配图的影响更明显。
观察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=hvl−1+F(hvl−1)。其思想是将第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 推荐指数: #paper/⭐⭐⭐# 摘要 我们的研究结果表明,由于GNN中的超参数设置次优,之前报道的GT的优越性可能被夸大了。值得注意的是ÿ…...
Android 字节飞书面经
Android 字节飞书面经 文章目录 Android 字节飞书面经一面二面 一面 1. 线程是进程的一部分,一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。 2. 根本区别:进程是操作系统资源分配的基本单位,…...
选择好友窗口(三)
选择好友窗口(三) 前言 在前两集我们就完成了整个左半部分的内容了,那么我们这一集开始就要完成我们的选择好友窗口的右侧部分。 需求分析 我们要做出的效果如下图 可以看到我们整个布局是一个网格的布局,当然也可以做成一个垂…...
【含文档】基于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语言中有不少开辟空间的办法,但是在堆上开辟的方法也就只有动态内存开辟,其访问特性与数组相似,但最大区别是数组是开辟在栈上,而动态内存开辟是开辟在堆上的。这篇笔记就让不才娓娓道来。 PS:本篇没有目录实在抱歉CSD…...
Redis缓存在thinkPHP/fastAdmin框架中的应用
Redis缓存在thinkPHP/fastAdmin框架中的应用 引言 在现代Web开发中,性能优化是一个永恒的话题。随着用户数量的增加和业务逻辑的复杂化,如何提高应用的响应速度和处理能力成为了开发者们必须面对的挑战。缓存技术作为提升性能的有效手段之一࿰…...
Ceisum无人机巡检视频投放
公司投标内容有个视频投放的功能动画,原本想实现这么一个效果: 案例效果来自别人的展示作品,Leader一眼就相中了这个效果,可惜别人的终究是别人的,又不会白白给你,终究是要自己动手尝试。 动画方面的展示…...
分享几款开源好用的图片在线编辑,适合做快速应用嵌入
图片生成器是指一种工具或软件,用于自动生成图片或图像内容,通常依据用户设定的参数或模板进行操作。这种工具能够帮助用户快速创建视觉效果丰富的图像,而无需具备专业的设计技能。 在数字化时代,图片编辑已经成为日常工作和生活的…...
闪存学习_1:Flash-Aware Computing from Jihong Kim
闪存学习_1:Flash-Aware Computing from Jihong Kim 前言一、Storage Media:NAND Flash Memory1、概念2、编程和擦除操作3、读操作4、异地更新操作(Out-Place Update)5、数据可靠性6、闪存控制器(SSD主控)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是一种数据结构,用于存储键值对集合。在Redis中,Hash非常适合表示对象,其中对象的每个字段都对应一个键值对。以下是关于Redis中Hash的详细讲解: 特点: 1. 键值对集合:Hash是一个包含…...
性能测试详解
🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 一、 性能测试术语解释 1. 响应时间 响应时间即从应用系统发出请求开始,到客户端接收到最后一个字节数据为止所消耗的时间。响应时间按软件的特点…...
修改ruoyi的logo和标题
1、修改网页标签上的图标和标题 静态修改 标签页上的 图标 直接替换public/favicon.ico文件为你自己的图标文件 如果你的图标文件名不是favicon.ico,你还需要在public/index.html中相应地修改这一行,将/favicon.ico替换为你的图标文件路径。 静态修改…...
vue系列==vue3新语法
vue系列vue3新语法 1、setup组合式API入口函数 2、利用ref函数定义响应式数据 3、利用reactive函数定义响应式数据 1、setup组合式API入口函数 1、Vue3为组合式API提供了一个setup函数,所有组合式API函数都是在此函数中调用的,它是组合式API的使用入口…...
001-Kotlin界面开发之Jetpack Compose Desktop学习路径
Compose Desktop学习之路 学习过程 理解Kotlin的基本语法 Compose Desktop采用Kotlin构建,因此对Kotlin的基本语法有很好的理解是必不可少的。你可以从官方的Kotlin文档开始。 用一句话概括,Kotlin是一种现代的、静态类型的编程语言,它结合…...
qt QStackedLayout详解
QStackedLayout类提供了一种布局方式,使得在同一时间内只有一个子部件(或称为页面)是可见的。这些子部件被维护在一个堆栈中,用户可以通过切换来显示不同的子部件,适合用在需要动态显示不同界面的场景,如向…...
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(基本)防火墙应用案例-工控防火墙部署 防火墙安全功能指标 我们防火墙也会提供各种各样的互联接口,它这种接口有以太网、快速以太网、千兆以太网&am…...
docker engine stopped
1)环境:win 10 2)docker安装时已经已经安装了虚拟机 3)启用网络适配器 4)启用docker服务(依赖服务LanmanServer) 5)全都弄好了,docker还是打不开,没办法了&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…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...
Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...
VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...
