注意力机制 神经网络_图注意力网络(GAT)

引言

作者借鉴图神经网络中的注意力机制,提出了图注意力神经网络架构,创新点主要包含如下几个:①采用masked self-attention层,②隐式的对邻居节点采用不同权重③介绍了多头注意力机制。 在作者的Introduction中,该论文提出的思路类似于MoNet,下一次分享一下这个算法。

模型介绍

该模型相比于GraphSage而言其实是比较容易理解的,即对邻居节点按照不同的概率加权运算。其输入是节点特征

,其中
是节点的数目,
是节点相应的特征,更新后的特征是
。将每个节点施加不同的权重,并在自身节点采取self-attention,经过一个注意力机制计算函数
,这里的
可以采用最简单的相关度函数来计算,在dgl中可以将计算结果存储到边。计算权重系数公式为
,此处采用masked attention来将图结构应用到此机制,即只计算节点的邻居节点特征,在此文中,采用的是一阶子图。为了更好的分配权重,采用softmax函数重新计算权重系数。更新后的系数为

在作者论文中,注意力机制函数为一单层前向神经网络,由权重向量

对其参数化,使用LeakyRelu作为激活函数,将上述公式展开后得到:

然后将结果施加非线性函数

,得到结果如下:

那么据此推理,我们可以得到多头注意力机制运算方式:

其中||表示拼接操作,表示将多个注意力头学习到的特征进行拼接。在论文中,作者采用的是加法求平均后进过非线性变换。公式如下:

为了方便大家的理解,这里将原文的图直接搬过来,一看就清晰了:

64d8360594e6b54bcdc47723d6378a39.png
注意力机制

左图是单头注意力机制,右图是多头注意力机制,其中,不同颜色的线代表不同的注意力头。这样对照上面的公式一看,是不是很清晰明了。

与相关工作对比

作者在第2.2节将其所作工作和相关方面的算法进行对比,主要具备如下几个方面的优势。

1. 计算高效,计算可以并行。

2. 相比于GCN来说,为同一邻域的节点分配不同权重,可以扩充模型尺度

3. 模型权值共享

4. 相比于GraphSage而言,不需要固定采样尺寸,算法处理整个邻域

5. 采样节点特征计算相似度,而并非节点的结构特性,这样可以在不需要知道图结构的前提下计算。

此外作者也指出了图神经网络计算中的几个问题:

① GPU的计算性能在稀疏矩阵运算中并不一定由于CPU,甚至起到的效果更差。

②感受野的大小上限受模型深度影响。

③Skip-connection也许可以用于加深层数,解决过平滑等现象④图中的并行计算由于临近区域的高度重叠,也许导致许多的冗余计算。

实验

作者在实验方面采用的数据集分为了Transductive(直推式)学习、Inductive(归纳式)学习两个方面,这个大家写论文的时候也可以采用,效果好的放到一组。同时作者也将算法进行分类,例如GCN属于Transductive学习算法,而上一次分享的GraphSage属于Inductive学习算法。至于算法的复现也很简单,建议大家直接采用dgl算法库,可以参考其example中相关算法。本文直接测试cora数据,结果和论文相差无几

2c4a23858727462f4302c5f86b2586fa.png
结果
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值