摘要:

我们提出一个图注意力网络,一个新的用来操作图结构数据的神经网络结构,它利用“蒙面”的自我注意力层来解决基于图卷积以及和它类似结构的短板。通过堆叠一些层,这些层的节点能够参与其邻居节点的特征,我们可以为该节点的不同邻居指定不同的权重,此过程不需要任何计算密集的矩阵操作(例如转置)或者事先预知图的结构。

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)图注意力网络的更多相关文章

  1. 论文解读(GATv2)《How Attentive are Graph Attention Networks?》

    论文信息 论文标题:How Attentive are Graph Attention Networks?论文作者:Shaked Brody, Uri Alon, Eran Yahav论文来源:202 ...

  2. 谣言检测(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 ...

  3. 论文笔记之:Graph Attention Networks

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

  4. GRAPH ATTENTION NETWORKS

    基本就是第一层concatenate,第二层不concatenate. 相关论文: Semi-Supervised Classification with Graph Convolutional Ne ...

  5. 论文解读(ChebyGIN)《Understanding Attention and Generalization in Graph Neural Networks》

    论文信息 论文标题:Understanding Attention and Generalization in Graph Neural Networks论文作者:Boris Knyazev, Gra ...

  6. 如何将tensorflow1.x代码改写为pytorch代码(以图注意力网络(GAT)为例)

    之前讲解了图注意力网络的官方tensorflow版的实现,由于自己更了解pytorch,所以打算将其改写为pytorch版本的. 对于图注意力网络还不了解的可以先去看看tensorflow版本的代码, ...

  7. 《Graph Attention Network》阅读笔记

    基本信息 论文题目:GRAPH ATTENTION NETWORKS 时间:2018 期刊:ICLR 主要动机 探讨图谱(Graph)作为输入的情况下如何用深度学习完成分类.预测等问题:通过堆叠这种层 ...

  8. 论文解读(FedGAT)《Federated Graph Attention Network for Rumor Detection》

    论文信息 论文标题:Federated Graph Attention Network for Rumor Detection论文作者:Huidong Wang, Chuanzheng Bai, Ji ...

  9. 论文笔记:(2019)GAPNet: Graph Attention based Point Neural Network for Exploiting Local Feature of Point Cloud

    目录 摘要 一.引言 二.相关工作 基于体素网格的特征学习 直接从非结构化点云中学习特征 从多视图模型中学习特征 几何深度学习的学习特征 三.GAPNet架构 3.1 GAPLayer 局部结构表示 ...

  10. 图解GNN:A Gentle Introduction to Graph Neural Networks

    1.图是什么? 本文给出得图的定义为:A graph represents the relations (edges) between a collection of entities (nodes) ...

随机推荐

  1. JS学习-常用的Web API

    web API web-api 分类 链接 描述 操作文档的API 操作document dom,html,svg 从服务器获取数据的API XMLHttpRequest XMLHttpRequest ...

  2. vue.js与webpack有什么关系?

    webpack是一个前端打包和构建工具.如果你之前一直是手写HTML,CSS,Javascript并且通过link标签将CSS引入你的HTML文件,以及通过Script标签的src属性引入外部的JS脚 ...

  3. NOIP2015 pj

    达成成就!--尝试不看题解的情况下用cpp打完了一套NOIP pj 题目全部在luogu上-- P2669 金币 题目描述 国王将金币作为工资,发放给忠诚的骑士.第一天,骑士收到一枚金币:之后两天(第 ...

  4. WEB攻击与防御技术 pikachu——关于暴力破解

    首先打开XAMPP 然后在网上下载pikachu平台压缩包 解压缩即可.之后进入到XAMPP的文件夹 将pikachu文件夹放到htdoces内就完成了pikachu平台的搭建~ 之后在xampp中点 ...

  5. 群晖Video Station不支持部分视频的解释

    网络上都是替换ffmpeg插件的做法,无非就是替换了3个文件,然后再对其中一个文件进行修改. 然而在DSM7.0.1+VS3.0.2中,这个方法根本无用,最好的结果是之前无法播放的视频播放起来转圈圈而 ...

  6. QT搭建Ffmpeg开发环境gcc版本

    1 先安装qt 解压ffmpeg包 2打开qt创建工程 3 导入头文件和库文件 这里一定要注意gcc版本和库的版本一定要一致 4 添加一下简单的源代码 1 #include <libavcode ...

  7. Gstreamer 随笔

    1. Gstreamer在Ubuntu上需要安装得全部库: gstreamer1.0-alsa - GStreamer plugin for ALSAgstreamer1.0-clutter-3.0  ...

  8. 第一个知识点:import 和 export

    //全部导入import people from './example' //有一种特殊情况,即允许你将整个模块当作单一对象进行导入//该模块的所有导出都会作为对象的属性存在import * as e ...

  9. mysql零基础-1

    数据库概述 为什么要使用数据库 持久化 DB:数据库 DBMS:数据库管理系统 SQL:结构化查询语言 数据库与数据库管理系统关系 数据库管理系统(DBMS)可以管理多个数据库,一般开发人员会针对每一 ...

  10. js-label

    js中的label就像一个对已有语句块的命名,函数有了函数名我们可以随时调用它,语句块有了语句名我们也可以随时调用它,将他运用到循环中可快速跳出 循环. var num = 0;for (var i ...