作者:Petar Velickovic, Guillem Cucurull, Arantxa Casanova, Yoshua Bengio
来源: ICLR 2018
链接: link
研究机构:Department of Computer Science and Technology;Centre de Visi´o per Computador, UAB;Montreal Institute for Learning Algorithms
源码链接: source code
这篇文章主要利用Attention机制计算Graph中节点的表示。通常在Graph中,节点的属性与其邻近节点的关系非常密切,打个比方,判断一篇论文的研究方向,除了可以通过论文本身来判断,还可以根据其引用的参考文献来大致判断。
Background
GAT architechture
令Graph attentional layer的输入是,其中是节点数,是每个节点特征数。同时令输出为。
与普通的self-attention类似,Graph Attention也是计算节点与节点之间的注意力权重,通过加权和得到输出。考虑一个问题:如果按照普通self-attention的方式来处理Graph attentional layer的输入,那么处理流程就与普通序列无异,导致丢失所有的图结构信息。考虑到图结构中,与目标节点距离越大,意味着关联性越小,因此作者在计算attention的时候仅考虑与目标节点相邻的节点。在这篇文章中,仅考虑一阶邻近的节点。
假设目标节点是,其一阶邻近节点集合表示为。对于,之间的score function表示为,计算方法如下:
其中,, ,表示向量拼接。
最后,可以表示为:
当然了,Graph attentional layer可以是multi-head的,文章提供了两种multi-head graph attention的aggregation方法,分别是向量拼接和平均(如图所示)。假设有个独立的graph attention模块,那么这两种aggregation下的输出可以表示为:
Evaluation
作者将GAN应用到了两个任务:Transductive learning和Inductive learning,前者选取了3个数据集,后者1个数据集。最终GAN能够取得超过或者持平SOAT的结果。