Graph Transformer系列论文阅读

news/2024/5/6 6:53:03/文章来源:https://blog.csdn.net/DUDUDUTU/article/details/130111150

文章目录

  • research
    • 1.《Do Transformers Really Perform Bad for Graph Representation》【NeurIPS 2021 Poster】
    • 2.《Relational Attention: Generalizing Transformers for Graph-Structured Tasks》【ICLR2023-spotlight】
  • survey


推荐一个汇总Graph Transformer论文的项目:awesome-graph-transformer
推荐一个串讲Graph Transformer的推送:一文带你浏览Graph Transformers


research

1.《Do Transformers Really Perform Bad for Graph Representation》【NeurIPS 2021 Poster】

\quad 原作者对论文的解读:https://www.msra.cn/zh-cn/news/features/ogb-lsc
\quad 核心: 利用结构信息对 attention score 进行修正,这样在self-attention的基础上,比较好地利用上了图的结构信息。
\quad 动机: 目前图预测领域的主流算法是图神经网络(GNN)模型及其变种(比如图卷积网络(GCN,Graph Convolutional Net)、图注意力网络(GAT,Graph Attention Net)、图同构网络(GIN,Graph Isomorphic Net)等)。但是,这些图神经网络的结构相对简单,表达能力有限,且经常会出现过度平滑(Over-Smoothing)的问题(即无法通过堆深网络而增加 GNN 的表达能力)。相比于此,Transformer的模型表达能力很强,但是它的设计初衷是用来处理序列数据的,比如文本、语音等,并不能处理图结构数据。或者说self-attention机制只计算了节点的相关性,并没有考虑节点间的边信息(结构信息),self-attention机制将节点的相关性当作节点间的“边信息”,然而这并不包含结构关系。

\quad 那如何让Transformer处理图类型数据呢?对于这个问题,这篇文章认为核心在于如何让Transformer 学会编码图的结构信息

\quad Transformer 具有强大表达能力的原因在于其 自注意力机制,它通过计算输入中不同位置的语义信息相关性(可以理解为相似度),从而捕捉到输入之间的关系,并基于这些关系得到对整个输入完整的表达(representation)。然而,自注意力机制无法捕捉到结构信息,只能捕捉节点的相似度。对于自然语言序列而言,输入序列的结构信息可以简单认为是词与词的相对顺序,以及每个词在句子中的位置。对于图数据而言,这种结构信息更加复杂、多元,例如在图上的每个节点都有不同数量的邻居节点,两个节点之间可以有多种路径,每个边上都可能包含重要的信息。如何在图数据中成功应用 Transformer 的核心优势,最关键的难题是要确保Transformer可以正确利用图数据的结构信息

在这里插入图片描述
\quad 为了在Transformer中引入图数据中的结构信息,这篇文章提出了 Graphormer 模型,引入了三种结构编码,以帮助 Transformer 模型捕捉图的结构信息。其实就是构造了这些结构编码,然后直接加到self-attention的注意力权重上,目的是为attention score引入结构信息来进行修正,从而令修正的注意力权重分配更准确。三种结构编码如下:(主要参考原作者的解释)

  • 第一种编码,Centrality Encoding(中心性编码)。Centrality(中心性)是描述图中节点重要性的一个关键衡量指标。图的中心性有多种衡量方法,例如一个节点的“度”(degree)越大,代表这个节点与其他节点相连接的边越多,那么往往这样的节点就会更重要,如在疾病传播路线中的超级传播者,或社交网络上的大V、明星等。Centrality 还可以使用其他方法进行度量,如 Closeness、Betweenness、Page Rank 等。在 Graphormer 中,研究员们采用了最简单的度信息作为中心性编码,为模型引入节点重要性的信息。具体的方式是直接将Centrality Encoding加到每一个节点特征上。为什么要直接加到节点特征上?因为这些信息并没有反应注意力的信息,反映的是每个结点的特征。
    在这里插入图片描述

    • 其中xxx
  • 第二种编码,Spatial Encoding(空间编码)。实际上图结构信息不仅包含了每个节点上的重要性,也包含了节点之间的重要性。例如:邻居节点或距离相近的节点之间往往相关性比距离较远的节点相关性高。因此,研究员们为 Graphormer 设计了空间编码:给定一个合理的距离度量 ϕ(vi,vj)ϕ(v_i, v_j)ϕ(vi,vj), 根据两个节点(vi,vj)(v_i, v_j)(vi,vj)之间的距离,为其分配相应的编码向量距离度量 ϕ(⋅) 的选择多种多样,对于一般性的图数据可以选择无权或带权的最短路径,而对于特别的图数据则可以有针对性的选择距离度量,例如物流节点之间的最大流量,化学分子 3D 结构中原子之间的欧氏距离等等。为了不失一般性,Graphormer 在实验中采取了无权的最短路径作为空间编码的距离度量。具体实施时,在self-attention模块,在softmax之前,将两个点的shortest path作为一个bias term加到两个点的相关度上去。
    在这里插入图片描述
    其中:ϕ(vi,vj)ϕ(v_i, v_j)ϕ(vi,vj)是衡量节点间距离的一个函数,bϕ(vi,vj)b_{ϕ(v_i, v_j)}bϕ(vi,vj)为基于距离的一个可学习的标量 。无论在Graphormer的哪一层,图结构都是不变的,所以bϕ(vi,vj)b_{ϕ(v_i, v_j)}bϕ(vi,vj)在所有层中都是一样的,也就是共享。

  • 第三种编码,Edge Encoding(边信息编码)。对于很多的图任务,连边上的信息有非常重要的作用,例如连边上的距离、流量等等。然而为处理序列数据而设计的 Transformer 模型并不具备捕捉连边上的信息的能力,因为序列数据中并不存在“连边”的概念。因此,研究员们设计了edge encoding,将连边上的信息作为权重偏置(Bias)引入注意力机制中。具体来说,在计算两个节点之间的相关性时,研究员们对这两个节点最短路径SP上的连边特征进行加权求和作为注意力偏置,其中权重是可学习的。
    在这里插入图片描述
    其中:
    在这里插入图片描述

\quad Graphormer采用最短路径的方式来进行边信息编码,因为它处理的还是一张图,是有邻接矩阵的。如果没有邻接矩阵,就是将所有的节点看作是一个全连接图,那么就无需最短路径了,因为每两个点之间的边就是最短路径。这类的Graph Transformer一般会将两两之间的“距离”当作边信息,那么此时,bϕ(vi,vj)b_{ϕ(v_i, v_j)}bϕ(vi,vj)cijc_{ij}cij的作用就变成了一样的,都是将边信息纳入进attention score里。

\quad 《Language Conditioned Spatial Relation Reasoning for 3D Object Grounding》的思想在本质上有些与Graphormer类似,就是在self-attention的基础上加入了一种空间编码信息,相当于去除了edge、centrality encoding的Graphormer。

2.《Relational Attention: Generalizing Transformers for Graph-Structured Tasks》【ICLR2023-spotlight】

\quad 核心:为Transformer引入了节点间的有向边向量,并设计了一个Graph Transformer的计算方式,将QKV 向量 condition 到节点间的有向边。具体结构如下,细节参看之前文章:《Relational Attention: Generalizing Transformers for Graph-Structured Tasks》【ICLR2023-spotlight】
在这里插入图片描述
\quad 本文在效果上并没有与Graphormer直接对比,与Graphormer哪一个更好不能确定,应视具体任务而定。RT是将边向量直接加在q,k,v上,然后进行self-attention,最后得到的attention score中每一个元素如下式(11)所示。而Graphormer是将每一个边向量直接加在qk相乘后的attention score上,目的是对其做修正,最后得到的attention score为:niWnQ(njWnK)Tn_iW^Q_n(n_jW^K_n)^TniWnQ(njWnK)T(RT的attention score第一项)+ eije_{ij}eij。此外,Graphormer的v向量也没有加上边向量eije_{ij}eij
在这里插入图片描述
\quad RT强调的是算法,对边向量 eije_{ij}eij 如何获取没有讨论。Graphormer强调的是将图数据的结构信息(≈RT中的边向量 eije_{ij}eij )纳入进Transformer中,主要考虑的是对边向量 eije_{ij}eij 如何构造(spatial encoding+edge encoding),在算法层面倒是很简单,直接加上attention score就行。

survey

TODO

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

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

相关文章

2023年4月的12篇AI论文推荐

GPT-4发布仅仅三周后,就已经随处可见了。本月的论文推荐除了GPT-4以外还包括、语言模型的应用、扩散模型、计算机视觉、视频生成、推荐系统和神经辐射场。 1、GPT-4 Technical Report Sbastien Bubeck, Varun Chandrasekaran, Ronen Eldan, Johannes Gehrke, Eric…

【2023 年第十三届 MathorCup 高校数学建模挑战赛】A 题 量子计算机在信用评分卡组合优化中的应用 详细建模过程解析及代码实现

【2023 年第十三届 MathorCup 高校数学建模挑战赛】A 题 量子计算机在信用评分卡组合优化中的应用 1 题目 在银行信用卡或相关的贷款等业务中,对客户授信之前,需要先通过 各种审核规则对客户的信用等级进行评定,通过评定后的客户才能获得信 …

【Ubuntu安装选项】

关于Ubuntu系统安装选项 [TOC](关于Ubuntu系统安装选项) 安装选项选择 一、*Try or Install Ubuntu 二、Ubunru (safe graphics) 三、OEM install (for manufacturers) 四、Test memory 总结 安装选项选择 在安装Ubuntu系统时会有四个选项,搜…

( “树” 之 DFS) 226. 翻转二叉树 ——【Leetcode每日一题】

226. 翻转二叉树 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] 示例 2: 输入:root [2,1,3] 输出:[…

[ 应急响应基础篇 ] 使用 Autoruns 启动项分析工具分析启动项(附Autoruns安装教程)

🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…

[PTA] 插松枝(C++,模拟)

人造松枝加工场的工人需要将各种尺寸的塑料松针插到松枝干上,做成大大小小的松枝。他们的工作流程(并不)是这样的: 每人手边有一只小盒子,初始状态为空。每人面前有用不完的松枝干和一个推送器,每次推送一…

【软考数据库】第一章 计算机系统基础知识

目录 1.1 计算机系统 1.1.1 计算机硬件组成 1.1.2 中央处理单元 1.1.3 数据表示 1.1.4 校验码 1.2 计算机体系结构 1.2.1 体系结构分类 1.2.2 指令系统存 1.2.3 储系系统 1.2.4 输入/输出技术 1.2.5 总线结构…

CF204A-Little Elephant and Interval(数位)

CF204A-Little Elephant and Interval 考虑 [1,abcde‾][1,\overline{abcde}][1,abcde] 的情况: 位置集合数量个位1 ~ 99十位11 ~ 999百位{xux‾∣x∈[1,9],u∈[0,9]}\{\overline{xux} | x\in [1,9],u\in [0,9]\}{xux∣x∈[1,9],u∈[0,9]}91019\times 10^19101千位…

一站式智慧仓储物流方案,免费帮你一屏搞定,领导不重用你都难!

在江苏无锡,菜鸟已经通过柔性自动化技术搭建了亚洲规模最大的无人仓,超过1000台无人车可以快速组合、分拆作业,生产效率可提升一倍多,大大节省了人工成本。智慧仓储物流作为物流的重要一环,也吸引了广泛关注。2022年双…

【图数据挖掘】— 子图同构问题、单射函数和双射函数、同构(isomorphic)和同态(homomorphism)

子图同构问题 子图同构(Subgraph Isomorphism)是指在图论中,两个图之间是否存在一种关系,使得其中一个图的顶点集合和边集合可以通过对应的方式映射到另一个图的顶点集合和边集合上,且保持原来的边和顶点的关系不变。…

设计模式之中介者模式(C++)

作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 一、中介者模式是什么? 中介者模式是一种行为型的软件设计模式,也称为仲裁者模式,顾名思义&am…

基于SpringBoot的大学生体质测试管理系统源码数据库论文

目录 目录 1 绪 论 1.1系统背景介绍 1.2课题研究的目的和意义 1.3系统的研究现状 1.4系统实现的功能 1.5系统的特点 2 开发工具和技术 2.1 B/S体系结构 2.2 Java语言简介 2.3 SpringBoot框架 2.4 MySQL简介 3 系统需求分析 3.1 系统可行性分析及目的…

爱智EdgerOS之深入解析在爱智应用中如何使用Socket.IO轻松实现双向通信

一、什么是 Socket.IO? Socket.IO 是一个基于事件通信的实时应用程序框架,它在即时通讯、通知和消息推送,实时分析等场景中有广泛的应用。Socket.IO 包括两个部分: 在 Server 端的模块(JSRE 已提供了 socket.io 模块&…

UPA/URA双极化天线的协方差矩阵结构

文章目录UPA的阵列响应向量(暂不考虑双极化天线)UPA阵列响应:从单极化天线到双极化天线UPA双极化天线的协方差矩阵结构参考文献UPA的阵列响应向量(暂不考虑双极化天线) 下图形象描述了UPA阵列的接收信号 UPA阵列的水平…

已知原根多项式和寄存器初始值时求LFSR的简单例子

线性反馈移位寄存器(LFSR)是一种用于生成伪随机数序列的简单结构。在这里,我们有一个四项原根多项式 p(x)1x0x21102p(x) 1 x 0x^2 110_2p(x)1x0x21102​ 和初始值 S0100S_0 100S0​100。我们将使用 LFSR 动作过程来生成一个伪随机序列。…

SpringBoot【运维实用篇】---- SpringBoot程序的打包与运行

SpringBoot【运维实用篇】---- SpringBoot程序的打包与运行程序打包程序运行SpringBoot程序打包失败处理命令行启动常见问题及解决方案刚开始做开发学习的小伙伴可能在有一个知识上面有错误的认知,我们天天写程序是在Idea下写的,运行也是在Idea下运行的。…

vue——项目中加载public中的静态资源——技能提升

应用场景 在写后台管理系统的时候,遇到一个需求就是关于热力图的功能,需要加载不同的页面,这个页面需要每日更新一次,所以请求页面html的最终解决办法就是:将页面html对应的文件夹,放在public文件夹中&…

Zephyr RTOS应用开发(nrf5340)

目录 概述 开发环境安装 创建一个新的Zephyr应用 构建应用并刷写到开发板 概述 Zephyr™项目是一个采用Apache 2.0协议许可,Linux基金会托管的协作项目。针对低功耗、小型内存微处理器设备开发的物联网嵌入式小型、可扩展的实时操作系统,支持多种硬件…

(八)【软件设计师】计算机系统—浮点数

浮点数 浮点数。当机器字长为n时,定点数的补码和移码可表示2的n方个数,而其原码和反码只能表示2"-1个数(0的表示占用了两个编码),因此,定点数所能表示的数值范围比较小,在运算中很容易因结果超出范围而…

JavaScript -- 对象

1. 概念 对象是 JavaScript 数据类型的一种,可以理解为是一种无序的数据集合 2. 对象的使用 2.1 对象的声明 let 对象名 {} let 对象名 new Object() 2.2 属性和方法 数据描述性的信息称为属性,如人的姓名、身高、年龄、性别等,一般是…