GAT翻译

本文介绍了一种新型神经网络架构——图注意力网络(GAT),它利用注意力机制在图数据上解决传统图卷积的不足,如依赖图结构和泛化性差的问题。GAT通过并行处理节点间的注意力计算,支持不同节点权重分配,适用于归纳学习,尤其在无向图和未知结构上表现优秀。在Cora、Citeseer、Pubmed和蛋白质相互作用数据集上取得了顶尖结果。
摘要由CSDN通过智能技术生成

目录

 

摘要

1、引文

1.1 前人工作:

1.2 本文贡献:

1.3 相关工作:

2、GAT结构

2.1 GAT层

2.2 与相关工作的比较

3.模型评估

3.1 数据集

3.2 实验设置

3.3 实验结果

4.结论


摘要

我们提出了图注意力网络(GATs),这是一种基于图结构数据的新型神经网络体系结构,利用隐藏的自我注意层来解决基于图卷积或其近似的先前方法的缺点通过叠层,节点能够顾及到它们的邻域特征上,我们可以(隐式地)为邻域的不同节点指定不同的权重,而不需要任何代价高昂的矩阵运算(如反演)或依赖于预先了解图结构。通过这种方式,我们同时解决了基于频谱的图神经网络的几个关键挑战,并使我们的模型易适用于归纳和转换问题。我们的GAT模型在四个建立的直推和归纳图基准上达到或匹配最先进的结果:Cora, Citeseer和Pubmed的引文网络数据集,以及一个蛋白质之间相互作用数据集(其中测试图在训练期间保持不可见)。

1、引文

1.1 前人工作:

GCN成功应用在一些具有网格结构的数据(如语义分割,图像分类,机器翻译等)中,该类架构能有效地重复利用局部滤波器,通过可学习参数将滤波器应用到所有的输入位置。但实际过程中许多数据不是网格结构,而是位于不规则的域中,如三维网络、社交网络、远程通信网络、生物网络和大脑结构等,这类数据常用图形式表示。
然而,人们对在图域中推广卷积越来越感兴趣。这方面的进展通常分为谱方法和非谱方法:
1)谱方法与图形的谱表示相互结合,并已成功地应用于节点分类。目前的谱方法中(包括Kipf所提出的GCN),学习到的滤波器依赖于拉普拉斯特征基向量D,而拉普拉斯特征基向量D依赖于图结构。因此,在特定结构上训练的模型不能直接应用到具有不同结构的图上(泛化性差)
2)非谱(空间域)方法目前有:直接在图上定义卷积,对空间上的近邻居组进行操作,该方法的挑战之一是定义一个算子,该算子与不同大小的邻域一起工作,并保持cnn的权值共享特性。在某些情况下,这需要为每个节点度学习一个特定的权值矩阵,使用转移矩阵的幂来定义邻域,同时学习每个输入通道和邻域度的权值,或提取和归一化邻域(包含固定数量节点)。Monti等人(2016)提出了混合模型CNNs (MoNet),这是一种将CNN架构统一概括到图的空域方法。最近,Hamilton等人(2017)介绍了GraphSAGE,一种以归纳方式计算节点表示的方法。这种技术的操作方式是对每个节点的固定大小的邻域进行采样,然后对其执行一个特定的聚合器(例如对所有采样的邻域的特征向量的均值,或通过对它们输入循环神经网络的结果)。这种方法在几个大规模的归纳基准上产生了令人印象深刻的性能。
注意力机制几乎已经成为许多基于序列的任务上的标准。注意力机制的一个好处是,它允许处理不同规模的输入信息,专注于输入信息中最相关的部分,从而做出决定。当注意机制被用来计算单个序列的表示时,它通常被称为自我注意或内部注意(self-attention or intra-attention)。与循环神经网络(RNNs)或卷积一样,自我注意机制已被证明对机器阅读和学习句子表征等任务非常有用。然而,Vaswani等人(2017)表明,自我注意不仅可以改进基于RNNs或卷积的方法,而且足以构建一个强大的模型,在机器翻译任务上获得最先进的性能。

1.2 本文贡献:

受这一最新工作的启发,我们引入了一种基于注意力的架构来执行图结构数据的节点分类。其思想是计算图中每个节点的隐藏表示,通过关注它的邻点,遵循自我关注策略。注意结构有几个有趣的特性:
(1)由于它在节点-邻点对之间是并行的,所以操作是高效的;
(2)通过向邻点指定任意的权值,可以应用于具有不同度的图节点;
(3)该模型直接适用于归纳学习问题,包括一些必须推广该模型到完全看不见的图的任务。我们在四个具有挑战性的数据集合上验证了提出的方法:Cora, Citeseer和Pubmed引文网络以及诱导的蛋白质相互作用数据集,实现或匹配最先进的结果,以此突出了基于注意力的模型在处理任意结构图时的潜力。

1.3 相关工作:

我们跨边共享神经网络计算的方法让人想起关系网络和VAIN的公式,该公式中对象(objects)或代理(agents)之间的关系通过使用共享机制成对聚合。同样,我们提出的注意力模型可以与Duan et al.(2017)和Denil et al.(2017)的工作相关联,这些工作使用邻域注意力操作来计算环境中不同对象之间的注意系数。其他相关的方法包括局部线性嵌入(LLE) (Roweis &Saul, 2000)和记忆网络(Weston等人,2014)。LLE在每个数据点周围选择固定数量的邻点,并学习每个邻点的权重系数,将每个点重构为其邻点的加权和。第二个优化步骤是提取点的特征嵌入。记忆网络也与我们的工作有一些联系,特别是,如果我们将一个节点的邻域解释为记忆,它通过关注节点的值来计算节点特征,然后通过在相同的位置存储新的特征来更新

2、GAT结构

2.1 GAT层

我们将从描述一个单一的GAT层开始,作为我们实验中使用的所有GAT架构中使用的独有层。
输入数据: ,其中,N为节点数目,F为每个节点的特征数目
输出数据:, 其中F’可能是不同的基数

为了获得足够的表达能力将输入特征转换为高水平特征,至少需要一个可学习的线性变换。为此,作为初始步骤,对每个节点应用一个由权矩阵参数化的共享线性变换。然后在节点上执行自我注意力——一种共享的注意机制去计算注意力参数:

eij表示节点j的特征对节点i的重要性。在其最一般的公式中,该模型允许每个节点考虑其他节点,而摒弃所有结构信息。我们通过执行隐藏注意将图结构注入到机制中——但我们只计算节点的eij,其中Ni是图中节点i的某个邻域。在我们所有的实验中,这些邻点j将恰好是i(包括i)的一阶邻点。为了使系数易于在不同节点之间进行比较,我们使用softmax函数在j的所有选择中进行归一化:

在我们的实验中,注意力机制a是一个单层前馈神经网络,由一个权重向量进行参数化,并应用LeakyReLU非线性函数(负输入斜率α = 0.2)(ReLU是将所有的负值都设为零,相反,Leaky ReLU是给所有负值赋予一个非零斜率)。通过注意机制计算的系数可以表示为(如图1(左)所示):

一旦得到归一化的注意系数,就用它来计算其对应特征的线性组合,作为每个节点的最终输出特征(可能在应用非线性函数σ之后
       (4)
为了稳定自我注意的学习过程,我们发现将我们的机制扩展到使用多引入(线)端的注意机制( Multi-Head Attention)是有益的,这与Vaswani等人(2017)的研究结果相似。具体来说,K个独立注意机制对方程4进行转换,然后将它们的特征进行级联,得到如下输出特征表示:

其中||表示级联,是由第k个注意机制计算的归一化注意系数,是对应的输入线性变换的权矩阵。注意,在这个设置中,最终返回的输出将包含每个节点的K×F'个特性(而不是F')。图1(右)说明了多引入端的图注意力层的聚集过程。
特别地,如果我们对网络的最终(预测)层进行多头关注,连接就不再有意义,相反,我们采用平均,并之后应用非线性激活(通常是softmax或logistic sigmoid用于分类问题):


Figure 1 左图:将注意力机制应用到模型中,由权重参数进行参数化,并利用LeakyReLU激活函数;右图:节点1在其邻域上的多重引入注意机制(K = 3的三重引入线端)的图解。不同的箭头样式和颜色表示独立的注意力计算。从每个引入端聚集的特征级联或平均得到

2.2 与相关工作的比较

第2.1小节中描述的图形注意层直接解决了之前用神经网络处理图形结构数据存在的几个问题:
1)在计算上,它是高效的:自注意层的操作可以在所有边上并行化,输出特征的计算可以在所有节点上并行化。不需要特征分解等类似的计算代价高昂的矩阵操作。用单引入注意计算F'个特征的的时间复杂度可以表示为,其中F表示输入特征数,V和E是节点和边的个数,这种复杂性与诸如图卷积网络(GCNs)等方法相当。采用Multi-Head Attention则将存储和参数要求乘以K,而各个head的计算完全独立,可以并行化
2)与GCNs不同的是,我们的模型允许(隐式地)为同一邻点的节点分配不同的重要性,从而实现模型容量的飞跃。此外,分析通过学习得到的注意力权重可能会带来可解释性方面的好处。
3)注意机制以一种共享的方式应用于图中的所有边,因此它不依赖于对全局图结构或所有节点(特征)的预先访问(先前许多技术的局限性)。这有几个可取的含义:

  • 图不需要是无向的(如果边j→i不存在,我们可以省去计算αij)
  • 这使得我们的技术直接适用于归纳学习——包括在训练过程中完全看不见的图形上评估模型的任务。

4)最近发表的Hamilton et al.(2017)的归纳方法对每个节点采样固定大小的邻域,以保持其计算足迹一致;这不允许它在执行推断时访问整个邻域。此外,这种技术在采用基于LSTM 邻点聚合器时才能取得良好的效果。这假设存在一个一致的连续节点顺序,并且作者通过一致地向LSTM提供随机顺序的序列来重新确认它。我们的技术不受这些问题的影响,它与整个邻域一同作用(以牺牲变量计算足迹为代价,这仍然与GCN等方法相同),并且不假定其中有任何顺序。
5)GAT可以重新定义为MoNet的一个特定实例,然而,我们应该注意到,与之前考虑的MoNet相比,我们的模型使用节点特征进行相似度计算,而不是节点的结构属性(这将假定预先知道图结构)。
简而言之,就是GAT计算高效;可以给不同邻点加权重;使用节点特征进行相似度计算,不依赖图结构,即图可以是无向且未知的,节点顺序也不要求;

我们能够生产出利用稀疏矩阵操作的GAT层版本,将存储复杂度降低到节点和边的线性数量,并使GAT模型能够在更大的图数据集上执行。然而,我们使用的张量操作框架只支持2阶张量的稀疏矩阵乘法,这限制了当前实现的层的批处理能力(特别是对于具有多个图的数据集)。适当地解决这个限制是未来工作的一个重要方向。在这些稀疏的场景中,与cpu相比,gpu可能无法提供主要的性能优势,这取决于图形结构的规律性。还应该注意的是,我们模型的接收野的大小是受网络深度限制的(类似于GCN模型)。然而,如跳接(He等人,2016)等技术可以很容易地用于适当扩展深度。最后,所有图边的并行化,特别是以分布式的方式,可能涉及大量的冗余计算,因为邻域在感兴趣的图上经常有高度重叠

3.模型评估

我们对GAT模型进行了比较评估,在四个建立的基于图表的基准任务(转导和归纳)上对比了各种各样的强基准线和以前的方法,实现或匹配所有这些最先进的性能。本节总结了我们的实验设置、结果,以及对GAT模型提取的特征表示的进行简要定性分析。

3.1 数据集

1.半监督学习和直推学习类型数据集
我们利用三个标准引文网络基准数据集Cora、Citeseer和Pubmed,并密切依照Yang (2016)的半监督学习和直推学习实验设置。在所有这些数据集中,节点对应于文档,边对应于(无定向)引用。节点特性对应于文档的单词袋表示的元素。每个节点都有一个类标签。我们规定每个类只使用20个节点来进行训练,但是,根据半监督学习和直推学习设置,训练算法可以访问所有节点的特征向量。训练过的模型的预测能力在1000个测试节点上进行评估,为了验证目的,我们使用了500个额外节点。Cora数据集包含2708个节点,5429条边,7个类和1433个特征。Citeseer数据集每个节点包含3327个节点,4732条边,6个类和3703个特征。Pubmed数据集包含19717个节点,44338条边,3个类和每个节点500个特征。

2.归纳学习
我们使用了一个蛋白质相互作用(PPI)数据集,该数据集由对应于不同人体组织的图组成。数据集包含20个用于训练的图,2个用于验证,2个用于测试。关键的是,测试图在训练期间完全不被观察到。为了构建图,我们使用了Hamilton et al.(2017)提供的预处理数据。每个图的平均节点数是2372。每个节点有50个特征,由位置基因集、主题基因集和免疫特征组成。从分子署名数据库中收集到的基因本体的每个节点集总共有121个标签,一个节点可以同时拥有多个标签

表1给出了数据集受关注特征的概述。

3.2 实验设置

1.半监督学习和直推学习类型数据集
我们采用两层的GAT模型。它的架构超参数已经在Cora数据集上进行了优化,然后在Citeseer数据集上重复使用。第一层用于特征提取:由K = 8个head组成,每个head计算F' = 8个特征(总共64个特征),然后是一个指数线性单元(ELU) 的非线性。第二层用于分类:一个计算C个特征的head(C是类的数量),然后是softmax激活。为了应对较小的训练集,在模型中大量应用正则化(防止过拟合)。在训练中,我们采用L2正则化,其中λ = 0.0005。此外,p = 0.6的dropout应用于两个层的输入,以及归一化的注意力系数(严格地说,这意味着在每次训练迭代中,每个节点都暴露在随机采样的邻域中)。与Monti等人(2016)观察到的类似,我们发现Pubmed的训练集大小(60个例子)需要对GAT体系结构进行细微的改变:我们应用了K = 8个输出head(而不是一个),并加强了L2正则化系数为λ = 0.001。其余架构与Cora和Citeseer所使用的架构相匹配。

2.归纳学习
对于归纳学习任务,我们采用了三层GAT模型。前两层都包含K = 4个head,计算F'= 256个特征(总共1024个特征),然后是一个ELU非线性。最后一层用于(多标签)分类:K = 6个head,计算每个head的121个输出特征,取其平均值,然后进行logistic sigmoid激活。这个任务的训练集足够大,我们发现不需要应用L2正则化或dropout,然而,我们已经成功地在中间注意层中使用了skip连接。在训练过程中使用批次为2张图。为了严格评估在这种设置中应用注意机制的好处(即与类似GCN等效模型进行比较),我们还提供了使用常数注意机制a(x,y) = 1时的结果,在相同的架构下,这将为每个邻点分配相同的权重
所有模型都使用Glorot初始化和使用Adam SGD优化器对训练节点的交叉熵进行了最小化训练, 其中Pubmed的初始学习率为0.01,所有其他数据集的初始学习率为0.005。在这两种情况下,我们在交叉熵损失和准确性(半监督学习)或 micro-F1(归纳学习)验证所提模型的性能,epoch 数为100。

3.3 实验结果

结果如下表所示


对于半监督任务,我们在重复实验100次后报告我们方法的测试节点上的平均分类精度(带有标准偏差),并参考此前一些最先进的技术。为了公平地评估注意力机制的好处,我们进一步评估了计算64个隐藏特性的GCN模型,尝试ReLU和ELU激活函数,并在100次运行后报告(作为GCN-64)更好的结果。
对于归纳任务,我们报告了两个看不见的测试图节点上的micro-averaged F1 分数(这是在运行10次后的平均分数),并参考了此前先进技术的指标。具体地说,由于我们的设置是受监督的,我们将与受监督的GraphSAGE方法进行比较。为了评价聚合在整个邻域的好处,通过修改GraphSAGE架构(这是三层GraphSAGE-LSTM(每一层有512、512、726个特征)和128个特征用于聚合邻域),进一步提供(如GraphSAGE)最好的结果,最后,我们报告了GAT模型(称为Const-GAT)的10次运行结果,以公平地评估关注机制相对于类似gcn的聚合方案(具有相同的架构)的好处。
根据第2.2节的讨论,我们的结果成功地证明了在所有四个数据集上都实现了或匹配了最先进的性能,这与我们的预期一致。更具体地说,我们能够在GCNs上分别提高1.5%和1.6%,在Cora和Citeseer上,这表明为同一邻居的节点分配不同的权重可能是有益的。在PPI数据集上更是取得优秀的成绩:比GraphSAGE最好的效果还提升了20.5%,证明我们的模型有潜力应用于归纳任务,并且通过观察整个邻域可以具备更大的预测能力。此外,它比Const-GAT(具有常数关注机制的相同架构)提高了3.9%,再次直接证明了能够为不同的邻域分配不同权重的重要性。
也可以定性地研究学习到的特征表示的有效性,为此,我们提供了一种可视化的t-SNE转换的特征表示该特征表示是由在Cora数据集上预先训练的GAT模型的第一层提取的。该表示法在投影的2D空间显示出可识别的聚类。请注意,这些集群对应于数据集的7个标签,验证了模型在Cora的7个主类中的区分能力。此外,我们可视化标准化注意系数的相对强度(所有八个head的平均值)。正确解释这些系数将需要对所研究数据集有更多的领域知识,这将留给未来的工作。

图2 cora数据集上预训练的GAT模型第一个隐含层的计算的特征表示的t-SNE图。节点的颜色表示类。边缘厚度表示节点i和j之间所有8个head的归一化注意系数

4.结论

我们提出了图注意网络(GATs),一种基于图结构数据的新型卷积式神经网络,该网络利用隐藏的自我注意层。将图注意力层加入到这些网络可以提高计算效率(不需要耗时的矩阵操作,在图上所有节点的特征提取是并行的)。在处理不同大小的邻域时,允许(隐式地)为邻域内的不同节点分配不同的重要程度,而不需要预先了解整个图结构,从而用之前基于频谱的方法解决许多理论问题。我们利用注意力的模型在四个完善的节点分类数据测试中成功地达到或匹配了最先进的性能,包括半监督和归纳任务(特别是使用完全看不见的图进行测试)。
图注意力网络有几个潜在的改进和扩展,可以作为未来的工作加以解决,例如克服第2.2小节中描述的实际问题,以便能够处理更大的批处理规模。一个特别有趣的研究方向是利用注意机制对模型的可解释性进行深入分析。此外,从应用的角度来说,将该方法扩展到进行图分类而不是节点分类也是有意义的。最后,扩展模型以包含边特征(可能表示节点之间的关系)将允许我们处理更多的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值