注意力机制 | 图卷积多跳注意力机制 | Direct multi-hop Attention based GNN

2020 年 11 月 29 日 AINLP


导读:目前GNNs通过利用self-attention机制已经取得较好的效果。但目前的注意力机制都只是考虑到相连的节点,却不能利用到能提供图结构上下文信息的多跳邻居(multi-hop neighbors)。 因此提出 Direct multi-hop Attention based Graph neural Network (DAGN),在注意力机制中加入多跳信息,从邻居节点扩展到非邻居节点,增加每一层网络中的感受野(receptive field).下面介绍的该文章的作者单位包括京东AI Research和斯坦福大学,通讯作者是图学习巨佬 Jure Leskovec,于2020年10月2号放在arXiv上.

本文来自知乎作者@周大侠,已授权发布,如需转载请联系博文作者
原文:https://zhuanlan.zhihu.com/p/265787426,以下内容稍作改动
论文题目:Direct multi-hop Attention based Graph neural Network
https://arxiv.org/abs/2009.14332

1.Abstract

目前GNNs通过利用self-attention机制已经取得较好的效果。但目前的注意力机制都只是考虑到相连的节点,却不能利用到能提供图结构上下文信息的多跳邻居(multi-hop neighbors)。因此提出 Direct multi-hop Attention based Graph neural Network (DAGN),在注意力机制中加入多跳信息,从邻居节点扩展到非邻居节点,增加每一层网络中的感受野(receptive field)。 同时,DAGCN采用diffusion prior的方法来计算节点对上的attention values 。实验结果表明能取得 state-of-the-art 的结果。

2.Introduction

目前GNNs中的attention仅局限于直接邻居,因此每一层的感受野局限在one-hop结构中。直接stack更多的GAT层会带来 oversmoothing problem。另外,edge attention values也只与节点表示本身有关,没有考虑到图结构的上下文信息。将多跳邻居上下文信息考虑到GNNs的注意力计算还没有被研究。提出DAGN模型具有新颖的 graph attention diffusion layer,如图一所示,其主要有两个优势:
  1. 在每一层中就能进行 long-range message passing;

  2. attention的计算是与context有关的,DAGN通过聚集所有路径上的注意力score来计算注意力


3.DAGN

3.1 Multi-hop Attention Diffusion

Attention diffusion是每一层中用于计算DAGN‘s的attention分数。首先计算每一条边上的attention分数

(1) Edge Attention Computation 
一条边 的attention分数 计算方式如下( 表示节点, 表示边的种类):
将公式(1)应用到graph中的每一条边后,得到 attention score matrix :
随后,通过对得 进行softmax得到 attention matrix ,其中 表示当从节点 向节点 聚集信息时,在第 层中的attention value。

(2) Attention Diffusion for Multi-hop Neighbors  
在第二阶段,在网络中将不直接连接的节点之间启用注意力。该过程基于1-hop注意力矩阵 的幂,通过图扩散来计算multi-hop邻居的注意分数:
其中 是 attention decay factor,满足 。该过程通过利用 来增加attention的感受野。在作者的实现中,利用了几何分布( geometric distribution ) ,其中 。该选择的原因是基于the inductive bias,为了使得远处的节点对应的weight应该较少;同时对与目标节点关系路径长度不同的节点权重应该相互独立。因此,本文定义了基于特征聚合的graph attention diffusion:
(3) Approximate Computation for Attention Diffusion
对于大图,公式(3)的计算开销巨大,而DAGCN需要通过 进行信息聚合,本文通过定义一个数列 , 当 时,该数列能收敛到 的值:
证明请参考原文。上述的近似使得attention的复杂度保持在 。很多真实世界网络具有小世界(small-world )特征,在这种情况下,较小的K值就足够。对于具有较大直径的图,选择较大的K和较小

3.2 Direct multi-hop Attention based GNN

(1) Multi-head Graph Attention Diffusion Layer  
采用多头注意力机制,每个head都是单独计算然后进行聚合:
(2) Deep Aggregation  
每一个DAGN块中包含两层的前馈神经网络(feedforward network),同时还加入了layer normalization和residual connection,增加模型的表达能力:
(3) DAGN generalizes GAT 该部分说明DAGN可以看作是GAT的扩展,加入了额外的参数 ,layer normalization和residual connection。


4.Experiments

总体上进行三类实验,包括node classification,knowledge graph completion以及Model Analysis。实验具体的设置和结果描述请查看原文。


4.1Node classification

主要用了4个常用的图数据集,取得了state-of-the-art 的性能表现,还进行了Ablation研究,结果如下:



4.2. Knowledge graph completion

知识图谱补全实验,也取得了state-of-the-art 的性能表现,结果如下:


4.3 Model Analysis


该部分得出了一些结论如下:
  1. 在DAGN中,较小特征值被amplfied,对应着graph中的large-scale structure;较大特征值被suppressed,对应着graph中带有noise信息的特征向量;

  2. 由于 over-smoothing problem,GCN和GAT会随着层数的增加而性能下降;而DAGN在18层时能取得最好的性能;

  3. 最优K值与最大节点平均最短路径距离( the largest node average shortest path distance )相关,这能帮助选择最佳的K;

  4. 相对于GAT,DAGN的Attention Distribution分布有larger discrepancy,说明更能分辨出重要的节点


4.4 Personal Thoughts

优点:
  1. 将GAT扩展到多跳邻居,节点能获取更多信息

  2. 利用一种近似的方法来计算多跳的attention,使得复杂度任然保持较低

  3. 实验比较充实,结果证明在各个任务都能取得the state of art

Comments:
  1. 原文指出:DAGN = GAT + diffusion + layer normalization + residual connection,在Cora分类中,DAGN=85.4,GAT = 83,而DAGN - diffusion = 83 ,没有进行GAT+layer normalization 或 residual connection的实验

  2. 由于论文还没被接受,没有代码公开

  3. 个人感觉里面有一些细节没讲清楚




由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:

(1)点击页面最上方"AINLP",进入公众号主页。

(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。

感谢支持,比心

欢迎加入图神经网络交流群
进群请添加AINLP小助手微信 AINLPer(id: ainlper),备注图神经网络

推荐阅读

这个NLP工具,玩得根本停不下来

征稿启示| 200元稿费+5000DBC(价值20个小时GPU算力)

完结撒花!李宏毅老师深度学习与人类语言处理课程视频及课件(附下载)

从数据到模型,你可能需要1篇详实的pytorch踩坑指南

如何让Bert在finetune小数据集时更“稳”一点

模型压缩实践系列之——bert-of-theseus,一个非常亲民的bert压缩方法

文本自动摘要任务的“不完全”心得总结番外篇——submodular函数优化

Node2Vec 论文+代码笔记

模型压缩实践收尾篇——模型蒸馏以及其他一些技巧实践小结

中文命名实体识别工具(NER)哪家强?

学自然语言处理,其实更应该学好英语

斯坦福大学NLP组Python深度学习自然语言处理工具Stanza试用

关于AINLP

AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。


阅读至此了,分享、点赞、在看三选一吧🙏

登录查看更多
21

相关内容

注意力机制综述
专知会员服务
82+阅读 · 2021年1月26日
专知会员服务
37+阅读 · 2020年11月24日
注意力图神经网络的多标签文本分类
专知会员服务
111+阅读 · 2020年3月28日
【ICLR2020-】基于记忆的图网络,MEMORY-BASED GRAPH NETWORKS
专知会员服务
108+阅读 · 2020年2月22日
注意力机制模型最新综述
专知会员服务
266+阅读 · 2019年10月20日
【图神经网络入门】GAT图注意力网络
深度学习自然语言处理
28+阅读 · 2020年5月16日
图神经网络入门(三)GAT图注意力网络
专知
7+阅读 · 2020年5月15日
【GNN】图神经网络入门之GRN图循环网络
深度学习自然语言处理
17+阅读 · 2020年5月9日
赛尔笔记 | 一文读懂图神经网络
哈工大SCIR
81+阅读 · 2019年7月12日
注意力机制(Attention Mechanism)在自然语言处理中的应用
图注意力网络
科技创新与创业
35+阅读 · 2017年11月22日
基于注意力机制的图卷积网络
科技创新与创业
73+阅读 · 2017年11月8日
Arxiv
15+阅读 · 2020年2月5日
Graph Transformer for Graph-to-Sequence Learning
Arxiv
4+阅读 · 2019年11月30日
Position-aware Graph Neural Networks
Arxiv
15+阅读 · 2019年6月11日
Arxiv
24+阅读 · 2018年10月24日
Arxiv
10+阅读 · 2018年2月4日
VIP会员
相关VIP内容
相关资讯
【图神经网络入门】GAT图注意力网络
深度学习自然语言处理
28+阅读 · 2020年5月16日
图神经网络入门(三)GAT图注意力网络
专知
7+阅读 · 2020年5月15日
【GNN】图神经网络入门之GRN图循环网络
深度学习自然语言处理
17+阅读 · 2020年5月9日
赛尔笔记 | 一文读懂图神经网络
哈工大SCIR
81+阅读 · 2019年7月12日
注意力机制(Attention Mechanism)在自然语言处理中的应用
图注意力网络
科技创新与创业
35+阅读 · 2017年11月22日
基于注意力机制的图卷积网络
科技创新与创业
73+阅读 · 2017年11月8日
相关论文
Top
微信扫码咨询专知VIP会员