您现在的位置是:首页» windows系统» 一文带你了解区块链,一文看懂transformer

一文带你了解区块链,一文看懂transformer

2024-07-13 14:19:27
本内容由系统网小编为大家分享,Windows系统安装教程、办公系统、软件怎么使用、软件使用教程、办公软件攻略等信息。作者: whistle@known(授权)来源:https://zhuanlan.Zhihu.com/p/53648997编

本内容由系统网小编为大家分享,Windows系统安装教程、办公系统、软件怎么使用、软件使用教程、办公软件攻略等信息。

作者: whistle@known(授权)

来源:https://zhuanlan.Zhihu.com/p/53648997

编辑丨极市平台

导读

本文通过对2020年至2022年 Graph Transformers 的论文分析,总结和比较了该领域的各个前沿方法。

写在前头

你为什么要在图上使用Transformer?

总结GT的好处:

能捕获长距离依赖

减少过滑和过挤现象

在GT中,它甚至可以与GNN和Laplacian PE结合,使模型的性能更强。

利用好[CLS] token,不需要额外使用pooling function。

etc...

文章汇总

[Arxiv 2020] GRAPH-BERT: Only Attention is Needed for Learning Graph Representations

GNN过度依赖图上的链接,此外,由于图形很耗时,你可能无法直接执行操作。该论文提出了一种新的只依赖attention机制的图网络Graph-BERT,Graph-BERT的输入不是完整的图,相反,它是一个堆积的样品子图(没有边缘)。作者使用节点属性重建和结构恢复来预先训练两个任务,然后调整到较低的数据集。该方法在节点分类和图形集群任务中实现了SOTA.

图1:图表-BERT

和之前NLP中的BERT不一样的地方主要是position encoding,Graph-BERT使用三个 PE,分別是WL absolut PE 。intimacy based relative PE和Hop based relative PE,这里三个 PE 是根据一个完整的图表计算的.

为了便于操作,下图基于图表的亲密矩阵( https://zhuanlan.Zhihu.com/p/272754714),以排序[i, j,..m],其中S(i,j) > S(i,m),得到序列化的结果。

其中Weisfeiler-Lehman Absolute Role Embedding如下:

402 Payment Required

经过WL之后,子结构一样的节点就会得到相同的hash code,如果是1-WL有点像degree centrality(针对无向图而言)。因此,WL PE可以捕获全局节点角色信息。

Intimacy based Relative Positional Embedding

这个 PE 捕获偏见的本地信息,因为输入是按照图形的亲密矩阵排序的,并且简单地设置,节点离i越近,节点就越小。 映射公式如下:

Hop based Relative Distance Embedding

该 PE 收集 全球 和 当地 之间 的 信息 :

添加节点嵌入和这些 PE,然后输入到Transformer中得到subgraph每个节点的表征  。因为下图中有许多节点,作者希望最后只得到target node  的表征  ,因此作者还设计了一个Fusion function,原文是将所有节点代表为平均. 都会被输出,根据下文所希望的任务选择使用。

402 Payment Required

节点分类效果(没有进行pre-training)

节点分类

总的来说,本文的新颖之处在于对各种图形的 PE 的呈现。而对子图的影响也可以在GNN整个图的影响之前实现,但实验数据集太小了,而且没有使用更大的图形数据集,由于这些数据集很小,所以它们不能很好地显示预处理的效果。此外,最后,采样子图仅用于计算目标节点的损失。效率太低。推理效率也很低。

[NIPS 2020] (GROVER) Self-Supervised Graph Transformer on Large-Scale Molecular Data

GNN在分子领域被广泛研究,但这一领域有两个主要问题:(一)标签数据不多,(2)新合成的分子具有较差的一般化能力。为了解决这个问题,纸设计节点-,edge-,图级的自我监控任务,希望分子的丰富语义和结构信息可以从大量未标记的数据中获得。作者对100M参数的GNN进行了训练,对100万无标记的分子图进行了研究,然后根据下面的任务进行微调,在11个数据集上都达到了SOTA(平均提升超过6个点)。

模型结构如下:

结构图

因为message passing的过程可以捕获到图中的局部结构信息,所以先通过GNN获取数据,然后得到Q,K,V,可以使得每个节点表征得到local subgraph structure的信息。然后,这些表征通过self-attention可以捕获到global的信息。为了防止message passing出现over-smoothing现象,该论文将残差链接变成了long-range residual connection,原型特征直接附在背部。

此外,因为GNN层直接影响到感官场,这将影响到message passing model的泛化性。因为不同的数据集可能需要不同的GNN层,预定义的GNN层可能影响模型的性能。作者在训练过程中随机选择层,随机选择跳动MPNN,其中  或者  。这种MPNN称为Dynamic Message Passing networks(dyMPN),实验表明,这种结构比传统的MPNN更好。

预训练:

本文主要运用两项自我监督任务:

(1)Contextual property prediction(node/edge level task)

Contextual property prediction

一个良好的节点级自我监测任务应满足两个特点:

预测目标是可信的,容易实现的。

预测目标应响应节点或边缘的上下文信息。 基于这些特性,作者设计了基于节点和边缘的自监测任务(通过分图预测目标节点/侧面的上下文属性)。

例子

举一个例子,给定一个target node C原子,我们首先把它的k-hop邻居看作一个子图,当k=1,N和O原子将包含单键和双键.然后我们从这个subgraph中抽取统计特征(statistical properties),我们会计数出针对center node (node-edge) pairs的共现次数,可表示为node-edge-counts,所有的node-edge counts terms按字母顺序排,在这个例子中,我们可以得到C_N-DOUBLE1_O-SINGLE1。这个步骤可以看作是一个聚类过程:根据抽取的特性,可以将分支图分组起来,属性与具有相同的统计属性的集群的一个子图相符。

通过这种具有context-aware property的定义,全局性质预测任务可以分为以下流程:

输入一个分子图,通过GROVER encoder我们可以得到原子和边的embeddings,原子的随机选择(它的嵌入是 )。我们没有预测原子类别,而是希望  能够编码node  周围的一些上下文信息(contextual information),实现这一点的方法是输入一个非常简单的模型(一个完整的连接层),然后使用它的输出去预测节点  的上下文属性(contextual properties),这个预测是一个multi-class classification(一个类别对应一种contextual property)。

(2)Graph-level motif prediction

图表级的自我监控任务也需要可靠而廉价的标签,motifs是input graph data中频繁出现的sub-graphs。一个重要的主题是功能组,它编码了丰富的分子领域知识,可由专业软件检测,例如RDKit。因此,我们可以将motif prediction task公式化成一个多分类问题,每个图案都与标签相符。假设分子数据中心有p图案.对特定分子来说,我们使用RDKit来检测分子中是否出现图案,然后把其构建为motif prediction task的目标。

调制下游任务:

完成预备培训后,对无目标的数量数据进行测试,我们得到了一种高质量的分子编码器,针对具体的下游任务(e.g. node classification, link prediction, the property prediction for molecules, etc),我们需要调整模型,针对graph-level的下游任务,我们还需要一个额外的readout函数来得到全图的表征(node-level和edge-level就不需要readout函数了),然后用MLP分类.

实验:

注:绿色表示进行了pre-training

业绩的改善仍然相当明显。

[AAAI 2020 Workshop] (GT) A Generalization of Transformer Networks to Graphs

模型结构

主要提出使用Laplacian eigenvector作为PE,比GraphBERT中使用的PE好

不同PE的效果比较

但是该模型的效果在self-attention只关注neighbors的时候会更好,与其说是graph transformer,最好用PE和GA。Sparse graph指的是self-attention只计算邻居节点,full graph是指self-attention会考虑图中所有节点。

实验结果

[Arxiv 2021] GraphiT: Encoding Graph Structure in Transformers

该工作表明,将结构和位置信息合并到transformer中,能够优于现有的经典GNN。

GraphiT:(1)利用基于图上的核函数的相对位置编码来影响attention scores,(2)并编码出local sub-structures进行利用。实现发现,该方法是否单独使用,但联合使用取得了良好的效果。

(i) leveraging relative positional encoding strategies in self-attention scores based on positive definite kernels on graphs, and (ii) enumerating and encoding local sub-structures such as paths of short length

之前GT发现self-attention在只关注neighboring nodes的时候会取得比较好的效果,但当你把注意力集中在所有节点上,性能就不行。这篇论文发现transformer with global communication同样可以达到不错的效果。

因此,GraphiT通过一些策略将local graph structure编码进模型中,(1)基于正定核的注意力得分加权的相对位置编码策略 (2)通过利用graph convolution kernel networks (GCKN)将small sub-structure(e.g.,paths或者subtree patterns)编码出来作为transformer的输入。

Transformer Architectures

402 Payment Required

Encoding Node Positions

Relative Position Encoding Strategies by Using Kernels on Graphs

Encoding Topological Structures

Graph convolutional kernel networks (GCKN)

实验结果

实验结果

[NIPS 2021] (GraphTrans) Representing Long-Range Context for Graph Neural Networks with Global Attention

论文提出了GraphTrans,在标准GNN层上添加变换器.并提出了一种新的readout机制(其实就是NLP中的[CLS] token)。对于图而言,针对target node的聚合最好是permutation-invariant,但是加上PE的transformer可能就没法实现这个了,因此,在图上不使用 PE 是比较自然的。

pipeline

可解释性观察

该符号为18,并且可以看到它与其他节点非常频繁地相互作用,它可能能够提取更一般的信息。

本文的方法虽然简单,但进行了大量的实验,效果也很好。

NCI biological datasets

NCI biological datasets

OpenGraphBenchmark Molpcba dataset

Molpcba dataset

OpenGraphBenchmark Code2 dataset

Code2 dataset

[NIPS 2021] (SAN) Rethinking Graph Transformers with Spectral Attention

这篇论文使用learnable PE,对为什么laplacian PE比较有效进行了比较好的说明。

[NIPS 2021] (Graphormer) Do Transformers Really Perform Bad for Graph Representation?

原作者自己解释了( https://ww.msra.cn/zh-cn/news/features/ogb-lsc):

核心点在于利用结构信息对attention score进行修正,这样比较好地利用上了图的结构信息。

[ICML 2022] (SAT) Structure-Aware Transformer for Graph Representation Learning

该文件类似于GraphTrans。它首先通过GNN获取新的节点表示,然后进入GT。本文只是对提取结构信息的方法做了更抽象的定义(但为了方便,它仍然使用GNN。另一个不同之处是该纸还使用PE(RWPE)。

在这篇论文中,作者展示了使用位置编码的Transformer生成的节点表示不一定捕获节点之间的结构相似性。为了解决这个问题,Chen et al. 提出了一种structure-aware transformer,这是一种建立在新的self-attention机制上的transformer。这种新的self-attention在计算attention之前会抽取子图的表征(rooted at each node),这将集成到结构信息中。作者提出了若干种可以自动生成subgraph representation的方法,从理论上证明这些表征至少和subgraph representations表现力一样。

该structure-aware框架能够利用已有的GNN去抽取subgraph representation,实验表明,该模型的性能改进与GNN具有较大的关系。仅用于Transformer的绝对位置编码将显示过于松散的结构推理偏差。这并不保证两个具有相似的局部结构的节点产生相似的节点表示。

[NIPS 2022 Under Review] (GraphGPS) Recipe for a General, Powerful, Scalable Graph Transformer

在这篇论文中,作者对之前使用的PE进行了细致的归类(local, global or relative, 详见下方表格)。此外,该论文还提出了构建General, Powerful, Scalable Graph Transformer的要素有三:

positional/structural encoding,

local message-passing mechanism,

global attention mechanism。

为了解决这些问题, 作者设计了一种新的图形变换器.

针对layer的设计,该论文采用GPSlayer = a hybrid MPNN+Transformer layer。

这种设计与GraphTrans的区别在于,GraphTrans首先输入一个层级MPNN,然后输入Transformer,这可能会有over-smoothing,over-squashing以及low expressivity against the WL test的问题,这意味着这些层可能无法提前存储一些信息,输入到transfomer的信息就会有缺失。GPS的设计是每一层都是一层的MPNN+transformer layer,然后反复堆叠L层。

402 Payment Required

具体计算如下:

利用Linear transformer,GPS可以将时间复杂度降到  。

实验结果

使用不同的Transformer,MPNN:可以发现不使用MPNN掉点很多,使用Transformer可以带来性能提升。

冷却实验:使用不同的变压器,MPNN 使用不同的PE/SE:由于计算成本低,RWSE最有效。 如果你不介意计算费用,你就能做得更好。

分解实验:使用不同的PESE Benchmarking GPS

Benchmarking GNNs

Open Graph Benchmark

OGB-LSC PCQM4Mv2

方法汇总

注:这篇文章主要汇总的是同质图上的graph transformers,目前也有一些异质图上graph transformers的工作,感兴趣的读者自行查阅哈。

图上不同的transformers的主要区别在于(1)如何设计PE,(2)如何利用结构信息(结合GNN或者利用结构信息去修正attention score, etc)。

现有的方法基本都针对small graphs(最多几百个节点),虽然 Graph-BERT的目标是节点分类任务,但是首先你通过抽样得到一个子图,这会损害性能(比GAAT多很多参数,但表现很相似),能否设计一种针对大图的transformer还是一个比较难的问题。

各方法的区别

代码参考

GRAPH-BERT: Only Attention is Needed for Learning Graph Representations (https://github.com/jwzhanggy/Graph-Bert)

(GROVER) Self-Supervised Graph Transformer on Large-Scale Molecular Data (https://github.com/tencent-ailab/grover)

(GT) A Generalization of Transformer Networks to Graphs (https://github.com/graphdeeplearning/graphtransformer)

GraphiT: Encoding Graph Structure in Transformers [Code is unavailable]

(GraphTrans) Representing Long-Range Context for Graph Neural Networks with Global Attention (https://github.com/ucbrise/graphtrans)

(SAN) Rethinking Graph Transformers with Spectral Attention [Code is unavailable]

(Graphormer) Do Transformers Really Perform Bad for Graph Representation?(https://github.com/microsoft/Graphormer)

(SAT) Structure-Aware Transformer for Graph Representation Learning [Code is unavailable]

(GraphGPS) Recipe for a General, Powerful, Scalable Graph Transformer(https://github.com/rampasek/GraphGPS)

其他资料

Graph Transformer综述(https://arxiv.org/abs/2202.08455);Code(https://github.com/qwerfdsaplking/Graph-Trans)

Tutorial: A Bird's-Eye Tutorial of Graph Attention Architectures (https://arxiv.org/pdf/2206.02849.pdf)

Dataset: Long Range Graph Benchmark (https://arxiv.org/pdf/2206.08164.pdf);Code(https://github.com/vijaydwivedi75/lrgb)

介绍:GNN一般只捕获K-hop邻居,他们可能无法捕捉长距离的依赖信息,变压器可以解决这个问题。该benmark共包含五个数据集(PascalVOC-SP, COCO-SP, PCQM-Contact, Peptides-func and Peptides-struct),模型需要能够捕捉长距离依赖性以获得更好的结果。该数据集主要用来验证模型捕获long range interactions的能力。

还有一些关于均匀图形的图形变换器的工作,感兴趣的学生可以自己阅读:

[KDD 2022] Global Self-Attention as a Replacement for Graph Convolution (https://arxiv.org/pdf/2108.03348.pdf)

[ICOMV 2022] Experimental analysis of position embedding in graph transformer networks (https://www.spiedigitallibrary.org/conference-proceedings-of-spie/12173/121731O/Experimental-analysis-of-position-embedding-in-graph-transformer-networks/10.1117/12.2634427.short)

[ICLR Workshop MLDD] GRPE: Relative Positional Encoding for Graph Transformer (https://arxiv.org/abs/2201.12787);[Code] (https://github.com/lenscloth/GRPE)

[Arxiv 2022,05] Your Transformer May Not be as Powerful as You Expect (https://arxiv.org/pdf/2205.13401.pdf);[Code] (https://github.com/lenscloth/GRPE)

[Arxiv 2022,06] NAGphormer: Neighborhood Aggregation Graph Transformer for Node Classification in Large Graphs (https://arxiv.org/abs/2206.04910)

本文仅供学术分享, 如有违反, 请联络删除文本.

干货下载与学习

后台回复:巴塞罗那自治大学课件,即可下载国外大学沉淀数年3D Vison精品课件

背景回答:电脑视觉书,你可以下载3D视觉领域经典书pdf

背景回答:3D视觉课程,你可以学习最好的3D视觉课程

3dcver网站:3dcver.com

1.汽车多传感器数据融合技术

2.3D云目标用于汽车领域检测完整的堆栈学习路径(单模式+多模式/数据+代码)3.综合视觉3D重建:原理分析、代码解释和优化改进4.国内首个基于云的工业级实战课程5.激光-视觉-IMU-GPS融合SLAM算法组成和代码说明6. 综合视觉惯性课程: Vins-Fusion 的开放课程基于LOAM框架的3D激光SLAM综合理解:源分析对算法优化8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零中构建结构光立体重建系统[理论+源+实践]

单元深度估计方法:算法压缩和代码实现

11. 在 自主 车辆 中 部署 深入 学习 模型

12.摄像机建模及标记(单眼+双眼+鱼眼)

四轮飞行器:算法与现实

14.ROS2从进化到完善:理论与实践

15.中国第一个3D缺陷检测教程:理论、源代码和现实

16.开放基于3D的云的进入和战斗训练

重磅!计算机视觉实验室-学习交流小组成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

你也可以申请加入我们的分科交流组,目前主要有ORB-SLAM系列源码学习、3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、深度估计、学术交流、求职交流等微信群,请浏览以下的WeChat小组,注:研究方向+学校/公司+昵称例如,“3D视觉 + 上海研讨会 + 沉默”。请按照格式备注,否则不予通过。根据研究方向,将邀请成功加入有关的WeChat小组。原创投稿也请联系。

添加WeChat组或邮件

▲长按关注公众号

从智慧之门到智慧之星的3D视觉:3D视觉视频课程 程( 3D重建系列 、 三维点云系列 、 结构光系列 、 手眼标定 、 相机标定 、 激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更多的大型工厂算法工程师进行技术指导.与此同时,行星将联合发布与3D视觉相关的算法开发工作和项目到项目信息,射击为铁杆风扇集装区之一创造了一种集装技术和就业机会,近400个行星成员正在共同努力,创造一个更好的人工智能世界,知识星球入口:

学习3D视觉核心技术,扫描和视图介绍,3天内无条件退款

提供高质量的教学材料,回答问题,帮助您有效解决问题

如果你觉得它有用的话, 请赞扬一下并看一看.

XTw.com.Cn系统网专业应用软件下载教程,免费windows10系统,win11,办公软件,OA办公系统,OA软件,办公自动化软件,开源系统,移动办公软件等信息,解决一体化的办公方案。

免责声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。内容仅供参考使用,不准确地方联系删除处理!

联系邮箱:773537036@qq.com

标签: 带你 一文 浏览