GRAPH ATTENTION NETWORKS

GRAPH ATTENTION NETWORKS
【GATs】
本文提出了图注意力网络(GATs),这是一种新的作用在图结构数据上的神经网络框架。
作者利用注意力机制已达到对节点分类的任务取得更好的效果。
Cora数据集:
包含2708个节点,每个样本点都是一篇科学论文,5429个边
每篇论文都由一个1433维的词向量表示,即每个节点1433个特征。
GAT 网络架构
通过堆叠单个的图注意力层(Graph Attentional Layer)来构建任意的图注意力网络。
单个图注意力层(Graph Attentional Layer)
输入:图中所有节点特征向量的集合
在这里插入图片描述
N 是图中总结点数, F是每个节点的特征数
输出:图中节点更新后的特征向量的集合(更新后新的特征向量的维数可能与之前的特征向量维数不同)
在这里插入图片描述
步骤
一、Input :
在这里插入图片描述
例如:输入h1,h2,h3三个节点GRAPH ATTENTION NETWORKS_第1张图片
二、为了能够让特征更具表达能力,采用了线性变换先对原始特征进行处理
在这里插入图片描述
上面输入的三个节点变换以后如下图GRAPH ATTENTION NETWORKS_第2张图片
三、计算注意力系数
在这里插入图片描述
a是注意力机制,在代码中也是以矩阵的形式表现
GRAPH ATTENTION NETWORKS_第3张图片
四、为了使系数在不同节点之间易于比较,我们使用softmax函数在j的所有选项中对它们进行标准化:
在这里插入图片描述
GRAPH ATTENTION NETWORKS_第4张图片
五、得到标准化的系数以后,就利用关注系数与对应的节点特征做线性变换,再进行一次非线性变换后,作为节点特征的输出。
GRAPH ATTENTION NETWORKS_第5张图片
GRAPH ATTENTION NETWORKS_第6张图片
在这里插入图片描述
multi-head attention
为了让结果更加稳定,作者每次都进行K次并行计算,就可以得出K个结果,再将这些结果进行整合。称为多头机制

GRAPH ATTENTION NETWORKS_第7张图片
左图为求注意力系数的过程,右图为多头机制过程

你可能感兴趣的:(GRAPH ATTENTION NETWORKS)