图注意力网络GRAPH ATTENTION NETWORKS(gat)浅读
论文结构
- 摘要
- GAT结构
- 图注意层结构
摘要
我们提出了图注意力网络(GAT),是在图结构化数据上运行的新型神经网络体系结构,利用蒙版的自我注意层来解决基于图卷积或其近似的现有方法的缺点。通过堆叠节点能够参与其邻域特征的图层,我们(隐式)启用了对邻域中不同节点的不同权重的指定,而无需进行任何昂贵的矩阵运算(如反演)或依赖于了解图前期结构。通过这种方式,我们可以同时解决基于频谱的图神经网络的几个关键挑战,并使我们的模型易于适用于归纳和传导问题。我们的GAT模型已在四个已建立的转导图和归纳图基准测试中达到或匹配了最新技术成果:Cora,Citeseer和Pubmed引用网络数据集,以及蛋白质-蛋白质相互作用数据集(其中在训练期间看不见测试图)。
GAT结构
本节介绍了一种通过层叠(stacking)方式可以用于构建任意图注意力网络的层块(block layer),并且描述了它和之前的图处理在理论和实际应用的优点以及限制。
图注意层结构
一个图注意层的输入是一组结点的特征值,即h={h⃗1,h⃗2,...,h⃗N},h⃗i∈RF\mathbf{h}=\{\vec{h}_1,\vec{h}_2,...,\vec{h}_N\},\vec{h}_i\in\mathbb{R}^Fh={h1,h2,...,hN},hi∈RF,其中NNN为结点的个数,FFF是结点特征的个数。
一个图注意层的输出是其产生的一组新的结点特征值,即h′={h⃗1′,h⃗2′,...,h⃗N′},h⃗i′∈RF′\mathbf{h}^\prime=\{\vec{h}^\prime_1,\vec{h}^\prime_2,...,\vec{h}^\prime_N\},\vec{h}^\prime_i\in\mathbb{R}^{F^\prime}h′={h1′,h2′,...,hN′},hi′∈RF′,其中F′F^\primeF′通常比FFF更大。
为了得到充足的信息以将输入特征转化为高维特征,则至少需要一个可学习的线性变换。所以一个共享的权重矩阵W∈RF′×FW\in\mathbb{R}^{F^\prime\times F}W∈RF′×F将作用于每个结点,即Wh⃗iW\vec{h}_iWhi。然后对所有结点使用一个共享的注意力机制aaa来计算两两结点间的注意力系数,即eije_{ij}eij
eij=a(Wh⃗i,Wh⃗j)e_{ij}=a(W\vec{h}_i,W\vec{h}_j)eij=a(Whi,Whj)
以上公式描述了结点jjj的特征对结点iii的重要性。
在大多数的形式中,模型允许每个结点对其他所有结点计算注意力系数,借此得到所有结构化的信息。
在本论文中,我们只使用结点iii的第一层邻接结点(包括结点iii)记为Ni\mathcal{N}_iNi来计算eije_{ij}eij,并且为了便于不同结点之间的比较,需要用softmax函数对所有eije_{ij}eij进行归一化,如下所示:
αij=softmaxj(eij)=exp(eij)∑k∈Niexp(eik)\alpha_{ij}=softmax_j(e_{ij})=\frac{exp(e_{ij})}{\sum_{k\in\mathcal{N}_i}exp(e_{ik})}αij=softmaxj(eij)=∑k∈Niexp(eik)exp(eij)
在本次实验中,我们将aaa设置为一个单层的神经网络,其内部的权重参数为a⃗∈R2F′\vec{a}\in \mathbb{R}^{2F\prime}a∈R2F′,并且使用α=0.2\alpha=0.2α=0.2的LeakyRelu作为激活函数,将以上式子全部带入后,得到注意力系数αij\alpha_{ij}αij的过程如下公式所示:
αij=exp(LeakyRelu(a⃗T[Wh⃗i∣∣Wh⃗j]))∑k∈Niexp(LeakyRelu(a⃗T[Wh⃗i∣∣Wh⃗j]))\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]))}αij=∑k∈Niexp(LeakyRelu(aT[Whi∣∣Whj]))exp(LeakyRelu(aT[Whi∣∣Whj]))
其中.T.^T.T表示转置,∣∣||∣∣表示级联操作。
图1:左图表示a(Wh⃗i′,Wh⃗j′)a(W\vec{h}_i^\prime,W\vec{h}_j^\prime)a(Whi′,Whj′)的过程,右图表示多端注意机制(K=3)时结点1的新特征值向量h⃗1′\vec{h}_1^\primeh1′计算过程。不同颜色的线条表示独立的注意力计算,最后的输出h⃗1′\vec{h}_1^\primeh1′可以由级联或者平均三个计算结果得到。
得到所有的注意力系数之后,h⃗i′\vec{h}_i^\primehi′就能计算了:
hi′⃗=σ(∑j∈NiαijWh⃗j).\vec{h_i^\prime}=\sigma(\sum_{j\in\mathcal{N}_i}\alpha_{ij}W\vec{h}_j).hi′=σ(j∈Ni∑αijWhj).
其中σ\sigmaσ是一个非线性函数。
不过为了学习过程和结果的稳定性,论文使用了三个(k=3)独立的注意力机制对每一个结点求以上公式的结果,然后将所有结果平均起来得到最终的h⃗i′\vec{h}_i^\primehi′,即如下公式:
我目前对此论文的认知就是这个网络只是将一个图结构中每个结点h⃗i\vec{h}_ihi的特征向量转化为更高维且更具有代表性的新向量h⃗i′\vec{h}_i^\primehi′。
即得到结点的新表示。
基于图的推荐系统以项目和用户为节点。通过利用项目与项目、用户与用户、用户与项目之间的关系以及内容信息,基于图的推荐系统能够生成高质量的推荐。推荐系统的关键是评价一个项目对用户的重要性。因此,可以将其转换为一个链路预测问题。目标是预测用户和项目之间丢失的链接。为了解决这个问题,有学者提出了一种基于GCN的图形自动编码器。还有学者结合GCN和RNN,来学习用户对项目评分的隐藏步骤。
图注意力网络GRAPH ATTENTION NETWORKS(gat)浅读相关推荐
- 图注意力网络——Graph attention networks (GAT)
文章目录 摘要 引言 GAT结构 数据集与评估结果 未来改进方向 参考文献 摘要 图注意力网络,一种基于图结构数据的新型神经网络架构,利用隐藏的自我注意层来解决之前基于图卷积或其近似的方法的不足. ...
- 图注意力网络(Graph Attention Network, GAT) 模型解读与代码实现(tensorflow2.0)
前面的文章,我们讲解了图神经网络三剑客GCN.GraphSAGE.GAT中的两个: 图卷积神经网络(GCN)理解与tensorflow2.0代码实现 GraphSAGE 模型解读与tensorflow ...
- DeepLearning | 图注意力网络Graph Attention Network(GAT)论文、模型、代码解析
本篇博客是对论文 Velikovi, Petar, Cucurull, Guillem, Casanova, Arantxa,et al. Graph Attention Networks, 2018 ...
- 图卷积网络(Graph Convolutional Networks, GCN)详细介绍
本文翻译自博客. 在这篇博文中会为大家详细地介绍目前使用广泛的图神经网络--图卷积网络(Graph Convolutional Networks, GCN)的相关知识.首先将带领大家直觉上感受其工作原 ...
- 【ICLR 2018图神经网络论文解读】Graph Attention Networks (GAT) 图注意力模型
论文题目:Graph Attention Networks 论文地址:https://arxiv.org/pdf/1710.10903.pdf 论文代码:https://github.com/Peta ...
- 图网络 | Graph Attention Networks | ICLR 2018 | 代码讲解
[前言]:之前断断续续看了很多图网络.图卷积网络的讲解和视频.现在对于图网络的理解已经不能单从文字信息中加深了,所以我们要来看代码部分.现在开始看第一篇图网络的论文和代码,来正式进入图网络的科研领域. ...
- 【GCN】图卷积网络 Graph Convolutional Networks
公众号关注 "视学算法" 设为 "星标",DLCV消息即可送达! 作者 | Frank Cao 专栏 | 深度学习 地址 | https://zhuanlan. ...
- 图神经网络 | (8)图注意力网络(GAT)
本篇博客要介绍的是图注意力网络(Graph Attention Networks,GAT),它通过注意力机制(Attention Mechanism)来对邻居节点做聚合操作,实现对不同邻居权重的自适应 ...
- 论文阅读_图注意力网络
介绍 英文题目:GRAPH ATTENTION NETWORKS 中文题目:图注意力网络 论文地址:https://export.arxiv.org/pdf/1710.10903.pdf 领域:知识图 ...
- 【图结构】之图注意力网络GAT详解
作者:張張張張 github地址:https://github.com/zhanghekai [转载请注明出处,谢谢!] GATGATGAT源代码地址:https://github.com/Petar ...
最新文章
- MySQL高性能优化实战总结!
- 如何在window下杀死进程?
- LSTM 和 GRU
- 2019 ICPC 南京 F. Paper Grading(字典树dfs序上树套树)
- ubuntu shortcuts
- busybox的使用
- 【HTML/JS】百度地图javascriptAPI点击地图得到坐标(拾取坐标) 标签: 百度地图坐标
- ros运行cpp文件
- 电商收付通系列⑤,商户进件之二级商户进件申请
- 商场会员管理系统c语言,商场收银系统(C语言).doc
- TM7705(AD7705)驱动调试总结-基于stm32f103zet6-填坑日记
- 解决接收 ACTION_PACKAGE_REPLACED 的广播会另外接收到 REMOVED 和 ADDED 的问题
- 【Android】【TP】TP开发常见问题分析
- pcb布局设计_PCB设计布局的重要提示
- 充满正能量阳光活的生日祝福语
- kafka的Broker(五)
- maven开发web项目
- vue项目获取下拉框选中id_vue获取下拉框值
- 结构光三维重建基本原理
- Keras学习| ImageDataGenerator的参数