持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第20天,点击查看活动详情
GAT(Graph Attention Networks)
图注意网络(GAT),一种基于图结构数据的新型神经网络架构,利用隐藏的自我注意层来解决之前基于图卷积或其近似的方法的不足。
通过堆叠节点能够处理其邻域特征的层,我们可以(隐式地)为邻域中的不同节点指定不同的权重,而不需要任何代价高昂的矩阵操作(如反演)或依赖于预先知道图结构。
通过这种方式,我们同时解决了基于频谱的图神经网络的几个关键挑战,并使我们的模型易于适用于归纳和转换问题。我们的GA T模型通过四个已建立的转导和归纳图基准达到或匹配最新的结果:Cora、Citeseer和Pubmed引文网络数据集,以及蛋白质蛋白相互作用数据集(其中测试图在训练过程中不可见)。
1、介绍
1.1、历史发展介绍
CNN -> GNN -> CNN推广到GNN -> 注意力机制 -> 本文的GAT模型
卷积神经网络(Convolutional Neural Networks, cnn)通常用于处理底层的数据表示具有类似网格结构的数据。但是类似3D网格、社交网络、电信网络、生物网络或大脑连接体等不规则数据,则不适用。
图神经网络(GNN)是在Gori等人(2005)和Scarselli等人(2009)中引入的,作为递归神经网络的一种推广,它可以直接处理更一般的图类,例如循环图、有向图和无向图。
GNN由一个迭代过程组成,传播然后更新,分别对应消息传递函数和更新函数。
人们对将卷积推广到图域越来越感兴趣。在这方面的进展通常分为光谱方法和非光谱方法(频域和空域)。
一方面,在多数所有的光谱方法中,学习的滤波器都依赖于拉普拉斯特征基,而拉普拉斯特征基又依赖于图的结构。因此,在特定结构上训练的模型不能直接应用于具有不同结构的图。
另一方面,非光谱方法(Duvenaud等人,2015;Atwood & Towsley, 2016;Hamilton等人,2017),它直接在图上定义了卷积,在空间上近邻的组上操作。
这些方法的挑战之一是定义一个操作符,该操作符可以处理不同大小的邻域,并保持CNN的权重共享属性。
Hamilton等人(2017)引入了GraphSAGE,这是一种以归纳方式计算节点表示的方法。
在许多基于顺序的任务中,注意力机制几乎已经成为事实上的标准(Bahdanau等人,2015;Gehring等人,2016)。
注意力机制的好处之一是,它们允许处理大小不一的输入,关注输入中最相关的部分来做出决策。
当一个注意机制被用来计算单个序列的表示时,它通常被称为自注意力机制或内注意力机制。
和CNN或者RNN结合有很好的效果。
引入了一个基于注意力的体系结构来执行图结构数据的节点分类。其思想是计算图中每个节点的隐藏表示,方法是遵循一种自我注意策略,通过关注它的邻居。该注意体系结构具有几个有趣的特性:
(1)操作效率高,因为它可以跨节点邻居对并行;
(2)通过对相邻节点指定任意权值,可将其应用于具有不同程度的图节点;
(3)该模型直接适用于归纳学习问题,包括该模型必须推广到完全看不见的图的任务。
在四个具有挑战性的基准上验证了所提出的方法:Cora、Citeseer和Pubmed引文网络以及归纳的蛋白质-蛋白质相互作用数据集,实现或匹配最先进的结果,突出了在处理任意结构的图时基于注意力的模型的潜力。
相关工作:
正如Kipf & Welling(2017)和Atwood & Towsley(2016),我们的工作也可以被重新表述为MoNet的一个特殊实例(Monti等人,2016)。
此外,我们跨边界共享神经网络计算的方法让人想起了关系网络(Santoro等人,2017)和V AIN (Hoshen, 2017)的公式,其中对象或代理之间的关系是通过使用共享机制成对聚合的。
同样,我们提出的注意模型可以与Duan等人(2017)和Denil等人(2017)的工作相联系,他们使用邻域注意力运算来计算环境中不同对象之间的注意系数。
其他相关方法包括局部线性嵌入(LLE) (Roweis & Saul, 2000)和内存网络(Weston et al., 2014)。LLE在每个数据点周围选取固定数量的邻居,学习每个邻居的权重系数,将每个点重构为其邻居的加权和。第二个优化步骤提取点的特征嵌入。
内存网络也与我们的工作有一些联系,特别是,如果我们把一个节点的邻域解释为内存,它用来计算节点的特征值,然后通过在相同的位置存储新的特征来更新。
2、GAT结构
通过堆叠单个的图注意力层(building block layer)来构建任意的图注意力网络。
2.1、Graph Attentional Layer
Graph Attentional Layer的网络结构:
注意力层的输入
只对结点某个邻域内的结点应用注意力机制,而非所有的结点运用注意力机制,本文称这种方式为 masked attention
本文实验采用的都是一阶邻域结点
这里中心节点则为注意力机制中对应的Query,邻域节点对应Key/Value,通过计算中心节点和邻域节点相似度,然后再进行归一化,得到中心节点在每个邻域节点上面的权重系数(注意力打分)
2.2、相关工作比较
3、实验
3.1、数据集说明
转导学习和归纳学习
归纳学习(Inductive Learning )是指可以对在训练阶段见不到的数据直接进行预测而不需要重新训练的学习方法。
转导学习(Transductive Learning)是指所有的数据在训练阶段都可以拿到,学习过程是作用在这个固定的数据上的,一旦数据发生改变,需要重新进行学习训练,典型的比如图上的随机游走算法,一旦图数据发生变动,所以节点的表示学习都需要重新进行。
综上,GCN属于Transductive Learning,GraphSAGE属于Inductive Learning 。
示例:
transduction(转导学习:对于A集合(labeled data)和B集合(unlabeled data),通过比较B重个体特征与A中个体特征得出B的label。即训练时会用到A的X和y一级B的X。
induction(归纳学习):不看B集合,只通过A集合得到一个general的model的模型。通常的监督学习就是这种。
3.2、先进方法比较
3.3、实验步骤
***3.3.1、***转导学习(Transductive learning)
实验操作:
实验结果:
3.3.2、归纳学习(Inductive learning )
实验过程:
实验结果: