【论文阅读笔记】A Generalization of Transformer Networks to Graphs

  • 1. 论文地址
  • 2. Abstract
  • 3. Introduction
    • 3.1 Related Work
    • 3.2 Contributions
  • 4. Proposed Architecture
    • 4.1 On Graph Sparsity
    • 4.2 On Positional Encodings
    • 4.3 Graph Transformer Architecture
  • 5. Numerical Experiments
  • 6. Analysis and Discussion
    • 6.1 Comparison to PEs used in Graph-BERT
  • 7. Conclusion

1. 论文地址

论文:https://arxiv.org/pdf/2012.09699.pdf
代码:https://github.com/graphdeeplearning/graphtransformer

2. Abstract

作者提出了一种适用于任意图的transformer神经网络结构的推广方法。原始的transformer是建立在全连接的图上,这种结构不能很好地利用图的连通归纳偏置——arbitrary and sparsity,即把transformer推广到任意图结构,且表现较弱,因为图的拓扑结构也很重要,但是没有融合到节点特征中。
作者提出新的graph transformer,带有以下四个新特征:

  1. 在每个node的可连通临域做attention.
  2. positional encoding用拉普拉斯特征向量表示.
  3. 用BN(batch normalization)代替LN(layer normalization),优点:训练更快,泛化性能更好.
  4. 将结构扩展到边特征表示.
    此架构简单而通用,作者相信它可以作为黑盒,应用在transformer和graph的application中。

3. Introduction

  1. 在NLP中,transformer利用注意力机制处理长距离的序列信息,即句子中的一个单词与其它单词关联,然后结合获得的权重信息得到抽象的特征表示。
  2. 基于图结构数据的GNNs挖掘给定任意图的结构信息,并学习nodes和edges的特征表示。

3.1 Related Work

  1. 在Graph Transformer中,attention用在了某个node对所有nodes,而不是此node的邻域。这限制了稀疏性的有效利用,稀疏性是图数据集学习的一个很好的归纳偏差。对于全局信息,作者提出其它方法(graph-specific positional features,node Laplacian position eigenvectors,relative learnable positional information,virtual nodes)去获取而不是放弃稀疏性和局部的信息。
  2. Graph-BERT采用多个位置编码方案的组合来捕获绝对节点结构和相对节点位置信息。由于原始图不直接用于graph-BERT和子图之间没有edge(即无链接),提出的positional encodings的组合试图在node中保留原始图结构信息。
  3. Graph Transformer Networks (GTN)学习异构图,目标是将给定的异构图转换为基于元路径的图,然后执行卷积。
  4. Heterogeneous Graph Transformer (HGT),它可以处理任意数量的nodes和edges类型,HGT还基于中心node和消息传递node的时间戳差异,以相对时间的positional encoding的形式捕捉异构图中的动态信息。
  5. Zhou et al.(2020)提出了一种基于transformer的生成模型,通过直接学习网络中的动态信息来生成时间图。
  6. 作者目的:开发基于坐标嵌入的positional encoding方案的任意同构图的graph transformer。

3.2 Contributions

  1. 把transformer网络推广到任意结构的同构图,即Graph Transformer,它的带有edge特征的扩展版本允许使用显示域信息作为edge特征。
  2. method包括用拉普拉斯特征向量融合node的positional features。
  3. 实验证明,作者提出的model优于baseline的各向同性和异性的GNNs。

4. Proposed Architecture

作者开发Graph Transformers考虑到2个关键因素—— sparsity and positional encodings。

4.1 On Graph Sparsity

为什么在NLP的transformer中,用全连接图去处理一个句?

  1. 很难去找到单词与单词之间的稀疏联系,因为单词的含义是依据上下文和不同角度。
  2. 在NLP的transformer的nodes数量是比较少(几十个,几百个),便于计算。

在实际的图结构数据集中,图有任意的连通结构,nodes的数量达到百万,数亿级别,使得不可能获取一个完整的连接的图,所有实际的做法是用Graph Transformer来使node处理邻接nodes。

4.2 On Positional Encodings

  1. 在NLP里,为每个单词提供一个positional encoding,保证了每个单词的唯一性和保存位置信息。
  2. 大多数在图数据集上训练的GNNs学习的是不随node位置变化的结构化的node信息,这就是为什么GAT是局部attention,而不是全局。我们要学习结构和位置的特征,Dwivedi et al. (2020)利用图结构信息去预先计算拉普拉斯特征向量并作为node的位置信息,并把它作为PE用在Graph Transformer中,图的拉普拉斯矩阵:

    用node的最小的k个非平凡特征向量作为PE。

4.3 Graph Transformer Architecture

1. 第一个模型是为没有明显edge属性的图而设计的,第二个模型保留一个指定的edge特征的pipeline,以整合可用的edge信息,并在每一层保留它们的抽象表示。输入是node和edge的embeddings,有node和edge的特征信息,然后线性映射嵌入:


接下来是Graph Transformer Layer,先是一个self-attention,再进行多头拼接:

此层输出的结果传到FFN,再进行残差连接和LN:

2.第二个模型是把edge特征加入进来,如上的右图。它把两个node的之间的edge信息也加入到attention的计算中,当然是node的可连通的邻域node,edge的分数也高说明关联程度就越高:

5. Numerical Experiments

为了评估提出的模型的性能,在ZINC,PATTERN,CLUSTER这三个数据集实验。

ZINC, Graph Regression:分子数据集,node代表分子,edge代表分子之间的键。键之间有丰富的特征信息,所以用第二个模型。
PATTERN, Node Classification:任务是把nodes分成两个communities,没有明确的edge信息,所以用第一个模型。
CLUSTER, Node Classification:任务是为每个node分配cluster,一共有6个cluster,用第一个模型。
Model Configurations:PyTorch,DGL,一共有10层Graph Transformer layers,每层有8个attention head和随机的隐藏单元,学习率递减策略,当达到10-6就停止训练。

6. Analysis and Discussion

实验结论如下:

  1. 由Table1可知,带有LapPE和BN的模型实验数据更好。
  2. 由Table2可知,提出的模型明显比GCN和GTN要好,但没有GatedGCN好。
  3. 稀疏图连通性对于具有任意图结构的数据集来说是一个关键的归纳偏差,通过比较稀疏图与全图实验可以证明这一点。
  4. 提出的第二个模型的性能在ZINC上近似于GatedGCN。

6.1 Comparison to PEs used in Graph-BERT

作者说明为什么用拉普拉斯特征向量作为PE在本模型中,它与Graph-BERT做对比。Graph-BERT是在固定大小的抽样子图上进行的操作,它把原始图以node的数量分成v个子图,每个子图有k+1个nodes,其中是中心node与k个最相似的node的组合,这种相似性是根据node之间的edge计算得来的。虽然这种sampling对于并行计算和提高计算效率很好,但是原始图没有直接用在这个层中。Graph-BERT用一种node的PE组合的方式去融合node的结构,位置,和距离信息:

  1. 基于亲密度的相对PE。
  2. 基于Hop的相对距离编码。
  3. 基于Weisfeiler Lehman的绝对PE (WL-PE)。

前两个PE依赖于node的sampling策略不具有一般性,所以用第三种PE与拉普拉斯的PE做比较,实验结果如Table3所示,用拉普拉斯的PE要比WL-PE效果好。

7. Conclusion

本文主要展示了一种把transformer推广到任意的图的简单且有效的方法,并展示了两种模型的结构。用拉普拉斯特征向量作为PE和把LN用BN代替,使模型学习能力得到增强。考虑到这种结构的简单和通用的性质和有竞争力的性能表现,作者相信提出的模型会在以后得到更好的提升。未来方向:有效地在大型单一的图上进行训练,对异构图上的适用性研究等。

A Generalization of Transformer Networks to Graphs相关推荐

  1. paper reading:[第一代GCN] Spectral Networks and Deep Locally Connected Networks on Graphs

    这篇论文发表在 2014 ICLR 会议,是第一篇研究将CNN泛化到非欧式空间的论文,老师给我的时候注明了这是"第一代GCN" . 主要贡献是将CNN泛化到非欧几里得空间,并提出两 ...

  2. Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering 论文阅读

    Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering Code link:https://git ...

  3. 空间映射网络--Spatial Transformer Networks

    Spatial Transformer Networks 主要对目标在特征空间做不变性归一化 解决 角度.尺度等变形引入的影响 Code: https://github.com/skaae/trans ...

  4. 详细解读Spatial Transformer Networks(STN)-一篇文章让你完全理解STN了

    Spatial Transformer Networks https://blog.jiangzhenyu.xyz/2018/10/06/Spatial-Transformer-Networks/ 2 ...

  5. Paper:《Spatial Transformer Networks》的翻译与解读

    Paper:<Spatial Transformer Networks>的翻译与解读 目录 <Spatial Transformer Networks>的翻译与解读 Abstr ...

  6. 异构图-GTN(Graph Transformer Networks)

    上一节的HAN表示异构图的Attention Network,通过手动设置Meta-path,然后聚合不同Meta-path下的节点attention,学到节点最终的表示.但是这个方法是手动选择Met ...

  7. Spatial Transformer Networks(STN)详解

    目录 1.STN的作用 1.1 灵感来源 1.2 什么是STN? 2.STN网络架构![在这里插入图片描述](https://img-blog.csdnimg.cn/20190908104416274 ...

  8. Spatial Transformer Networks(STN)

    详细解读Spatial Transformer Networks(STN)-一篇文章让你完全理解STN了_多元思考力-CSDN博客_stn

  9. 论文阅读:Spatial Transformer Networks

    文章目录 1 概述 2 模型说明 2.1 Localisation Network 2.2 Parameterised Sampling Grid 3 模型效果 参考资料 1 概述 CNN的机理使得C ...

  10. 第一代GCN: Spectral Networks and Locally Connected Networks on Graphs

    1 前言 参考文献 [1]论文解读一代GCN<Spectral Networks and Locally Connected Networks on Graphs> [2]paper re ...

最新文章

  1. 不会英语计算机开车和,驾校学车的那些事儿——技术篇
  2. nodejs入门教程之http的get和request简介及应用
  3. 解决fixed在苹果手机抖动问题/头部底部固定布局
  4. ❗HTML引入CSS的三种常用方式汇总❗
  5. linux 指令tftp传输文件_tftp命令_Linux tftp 命令用法详解:在本机和tftp服务器之间使用TFTP协议传输文件...
  6. SIGGRAPH 2020 | 基于样例的虚拟摄影和相机控制
  7. 突击计划——求整数中的较大者
  8. 火币网交易所架构演进
  9. python selenium qwebengineview获取页面元素_selenium操作详解之获取元素状态
  10. 暴风影音怎么旋转视频?暴风影音旋转视频方法
  11. oracle的报表工具有哪些,报表开发常用的六款小工具
  12. 计算机毕业论文个人小结2500字,毕业论文个人小结
  13. SCI之拼图和插图技巧及注意事项
  14. 浙江大学软件工程c语言复试题库,2022浙江大学软件工程考研经验备考指导
  15. 小程序毕业设计选题springboot+vue自习室预约小程序 图书馆预约小程序 自习室预约系统java
  16. Linear Discriminant Analysis (LDA)
  17. Summary for linux
  18. MySQL8.0.27版本于2021年10月19日正式GA和新功能介绍
  19. LAZADA店铺运营分享:lazada后台有没有数据分析?生意参谋如何使用!
  20. 北大信工计算机应用技术怎样,2018计算机九推——北大信工

热门文章

  1. 在代码里面如何使用workman
  2. android终端模拟器 apt,借贵吧问个安卓终端模拟器的问题
  3. WIN7用键盘控制鼠标
  4. Kaggle泰坦尼克号预测——Last
  5. java 括号匹配_Java解决括号匹配算法问题
  6. 【PA2011】Kangaroos
  7. 存储及可编程是未来物联网芯片发展的关键
  8. 蓝牙LMP剖析(二)
  9. Java多线程篇--线程的等待通知
  10. 《DNS稳定保障系列3--快如闪电,域名解析秒级生效》