文章目录

  • 摘要
  • 引言
  • GAT结构
  • 数据集与评估结果
  • 未来改进方向
  • 参考文献

摘要

  图注意力网络,一种基于图结构数据的新型神经网络架构,利用隐藏的自我注意层来解决之前基于图卷积或其近似的方法的不足。通过堆叠层,节点能够参与到邻居的特征,可以(隐式地)为邻域中的不同节点指定不同的权值,而不需要任何代价高昂的矩阵操作(如反转),也不需要预先知道图的结构。通过这种方法,该模型克服了基于频谱的故神经网络的几个关键挑战,并使得模型适用于归纳和推理问题。在四个数据集上实现或匹配了最先进的结果(Cora, Citeseer, Pubmed citation network, protein-protein interaction dataset)。

引言

  注意力机制的几个有趣特性:

  1. 操作是高效的,因为它在节点间并行处理;
  2. 通过给邻居确定任意的权重,它可以被用于具有不同度的图节点
  3. 模型直接适用于归纳学习问题,包括模型必须推广到完全看不见的图的任务

  使用四个数据集对方法进行验证:Cora, Citeseer, Pubmed citation networks, protein-protein interaction。

GAT结构

  本节中,作者介绍了用于构建任意图注意力网络的构建块层,并直接概述其理论和实践的优点,以及与之前在神经图处理领域的工作相比的局限性。实验使用的特定的注意力设置紧密遵循Bahdanau et al.(2015)的工作,但是该框架对于特定注意力机制的选择是不可知的。

  • 层的输入:一组节点特征h={h⃗1,h⃗2,...,h⃗N,h⃗i∈RF}h=\{ \ \vec{h}_{1}, \vec{h}_{2}, ..., \vec{h}_{N}, \vec{h}_{i} \in \mathbb{R} ^{F} \}h={ h1​,h2​,...,hN​,hi​∈RF},其中NNN表示节点的数量,FFF是每个节点的特征数量。
  • 层的输出:一组新的节点特征(可能有着不同基数F′F'F′)h′={h′⃗1,h′⃗2,...,h′⃗N,h′⃗i∈RF′}h'=\{ \ \vec{h'}_{1}, \vec{h'}_{2}, ..., \vec{h'}_{N}, \vec{h'}_{i} \in \mathbb{R} ^{F'} \}h′={ h′1​,h′2​,...,h′N​,h′i​∈RF′}

  为了获得足够的表达能力将输入特征转化为更高层次的特征,至少需要一个可学习的线性变换。因此,作为第一步,被使用一个权重矩阵参数化的一个共享线性变换W∈RF′×FW \in \mathbb{R}^{F'\times F}W∈RF′×F被应用于每一个节点。然后对节点执行自注意力——一个共享的注意力机制,计算注意力系数。
eij=a(Wh⃗i,Wh⃗j)(1)e_{ij}=a(W\vec{h}_{i}, W\vec{h}_{j}) \tag{1}eij​=a(Whi​,Whj​)(1)
eije_{ij}eij​表示节点jjj的特征对节点iii的重要性。

  在最一般的形式中,模型允许每个节点参与其他节点的活动,删除了所有的结构信息。通过使用掩码注意力机制将图结构注入到机制中去,对节点计算eij,j∈Nie_{ij}, j\in \mathcal{N}_{i}eij​,j∈Ni​,Ni\mathcal{N}_{i}Ni​是图中节点iii的邻居。在文中的实验里,它是节点iii(包含iii)的一阶邻居。为了使系数在不同的节点之间容易比较,作者使用softmax函数对所有j选项进行归一化:
αij=softmaxj(eij)=exp(eij)∑k∈Niexp(eik)(2)\alpha_{ij}=softmax_{j}(e_{ij})=\frac{exp(e_{ij})}{\sum_{k\in\mathcal{N}_{i}}exp(e_{ik})} \tag{2}αij​=softmaxj​(eij​)=∑k∈Ni​​exp(eik​)exp(eij​)​(2)

  实验中,注意力机制aaa是一种单层前馈神经网络,由一个权重向量a⃗∈R2F′\vec{a} \in \mathbb{R}^{2F'}a∈R2F′参数化,并使用负斜率为0.2(即α=0.2\alpha=0.2α=0.2)的LeakyReLU非线性。完全展开后,注意力机制计算的系数可以表示为:
αij=exp(LeakyReLU(a⃗T[Wh⃗i∣∣Wh⃗j]))∑k∈Niexp(LeakyReLU(a⃗T[Wh⃗i∣∣Wh⃗j]))(3)\alpha_{ij}=\frac{ exp(LeakyReLU(\vec{a}^{T}[W\vec{h}_{i}||W\vec{h}_{j} ])) }{ \sum_{k\in\mathcal{N}_{i}}exp( LeakyReLU(\vec{a}^{T}[W\vec{h}_{i}||W\vec{h}_{j} ]) ) } \tag{3}αij​=∑k∈Ni​​exp(LeakyReLU(aT[Whi​∣∣Whj​]))exp(LeakyReLU(aT[Whi​∣∣Whj​]))​(3)
一旦得到归一化的注意力系数,那么它可以被用来计算与之对应的特征的线性组合,作为每个节点的最后输出特征。
h′⃗i=σ(∑j∈NiαijWh⃗j)(4)\vec{h'}_{i}=\sigma(\sum_{j\in\mathcal{N}_{i}}\alpha_{ij}W\vec{h}_{j}) \tag{4}h′i​=σ(j∈Ni​∑​αij​Whj​)(4)

  为了使自注意力的学习过程稳定,作者发现使用多头注意力对机制是有益的。使用K个独立的注意力机制执行如式(4)的转换,然后它们的特征被连接得到如下输出的特征表示。
h′⃗i=∣∣k=1Kσ(∑j∈NiαijkWkh⃗j)(5)\vec{h'}_{i}=||^{K}_{k=1}\sigma (\sum_{j\in\mathcal{N}_{i}}\alpha^{k}_{ij}W^{k}\vec{h}_{j}) \tag{5}h′i​=∣∣k=1K​σ(j∈Ni​∑​αijk​Wkhj​)(5)
其中,∣∣||∣∣表示拼接操作,αijk\alpha^{k}_{ij}αijk​表示第k个注意力机制计算得到的归一化注意力系数,WkW^{k}Wk是相应输入线性变换的权重矩阵。

  特别地,如果在网络的最后一层(预测层)上执行多头注意力,连接就不再有意义了。因此,作者使用了平均,并延迟作用于最后的非线性。
h′⃗i=σ(1K∑k=1K∑j∈NiαijkWkh⃗j)(6)\vec{h'}_{i}=\sigma(\frac{1}{K}\sum_{k=1}^{K}\sum_{j\in\mathcal{N}_{i}}\alpha^{k}_{ij}W^{k}\vec{h}_{j}) \tag{6}h′i​=σ(K1​k=1∑K​j∈Ni​∑​αijk​Wkhj​)(6)

  GAT的注意力机制和多头注意力如下面论文中:

  图注意层解决了先前使用神经网络对图结构数据建模方法中存在的几个问题:

  1. 计算高效:自注意力层的操作可以在所有边之间并行进行,同时所有节点的输出特征的计算也可以并行。不需要特征分解以及类似代价较高的矩阵操作。一个单GAT注意力头计算F‘F‘F‘特征的时间复杂度可以表示为O(∣V∣FF′+∣E∣F′)O(|V|FF'+|E|F')O(∣V∣FF′+∣E∣F′)。该复杂度与如图卷积网络等的基线方法相当。应用多头注意力将使存储和参数需求增加K倍,而独立的注意力头的计算是完全独立的,可以并行化。
  2. 与GCNs相反,GAT模型允许(隐式地)将不同的重要性分配给同一邻居的节点,从而实现了模型容量的提升。此外,分析学习到的注意权重可能会带来可解释性方面的好处。
  3. 注意机制以共享的方式应用于图中的所有边,因此它不依赖于对全局图结构或其所有节点(特性)的预先访问(许多先前技术的限制)。这有几个可取的意义:
    a. 图不需要是无向的(可以保留)。
    b. 它使所提技术可以直接用于归纳学习——包括在训练过程中完全看不见的图上评估模型的任务。
  4. Hamilton等人(2017)最近发表的归纳方法对每个节点的固定大小的邻域进行采样,以保持其计算足迹的一致性;这不允许它在执行推断时访问整个邻域。此外,当使用基于LSTM (Hochreiter & Schmidhuber, 1997)的邻域聚合器时,该技术取得了一些最强大的结果。这假设邻域间存在一个一致的连续节点排序,作者通过不断地向LSTM提供随机排序的序列来纠正它。而GAT的技术不会受到这两个问题的影响,它处理整个邻域(以牺牲可变的计算空间为代价,这仍然与GCN等方法相当),并且不假设其中有任何顺序。
  5. GAT可以重新表述为一个MoNet(Monti et al., 2016)的特殊实例,更具体的来说,设置伪坐标函数为u(x,y)=f(x)∣∣f(y)u(x,y)=f(x)||f(y)u(x,y)=f(x)∣∣f(y),f(x)f(x)f(x)代表节点xxx的特征,∣∣||∣∣代表拼接操作,并且让权重函数为wj(u)=softmax(MLP(u))w_{j}(u)=softmax(MLP(u))wj​(u)=softmax(MLP(u))(在一个节点的所有邻域上执行Softmax)会使得MoNet的patch算子与GAT相似。不过有一点需要注意,与之前考虑的MoNet实例相比,GAT模型使用节点特征进行相似性计算,而不是节点的结构属性(这将假设预先知道图结构)。

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

数据集与评估结果



未来改进方向

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

参考文献

[1] Veličković P, Cucurull G, Casanova A, et al. Graph attention networks[J]. arXiv preprint arXiv:1710.10903, 2017.
[2] Bahdanau D, Cho K, Bengio Y. Neural machine translation by jointly learning to align and translate[J]. arXiv preprint arXiv:1409.0473, 2014.
[3] Federico Monti, Davide Boscaini, Jonathan Masci, Emanuele Rodol`a, Jan Svoboda, and Michael M Bronstein. Geometric deep learning on graphs and manifolds using mixture model cnns. arXiv preprint arXiv:1611.08402, 2016.
[4] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 770–778, 2016.

图注意力网络——Graph attention networks (GAT)相关推荐

  1. 图注意力网络(Graph Attention Network, GAT) 模型解读与代码实现(tensorflow2.0)

    前面的文章,我们讲解了图神经网络三剑客GCN.GraphSAGE.GAT中的两个: 图卷积神经网络(GCN)理解与tensorflow2.0代码实现 GraphSAGE 模型解读与tensorflow ...

  2. DeepLearning | 图注意力网络Graph Attention Network(GAT)论文、模型、代码解析

    本篇博客是对论文 Velikovi, Petar, Cucurull, Guillem, Casanova, Arantxa,et al. Graph Attention Networks, 2018 ...

  3. 图卷积网络(Graph Convolutional Networks, GCN)详细介绍

    本文翻译自博客. 在这篇博文中会为大家详细地介绍目前使用广泛的图神经网络--图卷积网络(Graph Convolutional Networks, GCN)的相关知识.首先将带领大家直觉上感受其工作原 ...

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

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

  5. 图网络 | Graph Attention Networks | ICLR 2018 | 代码讲解

    [前言]:之前断断续续看了很多图网络.图卷积网络的讲解和视频.现在对于图网络的理解已经不能单从文字信息中加深了,所以我们要来看代码部分.现在开始看第一篇图网络的论文和代码,来正式进入图网络的科研领域. ...

  6. 【GCN】图卷积网络 Graph Convolutional Networks

    公众号关注 "视学算法" 设为 "星标",DLCV消息即可送达! 作者 | Frank Cao 专栏 | 深度学习 地址 | https://zhuanlan. ...

  7. 图神经网络 | (8)图注意力网络(GAT)

    本篇博客要介绍的是图注意力网络(Graph Attention Networks,GAT),它通过注意力机制(Attention Mechanism)来对邻居节点做聚合操作,实现对不同邻居权重的自适应 ...

  8. 论文阅读_图注意力网络

    介绍 英文题目:GRAPH ATTENTION NETWORKS 中文题目:图注意力网络 论文地址:https://export.arxiv.org/pdf/1710.10903.pdf 领域:知识图 ...

  9. 【图结构】之图注意力网络GAT详解

    作者:張張張張 github地址:https://github.com/zhanghekai [转载请注明出处,谢谢!] GATGATGAT源代码地址:https://github.com/Petar ...

最新文章

  1. 基准分类模型、分类应用(多分类数字识别、疾病预测、欺诈检测)、监督学习总结
  2. CKEditor的安装与基本使用
  3. linux下mysql root密码忘记修改方法
  4. python socketpool:通用连接池
  5. 有关 AI 人才的 6 个真相
  6. 自定义jstl标签库
  7. python 文本相似度计算函数_四种计算文本相似度的方法对比
  8. 璀璨智行:V2X车路协同智慧交通
  9. PADS 默认过孔太大,过孔提前设置
  10. 将数据加载到datagridview_JVM系列(一)-- Java类的加载机制
  11. 时序图数仓AbutionGraph在公安金融场景的应用
  12. 小白如何入门计算机编程?
  13. Markdown语法图文全面详解(10分钟学会)
  14. JAVA 获取mac地址
  15. 【RFC2818 基于 TLS 的 HTTP】(翻译)
  16. MemSQL:号称世界上最快的内存-关系型数据库 兼容MySQL但快30倍
  17. 物体检测及分类方法总结
  18. Java设计模式—模板模式(Template)
  19. Suse12离线安装docker
  20. Minecraft 1.16 简易高效的自动钓鱼脚本

热门文章

  1. JS逆向——破解百度翻译参数(sign)爬虫 超级详细
  2. 如何把视频mp4转换mp3音乐
  3. 岁月的剪影【七月My way】
  4. IT项目管理个人总结
  5. [再寄小读者之数学篇](2014-06-21 向量公式)
  6. android Stopwatch实例
  7. CSS/JS 实现滑动页面,到一定位置,position 定位设置为fixed,否则用absolute;
  8. springboot引入rabbit mq
  9. Paint画笔及Color
  10. vulfocus复现:Log4j2远程命令执行2