↑↑↑关注后"星标"Datawhale
每日干货 & 每月组队学习,不错过
Datawhale干货
作者:秦州,算法工程师,Datawhale成员
引言
本文为GNN教程的第四篇文章 【GAT网络】,在前几篇博文中,我们讨论了基本的图神经网络算法GCN, 使用采样和聚合构建的inductive learning框架GraphSAGE, 然而图结构数据常常含有噪声,意味着节点与节点之间的边有时不是那么可靠,邻居的相对重要性也有差异,解决这个问题的方式是在图算法中引入“注意力”机制(attention mechanism), 通过计算当前节点与邻居的“注意力系数”(attention coefficient), 在聚合邻居embedding的时候进行加权,使得图神经网络能够更加关注重要的节点,以减少边噪声带来的影响。
后台回复【GNN】进图神经网络交流群。
图注意力机制的类型
目前主要有三种注意力机制算法,它们分别是:学习注意力权重(Learn attention weights),基于相似性的注意力(Similarity-based attention),注意力引导的随机游走(Attention-guided walk)。这三种注意力机制都可以用来生成邻居的相对重要性,下文会阐述他们之间的差异。
首先我们对“图注意力机制”做一个数学上的定义:
定义(图注意力机制):给定一个图中节点 和 的邻居节点
(这里的 和GraphSAGE博文中的 表示一个意思)。注意力机制被定义为将 中每个节点映射到相关性得分(relevance score)的函数
相关性得分表示该邻居节点的相对重要性。满足:
下面再来看看这三种不同的图注意力机制的具体细节
1. 学习注意力权重
学习注意力权重的方法来自于Velickovic et al. 2018 其核心思想是利用参数矩阵学习节点和邻居之间的相对重要性。
给定节点