GRAPH ATTENTION NETWORKS

1.摘要

我们提出了graph attention networks (GATs)算法,这个算法主要的创新在于把一种流行的神经网络框架用于图结构数据上,通过masked self-attentional技术形成神经网络层来解决(或者说近似)之前卷积图的不足之处。通过堆叠的网络层级可以获得节点邻居的特征值,论文解决了(说明了)不同邻居节点之间的权值,重点在于不需要了解图本身的结构以及不需要复杂的矩阵运算。通过这种方法,论文同时解决了光谱图神经网络的几个关键挑战,并且是模型直接推导的能力接近了递归推导的能力。论文的模型GAT获得了最优的结果,建立在四个数据集上,分别是:Cora, Citeseer 、Pubmed citation network datasets、PPI(protein-protein interaction,这个数据集在训练过程中无法获得图的结构)。

2.引言

引言部分就不做详细介绍了,具体可参见原文

3.GAT结构

这一节主要建立的神经网络的层级框架,用于建立属性网络(arbitrary graph)注意力模型(通过堆叠这一层),并且直接概述了原理以及实践中的优势,并且与之前神经网络的图结构处理的领域进行了对比。

3.1 图注意力层(GRAPH ATTENTIONAL LAYER)

首先要描述一个单层的图注意力层,作为一个单独的网络层被用于GAT框架中。这个特殊的注意力层被用于我们一直紧跟的Neural machine translation by jointly learning to align and translate(基于图的RNN方法)工作中,但是这个框架对于前面工作而言还是创新的(这句翻译不一定准确,自己的理解,也希望同志们指正)

上述网络层的输入时一组节点特征的集合:

其中N是节点的个数,F是每个节点的特征值数量。而网络层的输出是:


其中是新的特征向量,其长度为F'。

为了获得更高层级的表达能力,需要将输入的特征转换为更高级别的特征,一个可学习的线性变换是必须的,作为端到端的过程,同时需要一个初始化线性转变的矩阵W,,这个W作用于每一个节点,之后通过运用一个自我注意力(self-attention)作用于节点:一个共享的注意力机制,结果成为注意力系数,如下表示:

这个系数说明了节点j的特征值对于节点i的重要性,在这个通用公式中,模型允许每一个节点与其余节点进行运算,这样就忽视了图的结构信息。我们通过加入masked attention方法来保证图的结构信息,就是只计算节点i的邻居节点j,其中j∈Ni,Ni是一部分节点i的邻居节点(where Ni is some neighborhood of node i in the graph),在文本所有的实验中,使用了一阶的邻接点(包括节点i本身)来对该系数进行计算,这样做的好处是可以很容易的比较不同节点的关系,我们正则化所有节点j(邻接点)的注意力系数,使用了softmax方法,公式如下:

在论文使用的实验中,注意力机制(式子3)中的a使用了单层前馈神经网络(single-layer feedforward neural network)参数使用了一个向量,这样一来注意力系数公式完全展开如下所示:

其中,T表示转置,||表示连接操作(concatenation operation)
一旦达到(Once obtained),这个正则化的注意力系数就可以备用来计算对应特征的线性组合,作为每个节点的输出特性。(这里还需要使用一个σ函数作为非线性输出),具体公式如下:

为了稳定自我学习机制,论文使用出了一种多头注意力(multi-head attention)的方法,具体的说(Specificall),就是执行K次公式7,然后将执行的特征连接(concatenated)起来,具体公式如下:

其中||表示连接操作,akij表示第k次注意力系数,Wk表示k头的线性变换矩阵,值得注意的是,在这个公式中,每个节点所输出的特征h'包含KF'个特征(而非F')。特别的,如果我们在网络中使用多头的框架预测,连接操作就不是很适合了,相反的,文中采用了平均值的方法,将最终的非线性(通常是用于分类问题的softmax或logistic sigmoid)应用到多头部图的注意层的聚合过程中,图解说明为图1后部分。具体公式如下:

图1

3.2与相关工作的比较

文章中图注意力层的表示在3.1中已经进行了详细的介绍,也引出了一下先前研究的相关工作的不足:

  • 计算上,该方法是高效的,原因在于自我注意力层可以通过所有边进行并行运算,同时节点间可以看做独立的个体,可以进行并行运算,同时在运算过程中不需要进行特征分解等高代价的矩阵运算。
  • 与GCNs的工作相比,本文使用的方法(隐式的)标记了节点对于其邻居节点的重要性,这样可以提高模型的表示能力,进一步,该方法具有一定的可解释性。
  • The crux is however(但关键是),注意力机制共享了图中所有的边,因此他不需要提前访问图中所有的图结构以及所有节点(这一点限制了许多技术),这样有以下优势:
    • 图结构不要求是无向图(如果i-j不存在,可以直接不用计算aij)
    • 它使我们的技术直接适用于归纳(inductive)学习——包括在训练中完全不可见的图形上评估模型的任务。
  • 最近推出的归纳学习方法(Inductive representation learning on large graphs. Neural Information Processing Systems (NIPS),举例了一种对于每个节点固定邻接点size的方法,目的为了保持自身计算量的一致性(keep its computational footprint consistent),这种方法不允许在运算过程中访问整个邻域.进一步,这种方法使用了LSTM算法对社区聚类时有更好的性能表现.算法假设了存在一直连续的邻居节点(This assumes the existence of a consistent sequential node ordering across neighborhoods?),并且作者通过不断地向LSTM输入随机序列对其进行了验证.我们的技术不用发面对这样的问题--它运行在整个社区中(以牺牲可变的计算占用空间为代价,这仍然与GCN之类的方法相当),并且不假定邻域有任何的顺序.
  • 这里要重提第一章,GAT可以被描述为一种特殊的MoNet(Geometric deep learning on graphs and manifolds using mixture model cnns),更具体地说,将伪坐标函数设置为,其中f(x)表示(可能使用MLP-transformed)节点x的特征,以及||表示连接函数,并且权重矩阵(通过softmax计算整个社交网图结构中的节点),通过这种类比使得我们的方法近类似于MoNet结构.更进一步,有一点需要说明,我们的模型使用的节点节点特征来进行相似性计算,而不是使用节点的结构属性(假定预先知道图的结构)。

我们能够生成一个版本的GAT层,它利用稀疏矩阵操作,将存储复杂度降低到节点和边缘的线性数量,并允许在更大的图形数据集上执行GAT模型。然而,我们使用的张量操作框架(TensorFlow?)只支持稀疏矩阵乘法的rank-2张量,这样限制了层之间的批处理能力(特别是对于具有多个图的数据集datasets with multiple graphs),适当的解决这个约束是一个很好的研究方向.依赖图架构的规则,在稀疏矩阵上GPU可能无法提供比CPU更好的处理性能.还有一点需要说明的就是我们模型中的"感受野"就是网络深度的上限(同GCN模型一样)然而像skip connections (He et al., 2016)这样的技术很容易被应用在深度的扩展上.最后,图结构中变得并行运算在分布式的结构上,容易导致冗余的就是那,因为邻接点会经常高度的覆盖.

模型评价

我们通过大量的基础与前期知识对GAT模型进行了性能评估,使用了4个图结构数据集完成了分支测试任务((transductive,inductive),最终都获得了最优的结果,并对GAT模型提取的特征表示进行了简要的定性分析.使用的数据集如下表所示:

实验数据表

3.1 数据集

传导学习:我们利用了三个标准的引文网络基准数据集Cora, Citeseer and Pubmed,在些数据集中,节点对应于文档,边对应于(无向)引用,节点的输入特征向量对应于文档的词包表示形式的元素,每一个节点有一个label作为分类用,我们只允许每类只有20个节点作为训练数据,并且,贯穿于整个传导过程,训练算法必须测试到所有节点的特征向量.我们在1000个测试节点上评估训练模型的预测能力,并且使用500个额外的节点进行验证

回归学习(归纳学习) :我们利用蛋白质-蛋白质相互作用(PPI)数据集,它由对应于不同人体组织的图形组成,这个数据集使用20个图结构作为训练集,2个验证两个测试,关键的是(Critically),测试图在训练过程中完全没有被观察到,为了构建这些图,我们使用了Hamilton等人(2017)提供的预处理数据。每个图的平均节点数为2372。每个节点有50个特征,由位置基因集、motif基因集和免疫标记组成。从分子签名数据库(Subramanian et al., 2005)收集的基因本体论中,每个节点集有121个标签,一个节点可以同时拥有多个标签。

3.2 比对试验相关(STATE-OF-THE-ART METHODS)

这一节讲了与之前不同的方法进行对比,获得了最好的性能.

3.3 实验设置

传导学习: 对于传导学习的任务,我们使用了一个两层的GAT模型,这个建构的超参被Cora数据集调优后直接复用到Citeseer数据集上.第一层使用了K=8的注意力头,输出的F‘维度为8的特征向量(一共64维 =8x8),然后紧接着使用了指数线性方法ELU进行非线性激活.第二层用来做分类,一个单独的attention head计算C的特征值(C的类别的数量),然后后面跟着一个softmax激活函数.为了解决(coping with)训练数据集小的问题,模型中引入了正则化函数.在训练的过程中,L2正则化参数λ=0.0005,进一步的 dropout参数同时运用到两层以及正则化Attention系数(这意味着每轮训练迭代的时候,每个节点都暴露在随机采样的邻域中)时,其值为0.6.同样观察Monti et al. (2016),我们发现Pubmed的训练集规模(60样本)需要轻微的变化得到架构:我们应用K = 8作为输出output(替换了one),并加强了L2正规化λ= 0.001。否则,体系结构将与Cora和Citeseer使用的体系结构相匹配。
归纳学习:对于归纳学习,我们使用了一个三层的GAT模型,前两层的K=4 计算F‘为256维的特征向量(一共1024=256x4),之后使用ELU激活,最后一层用来对多标签进行分类:K=6 attention heads 计算121类特征,最后平均下来使用一个sigma函数激活.该任务的训练集足够大,我们发现不需要应用L2正则化或dropout,然而,我们成功地使用了跳过连接(skip connections,He et al., 2016)来跨越中间注意力层。我们使用了batchsize=2的图结构进行训练.并严格评估在这种情况下应用注意机制的好处(即与接近gcn等效模型进行比较),我们还提供了使用相同体系结构的常数注意机制(a(x, y) = 1)时的结果——这将为每个邻居分配相同的权重。

3.4实验结果

实验结果的比较总结可以在表2以及表3中体现出来:

表2

表3

在传导学习的任务重,我们得到了测试集测试100轮后的分类准确性的均值,并且重用了Kipf&Welling(2017)和Monti等人(2016)已经报告的指标,对比后的带最优结果.我们提供了订单K = 2和K = 3的最优性能.为了公平地评估注意力机制的好处,我们进一步评估了一个GCN模型,该模型计算64个隐藏特征,同时尝试ReLU和ELU激活,并得到(作为GCN-64∗)100次运行后的更好结果(在所有三种情况下都是ReLU)。

对于归纳任务,我们得到了两个不可见测试图节点上的在运行10次后micro-averaged F1分,重用Hamilton等人(2017)已经报告中所有技术的结果.具体地说,我们使用的是有监督学习,所以与监督学习的GraphSAGE方法进行比较.为了评估社区聚类过程中我们模型的优势,我们还提供了(作为GraphSAGE*)通过修改GraphSAGE的体系结构(这是一个三层GraphSAGE- lstm,每一层都计算有[512、512、726]个特性,并使用128个特性来聚合邻域),从而使用GraphSAGE获得的最佳结果),最后,我们报告持续关注GAT模型(如Const-GAT)的10次运行结果,以公平地评估关注机制相对于类gcn聚合方案(具有相同架构)的优势.

根据2.2节的讨论,我们的结果成功地展示了在所有四个数据集上达到或匹配的最优秀的性能,符合我们的期望。更具体地说,我们能够在Cora和Citeseer的基础上分别以1.5%和1.6%的优势改进GCNs,这表明为相同邻居的节点分配不同的权重可能是有益的。值得注意的改进实现PPI数据集:我们的手枪模型提高了20.5% w.r.t(关于).GraphSAGE最好我们能够获得结果,证明我们的模型有可能应用于归纳的方法中,并且可以利用更大的预测能力通过观察整个社区。此外,它还改进了3.9%的关于Const-GAT(具有持续关注机制的相同架构),再次直接展示了能够为不同的邻居分配不同权重的重要性。

学习特征表示的有效性也可以定性地研究--为此我们提供了一组可视化的t-SNE(Maaten & Hinton, 2008),在Cora数据集上预先训练的GAT模型的第一层提取转换后的特征表示,如下图:该表示在投影的二维空间中显示出明显的聚类效果,注意,这些集群对应于数据集的七个标签,验证了模型在Cora的七个主题类中的区分能力。此外,我们还可视化了标准化注意系数的相对强度(所有8个注意头的平均值)。正确地解释这些系数(如Bahdanau等人(2015)所执行的)将需要对研究数据集的进一步领域知识,并留给未来的工作。

t-SNE

4总结

我们提出了图注意网络(GATs),这是一种新型的卷积式神经网络,利用掩蔽的自注意层对图形结构数据进行操作。图注意力层利用在这些网络是计算有效(不需要昂贵的矩阵操作,并可平行的所有节点图中),允许(隐式地)——将不同的重要性分配给不同的节点,在一个社区在处理不同大小的社区,不依赖于知道整个图结构前期与先前的spectralbased从而解决许多理论问题的方法。我们的模型利用注意力在四个成熟的节点分类基准上成功地实现了或匹配了最优的性能,包括转换性和归纳性(特别是使用完全不可见的图进行测试)。

图形注意网络有几个潜在的改进和扩展,可以作为未来的工作来处理,比如克服第2.2小节中描述的实际问题,以便能够处理更大的批处理大小。一个特别有趣的研究方向是利用注意机制对模型的可解释性进行深入分析。此外,从应用的角度来看,将该方法扩展到执行图分类而不是节点分类也是有意义的。最后,将模型扩展到包含边缘特性(可能表示节点之间的关系),这将允许我们处理更多的问题。

欢迎转载,但请标明文章原地址.同时在翻译的过程中也有很多问题,欢迎同学们一起学习讨论.

作者:笨码农慢慢飞
链接:https://www.jianshu.com/p/433ef6fbf03f
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

GRAPH ATTENTION NETWORKS 学习翻译相关推荐

  1. Dual Graph Attention Networks for Deep Latent Representation of Multifaceted Social...》论文学习笔记

    Dual Graph Attention Networks for Deep Latent Representation of Multifaceted Social Effects in Recom ...

  2. 论文笔记之:Graph Attention Networks

    Graph Attention Networks 2018-02-06  16:52:49 Abstract: 本文提出一种新颖的 graph attention networks (GATs), 可 ...

  3. 论文阅读ICLR2020《ADAPTIVE STRUCTURAL FINGERPRINTS FOR GRAPH ATTENTION NETWORKS》

    论文阅读ICLR2020<ADAPTIVE STRUCTURAL FINGERPRINTS FOR GRAPH ATTENTION NETWORKS> 摘要 确定节点相似性时图的结构 Ad ...

  4. 2019_WWW_Dual graph attention networks for deep latent representation of multifaceted social effect

    [论文阅读笔记]2019_WWW_Dual graph attention networks for deep latent representation of multifaceted social ...

  5. 图注意力网络——Graph attention networks (GAT)

    文章目录 摘要 引言 GAT结构 数据集与评估结果 未来改进方向 参考文献 摘要   图注意力网络,一种基于图结构数据的新型神经网络架构,利用隐藏的自我注意层来解决之前基于图卷积或其近似的方法的不足. ...

  6. 异构图神经网络(1)Heterogenous Graph Attention Networks

    Heterogenous Graph Attention Networks 这篇文章发表在WWW 2019会议上,主要是用了注意力机制来进行节点级别聚合和语义级别的聚合,从而提出了HAN模型. Mot ...

  7. 【ICLR 2018图神经网络论文解读】Graph Attention Networks (GAT) 图注意力模型

    论文题目:Graph Attention Networks 论文地址:https://arxiv.org/pdf/1710.10903.pdf 论文代码:https://github.com/Peta ...

  8. GCN论文笔记——HopGAT: Hop-aware Supervision Graph Attention Networks for Sparsely Labeled Graphs

    [论文笔记]HopGAT: Hop-aware Supervision Graph Attention Networks for Sparsely Labeled Graphs 作者:纪超杰,王如心等 ...

  9. 论文阅读和分析: “How Attentive are Graph Attention Networks?”

    下面所有博客是个人对EEG脑电的探索,项目代码是早期版本不完整,需要完整项目代码和资料请私聊. 数据集 1.脑电项目探索和实现(EEG) (上):研究数据集选取和介绍SEED 相关论文阅读分析: 1. ...

  10. MULTI-CHANNEL SPEECH ENHANCEMENT USING GRAPH NEURAL NETWORKS 文献翻译

    MULTI-CHANNEL SPEECH ENHANCEMENT USING GRAPH NEURAL NETWORKS 文献翻译 来自于脸书实验室的一篇文章,将图神经网络用在了多通道语音增强上面,思 ...

最新文章

  1. 机器学习笔记7-监督学习
  2. 机器学习、深度学习、强化学习课程超级大列表!
  3. PUSHA/PUSHAD POPA/POPAD 指令详解
  4. vue 时间插件_Vue3 插件开发详解尝鲜版「值得收藏」
  5. C++用Tarjan 算法寻找桥(附完整源码)
  6. 随手记一个漂亮的code
  7. windows找不到文件gpedit.msc_u盘插入电脑在windows却找不到u盘的解决办法【详解】...
  8. 使用cfssl生成证书时报json: cannot unmarshal object into Go value of type []csr.Name错误
  9. oracle 删除数据_Oracle海量数据表标准删除方案--分步分阶段大表删除
  10. 容器技术Docker K8s 31 容器服务ACK基础与进阶-弹性伸缩
  11. java 中文文件路径乱码 解决方法
  12. access 命令不符 等级考试_全国计算机等级考试二级笔试样卷Access数据库程序设计...
  13. android客户端同php服务端进行XML/JSON通信
  14. 按键精灵学习如何偷菜示例基本代码
  15. php必应壁纸 分辨率,必应壁纸php获取接口
  16. android 查看UID
  17. 如何定位在测试中遇到的Bug?
  18. 都说ScreenToGif是GIF录制神器,却不知其强大之处远不在此
  19. vuecli 实现导航切换
  20. 鼎新图书馆结束使用计算机时,新生导航•【学习篇】| 学霸从图书馆开始

热门文章

  1. 一个神奇的网站。。。
  2. 凸优化第四章凸优化问题 4.2 凸优化
  3. [AST实战]从零开始写一个wepy转VUE的工具
  4. 再也不学AJAX了!(一)AJAX概述
  5. 《Java技术》第四次作业
  6. CMS3.0——初次邂逅express
  7. HDU 2017 一系列统计数据
  8. 走进Linq-Linq to SQL感性认识篇
  9. 初识Memcache之安装与测试
  10. Docker for Windows(一)下载与安装