NodeFormer:一种用于节点分类的可扩展图结构学习 Transformer

news2024/11/16 2:19:48

人工智能咨询培训老师叶梓 转载标明出处

现有的神经网络(GNNs)在处理大规模图数据时面临着一些挑战,如过度平滑、异质性、长距离依赖处理、边缘不完整性等问题,尤其是当输入图完全缺失时。为了解决这些问题,上海交通大学的研究者们人提出了一种名为NodeFormer的新型图结构学习Transformer。

NodeFormer提出了一种全新的全对消息传递方案,通过一种核化的Gumbel-Softmax操作符来减少算法复杂度,使其与节点数量呈线性关系。这种方法不仅能够高效地在大规模、潜在的全连接图中学习潜在图结构,而且能够以可微分的方式进行端到端的优化。

NodeFormer还引入了关系偏差和边缘级别的正则化损失,以更好地适应输入图(如果存在的话),并指导适当地学习自适应结构。

方法

NodeFormer通过一种新颖的方法来更新节点嵌入,采用核化的Gumbel-Softmax操作符,实现了每一层节点嵌入的O(N)复杂度更新。NodeFormer引入了关系偏差和边缘正则化损失机制,两者均在输入图可用时发挥作用,且计算复杂度为O(E)。在训练过程中,模型的目标是最小化监督分类损失和边缘正则化损失的加权和。

算法 1描述了NodeFormer的前馈计算过程。该算法从输入节点特征Z(0)=X和可选的图邻接矩阵A开始,通过迭代的方式,每一层都使用核化的Gumbel-Softmax操作符来更新节点嵌入。这个过程包括了关系偏差的引入,以及通过邻接矩阵A强化观察到的边的传播权重。

为了证明新的消息传递函数的正确性,提出了两个关键的理论问题。定理1(Softmax-Kernel的近似误差)指出,当特征映射的维度足够大且温度参数τ接近零时,正则化特征映射的分布将趋于原始的分类分布。定理2(核化Gumbel-Softmax随机变量的性质)进一步确认了这一点。

NodeFormer通过引入温度参数τ和随机特征映射的维度m,平衡了RF近似和Gumbel-Softmax近似之间的权衡。较大的τ有助于减少核维度m的负担,而较小的τ则需要较大的m来保证足够的RF近似精度。如果τ过大,每条边的权重将趋于1/N,即模型几乎退化为平均池化;而较小的τ则会使核化Gumbel-Softmax更好地近似分类分布。

图1阐释了NodeFormer的数据流向,突出了模型的三个主要组成部分:全对消息传递(MP)模块、关系偏差和边缘正则化损失。MP模块负责以O(N)的复杂度更新节点嵌入,而关系偏差和边缘正则化损失则根据输入图的可用性进行计算,两者的计算复杂度均为O(E)。这种设计使得NodeFormer在保持高效计算的同时,能够充分利用输入图的结构信息。

想要掌握如何将大模型的力量发挥到极致吗?叶老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具。实战专家1小时讲解让您轻松上手,学习如何使用 Llama Factory 微调模型。

评论留言“参加”或扫描微信备注“参加”,即可参加线上直播分享,叶老师亲自指导,互动沟通,全面掌握Llama Factory。关注享粉丝福利,限时免费录播讲解。

实验

实验采用了多种数据集,包括小型到中型的图数据集Cora、Citeseer、Deezer和Actor,以及更大规模的图数据集OGB-Proteins和Amazon2M。此外,还考虑了无输入图的半监督图像和文本分类任务,使用的是Mini-ImageNet和20News-Groups数据集。

在实验中,NodeFormer的输出预测层是一个单层的MLP(多层感知机),对于所有数据集,激活函数σ设置为sigmoid,温度参数τ设置为0.25。所有实验都在配备16GB内存的NVIDIA V100上进行。实验与多个基线模型进行比较,包括GCN、GAT、JKNet、MixHop、DropEdge、LDS-GNN、IDGL、SGC和GraphSAINT。

在Cora、Citeseer、Deezer和Actor数据集上进行了传导式节点分类实验。这些数据集的规模从2K到20K个节点不等。对于评估指标,Deezer数据集使用ROC-AUC,其他数据集使用准确率。图2展示了NodeFormer在这些数据集上的表现,无论是在同质性还是非同质性图上,NodeFormer都取得了最佳的准确率/ROC-AUC,特别是在两个非同质性图上,NodeFormer的性能大大超过了其他模型。

进一步测试了NodeFormer在大规模网络上的可扩展性,使用了OGB-Proteins和Amazon2M数据集,节点数分别超过10万个和200万个。OGB-Proteins是一个包含112个输出维度的多任务数据集,而Amazon2M是从亚马逊共购网络中提取的,包含长距离依赖。表2和表3展示了NodeFormer在这些数据集上的测试结果,无论是在ROC-AUC还是准确率上,NodeFormer都显著优于基线模型,并且内存消耗也更低。

在没有输入图的情况下,NodeFormer被应用于Mini-ImageNet和20News-Groups数据集上的半监督图像和文本分类任务。使用k-NN方法基于输入节点特征构建图,以启用GNN的消息传递和NodeFormer的基于图的组件。表4展示了在不同k值下的结果,NodeFormer在8个案例中的7个中都取得了最佳性能,表明NodeFormer对于k-NN图的依赖性较低,并且能够从数据中学习到有用的潜在图结构。

图3展示了NodeFormer与两种最先进的结构学习模型在训练/推理时间和GPU内存消耗方面的比较。NodeFormer在训练时间、推理时间和内存消耗方面都有显著降低。还探讨了随机组成部分的影响、边缘损失和关系偏差的影响,以及温度参数和特征映射维度的影响。

图6展示了温度和随机特征映射维度对模型性能的影响,结果与理论分析一致。图4和通过可视化,展示了NodeFormer学习到的节点嵌入和边连接,以及与原始图结构的比较,说明了NodeFormer如何通过学习潜在结构来改进下游节点级预测任务的性能。

NodeFormer在各种实验中都显示出了优异的性能,无论是在处理同质性还是非同质性图、大规模图数据集,还是在没有输入图的情况下进行图增强应用的任务。这些结果证明了NodeFormer在实际应用中的有效性和可扩展性。

https://arxiv.org/pdf/2306.08385v1

https://github.com/qitianwu/nodeformer

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

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

相关文章

RK3588NPU驱动版本升级至0.9.6教程

RK3588NPU驱动版本升级至0.9.6教程 1、下载RK3588NPU驱动2、修改NPU驱动源码2.0 修改MONITOR_TPYE_DEV写错问题2.1 解决缺少函数rockchip_uninit_opp_table问题2.2 解决缺少函数vm_flags_set、vm_flag_clear的问题2.3 内核编译成功2.4 重新构建系统 3、注意事项4、其他问题处理…

故障诊断 | 基于双路神经网络的滚动轴承故障诊断

故障诊断 | 基于双路神经网络的滚动轴承故障诊断 目录 故障诊断 | 基于双路神经网络的滚动轴承故障诊断效果一览基本介绍程序设计参考资料效果一览 基本介绍 基于双路神经网络的滚动轴承故障诊断 融合了原始振动信号 和 二维信号时频图像的多输入(多通道)故障诊断方法 单路和双…

【原创】java+springboot+mysql党员教育网系统设计与实现

个人主页:程序猿小小杨 个人简介:从事开发多年,Java、Php、Python、前端开发均有涉猎 博客内容:Java项目实战、项目演示、技术分享 文末有作者名片,希望和大家一起共同进步,你只管努力,剩下的交…

【Linux】常用指令【更详细,带实操】

Linux全套讲解系列,参考视频-B站韩顺平,本文的讲解更为详细 目录 一、文件目录指令 1、cd【change directory】指令 ​ 2、mkdir【make dir..】指令​ 3、cp【copy】指令 ​ 4、rm【remove】指令 5、mv【move】指令 6、cat指令和more指令 7、less和…

【爬虫工具】小红书评论高级采集软件

用python开发的爬虫采集工具【爬小红书搜索评论软件】,支持根据关键词采集评论。 思路:笔记关键词->笔记链接->评论 软件界面: 完整文章、详细了解: https://mp.weixin.qq.com/s/C_TuChFwh8Vw76hTGX679Q 好用的软件一起分…

去除字符串或字符串数组中字符串左侧的空格或指定字符numpy.char.lstrip()

【小白从小学Python、C、Java】 【考研初试复试毕业设计】 【Python基础AI数据分析】 去除字符串或字符串数组中 字符串左侧的空格或指定字符 numpy.char.lstrip() [太阳]选择题 请问关于以下代码表述错误的选项是? import numpy as np print("【执行】np.cha…

2024/9/22

系列文章目录 文章目录 系列文章目录前言一、两条腿走路二、编程语言能力提升1.廖雪峰的python课2.Leetcode(数据结构题) 三、机器学习能力提升1.统计学习方法 李航2.kaggle竞赛 四、神经网络能力提升1.神经网络与深度学习 邱锡鹏2.一套自己的万金油模板…

寄存器与内存

第三课:寄存器与内存、中央处理器(CPU)、指令和程序及高级 CPU 设计-CSDN博客 锁存器 引入 ABO0(开始状态)001(将A置1)110(将A置0)11 无论怎么做,都没法从1变…

Windows PowerShell相关笔记

之前我写的一篇,把我的PS(power shell)该了配置文件 pyqt5vscode 配置坑笔记_vscode使用pyqt command failed-CSDN博客 文件里写的自动加载conda #region conda initialize # !! Contents within this block are managed by conda init !!…

[Python]一、Python基础编程(2)

F:\BaiduNetdiskDownload\2023人工智能开发学习路线图\1、人工智能开发入门\1、零基础Python编程 1. 文件操作 把⼀些内容 ( 数据 )存储存放起来,可以让程序下⼀次执⾏的时候直接使⽤,⽽不必重新制作⼀份,省时省⼒ 。 1.1 文件的基本操作 1. 打开文件 2. 读写操作 3. 关闭…

基于YOLOv5s的瓶装酒瑕疵检测(附数据集与操作步骤)

本文主要内容:详细介绍了瓶装酒瑕疵检测的整个过程,从创建数据集到训练模型再到预测结果全部可视化操作与分析。 文末有数据集获取方式,请先看检测效果 现状 在酒类生产领域,品质极为重要。瓶装酒的外观瑕疵,不仅影响消费者的购…

基于Ambari搭建hadoop生态圈+Centos7安装教程V2.0优化版(本篇博客写的较为详细,可能比较多,请耐心看)

当我们学习搭建hadoop的时候,未免也会遇见很多繁琐的事情,比如很多错误,需要解决。在以后公司,也不可能让你一个一个搭建hadoop,成千上万的电脑,你再一个个搭建,一个个报错,而且每台…

飞书获取用户及部门信息

1、进入企业后台管理,创建一个企业自建应用 ,获取App ID,App Secret 2、 对应用设置api权限及数据权限 3、Java客户端获取用户,部门信息 有两种方式可以获取:1、api 2、sdk的方式 我这里采用sdk的方式,…

如何给文件夹里面的文件批量添加前缀和编号(利用C#写的小工具)

运行结果 将上面的文件编号效果 下载过后启动这个程序即可(这个程序灵感来源是上次给美术资源分类和编号的时候给我干吐了,所以写了这个工具) 体验链接:laozhupeiqia/批处理 --- laozhupeiqia/批处理 (github.com) 如果对你有帮助…

【C++】面向对象编程的三大特性:深入解析继承机制

C语法相关知识点可以通过点击以下链接进行学习一起加油!命名空间缺省参数与函数重载C相关特性类和对象-上篇类和对象-中篇类和对象-下篇日期类C/C内存管理模板初阶String使用String模拟实现Vector使用及其模拟实现List使用及其模拟实现容器适配器Stack与QueuePriori…

近几年来说最有效率的编程语言和市场最认可的编程语言分别是什么?

在过去的几年中,编程语言的效率和市场认可度在不断演变。不同的语言适用于不同的领域和场景,因而编程语言的“效率”和“市场认可”需要根据具体应用来分析。本文将从两个角度入手,分别探讨近几年中被认为最有效率和最受市场认可的编程语言。…

MISC - 第二天(wireshark,base64解密图片,zip文件伪加密,LSB二进制最低位,ARCHPR工具)

前言 各位师傅大家好,我是qmx_07,今天给大家讲解杂项 乌镇峰会种图 使用了stegsolve工具,查看更多信息 发现flag信息 更改为html后缀flag{97314e7864a8f62627b26f3f998c37f1} wireshark 看题目是 分析pacp数据包,通过网站登录…

模组差分包,可能是你远程升级失败的罪魁祸首!

也许我们已经习惯生活里的问题接连不断。。。但当收到客户的问题反馈,还是会心头一紧! 最近有客户反馈在乡村里频繁出现掉线的情况。 我们赶紧排查:换货、换SIM卡,发现只有去年5月22号采购的那批模块在客户环境附近会出现掉线的…

2024年 人工智能领域的一些成果与未来发展趋势 形式丰富多样

目前人工智能领域发展迅速,在多个方面取得显著成果。2024 人工智能大会展览规模、首发新品数均达历史最高,有超过 500 家企业参展,展品数量超过 1500 项。 在教育领域,人工智能落地成果显著。只需一键扫描就可以自动批改试卷的作业…

基于yolov5滑块识别破解(一)

由于内容较长,将分为两个部分来说明,本文讲解yolov5的部署与训练。 1.YOLOv5部署 云端部署(训练) 服务器创建 如果自己的显卡算力不是很好的,或者是核显电脑,可以租用算力,价格还行一块钱左右就…