Graphormer:Transformer用于图预测任务

news2024/9/28 5:24:01

文章信息  

文章题为“Do Transformers Really Perform Bad for Graph Representation?”,该文章发表于2021年NeurIPS会议上。文章提出Graphormer图预测任务。

摘要  

Transformer架构已经成为许多领域的主导选择,例如自然语言处理和计算机视觉。此外,与主流GNN变体相比,它在流行的图级预测排行榜上的表现并不具有竞争力。因此,Transformer如何在图表示学习中表现良好仍然是一个谜。文章提出Graphormer来解决这个谜题,Graphormer建立在标准的Transformer架构之上,并且可以在广泛的图表示学习任务中获得出色的结果。文章为了将图的结构信息编码到模型中,提出了几种简单而有效的结构化编码方法,以帮助Graphormer更好地对图结构数据进行建模。此外,文章在数学上描述了Graphormer的表达能力,并展示了文章对图的结构信息进行编码的方法,许多流行的GNN变体都可以作为Graphormer的特殊情况。

具体而言,首先,文章提出了一种Graphormer中的中心性编码(Centrality Encoding)来捕获图中节点的重要性。在一个图中,不同的节点可能具有不同的重要性,例如,在社交网络中,名人被认为比大多数网络用户更有影响力。然而,这些信息并没有反映在自关注模块中,因为自关注模块主要使用节点语义特征来计算相似度。为了解决这个问题,我们提出在Graphormer中对节点中心性进行编码。特别地,文章利用度中心性进行中心性编码,其中根据每个节点的度分配一个可学习向量,并将其添加到输入层的节点特征中。   

其次,文章提出了一种新的空间编码方法来捕捉节点之间的结构关系。区分图结构数据与其他结构化数据(语音、图像)的一个显著几何特性是,图结构数据中不存在嵌入图的规范网格。实际上,节点只能位于非欧几里得空间中,并且由边连接。为了对这些结构信息建模,文章根据每个节点对的空间关系分配一个可学习的嵌入。出于通用性的目的,文章选择任意两个节点之间最短路径的距离作为演示,这将被编码为softmax注意中的偏差项,并帮助模型准确地捕获图中的空间依赖性。此外,有时在边缘特征中还包含额外的空间信息,例如分子图中两个原子之间的键的类型。文章设计了一种新的边缘编码方法,进一步将这种信号带入Transformer层。

准备知识  

图神经网络(GNN):446cad28a005dec1a966e8508642d5c0.png表示图结构,其中V为节点集,E为边集,每个结点的特征向量为3a13f228ad529a375dbc1d780d3d01bd.png。GNN旨在学习图中每个节点的表示。通常而言通常,GNN遵循一种学习模式,通过聚合节点的第一阶或高阶邻居的表示来迭代更新节点的表示。该过程可以由下式表示:

53283527dede4d36eed4acfc7615a860.png

其中,ffe10660d452aa7906881d0746777d55.png表示节点j在l-1层的节点表示,9ff3160aef624f47ce0d06715a26d5ab.png表示节点i的一阶或高阶邻居。此外,在图表示任务在,还会存在一个READOUT函数,用于聚合节点的特征并获得图最终的表示:

bb5e66ecab4ee15e8b0aeaaf62545d89.png

Transformer:Transformer架构由Transformer层的组合组成。每个Transformer层有两个部分:一个自关注模块和一个位置前馈网络(FFN)。其具体公式如下,与常见的Transformer相同此处不再赘述。   

7022509e06eeeb46f3d8cd6540b47abd.png

Graphormer  

47f8114ca696181613bd8472a414b3b9.png

上图展示了Grpahormer的整体结构。文章在Transformer的Encoder基础上,添加了三种有效的编码方式,包括中心性编码、空间编码以及注意力机制中的边缘编码。

中心性编码:Transformer通过节点间的语义相关性计算注意力分布。然而,节点中心性能够衡量一个节点在图中的重要性,通常是模型理解图的一个重要信息。这些信息在当前的注意力计算中被忽略了,文章认为它应该是Transformer模型的一个有价值的信号。在Graphhormer中,文章使用了中心性度作为神经网络的附加信号。具体而言,文章提出了一种中心性编码,根据每个节点的入度和出度分配两个实值嵌入向量。当中心性编码应用于每个节点时,只需将其添加到节点特征中作为输入。

9ebd3d0d4444cfc96541258a81d93654.png    

其中,8cb74f2b8633dca527e3104d320a4cb1.png为可学习参数,分别通过节点的入度和出度进行具体化。对于无向图而言,上述两个参数可以简化为一个参数。通过在输入中使用中心性编码,softmax注意力机制可以捕获查询和键中的节点重要性信号。因此,该模型可以同时捕获注意机制中的语义相关性和节点重要性。

空间编码:Transformer的一个优势在于该模型有用全局接受域。在每个Transformer层中,每个token可以处理任何位置的信息,进而获得其表示。但该操作存在一个问题,即模型必须显式地指定层中的不同位置或编码位置依赖性。但对于图而言,然而,对于图,节点不是按顺序排列的。节点可以位于多维空间空间中,并由边缘连接。为了在模型中编码图的结构信息,文章提出了一种空间编码方法。具体地说,对于任意图G,文章考虑一个函数eff6a369c8331cdfdeb59eaf1eb2dae2.png,该函数衡量了在图G中两个节点之间的空间关系。文章选择两个节点之间最短路径的长度作为空间关系的衡量标准,如果两个节点是联通的则使用最短路径长度作为空间关系,否则为-1。文章为每个可行的输出值分配一个可学习的标量,该标量将作为自注意模块中的偏置项。

cc5ff7e5a4c18f77dcf0f3601dd26c6a.png

其中,c604b500ba25b4f7837d92145fc2340a.png为可学习标量并且每层共享。进一步,文章讨论该方法的几个好处。首先,与传统GNN相比,传统的GNN接受域仅限于邻居,而在空间编码中,Transformer层提供了一个全局接受域,即每个节点可以关注图中的所有其他节点。其次,通过使用501ccaf0a8ccfd6d8d15c4f20ab510d5.png,单个Transformer层中的每个节点可以根据图结构信息自适应地关注所有其他节点。

注意力机制中的边缘编码:在许多图任务中,边也具有结构特征,这些特征对于图的表示非常重要,并且将它们与节点特征一起编码到网络中是必不可少的。在以往的工作中,主要采用了两种边缘编码方法。.第一种方法:将边缘特征添加到关联节点的特征中;第二种方法:对于每个节点,其关联边的特征将与聚合中的节点特征一起使用。然而,这种使用边缘特征的方法只是将边缘信息传播到其相关节点,这可能不是利用边缘信息表示整个图的有效方法。为了更好地将边缘特征编码到注意层中,文章提出了一种新的边缘编码方法。由于,注意机制需要估计每个节点对(vi, vj)的相关性,文章认为在相关性中应该考虑连接它们的边。对于每一个有序的节点对(vi, vj),文章找到(其中一条)最短路径b2452a5adde4ac29fa6ebd0c8a429fcb.png并计算边缘特征点积的平均值和沿路径的可学习嵌入。   

2aa7868e7d0bca0f615da08dbe25041d.png

其中,d771cb7c1fce3d04abf43789e34d79ce.png表示第n条边的特征,a2849f5352baf53f117866fe9da03bf2.png表示第n个权重的嵌入。

Grpahormer的应用:Graphormer基于经典Transformer的编码器构建。此外,文章在多头自注意力机制和前馈神经网络之前应用了层归一化(LN)。这种修改被所有当前的Transformer实现一致采用,因为它导致更有效的优化。特别是对于FFN子层,文章将输入、输出和内层的维数设置为与d相同的维数。Graphormer层形式化表征如下:

f3899c2d4023feeeb927175ea04b076c.png

此外,在Graphormer中,文章在图中添加了一个特殊的节点[VNode],并在[VNode]和每个节点之间单独建立连接。在AGGREGATE-COMBINE步骤中,[VNode]的表示已经被更新为图中的普通节点,整个图的表示将是最后一层[VNode]的节点特征。从概念上讲,虚拟节点的好处是它可以聚合整个图的信息(如READOUT函数),然后将其传播到每个节点。

实验  

文章首先在最近的OGB-LSC量子化学回归挑战(PCQM4M-LSC)上进行实验,该挑战是目前最大的图级预测数据集,总共包含超过380万个图。进一步,文章分析了其他三个流行任务:ogbg-molhiv、ogbg-molpcba和ZINC的结果。最后,文章总结了graphhormer的重要设计元素。   

OGB-LSC(PCQM4M-LSC)数据集上的实验结果如下所示。该表总结模型的性能比较。从表中可以看出,与之前最先进的GNN架构相比,Graphormer明显超过了GIN-VN,例如,相对验证MAE下降了11.5%。此外,文章作者发现发现所提出的graphhormer不存在过度平滑的问题,即训练误差和验证误差随着模型深度和宽度的增长而不断减小。

6d8bf65735d71cf4b9c3bd574ad220ac.png

图表示学习:文章进一步研究了Graphormer在常用的流行排行榜的图形级预测任务上的性能,即OGBG-MolPCBA, OGBG-MolHIV和ZINC。实验结果如下所示。

16650bf812590b456e6b3de07dc4f34c.png

进一步,为验证模型有效性,文章进行消融实验,对所提出的三种方法进行处理。实验结果如下。在节点关系编码中,文章将先前使用的位置编码(PE)与所提出的空间编码进行了比较,这两种编码都旨在编码与Transformer有不同节点关系的信息。以前基于Transformer的GNN使用了各种PE,例如Weisfeiler-LehmanPE和Laplacian PE。文章选择了Laplacian PE的性能,因为该编码方式性能较好。   

2c2b8d3d66dc24403531f2191351477a.png

6 结论  

文章探索了Transformer在图形表示中的直接应用。使用三种新颖的图结构编码,所提出的graphhormer在广泛的流行基准数据集上工作得非常好。虽然这些初步结果令人鼓舞,但仍存在许多挑战。最后,提出了一种适用于Graphormer节点表示提取的图采样策略。   

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

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

相关文章

1015: 堆排序算法

解法&#xff1a; 20240510_193050 最后一个非叶子节点就是最后一个节点的父节点 进行一次最小堆调整&#xff08;如视频&#xff09; #include<iostream> #include<vector> using namespace std; void min_heapfy(vector<int>& a,int sta,int end) {i…

游戏行业被攻击的原因、攻击种类及合适的服务器

很多游戏刚上线没多久就频繁遭到同行恶意攻击。在相关数据报告中&#xff0c;2023年上半年遭受DDoS攻击的行业中&#xff0c;游戏行业占到40%&#xff0c;而且攻击方式、攻击频率、攻击峰值呈明显上升趋势。很多充满创意的游戏开发公司刚才开发上线一个很有特色的产品&#xff…

在k8s中安装Grafana并对接Prometheus,实现k8s集群监控数据的展示

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《Grafana&#xff1a;让数据说话的魔术师》 &#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、引言 1、Grafana简介 2、Grafana的重要性与影响力 …

需求规格说明书设计规范(编制实际项目案例-word)

二、 项目概述 2.1 项目背景 2.2 现状分析 2.2.1 业务现状 2.2.2 系统现状 三、 总体需求 3.1 系统范围 3.2 系统功能 3.3 用户分析 3.4 假设与依赖关系 四、 功能需求 五、 非功能性需求 5.1 用户界面需求 5.2 软硬件环境需求 5.3 产品质量需求 5.4 接口需求 5.5 其他需求 六、…

C语言(指针)2

Hi~&#xff01;这里是奋斗的小羊&#xff0c;很荣幸各位能阅读我的文章&#xff0c;诚请评论指点&#xff0c;关注收藏&#xff0c;欢迎欢迎~~ &#x1f4a5;个人主页&#xff1a;小羊在奋斗 &#x1f4a5;所属专栏&#xff1a;C语言 本系列文章为个人学习笔记&#x…

在拥有多个同名称密码的ap环境中,如何连接到指定信道或mac的ap路由器?

在给客户做ESP32-C3入墙开关项目时&#xff0c;客户问&#xff1a;在拥有多个同名称密码的ap环境中&#xff0c;如何连接到指定信道或mac的ap路由器&#xff1f;针对这个问题&#xff0c;启明云端工程师给出下面解决方法。 1、将wifi_sta_config_t配置中的channel配置为该信道…

又一位互联网大佬转行当网红,能写进简历么?

最近半个月&#xff0c;有两个中年男人仿佛住进了热搜。 一个是刚刚辟谣自己“卡里没有冰冷的 40 亿”的雷军&#xff0c;另一个则是在今年年初就高呼“如果有可能&#xff0c;企业家都要去当网红”的 360 创始人周鸿祎。 他也确实做到了。 先是作为当年 3Q 大战的当事人&…

企业破产重整:从“至暗时刻”到“涅槃重生”

今天我们不谈星辰大海&#xff0c;而是要潜入商业世界的深海区&#xff0c;探索那些濒临绝境的企业是如何借助“破产重整”的神秘力量&#xff0c;实现惊天大逆转的&#xff01; 一、破产重整&#xff0c;到底是个啥&#xff1f; 想象一下&#xff0c;企业像是一位远航的船长…

Map按value降序并统计

package com.ldj.cloud.user.demo;import java.util.*;/*** User: ldj* Date: 2024/5/11* Time: 10:03* Description: map按value降序*/ public class Tr {public static void main(String[] args) {ArrayList<String> list new ArrayList<>();list.add("a&q…

在家就可以轻松赚零花钱的副业

互联网的兴起让很多人实现了在家办公的梦想&#xff0c;同时也为人们提供了更多的挣钱方式。以下是4种可以在家中兼职副业赚钱的方法&#xff1a; 1. 写作工作 如果你善于写作&#xff0c;并且有一定的文学素养&#xff0c;那么可以通过自己的博客或其他媒体平台来写作&#…

4. 初探MPI——集体通信

系列文章目录 初探MPI——MPI简介初探MPI——&#xff08;阻塞&#xff09;点对点通信初探MPI——&#xff08;非阻塞&#xff09;点对点通信初探MPI——集体通信 文章目录 系列文章目录前言一、集体通信以及同步点二、MPI_Bcast 广播2.1 使用MPI_Send 和 MPI_Recv 来做广播2.…

【一站式学会Kotlin】第四节默认参数和具名参数、unit返回值类型

作者介绍&#xff1a; 百度资深Android工程师T6&#xff0c;在百度任职7年半。 目前&#xff1a;成立赵小灰代码工作室&#xff0c;欢迎大家找我交流Android、微信小程序、鸿蒙项目。文章底部&#xff0c;csdn有为我插入微信的联络方式&#xff0c;欢迎大家联络我。 一&#x…

按键的短按、长按和连续的划分

在实际生活中&#xff0c;我们使用到的按键在短按、长按和按键松开时都会触发不同的功能。按键短按后松开和长按后松开的应用比短按和长按的应用较少&#xff0c;我了解的按键短按后松开和长按后松开的应用是在点动控制和长动控制中。这里主要讨论按键的短按、长按和连续这三种…

用Xinstall实现智能信息的无缝传递

在这个信息化的时代&#xff0c;智能信息的传递显得尤为重要。无论是对于个人还是企业&#xff0c;高效、准确的信息传递都是成功的关键。然而&#xff0c;随着科技的飞速发展&#xff0c;传统的信息传递方式已经无法满足我们的需求。这时&#xff0c;Xinstall应运而生&#xf…

Linux的命令(第二篇)

昨天学习到了第17个命令到 rm 命令&#xff08;作用删除目录和文件&#xff09;&#xff0c;今天继续往下里面了解其他命令以及格式、选项&#xff1a; &#xff08;17&#xff09;wc命令&#xff08;此wc非wc&#xff09; 作用&#xff1a;统计行数、单词数、字符分数。 格…

UEC++ FString做为参数取值时报错error:C4840

问题描述 用来取FString类型的变量时报错&#xff1a; 问题解决 点击错误位置&#xff0c;跳转到代码&#xff1a; void AMyDelegateActor::TwoParamDelegateFunc(int32 param1, FString param2) {UE_LOG(LogTemp, Warning, TEXT("Two Param1:%d Param2:%s"), param…

AutoCAD中密集的填充打散后消失的问题

有时候在AutoCAD中&#xff0c;图案填充的填充面积过大或填充太过密集时&#xff0c;将该填充打散&#xff0c;也就是执行Explode时&#xff0c;会发现填充图案消失了。 原因是打散后线条太大&#xff0c;系统就不显示了。可以通过设置&#xff1a;HPMAXLINES 值&#xff0c;来…

爬虫学习:XPath提取网页数据

目录 一、安装XPath 二、XPath的基础语法 1.选取节点 三、使用XPath匹配数据 1.浏览器审查元素 2.具体实例 四、总结 一、安装XPath 控制台输入指令&#xff1a;pip install lxml 二、XPath的基础语法 XPath是一种在XML文档中查找信息的语言&#xff0c;可以使用它在HTM…

echarts自定义图例显示名称、数值、占比

先上代码 legend: {orient: vertical,left: 10,top:20,data: data,textStyle: {color: #9FB7D5 // 设置图例文字颜色为白色},// type: plain, // 设置图例类型为普通类型itemWidth: 10, // 设置图例项的宽度itemHeight: 10, // 设置图例项的高度formatter: function(name) {let…

通用人工智能AGI,究竟是一个哲学问题还是技术问题?

引言 在探索人工智能的未来方向中&#xff0c;人工通用智能&#xff08;AGI&#xff09;的概念逐渐成为科技领域和哲学探讨的焦点。AGI旨在创建可以执行任何智能任务的机器&#xff0c;甚至在某些方面超越人类的能力。然而&#xff0c;关于AGI的研究不仅仅是技术问题&#xff…