摘要:

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

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. 【音视频】Qt中引入FFmpeg

    音视频有关的部分都是使用标准C++的,只有界面的部分才会使用Qt的内容.这样也是为了方便以后移植到其他系统上. 音视频开发中最常做的就是编解码的操作.以H.264为例:如果想要自己实现编码h.264, ...

  2. Java基础——(综合练习)生成5位验证码

    package com.zhao.test; import java.util.Random; public class Test16 { /*需求: 定义方法实现随机产生一个5位的验证码 验证码格式 ...

  3. 049_Search Lookup (二)

    其实就是 在父object中 设置,search setting 中选中 enhanced lookup, and select the dialoge & Filter  默认looukp搜 ...

  4. python中,元组,列表,字典,字符串的相互转换

    #author:RXS002 #1.字典 dict = {'name':'Zara','age':7,'class':'First'} #字典转换为字符串,返回:<type 'str'> ...

  5. Study python_04

    数组 a = [1,2,3] print(a) 数组替换 a = [1,2,3] a[0] = 100 print(a) 数组去重复 def delete_chong(): a = [1,1,2,2, ...

  6. 问题:配置apache的相关配置文件报错:Invalid command 'Order' (已解决)

    1. 问题描述 在虚拟文件httpd-vhosts.conf里面,directory里加入Order allow,deny,重启apache,出现Invalid command 'Order', pe ...

  7. SQLServer遇到的问题解决方案(6月9日)

    一.判定两个浮点数数值是否相等 对比数据类型为浮点数的数据时,因为浮点数精度问题,当判断两个数值是否相等时往往会出现错误的结果,如下图: 解决方案:一个比较好的解决方案是设定一个精度,通过判定两个值差 ...

  8. ssh scp 相关

    1. 设置ssh 的免密登录 1> 将 ~/.ssh/id_rsa.pub文件中的内容拷贝到 远程host的 ~/.ssh/authorized_keys文件中 2> ssh-copy-i ...

  9. 平方损失函数为例的BP的关键公式推导

    看了刘建平老师的博客https://www.cnblogs.com/pinard/p/6422831.html对如下其中两个公式进行详细推导 损失函数为(大写字母为矩阵,小写字母字母加粗为列向量,其中 ...

  10. 入库大文件csv文件

    LOAD DATA LOCAL INFILE 'D:\\ss\\chongzhi\\T_RORD.csv' INTO TABLE cz_T_RECHARGE_SET_RECORDFIELDS TERM ...