 (二))
目录一、GAT 架构1.1图注意力层实验设置中的注意力机制注意力机制部分输出特征说明1.2 与相关工作的比较图神经网络概览图神经网络分享系列-概览上一篇文章图神经网络分享系列-GAT(GRAPH ATTENTION NETWORKS) (一)一、GAT 架构本节将介绍用于构建任意图注意力网络的构建块层通过堆叠该层实现并直接阐述其在神经图处理领域相较于先前研究的理论及实际优势与局限性。1.1图注意力层本节描述一个单一的图注意力层GAT层该层是实验中所有GAT架构的核心组件。所使用的注意力机制主要参考了Bahdanau等人的工作但整体框架对具体注意力机制的选择具有通用性。输入是一组节点特征其中为节点数量为每个节点的特征维度。该层输出一组新的节点特征维度可能不同记为为了将输入特征转化为更高层特征至少需要一个可学习的线性变换。具体实现中首先对所有节点应用共享的线性变换其参数为权重矩阵。随后通过自注意力机制计算节点间的注意力系数该机制由一个共享函数实现。该机制用于表示节点j的特征对节点i的重要性。在最通用的形式中该模型允许每个节点关注其他所有节点但会完全忽略结构信息。通过掩码注意力机制将图结构注入模型——仅对节点j ∈ Ni即节点i在图中的邻域计算注意力得分eij。所有实验中Ni均严格限定为节点i的一阶邻居包括i自身。为使注意力系数在不同节点间可比使用softmax函数对j的所有选择进行归一化关键术语解析masked attention掩码注意力通过限制注意力计算范围如仅邻域节点引入图结构先验。first-order neighbors一阶邻居直接相连的节点及自身体现局部性假设。softmax归一化确保注意力系数和为1便于跨节点比较权重。实验设置中的注意力机制注意力机制采用单层前馈神经网络结构由权重向量参数化并应用负输入斜率的 LeakyReLU 非线性激活函数。完整展开后该注意力机制计算的系数如图 1 左所示可表示为在数学表达式中符号表示转置transposition而表示拼接操作concatenation operation。获取归一化的注意力系数后通过计算对应特征的线性组合作为每个节点的最终输出特征可选择性应用非线性激活函数。为稳定自注意力机制的学习过程研究发现采用多头注意力扩展该机制是有效的这与Vaswani等人2017的方法类似。具体而言K个独立的注意力机制并行执行公式4的变换随后将它们的输出特征拼接最终生成如下特征表示注意力机制部分|| 表示向量拼接操作代表第k个注意力机制记作a^k计算得到的归一化注意力系数是对应的输入线性变换权重矩阵输出特征说明在此架构下最终输出的节点特征h将包含KF个特征维度而非原始F维。特别地若在网络最后一层预测层使用多头注意力机制此时拼接操作不再适用——需改用求平均策略并将最终的非线性激活函数分类任务通常为softmax或logistic sigmoid延迟至该层之后应用。多头图注意力层的聚合过程如图1右所示。1.2 与相关工作的比较第1.1小节描述的图注意力层直接解决了先前基于神经网络的图结构数据建模方法中的若干问题计算高效性自注意力层的操作可跨所有边并行化输出特征的计算可跨所有节点并行化。无需特征分解或类似的高成本矩阵运算。单个GAT注意力头计算F′个特征的时间复杂度可表示为O(|V|FF′ |E|F′)其中F为输入特征数|V|和|E|分别为图的节点和边数量。该复杂度与Graph Convolutional Networks (GCNs)等基线方法相当。多头注意力的应用会使存储和参数需求增加K倍但各头的计算完全独立且可并行化。差异化节点重要性分配与GCN不同该模型能隐式为同一邻居中的节点分配不同权重从而显著提升模型容量。此外分析学习到的注意力权重可能增强可解释性如机器翻译领域的定性分析所示如Bahdanau等人的研究。全局结构无关性注意力机制以共享方式应用于图中所有边因此不依赖对全局图结构或全部节点特征的事先访问许多先前技术的局限。这带来以下优势图无需是无向的若边j→i不存在可直接省略αij的计算。技术可直接应用于归纳学习包括在训练阶段完全未见过的图上进行评估的任务。与归纳方法的对比Hamilton等人近期提出的归纳方法为保持计算量一致对每个节点采样固定大小的邻居导致推理时无法访问完整邻居信息。此外该技术在使用基于LSTM的邻居聚合器时取得最佳效果但这需假设邻居间存在一致的节点顺序作者通过向LSTM输入随机排序序列来缓解。本技术无此类限制——可处理完整邻居代价是可变的计算量仍与GCN等方法相当且不假设任何内部顺序。与MoNet的关联如第1节所述图注意力网络GAT可重新表述为MoNetMonti等人2016的一个特例。具体而言若将伪坐标函数设为 ()其中 ( f(x) ) 表示节点 ( x ) 的特征可能经过多层感知机变换而表示拼接操作并将权重函数设为 ()softmax在节点的整个邻域上执行则MoNet的局部算子与本文方法相似。我们成功开发了一种利用稀疏矩阵运算的GAT图注意力网络层版本将存储复杂度降低至与节点和边数量呈线性关系从而能够在更大规模的图数据集上运行GAT模型。然而当前使用的张量运算框架仅支持秩为2的稀疏矩阵乘法这限制了该层的批处理能力尤其是针对多图数据集。妥善解决这一约束是未来工作的重要方向。根据实际图结构的规律性在这些稀疏场景下GPU相比CPU可能无法提供显著的性能优势。还需注意的是该模型的“感受野”大小受限于网络深度与GCN等模型类似。不过跳跃连接He et al., 2016等技术可以直接应用于扩展网络深度。最后在所有图边上进行并行化尤其是分布式方式可能涉及大量冗余计算因为目标图中邻域通常存在高度重叠。本篇关于gat架构就到这里下一篇会详细介绍实验。传送门图神经网络分享系列-GAT(GRAPH ATTENTION NETWORKS) (三)