【GNN】GAN:Attention 在 GNN 中的应用

2020 年 5 月 16 日 AINLP

今天学习的是剑桥大学的同学 2017 年的工作《GRAPH ATTENTION NETWORKS》,目前引用数量超过 1100 次。

Attention 机制在 NLP CV 等领域被广泛应用,其可以帮助模型对输入数据赋予不同的权重信息。同样的,Attention 也可以应用于网络图中,它可以对邻居中不同的节点指定不同的权重,既不需要进行矩阵运算,也不需要事先了解图的全局结构。通过这种方式,作者解决了基于频谱的图神经网络的几个关键问题,并使得模型更方便的应用于归纳和转换问题。

1.Introduction

在之前的文章中我们也说过,学者想将卷积操作应用于网络图中主要有两种方式,一种是基于空域的方法,另一种是基于频域的方法。空域是指直接在网络中进行建模,而频域是指将网络图映射到频域后利用卷积变换进行建模。之所以要映射到频域是因为网络在空域中不具备规整性(也可以理解为平移不变性),而映射到频域后则可以完成卷积操作。

在许多基于序列(sequence-based)的任务中,注意力机制几乎已经成为这个邻域的标准。注意力机制的一大好处在于:它允许处理可变大小的输入,将注意力集中在最相关的输入部分。最开始的时候,注意力机制是用来计算序列的表征,通常被称为:self-attention。注意力机制可以改进 RNN/CNN 在阅读理解中性能,后来 Google 的同学直接通过 self-attention 构建出 Transformer 模型,并在机器翻译任务中取得了 SOTA。

受此启发,作者引入了基于注意力机制的体系结构来改进节点分类任务。其思想在于:在为图中每个节点计算向量表征时,利用 self-attention 的策略加权节点的邻居。这样的结构有很多很好的性质:

  1. 计算效率高:可以跨节点进行并行计算;
  2. 可以应用于不同度(degree)的图节点(克服了空间卷积的缺点);
  3. 可以进行归纳学习;

接下来看一下模型的详细情况。

2.GAT

在这一节主要介绍下模型的架构,并与之前的工作进行对比。

2.1 Graph Attention Layer

首先描述一下图注意力层(Graph Attentional Layer)。

图注意力层的输入是节点特征 ,其中 N 为节点的数量,F 为节点特征维度。图注意力层的输出是节点的新特征

为了获得充分的表达,我们还需要一个线性变换,这里采用一个共享的参数化权重矩阵 。然后利用一个共享注意力机制

这个公式表示为节点 j 的特征相对节点 i 的重要性。

对于这个公式来说,该模型允许每个图中的每个节点都参与到其他节点的计算中,即删除了网络图的结构信息。对此,我们可以通过 masked attention 操作确保每次计算时只考虑节点的邻域信息,以此来为模型注入网络的结构信息。

这里,作者只考虑一阶邻域信息(包括自身节点)。为了消除权重量纲,作者使用 softmax 进行归一化处理:

作者设计的注意力机制是一个单层的前馈神经网络,参数向量为 ,并利用 LeakyReLU 增加非线形 。所以公式最终写为:

其中, 表示拼接操作(concat)。

得到归一化注意系数后,计算其对应特征的线性组合,并利用非线形激活函数得到最终的输出特征:

为了稳定注意力机制的学习过程,我们将注意力机制拓展到多头注意力(multi-head attention)。K 个的注意力机制独立运行,并将最后的特征进行拼接,最终公式为:

此时,输出的特征是有 维。

特别的,如果多头注意力后面会接一个预测层,那么拼接操作可能就不太合理了,取而代之我们可以取其均值,并应用一个非线性函数:

原文:If we perform multi-head attention on the final (prediction) layer of the network, concatenation is no longer sensible。

这里的不合理,感觉是通过实验结果反推来的。

GAT 的注意力和多头注意力的可视化如下图所示:

左边是两个节点的 attention 过程,右边是多头注意力的聚合(K=3,不同颜色代表不同的注意力)。

2.2 Comparisons to Related Work

GAT 解决了之前用 GCN 建模图结构数据时出现的几个问题:

  1. 计算高效:既不用进行矩阵特征分解,也不需要进行矩阵运算,单个时间注意力的时间复杂度为 ,其复杂度与 GCN 的差不多;应用多头注意力时,完全可以并行化计算;
  2. 隐式地为节点的同一邻居分配不同权重,从而扩展了模型的表达的能力,同时也提升了模型的可解释性;
  3. 注意力机制以共享的方式应用于图上的所有边,因此无需知道图上所有的节点和边,最直接的好处在于可以直接适用于归纳学习;
  4. GraphSAGE 是对邻域进行固定大小的采样,相比 GAT 来说邻域的信息获取有限,而基于 LSTM 提取邻域信息时,其假设存在一个一致且连续的节点排序,并且 GraphSAGE 通过提供随机排序的序列进行纠正,GAT 则没有对邻域节点排序的限制;

#3.Experiment

简单看下实验部分。

先来看下数据集:

实验分为直推学习(Transductive learning)和归纳学习(Inductive learning)

利用 t-SNE 降维进行可视化展示:

4.Conclusion

总结:作者提出了一种新型的图卷积神经网络——图注意网络(GAT),其利用带 masked 的自注意力层来处理图结构数据,同时利用多头注意力对节点邻域进行充分表达。GAT 在诸多数据集中无论是直推学习还是归纳学习都取得不错的成绩。

当然,GAT 还有很多需要改进的地方,比如说在并行计算时如何克服冗余计算,如何提高网络深度等等。

5.Reference

  1. 《GRAPH ATTENTION NETWORKS》

推荐阅读

AINLP年度阅读收藏清单

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

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

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

太赞了!Springer面向公众开放电子书籍,附65本数学、编程、机器学习、深度学习、数据挖掘、数据科学等书籍链接及打包下载

数学之美中盛赞的 Michael Collins 教授,他的NLP课程要不要收藏?

自动作诗机&藏头诗生成器:五言、七言、绝句、律诗全了

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

这门斯坦福大学自然语言处理经典入门课,我放到B站了

征稿启示 | 稿费+GPU算力+星球嘉宾一个都不少

关于AINLP

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


登录查看更多
0

相关内容

Attention机制最早是在视觉图像领域提出来的,但是真正火起来应该算是google mind团队的这篇论文《Recurrent Models of Visual Attention》[14],他们在RNN模型上使用了attention机制来进行图像分类。随后,Bahdanau等人在论文《Neural Machine Translation by Jointly Learning to Align and Translate》 [1]中,使用类似attention的机制在机器翻译任务上将翻译和对齐同时进行,他们的工作算是是第一个提出attention机制应用到NLP领域中。接着类似的基于attention机制的RNN模型扩展开始应用到各种NLP任务中。最近,如何在CNN中使用attention机制也成为了大家的研究热点。下图表示了attention研究进展的大概趋势。
注意力图神经网络的小样本学习
专知会员服务
191+阅读 · 2020年7月16日
近期必读的5篇AI顶会CVPR 2020 GNN (图神经网络) 相关论文
专知会员服务
78+阅读 · 2020年3月3日
近期必读的5篇 WSDM 2020【图神经网络(GNN)】相关论文
专知会员服务
56+阅读 · 2020年1月10日
必读的7篇IJCAI 2019【图神经网络(GNN)】相关论文-Part2
专知会员服务
60+阅读 · 2020年1月10日
必读的7篇 IJCAI 2019【图神经网络(GNN)】相关论文
专知会员服务
91+阅读 · 2020年1月10日
六篇 CIKM 2019 必读的【图神经网络(GNN)】长文论文
专知会员服务
37+阅读 · 2019年11月3日
【ICLR2020】五篇Open代码的GNN论文
专知会员服务
47+阅读 · 2019年10月2日
图神经网络三剑客:GCN、GAT与GraphSAGE
PaperWeekly
65+阅读 · 2020年2月27日
图神经网络综述:方法及应用 | Deep Reading
AI100
36+阅读 · 2019年3月17日
论文浅尝 | 图神经网络综述:方法及应用
开放知识图谱
113+阅读 · 2019年2月14日
图神经网络综述:模型与应用
PaperWeekly
197+阅读 · 2018年12月26日
注意力机制(Attention Mechanism)在自然语言处理中的应用
图注意力网络
科技创新与创业
35+阅读 · 2017年11月22日
基于注意力机制的图卷积网络
科技创新与创业
73+阅读 · 2017年11月8日
Attentive Graph Neural Networks for Few-Shot Learning
Arxiv
40+阅读 · 2020年7月14日
Talking-Heads Attention
Arxiv
15+阅读 · 2020年3月5日
Arxiv
15+阅读 · 2019年4月4日
Arxiv
10+阅读 · 2018年2月4日
VIP会员
相关VIP内容
注意力图神经网络的小样本学习
专知会员服务
191+阅读 · 2020年7月16日
近期必读的5篇AI顶会CVPR 2020 GNN (图神经网络) 相关论文
专知会员服务
78+阅读 · 2020年3月3日
近期必读的5篇 WSDM 2020【图神经网络(GNN)】相关论文
专知会员服务
56+阅读 · 2020年1月10日
必读的7篇IJCAI 2019【图神经网络(GNN)】相关论文-Part2
专知会员服务
60+阅读 · 2020年1月10日
必读的7篇 IJCAI 2019【图神经网络(GNN)】相关论文
专知会员服务
91+阅读 · 2020年1月10日
六篇 CIKM 2019 必读的【图神经网络(GNN)】长文论文
专知会员服务
37+阅读 · 2019年11月3日
【ICLR2020】五篇Open代码的GNN论文
专知会员服务
47+阅读 · 2019年10月2日
相关资讯
图神经网络三剑客:GCN、GAT与GraphSAGE
PaperWeekly
65+阅读 · 2020年2月27日
图神经网络综述:方法及应用 | Deep Reading
AI100
36+阅读 · 2019年3月17日
论文浅尝 | 图神经网络综述:方法及应用
开放知识图谱
113+阅读 · 2019年2月14日
图神经网络综述:模型与应用
PaperWeekly
197+阅读 · 2018年12月26日
注意力机制(Attention Mechanism)在自然语言处理中的应用
图注意力网络
科技创新与创业
35+阅读 · 2017年11月22日
基于注意力机制的图卷积网络
科技创新与创业
73+阅读 · 2017年11月8日
Top
微信扫码咨询专知VIP会员