Graph Attention Networks

2018-02-06  16:52:49

Abstract

  本文提出一种新颖的 graph attention networks (GATs), 可以处理 graph 结构的数据,利用 masked self-attentional layers 来解决基于 graph convolutions 以及他们的预测 的前人方法(prior methods)的不足。

  对象:graph-structured data.

  方法:masked self-attentional layers.

  目标:to address the shortcomings of prior methods based on graph convolutions or their approximations.

  具体方法:By stacking layers in which nodes are able to attend over their neghborhood's feature. We enables specifying different weights to different nodes in a neighborhood, without requiring any kinds of costly matrix operation or depending on knowing the graph structure upfront.

  

Introduction

  Background:CNN 已经被广泛的应用于各种 grid 结构的数据当中,各种 task 都取得了不错的效果,如:物体检测,语义分割,机器翻译等等。但是,有些数据结构,不是这种 grid-like structure 的,如:3D meshes, social networks, telecommunication networks, biological networks, brain connection。

  

  已经有多个尝试将 RNN 和 graph 结构的东西结合起来,来进行表示。

  目前,将 convolution 应用到 the graph domain,常见的有两种做法:

  1. spectral approaches 

  2. non-spectral approaches (spatial based methods)

  文章对这两种方法进行了简要的介绍,回顾了一些最近的相关工作。

  

  然后就提到了 Attention Mechanisms,这种思路已经被广泛的应用于各种场景中。其中一个优势就是:they allow for dealing with variable sized inputs, focusing on the most relvant parts of the input to make decisions。当 attention 被用来计算 single sequence 的表示时,通常被称为:self-attention or intra-attention。将这种方法和 CNN/RNN 结合在一起,就可以得到非常好的结果了。

  受到最新工作的启发,我们提出了 attention-based architecture 来执行 node classification of graph-structured data。This idea is to compute the hidden representations of each node in the graph, by attending over its neighbors, following a self-attention stategy。这个注意力机制有如下几个有趣的性质:

  1. 操作是非常有效的。

  2. 可应用到有不同度的 graph nodes,通过给其紧邻指定不同的权重;

  3. 这个模型可以直接应用到 inductive learning problems, including tasks where the model has to generalize to completely unseen graphs.

  

  Our approach of sharing a neural network computation across edges is reminiscent of the formulation of relational networks (Santoro et al., 2017), wherein relations between objects (regional features from an image extracted by a convolutional neural network) are aggregated across all object pairs, by employing a shared mechanism.   

  作者在三个数据集上进行了实验,达到顶尖的效果,表明了 attention-based models 在处理任意结构的 graph 的潜力。

GAT Architecture :

1. Graph Attentional Layer 

  本文所提出 attentional layer 的输入是 一组节点特征(a set of node features), 其中,N 是节点的个数,F 是每个节点的特征数。该层产生一组新的节点特征,作为其输出,即:

  为了得到充分表达能力,将输入特征转换为高层特征,至少我们需要一个可学习的线性转换(one learnable linear transformation)。为了达到该目标,作为初始步骤,一个共享的线性转换,参数化为  weight matrix,W,应用到每一个节点上。我们然后在每一个节点上,进行 self-attention --- a shared attentional mechanism a:计算 attention coefficients 

  

  表明 node j's feature 对 node i 的重要性。最 general 的形式,该模型允许 every node to attend on every other node, dropping all structural information. 我们将这种 graph structure 通过执行 masked attention 来注射到该机制当中 ---  我们仅仅对 nodes $j$ 计算 $e_{ij}$,其中,graph 中节点 i 的一些近邻,记为:$N_{i}$。在我们的实验当中,这就是 the first-order neighbors of $i$。

  

  为了使得系数简单的适应不同的节点,我们用 softmax function 对所有的 j 进行归一化:

  

  在我们的实验当中,该 attention 机制 a  是一个 single-layer feedforward neural network,参数化为 权重向量 。全部展开,用 attention 机制算出来的系数,可以表达为:

  

  其中,$*^T$ 代表 转置,|| 代表 concatenation operation。

  

  一旦得到了,该归一化的 attention 系数可以用来计算对应特征的线性加权,可以得到最终的每个节点的输出向量:

  

  为了稳定 self-attention 的学习过程,我们发现将我们的机制拓展到 multi-head attention 是有好处的,类似于:Attention is all you need. 特别的,K 个独立的 attention 机制执行公式(4)的转换,然后将其特征进行组合,得到下面的特征输出:

  

  

  特别的,如果我们执行在 network 的最后输出层执行该 multi-head attention,concatenation 就不再是必须的了,相反的,我们采用 averaging,推迟执行最终非线性,

  

  

  所提出 attention 加权机制的示意图,如下所示:

  


  

论文笔记之:Graph Attention Networks的更多相关文章

  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. 论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning

    论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning  2017-06-06  21: ...

  4. GRAPH ATTENTION NETWORKS

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

  5. 论文阅读 Streaming Graph Neural Networks

    3 Streaming Graph Neural Networks link:https://dl.acm.org/doi/10.1145/3397271.3401092 Abstract 本文提出了 ...

  6. 论文笔记:Diffusion-Convolutional Neural Networks (传播-卷积神经网络)

    Diffusion-Convolutional Neural Networks (传播-卷积神经网络)2018-04-09 21:59:02 1. Abstract: 我们提出传播-卷积神经网络(DC ...

  7. 论文笔记(1)-Dropout-Improving neural networks by preventing co-adaptation of feature detectors

    Improving neural networks by preventing co-adaptation of feature detectors 是Hinton在2012年6月份发表的,从这篇文章 ...

  8. 论文笔记之:Attention For Fine-Grained Categorization

    Attention For Fine-Grained Categorization Google ICLR 2015 本文说是将Ba et al. 的基于RNN 的attention model 拓展 ...

  9. 【论文笔记】Progressive Neural Networks 渐进式神经网络

    Progressive NN Progressive NN是第一篇我看到的deepmind做这个问题的.思路就是说我不能忘记第一个任务的网络,同时又能使用第一个任务的网络来做第二个任务. 为了不忘记之 ...

随机推荐

  1. poj1741 树上的分治

    题意是说给了n个点的树n<=10000,问有多少个点对例如(a,b)他们的之间的距离小于等于k 采用树的分治做 #include <iostream> #include <cs ...

  2. Sitecore 8.1 - 特性和功能

    营销基础 一个新的Sitecore品牌术语取代了体验营销(以前的Sitecore DMS),这是Sitecore体验数据库(xDB)现在所在的位置. Sitecore 7.5和Sitecore 8.0 ...

  3. CSS小知识-----前缀-moz-、-ms-、-webkit-,-o-分别代表的意思

    这种方式在业界上统称:识别码.前缀 -ms-代表[ie]内核识别码 -moz-代表火狐[firefox]内核识别码 -webkit-代表谷歌[chrome]/苹果[safari]内核识别码 -o-代表 ...

  4. arc 092D Two Sequences

    题意: 给出两个长度N相同的整数序列A和B,有N^2种方式从A中选择一个数Ai,从B中选择一个数Bj,让两个数相加,求这N^2个数的XOR,即异或. 思路: 暴力的求显然是会超时的,因为是异或,就考虑 ...

  5. [openjudge-搜索]广度优先搜索之鸣人和佐助

    题目描述 描述 佐助被大蛇丸诱骗走了,鸣人在多少时间内能追上他呢?已知一张地图(以二维矩阵的形式表示)以及佐助和鸣人的位置.地图上的每个位置都可以走到,只不过有些位置上有大蛇丸的手下,需要先打败大蛇丸 ...

  6. H.264流媒体协议格式中的Annex B格式和AVCC格式深度解析

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Romantic_Energy/article/details/50508332本文需要读者对H.26 ...

  7. SQL Server双机热备之后项目的FailOver自动连接

    SQL Server配置数据库镜像后,可能有朋友们会比较有疑惑,你一下搞两个数据库出来,他们的ip地址都不一样,到时候数据库切换过去了,我的数据库的连接字符串可如何是好?难道还得在代码中去控制是连接哪 ...

  8. 【移动端】js禁止页面滑动与允许滑动

    禁止页面滑动 通常静止滑动方案:(阻止滑动事件) window.ontouchmove=function(e){ e.preventDefault && e.preventDefaul ...

  9. ES6知识整理(5)--对象的扩展

    个人开这个公众号的初心是为了积累知识,因此并没有做什么推广,再说自己也不知道怎么推广,推广之后又能干些什么.已经将近10天没发文章了,虽然每天都加班,但也不会一点时间都没有,有时还是会懒癌发作不想学习 ...

  10. EDK II之USB总线驱动的实现框架

    本文简单介绍一下UEFI中USB驱动的实现框架: 下图是USBD向上层驱动提供的接口: 1.从图中我们可以看出,USBDI的实现主要通过调用HCDI实现 和 访问USB_INTERFACE结构体(该结 ...