图注意力网络(Graph Attention Network)

一、简介

CNN只能用来解决grid-like结构的数据。有很多任务的数据无法表示成grid-like结构,但可以表示成为图结构。GAT(Graph Attention Networks)就是一种处理图结构数据的神经网络。该网络是基于注意力机制实现的。

二、GAT结构

1.图注意力层的输入与输出

图注意力层(Graph Attentional Layer)是构成整个GAT的唯一种类的层。

该层的输入是多个节点的特征,注意力机制 图像 python 注意力机制 图神经网络_图注意力,其中注意力机制 图像 python 注意力机制 图神经网络_图注意力_02是节点数量,注意力机制 图像 python 注意力机制 图神经网络_图注意力_03是每个节点的特征数量。

该层的输出是这些节点的新特征,注意力机制 图像 python 注意力机制 图神经网络_图注意力_04,其中注意力机制 图像 python 注意力机制 图神经网络_图注意力_05是新特征的维度。

2.注意力系数的计算

注意力机制的核心是计算各个部分对最终目标的贡献程度,这个贡献程度就是注意力系数。在图结构中,注意力系数是指某个节点对当前节点的贡献程度。具体来说,在GAT中节点注意力机制 图像 python 注意力机制 图神经网络_注意力机制 图像 python_06的特征对节点注意力机制 图像 python 注意力机制 图神经网络_注意力机制 图像 python_07特征的贡献程度表示为注意力机制 图像 python 注意力机制 图神经网络_图注意力_08,其计算公式为
注意力机制 图像 python 注意力机制 图神经网络_图_09
其中注意力机制 图像 python 注意力机制 图神经网络_图表示_10注意力机制 图像 python 注意力机制 图神经网络_图表示_11是计算两个向量相似度的函数。在论文的实验中函数注意力机制 图像 python 注意力机制 图神经网络_图表示_11使用单层前馈网络,即
注意力机制 图像 python 注意力机制 图神经网络_注意力机制 图像 python_13
其中,注意力机制 图像 python 注意力机制 图神经网络_注意力机制 图像 python_14是激活函数,注意力机制 图像 python 注意力机制 图神经网络_图_15注意力机制 图像 python 注意力机制 图神经网络_图_16表示向量拼接。

3.Masked Attention机制

在GAT中,注意力机制只作用在一阶相邻节点(当然,也可以作用在更高阶),为了统一量纲这里使用注意力机制 图像 python 注意力机制 图神经网络_注意力_17函数对注意力系数进行标准化
注意力机制 图像 python 注意力机制 图神经网络_图表示_18
其中,注意力机制 图像 python 注意力机制 图神经网络_图_19注意力机制 图像 python 注意力机制 图神经网络_图注意力_20表示节点注意力机制 图像 python 注意力机制 图神经网络_注意力机制 图像 python_07的邻居节点。

这里将计算注意力机制 图像 python 注意力机制 图神经网络_图表示_22的所有部分展开,

注意力机制 图像 python 注意力机制 图神经网络_图_23

得到标准化的注意力系统注意力机制 图像 python 注意力机制 图神经网络_图表示_22后,使用这些系数进行线性合并,得到节点注意力机制 图像 python 注意力机制 图神经网络_注意力机制 图像 python_07的新特征,即

注意力机制 图像 python 注意力机制 图神经网络_注意力机制 图像 python_26

注意力机制 图像 python 注意力机制 图神经网络_注意力_27


图1. 注意力系数的计算

4. 多头机制与输出层

为了能够更稳定的学习新特征,引入了多头机制。这里假设有注意力机制 图像 python 注意力机制 图神经网络_注意力_28个独立的注意力机制,那么多头注意力机制就是将各个注意力特征进行合并

注意力机制 图像 python 注意力机制 图神经网络_图_29

在网络的最终层执行多头注意力机制,不再使用拼接,而使用平均,并且延期使用激活函数(softmax、sigmoid等)

注意力机制 图像 python 注意力机制 图神经网络_图注意力_30

注意力机制 图像 python 注意力机制 图神经网络_图_31


图2. 多头注意力机制

三、GAT的优势

  1. 计算高效。自注意力层可以并行化,计算输出特征也可以并行化。
  2. 为不同的节点分配不同的重要度。
  3. 图不必是无向的。
  4. 直接适用于归纳学习(inductive learning)。
  5. 直接作用于领域,且不做任何顺序假设。