GRAPH ATTENTION NETWORKS(GAT)图注意力网络

摘要:
我们提出一个图注意力网络,一个新的用来操作图结构数据的神经网络结构,它利用“蒙面”的自我注意力层来解决基于图卷积以及和它类似结构的短板。通过堆叠一些层,这些层的节点能够参与其邻居节点的特征,我们可以为该节点的不同邻居指定不同的权重,此过程不需要任何计算密集的矩阵操作(例如转置)或者事先预知图的结构。
1.INTRODUCTION
CNN已经成功的营造用在解决图像分类,语义分割,机器学习方面的问题,这些方面的潜在数据表示都是类表格结构
然而,很多有趣的任务涉及的数据结构不能被表示为类表格结构并且分布在一个非常规的空间,像社交网络。这样的数据结构可以被表示为图结构
在文献中有过扩展神经网络来处理任意形状图的几次尝试。早期工作使用递归神经网络用有向无环图来处理图领域的数据表示。Gori和Scarselli等人提出图神经网络(GNN)作为一种递归神经网络(RNN)的泛化,GNN能够直接处理更多种类的图,例如有环图,有向图,无向图。
作者通过与之前一些研究的对比提出:之前在一个特定图结构上的模型不能够直接应用在另外一个不同结构的图上。于是,作者介绍了注意力机制。注意力机制的最大的特点是:它允许不同大小的输入,集中在众多输入中最相关的部分并用此来做决定。当一个注意力机制使用在计算单一序列的节点表示时,它通常指的时自我注意力机制。自我注意力机制被证明在处理机器学习,语句表示学习方面是有效的。
通过对之前研究的了解,作者提出基于注意力机制结构用来给图结构的数据进行节点分类的方法。这个方法使用自我注意力机制通过该节点的邻居节点计算该节点的隐藏表示。这种注意力架构有几种特点:(1)这种操作是有效的,因为它并行计算邻居节点对(2)通过给邻居节点指定任意的权重,来应用在拥有不同度的节点的图上。(3)该模型可以直接应用在推理学习问题上,包括一些任务其模型不得不生成完全不可见的图。作者验证该方法在四个基准线上:Cora,Citeseer,Pubmed citation networks,inductiv protein-protein interaction dataset,并达到了目前最高水平。
2.GAT ARCHITECTURE
2.1GRAPH ATTENTIONAL LAYER
我们以单个图注意力层为例开始,因为单层贯穿于我们实验所用的GAT架构。
我们该层的输入是a set of node features,
N代表节点数目,F为每个节点的特征数。该层产生a new set of node features
作为输出。
为了去获得足够的把输入的特征转化为更高层次的特征的表现力,至少需要一个可学习的线性转换。为此目的,作为一个初始化步骤,一个共享的参数为一个权重矩阵
的线性转换应用在每个节点上。然后我们在节点上使用自我注意地机制,一个共享的注意力机制a,以此用来计算注意力因子
上面的公式表示节点 j 的特征对于节点 i 的重要性。在其最通用的表述中,j 将是 i 的第一阶邻居。为了使不同节点的因子容易比较,我们使用柔性最大值函数均一化(1)式
在我们的实验中,注意力机制 a 是一个单层的前馈神经网络,参数为权重向量 a,使用LeakyReLU非线性化(使用负斜率
)。完全扩展后,由图1左图描述的注意力机制所计算的因子表述为:
||意为一些列相关操作
一旦获得均一化的注意力因子,它将用来计算与之相关的特征的线性组合,结果作为每个节点的最终输出。如(4)

为了稳定自我注意力机制的学习过程,我们已经发现扩展我们的机制,使用多头注意力机制有显著效果,和Vaswani等人2017年的做法相似。特别的,K个独立的注意力机制用来执行公式(4),并且他们的特征是相关的,结果如右图的输出特征表达式:
特别的,如果我们使用多头注意力机制在神经网络的最后一层上,相关操作不再是机制的,我们使用平均值,并且延迟使用最后的非线性化(对于分类问题使用一个柔性最大值或者逻辑sigmoid函数)

GRAPH ATTENTION NETWORKS(GAT)图注意力网络的更多相关文章
- 论文解读(GATv2)《How Attentive are Graph Attention Networks?》
论文信息 论文标题:How Attentive are Graph Attention Networks?论文作者:Shaked Brody, Uri Alon, Eran Yahav论文来源:202 ...
- 谣言检测(ClaHi-GAT)《Rumor Detection on Twitter with Claim-Guided Hierarchical Graph Attention Networks》
论文信息 论文标题:Rumor Detection on Twitter with Claim-Guided Hierarchical Graph Attention Networks论文作者:Erx ...
- 论文笔记之:Graph Attention Networks
Graph Attention Networks 2018-02-06 16:52:49 Abstract: 本文提出一种新颖的 graph attention networks (GATs), 可 ...
- GRAPH ATTENTION NETWORKS
基本就是第一层concatenate,第二层不concatenate. 相关论文: Semi-Supervised Classification with Graph Convolutional Ne ...
- 论文解读(ChebyGIN)《Understanding Attention and Generalization in Graph Neural Networks》
论文信息 论文标题:Understanding Attention and Generalization in Graph Neural Networks论文作者:Boris Knyazev, Gra ...
- 如何将tensorflow1.x代码改写为pytorch代码(以图注意力网络(GAT)为例)
之前讲解了图注意力网络的官方tensorflow版的实现,由于自己更了解pytorch,所以打算将其改写为pytorch版本的. 对于图注意力网络还不了解的可以先去看看tensorflow版本的代码, ...
- 《Graph Attention Network》阅读笔记
基本信息 论文题目:GRAPH ATTENTION NETWORKS 时间:2018 期刊:ICLR 主要动机 探讨图谱(Graph)作为输入的情况下如何用深度学习完成分类.预测等问题:通过堆叠这种层 ...
- 论文解读(FedGAT)《Federated Graph Attention Network for Rumor Detection》
论文信息 论文标题:Federated Graph Attention Network for Rumor Detection论文作者:Huidong Wang, Chuanzheng Bai, Ji ...
- 论文笔记:(2019)GAPNet: Graph Attention based Point Neural Network for Exploiting Local Feature of Point Cloud
目录 摘要 一.引言 二.相关工作 基于体素网格的特征学习 直接从非结构化点云中学习特征 从多视图模型中学习特征 几何深度学习的学习特征 三.GAPNet架构 3.1 GAPLayer 局部结构表示 ...
- 图解GNN:A Gentle Introduction to Graph Neural Networks
1.图是什么? 本文给出得图的定义为:A graph represents the relations (edges) between a collection of entities (nodes) ...
随机推荐
- MFC编辑框字符显示时无法换行的问题解决
字符串结尾加上"\r\n": 编辑框属性设置:Auto HScroll为False,Multiline为True,Want Return为True.
- Byte流的压缩小技巧
使用Lz4: public class Lz4Tool { public static byte[] CompressBytes(byte[] bytes) { return LZ4Codec.Wra ...
- nodejs redis执行lua脚本
const Redis = require("ioredis"); const redis = new Redis({ port: 6300, // Redis port host ...
- python编程中的if __name__ == 'main': 的作用
python的文件有两种使用的方法,第一是直接作为脚本执行,第二是import到其他的python脚本中被调用(模块重用)执行. 因此if __name__ == 'main': 的作用就是控制这两种 ...
- 数据结构(C语言)_链表
//单链表按序号查找节点的值 LNode* GetElem(LinkList L, int i) { int j = 1; LNode* p = L->next; if (i == 0) ret ...
- WEB攻击与防御技术 pikachu——文件包含下载上传漏洞
文件包含漏洞 一.LOCAL 上来就是一个选择,当我们选择一个球员的时候,如图所示,url会提交一个get请求 如果这个服务器架设在linux上我们就可以一直../../../../../到根目录然后 ...
- windows系统PC设置多ip
1. 打开 "[打开网络和共享中心]" 2 "更改适配器设置" 3."[本地连接]"-- "[属性]" 4.打开 [ ...
- Myeclipse导入项目提示已存在(Some projects cannot be imported because they already exist in the workspace)
原因:在项目空间的文件夹中没有删除干净之前的项目,之前的项目和要导入的项目的名字相同,所以导致无法将项目导入.需要在项目空间中将有关的旧文件都清理干净. 1.将项目空间文件夹中的项目删除. 2.到:\ ...
- a标签做锚点定位,有部分内容被置顶头部遮挡的解决方法
被遮挡的元素添加如下样式: /**这里假定头部高度是100px*/ position: relative;top: 100px;/**关键样式如下,我这里上面有加定位,如果没用定位,下面的数值需根据实 ...
- openSuse Tumbleweed 安装钉钉
办公软件钉钉提供了 Linux 版本,但是只有deb安装包. https://page.dingtalk.com/wow/z/dingtalk/default/dddownload-index ope ...