GRAPH ATTENTION NETWORKS论文笔记

关于GAT论文的理解笔记

为什么要提出GAT?

在处理一些non Euclidean的graph问题中,目前主流的方法是两种: 1. spectral approaches 2. non-spectral apporoaches
对于spectral的方法,它的卷积计算离不开拉普拉斯矩阵的特征计算,因此依赖于特定的图结构。当用此方法在一个特定的graph structure中训练好的模型不能运用于其他的graph structure。
而对于spectral的局限,提出了GAT,它利用了 masked self-attentional layer 的方法,来获取每个节点的特征,并赋予每个节点权重。GAT有效的解决了spectral approaches中遇到的问题。
它的好处:

  1. 它能够并行处理多个节点和临界点的操作
  2. 它能够对于任意节点的所有临界点进行权重赋值
  3. 它可以直接运用于推导学习的问题中,同时可以运用到没有见过的图结构上。

一个局限性:
此网络忽略了图本身的结构,即不需要图结构,仅仅是通过层层网络的叠加计算去获得节点的特征。

本文的实验在四个dataset上都取得了较好的结果,分别是 Cora, Citeseer and Pubmed citation networks, inductive protein-protein interaction dataset。这些任务包括三个转导学习和一个归纳学习。

GRAPH ATTENTIONAL LAYER

在这一部分,作者主要提出了一个building block(建立的模块),通过这个block建立一个graph attention layer,再把graph attention layer进行叠加形成graph attention layers。

首先第一个参数是
在这里插入图片描述
其中的h是一个节点特征值向量的集合,它也是网络的输入值。hi表示第i个节点的特征向量,每个节点有F个特征值,因此hi是一个F维度的向量。N表示一个graph中的节点数目。
经过网络的处理之后,输出了以下的值:
在这里插入图片描述
此时的h表示经过网络后处理的特征值向量的值,节点数目N不变,每个节点的特征向量的维度由F变为了F‘(因为,为了更好的提取出节点的特征,需要将输入的特征转换为更高级别的特征)

注意力机制
接下来我们需要针对每一个节点计算出一个 注意力系数(attention coefficients)
在这里插入图片描述在这里插入图片描述
其中W是一个 F’ * F 的权重矩阵,它应用于每个节点,而h是一个F维的向量,两者相乘把每个节点的向量变为F’维的向量。
而eij的实质就是计算节点j对于节点i的重要性 { i分配给j的注意力(权重)}

按照上面的方法,也许我们可以计算出一个graph中i对所有点的注意力,但实际上这是没有必要的,于是我们采用了 masked attention 的方法,我们只是假设在一定范围内j∈Ni,在一定的邻域中去计算,而我们规定这个邻域是一阶的,也就是和i相邻的节点以及i本身。
为了将这个注意力系数eij 分配到 [0 , 1] 的范围内,我们采取 了softmax进行处理,如下:
在这里插入图片描述
在具体的实验中,我们对上诉的式子细化得到:
在这里插入图片描述
其中 || 表示矩阵的拼接,T表示矩阵的转置。a∈R(2F)是一个权重向量,因为 Whi||Whj 这个拼接矩阵此时的维度是 2 * F’,所以将a转置之后维度变为 F‘ * 2,得到一个F’ * F’ 维度的矩阵。再通过LeackyRelu的激活函数激活,通过softmax处理系数转化到 [0 , 1]。

上面这个式子是整篇论文的核心,可以用一个图表示式子的计算过程,如下:
在这里插入图片描述
上图是 自下而上 的去阐述该核心算式。

当我们计算出节点对于邻接节点的注意力系数(αij)之后,我们就能够计算出每个节点最终的输出特征向量hi,等式如下:
在这里插入图片描述
因此我们对于图中每个节点不断运用这个算式,最终可以计算提取出图中每个节点的特征向量,我们把计算每个节点的特征向量hi的过程叫做 self-attention

进一步的,为了使得Self-attention的过程更加稳定(没有较大的偏差),我们采用了 multi-head attention 的方法。先看图
在这里插入图片描述
此图用了 muti-head attention 的方法, 假设K = 3 heads, 那么由图知,节点1跟每一个一阶的邻节点(包括这个节点本身),都有三种不同颜色的线,也就是每个节点进行三次 self-attention 的计算,产生一个hi的向量,再将这三个向量拼接起来。如下所示(||表示拼接):
在这里插入图片描述
但是为了得到最后的结果,我们还需要平均处理以下,如下:
在这里插入图片描述

Evaluation

在这里插入图片描述

References

论文
https://zhuo931077127.github.io/2019/04/14/GAT/

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值