本文提出了一种新的基于图结构数据的神经网络结构——图注意力网络(GATs),不同于先前一些基于谱域的图神经网络,通过使用masked self-attentional layers 解决了图卷积网络(GCN)方面的一些缺点。通过堆叠层可以获得邻域节点的特征值,这样我们可以(隐式地)为邻域中的不同节点指定不同的权重,而不需要任何形式的复杂的矩阵运算(如转置),也不需要了解图本身的结构。本文同时解决了GCN的几个关键挑战,并使模型同时适用于Inductive和Transductive问题。我们的GAT模型已经在四个已建立的Inductive和Transductive基准上取得或匹配了最先进的结果:Cora、Citeseer和Pubmed引文网络数据集,以及蛋白质相互作用数据集(其中测试图在训练期间是看不见的)。
如何理解 inductive learning 与 transductive learning?
由于注意力机制在RNN与CNN中都取得了不错的效果,基于此作者在此篇文章提出了图注意力机制。此方法的优点在于可以处理任意大小输入的问题,并且关注最具有影响能力的输入。
在摘要中作者说明了,本文的attention计算的目的是为每个节点邻域中的节点分配不同的权重,也就是attention是用来关注那些作用比较大的节点,而忽视一些作用较小的节点。
本文提出的GAT模型具有以下三个特点:
在这个模块,作者提出了一种图注意力层,通过堆叠这个层来实现图注意力机制。通过与之前神经图处理领域的方法进行比较,阐述其优势及局限性。
首先要描述一个单层的图注意力层,作为一个单独的网络层被用于GAT框架中。
上述网络层的输入是一组节点特征的集合:
其中, N N N是节点数, F F F是每个节点中的特征数。
网络层的输出是一组新的节点特征的集合:
其中,节点数 N N N不变,节点的特征数可变化为 F ′ F' F′。
为了将输入特征转换为高维特征(增维)以获得足够的表达能力,至少需要一个可学习的线性变换。因此,为每个节点训练一个权值矩阵 W ∈ R F × F ′ W∈R^{F×F'} W∈RF×F′,这个权值矩阵就是输入特征与输出特征的直接关系。
然后,对每个节点进行共享的注意力机制 a a a: R F ′ × R F ′ → R R^{F'}×R^{F'}→R RF′×RF′→R来计算注意力系数:
该系数说明了对于节点 i i i来说节点 j j j的重要性,而忽略图结构性的信息(这个公式模型允许图中所有节点间计算相互间的影响而不是局限于k阶邻居节点)。我们通过执行masked attention将图结构注入到机制中——我们只计算节点 j ∈ N i j∈N_i j∈Ni的 e i j e_{ij} eij,其中 N i N_i Ni是图中节点 i i i的某个邻域。在我们所有的实验中,这些都将是 i i i(包括 i i i)的一阶邻居。为了使不同节点之间的系数容易比较,我们使用softmax函数对所有 j j j的选择进行正则化:
注意力机制 a a a(式1)是一个单层前馈神经网络,由 a ⃗ ∈ R 2 F ′ \vec{a}∈R^{2F'} a∈R2F′参数化,并应用LeakyReLU(负输入斜率 α = 0.2 α=0.2 α=0.2)激活。完全展开后,由注意力机制计算的系数(如下图所示)可以表示为:
其中, T T T表示转置, ∣ ∣ || ∣∣表示连接运算。
激活函数ReLU、Leaky ReLU、PReLU和RReLU。
在得到正则化的注意力系数之后,可以通过计算与其对应的邻接节点特征的线性组合,来更新节点自身的特征作为输出(这里还需要使用一个 σ \sigma σ函数作为非线性激活函数):
其中:
为了稳定自我注意力(self-attention)的学习过程,我们发现扩展我们的机制,采用多端注意力机制是有益的。具体来说,K个独立的注意力机制执行公式(4)的变换,然后将它们的特征进行串联,得到如下的输出特征表示:
其中:
如果我们在最后一层(预测层)使用Multi-head attention mechanism,连接操作就不是很适合了,相反,需要把输出进行平均化,再使用非线性函数(softmax或logistic sigmoid用于分类问题),公式如下:
例如,当 K = 3 K=3 K=3的时候结构如下图所示:
图中,节点1在邻域中具有多端注意力机制,不同的箭头样式表示独立的注意力计算,通过连接或平均化每个head获得 h ⃗ 1 ′ \vec{h}_1' h1′。
第2.1小节中描述的图注意力层直接解决了用神经网络处理图结构数据方法中存在的几个问题:
实验分成两部分,transductive learning(半监督学习)和inductive learning(归纳学习)。
Transductive learning:
利用三个标准的引文网络基准数据集——Cora、Citeseer和Pubmed。在所有这些数据集中,节点对应于文档,边(无向)对应于引用。节点特征对应于文档的单词包表示的元素。每个节点都有一个类标签。我们只允许每个类使用20个节点进行训练——然而,在整个transductive learning过程中,训练算法可以访问所有节点的特征向量。在1000个测试节点上评估训练模型的预测能力,并且使用500个额外的节点进行验证。
Inductive learning:
利用蛋白质-蛋白质相互作用(PPI)数据集,该数据集由对应于不同人体组织的图表组成。数据集包含20个用于训练的图,2个用于验证,2个用于测试。关键的是,测试图在训练过程中是完全没有被观察到的。每个图的平均节点数为2372个。 每个节点有50个特征,由位置基因集、基序基因集和免疫特征组成。从分子签名数据库收集到的基因本体中的每个节点集有121个标签,一个节点可以同时拥有几个标签。
参考博客
图注意力网络 GRAPH ATTENTION NETWORKS
GRAPH ATTENTION NETWORKS 学习翻译
图注意力网络(GAT) ICLR2018, Graph Attention Network论文详解
Graph Attention Networks
全面理解Graph Attention Networks