2 GAT ARCHITECTURE
我们将描述一个单独的图注意力层,因为单层在我们实验中GAT架构。我们使用这个特殊的注意力是follow Bahdanau et al 2015的工作。
我们层的输入是节点的特征,,,N是节点的数量,F是每一个节点的特征数量。这个层将会产生一套新的及诶单的特征(可能是不同的特征维度),,,作为输出。
为了能够尽可能的将特征映射到高维的特征,至少需要一个线性的转换。譬如,我们可以共享一个线性的转换。参数化的权重矩阵,,可以作用在每一个节点上。我们可以在所有的节点上做self-attention---一个共享的attention机制计算注意力参数
这个表示第j个node的特征对第i个node的重要性。在一个更一般的形式下,这个模型允许任何一个节点去影响其他的节点。我们引入图结构来实行带掩码的注意力(masked attention)--- 我们只计算节点图结构中周围邻居的,在我们的实验中,这些是i的第一圈的邻居(也包括i自己)。我们计算不同节点的参数,我们用softmax进行归一化 :
在我们实验中,注意力机制是一个单层的前向神经网络,参数的权重,使用LeakyReLU作为非线性的激活函数().公式如下:
这里表示矩阵转置,表示concat操作。
获得,归一化的注意力系数之后,我们用来计算系数的线性组合,再做激活(),用来作为每一个节点的这一层的输出
为了强化自注意力机制的学习过程,我们采用多头的注意力机制。详细地,K个独立的自注意力机制来计算(4)的转换,他们的特征是concat的,输出的特征表征如下:
表示concat操作,是通过第k个注意力机制归一化的注意力系数,是响应的线性变换的权重矩阵。注意,在这个模式下,每个节点最终的输出,包含个特征(不是)。
尤其我们在网络的最后一层使用多头注意力机制,我们使用取平均的方式代替concat的方式,在非线性层如下:
这个聚合过程如图1所示(右)。