GRAPH ATTENTION NETWORKS笔记

本文介绍GAT,一个新的在图结构数据上进行操作的神经网络架构。

卷积神经网络已经成功地解决图像分类、语义分割、和机器翻译等问题,在这些问题中,数据都是规则的结构。而很多任务包含不规则的数据,比如社交网络、生物网络等,这样的数据往往以图的方式进行表示。已经有很多人试图扩展神经网络以解决任意的图结构数据,早期的工作用RNN处理有向无环图,2005年和2009年提出的GNN能处理更多类型的图结构,如循环图,有向图和无向图。GNN包含一个迭代过程,传播节点状态直到稳定,后面再接一个神经网络,基于这些状态为每个节点生成一个嵌入。2016年,有人提出用GRU进行传播,从而扩展了GNN。

然而,将卷积用于图上是人们一直追求的方法。这一方向上的做法一般分为两类:谱方法和非谱方法。谱方法在图的谱表示上进行运算,已经成功运用到节点分类中。在2014年的文章中,卷积操作定义在傅里叶域上,通过计算图拉普拉斯的特征分解得到非空域的局部滤波器。后来一系列工作在此基础上进行优化,2015年的方法引入谱滤波的参数化以。2016年的方法通过图拉普拉斯的切比雪夫展开来近似滤波器,这样就不用计算拉普拉斯的特征向量且得到了空域上的局部滤波器。最后,2017年的方法通过把滤波器约束到1阶邻居来简化。但是,在所有这些谱方法中,滤波器都依赖于拉普拉斯的特征分解,这取决于图的结构,从而在一个特定的图上训练得到的模型不能直接运用到另外一个图结构中。

另外,非谱方法直接在图上定义卷积,在空间上距离近的节点上进行操作。这一类方法 的一个巨大挑战是定义一个可以工作在不同数量的邻居上的算子并且保持CNN中权重共享的性质。在一些情况下,需要为每个节点度学习一个特定的权重矩阵。GraphSAGE为每个节点采样固定数量的邻居然后在邻居上进行特定的聚合,它在大规模的归纳式任务中取得了很好的效果。

注意力机制在序列推断任务中已经成为了公认的做法。注意力机制的一大优点是它能处理不同数量的输入,关注于输入中最相关的部分来指定决策。当注意力机制用于单个序列的表示时,其通常叫做自注意力,自注意力与RNN或CNN一起使用,已经在机器阅读和学习句子表示上证明很有用。而‘Attention is all you need’表明,不用与RNN或CNN一起,单用注意力机制也能构建强大的模型。

受其启发,本文介绍图结构数据上基于注意力的架构来进行节点分类。其思想是通过访问节点的邻居并采用注意力机制来计算图上节点的隐含表示。注意力架构有几个有趣的性质:1)操作是高效的,因为能并行;2)它能为邻居指定不同的权重从而用于有不同邻居的图节点上;3)模型可以直接用于推断式学习问题中,包含需要模型泛化到完全不可见的图上的任务。在四个基准任务和一个推断任务上进行验证,在处理任意结构的图时取得了很好的效果。

同GCN一样,这个工作也是MoNet的一个特殊实例。

GAT架构

这一部分介绍用于构建任意图注意力网络的基本层,并介绍与其他神经图处理相比其理论和实践优势。

首先介绍单个图注意力层,输入是节点特征,其中N是节点的数量,F是每个节点的特征数量,注意力层基于这一输入产生一组新的节点特征做为输出。在将输入特征映射到高层的特征时,为了得到足够表达能力的转换,至少需要一个可训练的线性变换,为了达到这一目的,开始时在每个节点的的表示上乘上一个权重矩阵,然后在节点上执行自注意力机制(这是个共享的注意力机制),然后得到注意力系数:

                                                                  

这一系数表示节点 j 的特征对于节点 i 来说的重要性。在这一公式中,模型允许每个节点参与其余节点的计算而不考虑结构信息。通过执行masked的注意力将图结构注入到这一机制中--只计算节点的一阶邻居的注意力。然后利用softmax来归一化:

                                              

在实验时,注意力机制 a 设置成单层的前馈神经网络,参数化为权重向量,然后利用LeakyReLU进行非线性激活。即最后的表达式为:

                                     

得到注意力系数之后,它们用于计算特征的线性结合,再运用非线性激活后得到中心节点的表示:

                                                              

为了使模型更稳定,还尝试使用多头注意力,也就是运用K个独立的注意力机制得到K个节点表示,然后连接这K个表示:

                                                              

如果在最后一层使用多头注意力机制,连接多个节点表示将不可行,此时,利用多个表示的平均,并且在最后才使用非线性激活:

                                                             

与其他相关工作的区别:

图注意力层直接解决了用神经网络建模图结构数据时的几个问题:

1)在计算上,图注意力网络是高效的,自注意力层上的操作可以跨边并行,且节点的输出也可以并行计算。不需要特征分解和其他复杂的矩阵操作。时间复杂度与经典的GCN一样。

2)与经典的GCN比较,注意力模型可以为不同的邻居设定不同的注意力,大大增加了模型的表达能力,另外,分析学到的注意力权重能更有利于模型解释

3)注意力机制在图的所有边上共享,不需要提前访问整个图或访问图上的所有节点(这是以前的很多方法的一个缺陷),这有很大的影响:图不需要是无向图;可以应用于推断式任务

4)不用序列化邻居节点

5)GAT可以看做MoNet的一个特殊情况,但GAT的输入是节点的特征而不是结构属性,所以不需要提前知道图结构。

我们可以制作利用稀疏矩阵算子的GAT版本,将空间复杂度减到节点和边的数量的线性,从而使得GAT可以在大数据集上执行。

实验验证

在四个基于图的基准任务中比较了很多现有的方法,取得了比现有方法好或者相当的效果。

数据集:

直推式学习方面,利用三个标准引用数据集-Cora,CiteSeer和Pubmed。这些数据集中,节点对应文档,边对应无向引用关系,节点特征是文档的词袋表示。每个节点有一个类别标签。

推断式学习方面,利用包含人体不同组织的PPI数据集,训练集中包含20个图,验证和测试集中各包含2个图。测试图在训练过程中是完全不可见的。

比较的方法:直推式方法,比较了经典的GCN和其它一些baseline。推断式方法,比较了GraphSAGE.

可以看到,结果是不错的。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值