今天学习的是剑桥大学的同学 2017 年的工作《GRAPH ATTENTION NETWORKS》,目前引用数量超过 1100 次。
Attention 机制在 NLP CV 等领域被广泛应用,其可以帮助模型对输入数据赋予不同的权重信息。同样的,Attention 也可以应用于网络图中,它可以对邻居中不同的节点指定不同的权重,既不需要进行矩阵运算,也不需要事先了解图的全局结构。通过这种方式,作者解决了基于频谱的图神经网络的几个关键问题,并使得模型更方便的应用于归纳和转换问题。
在之前的文章中我们也说过,学者想将卷积操作应用于网络图中主要有两种方式,一种是基于空域的方法,另一种是基于频域的方法。空域是指直接在网络中进行建模,而频域是指将网络图映射到频域后利用卷积变换进行建模。之所以要映射到频域是因为网络在空域中不具备规整性(也可以理解为平移不变性),而映射到频域后则可以完成卷积操作。
在许多基于序列(sequence-based)的任务中,注意力机制几乎已经成为这个邻域的标准。注意力机制的一大好处在于:它允许处理可变大小的输入,将注意力集中在最相关的输入部分。最开始的时候,注意力机制是用来计算序列的表征,通常被称为:self-attention。注意力机制可以改进 RNN/CNN 在阅读理解中性能,后来 Google 的同学直接通过 self-attention 构建出 Transformer 模型,并在机器翻译任务中取得了 SOTA。
受此启发,作者引入了基于注意力机制的体系结构来改进节点分类任务。其思想在于:在为图中每个节点计算向量表征时,利用 self-attention 的策略加权节点的邻居。这样的结构有很多很好的性质:
接下来看一下模型的详细情况。
在这一节主要介绍下模型的架构,并与之前的工作进行对比。
首先描述一下图注意力层(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,不同颜色代表不同的注意力)。
GAT 解决了之前用 GCN 建模图结构数据时出现的几个问题:
#3.Experiment
简单看下实验部分。
先来看下数据集:
实验分为直推学习(Transductive learning)和归纳学习(Inductive learning)
利用 t-SNE 降维进行可视化展示:
总结:作者提出了一种新型的图卷积神经网络——图注意网络(GAT),其利用带 masked 的自注意力层来处理图结构数据,同时利用多头注意力对节点邻域进行充分表达。GAT 在诸多数据集中无论是直推学习还是归纳学习都取得不错的成绩。
当然,GAT 还有很多需要改进的地方,比如说在并行计算时如何克服冗余计算,如何提高网络深度等等。
推荐阅读
斯坦福大学NLP组Python深度学习自然语言处理工具Stanza试用
太赞了!Springer面向公众开放电子书籍,附65本数学、编程、机器学习、深度学习、数据挖掘、数据科学等书籍链接及打包下载
数学之美中盛赞的 Michael Collins 教授,他的NLP课程要不要收藏?
模型压缩实践系列之——bert-of-theseus,一个非常亲民的bert压缩方法
关于AINLP
AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。