论文标题:GRAPH ATTENTION NETWORKS
论文链接:https://arxiv.org/abs/1710.10903
论文来源:ICLR 2018
一、概述
为了将卷积操作泛化到图数据上,研究人员做了一些努力。一些基于频域图卷积的GCN被研发了出来,然而在所有这些方法中,卷积核都依赖于拉普拉斯特征基,也就是依赖于图结构。也就是说,在一个特定图结构上训练的GCN无法被应用在其他不同的结构上,因此GCN的方法是transductive的。另外一些空域上的图卷积方法也存在,这些方法面临的挑战是处理不同size的邻域并且保持CNN的参数共享特性。
在许多基于序列的任务中,注意力机制几乎已经成为事实上的标准。注意力机制的一个好处是可以处理可变大小的输入,然后通过关注在最相关的部分来做出决策。当一个注意机制被用来计算一个单一序列的表示时,它通常被称为self-attention或者intra-attention。
本文提出了一种基于注意力机制的网络架构来处理图结构的数据,称为graph attention networks(GATs),主要思想是借助self-attention机制通过attend到节点的邻域来计算每个节点的隐层表示。这种基于注意力机制的架构有以下几个特点:
①操作是高效的,因为在节点的邻域之间以及节点之间都是并行化的;
②能够应用到不同节点度的图节点上;
③能够直接应用到inductive学习问题,包括需要泛化到完全未见图上的任务。
二、方法
- 图注意力层
需要注意的是,我们模型的感受野的大小是由网络的深度所决定的。跳跃连接等技术可以很容易地用于适当扩展深度。
上述注意力机制以及multi-head输出的聚合过程,如下图所示:
图示
- 相关工作对比
GAT解决了以往方法中存在的一些问题:
①计算上GAT是高效的,无论是对于所有的边的计算还是输出特征的所有节点的计算,都是并行化的。不需要特征分解或类似的代价高昂的矩阵运算。一个注意力head的计算复杂度为是图中节点和边的数量,这种复杂度与GCN相当。
②与GCN不同,GAT允许对邻域节点的不同重要性,这提升了模型的容量。另外,注意力权重可以对模型的可解释性有一定的帮助。
③注意机制以共享的方式应用于图中的所有边,因此它不依赖于对全局图结构或所有节点(特征)的预先访问(这是许多先前技术的限制)。具体来说,首先不要求边是无向的,另外GAT可以直接应用于inductive学习,即使模型在完全未见图上进行测试。
④GraphSAGE的方法在邻域中采集固定样本,并且最有效的LSTM聚合函数的版本假设了邻域节点存在顺序。GAT并没有上述问题,GAT能够在节点的所有邻域上进行操作,并且没有假设节点的顺序。
⑤与之前MoNet方法相比,我们的模型使用节点特征进行相似性计算,而不是节点的结构属性(这将假设预先知道图结构)。
三、实验
本文在Cora,Citeseer,Pubmed,PPI四个数据集上进行实验。其中前三个是transductive的数据集,PPI是inductive的数据集。数据集情况如下:
数据集
transductive实验结果如下:
transductive
inductive实验结果如下:
inductive
最后使用t-SNE可视化了一下在Cora数据集上的GAT第一层的特征:
可视化