本文是清华大学刘知远老师团队出版的图神经网络书籍《Introduction to Graph Neural Networks》的部分内容翻译和阅读笔记。
个人翻译难免有缺陷敬请指出,如需转载请联系翻译作者@Riroaki。
注意机制已成功用于许多基于序列的任务,例如机器翻译,机器阅读等等。与GCN平等对待节点的所有邻居相比,注意力机制可以为每个邻居分配不同的注意力得分,从而识别出更重要的邻居。将注意力机制纳入图谱神经网络的传播步骤是很直观的。图注意力网络也可以看作是图卷积网络家族中的一种方法。
Graph Attention Network (GAT)
GAT在传播过程引入自注意力(self-attention)机制,每个节点的隐藏状态通过注意其邻居节点来计算。
GAT网络由堆叠简单的图注意力层(graph attention layer)来实现,对节点对 ,注意力系数计算方式为:
![](https://i-blog.csdnimg.cn/blog_migrate/3dc142216c8038f9a68171d9ea927f3d.png)
其中, 是节点
到
的注意力系数,
表示节点
的邻居节点。节点输入特征为
,其中
分别表示节点个数和特征维数。节点特征的输出为
。
是在每一个节点上应用的线性变换权重矩阵,
是权重向量,可以将输入映射到
。最终使用softmax进行归一化并加入LeakyReLU以提供非线性性质(其中负输入的斜率为0.2)。
最终节点的特征输出由以下式子得到:
![](https://i-blog.csdnimg.cn/blog_migrate/a5f24fb0dbc8843ea90390ae375e40ab.png)
此外,该层也利用多头注意力以稳定学习过程。它应用 K 个独立的关注机制来计算隐藏状态,然后将其特征连接起来(或计算平均值),从而得到以下两种输出表示形式:
![](https://i-blog.csdnimg.cn/blog_migrate/2013c899c430b49894eda6372e8147f8.png)
其中 是第 k 个注意力头归一化的注意力系数,
表示拼接操作。模型细节如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/744c2ae25f53c37e904dfda9bb0f87f2.png)
这一模型结构具有如下特点:
节点-邻居对的计算是可并行化的,因此运算效率很高(和GCN同级别);
可以处理不同程度的节点,并为其邻居分配相应的权重;
可以很容易地应用于归纳学习(inductive learning)问题。
与GCN类似,GAT同样是一种局部网络,无需了解整个图结构,只需知道每个节点的邻节点即可。
补充:
归纳学习(inductive learning)与转导学习(transductive learning)
在半监督学习场景中,大部分数据是没有标注的。
如果和常规的学习一样使用归纳学习,只采用标注数据进行训练,并且尝试对没有见过的数据进行分类,效果可能会很糟糕。
但是转导学习就不同。它可以引入没有标签的数据,学习数据的分布信息,并且在测试时对(已经见过的)没有标注的数据进行分类。
因此,一般来说转导学习的效果会更好。当然,一般的任务都是使用归纳学习模型解决。
以下来自维基百科(en.wikipedia.org/wiki/T):
归纳尝试从特殊案例归纳出一般特征(train),再应用于特殊案例(test)。
转导尝试从特定案例(train)中学习并应用到特定案例(test)。
后者的难度更小。
还有一个有趣的概念是主动学习(active learning),有兴趣的读者可以自行了解。
GAT在半监督节点分类,链接预测等多项任务上均胜过GCN。
详见原论文《Graph attention networks》
Gated Attention Network (GaAN)
除了GAT之外,门控注意力网络(GaAN)也使用多头注意力机制。GaAN中的注意力聚合器与GAT中的注意力聚合器的区别在于,GaAN使用键值注意力和点积注意力,而GAT使用全连接层来计算注意力系数。
此外,GaAN通过计算其他soft gate为不同的注意力头分配不同的权重。该聚合器称为门控注意聚合器。详细地讲,GaAN使用卷积网络,该卷积网络具有中心节点的特征,并且与之相邻以生成门值。
![](https://i-blog.csdnimg.cn/blog_migrate/673bb450510d88b2334573f441c34750.png)
在归纳节点分类问题中,GaAN可以优于GAT以及其他具有不同聚合器的GNN模型。
关于本模型的细节,原文没有过多介绍,有待补充。
![](https://i-blog.csdnimg.cn/blog_migrate/26034a4bfd0cdb4825bc20ac1a05c815.png)
详见原论文《GaAN: Gated Attention Networks for Learning on Large and Spatiotemporal Graphs》
投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。
方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。
记得备注呦