目录

一、GAT 架构

1.1图注意力层

实验设置中的注意力机制

注意力机制部分

输出特征说明

1.2 与相关工作的比较


图神经网络概览:图神经网络分享系列-概览

上一篇文章:图神经网络分享系列-GAT(GRAPH ATTENTION NETWORKS) (一)

一、GAT 架构

本节将介绍用于构建任意图注意力网络的构建块层(通过堆叠该层实现),并直接阐述其在神经图处理领域相较于先前研究的理论及实际优势与局限性。

1.1图注意力层

本节描述一个单一的图注意力层(GAT层),该层是实验中所有GAT架构的核心组件。所使用的注意力机制主要参考了Bahdanau等人的工作,但整体框架对具体注意力机制的选择具有通用性。

输入是一组节点特征:
$ h = \{\vec{h}_1, \vec{h}_2, \dots, \vec{h}_N\}, \quad \vec{h}_i \in \mathbb{R}^F $
其中 $N$ 为节点数量,$F$为每个节点的特征维度。该层输出一组新的节点特征(维度可能不同,记为 $F'$):$ h' = \{\vec{h}'_1, \vec{h}'_2, \dots, \vec{h}'_N\}, \quad \vec{h}'_i \in \mathbb{R}^{F'} $

为了将输入特征转化为更高层特征,至少需要一个可学习的线性变换。具体实现中,首先对所有节点应用共享的线性变换,其参数为权重矩阵 $W \in \mathbb{R}^{F' \times F}$。随后通过自注意力机制计算节点间的注意力系数,该机制由一个共享函数 $a: \mathbb{R}^{F'} \times \mathbb{R}^{F'} \to \mathbb{R}$ 实现。

(该机制)用于表示节点j的特征对节点i的重要性。在最通用的形式中,该模型允许每个节点关注其他所有节点,但会完全忽略结构信息。通过掩码注意力机制将图结构注入模型——仅对节点j ∈ Ni(即节点i在图中的邻域)计算注意力得分eij。所有实验中,Ni均严格限定为节点i的一阶邻居(包括i自身)。为使注意力系数在不同节点间可比,使用softmax函数对j的所有选择进行归一化:

关键术语解析

  • masked attention(掩码注意力):通过限制注意力计算范围(如仅邻域节点)引入图结构先验。
  • first-order neighbors(一阶邻居):直接相连的节点及自身,体现局部性假设。
  • softmax归一化:确保注意力系数和为1,便于跨节点比较权重。

    实验设置中的注意力机制

    注意力机制采用单层前馈神经网络结构,由权重向量 $\vec{a} \in \mathbb{R}^{2F'}$ 参数化,并应用负输入斜率 $\alpha = 0.2$ 的 LeakyReLU 非线性激活函数。完整展开后,该注意力机制计算的系数(如图 1 左所示)可表示为:

    在数学表达式中,符号 $T$表示转置(transposition),而$||$ 表示拼接操作(concatenation operation)。
    获取归一化的注意力系数后,通过计算对应特征的线性组合作为每个节点的最终输出特征(可选择性应用非线性激活函数 $\sigma$)。

    为稳定自注意力机制的学习过程,研究发现采用多头注意力扩展该机制是有效的,这与Vaswani等人(2017)的方法类似。具体而言,K个独立的注意力机制并行执行公式4的变换,随后将它们的输出特征拼接,最终生成如下特征表示:

    注意力机制部分

    || 表示向量拼接操作
    \alpha^k_{ij}代表第k个注意力机制(记作a^k)计算得到的归一化注意力系数
    W^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)可重新表述为MoNet(Monti等人,2016)的一个特例。具体而言,若将伪坐标函数设为 (u(x,y) = f(x) \parallel f(y) )(其中 ( f(x) ) 表示节点 ( x ) 的特征,可能经过多层感知机变换,而 \parallel 表示拼接操作),并将权重函数设为 ( w_j(u) = \text{softmax}(\text{MLP}(u)) )(softmax在节点的整个邻域上执行),则MoNet的局部算子与本文方法相似。

    • 我们成功开发了一种利用稀疏矩阵运算的GAT(图注意力网络)层版本,将存储复杂度降低至与节点和边数量呈线性关系,从而能够在更大规模的图数据集上运行GAT模型。然而,当前使用的张量运算框架仅支持秩为2的稀疏矩阵乘法,这限制了该层的批处理能力(尤其是针对多图数据集)。妥善解决这一约束是未来工作的重要方向。

      根据实际图结构的规律性,在这些稀疏场景下,GPU相比CPU可能无法提供显著的性能优势。还需注意的是,该模型的“感受野”大小受限于网络深度(与GCN等模型类似)。不过,跳跃连接(He et al., 2016)等技术可以直接应用于扩展网络深度。

      最后,在所有图边上进行并行化(尤其是分布式方式)可能涉及大量冗余计算,因为目标图中邻域通常存在高度重叠。


    • 本篇关于gat架构就到这里,下一篇会详细介绍实验。

    • 传送门:图神经网络分享系列-GAT(GRAPH ATTENTION NETWORKS) (三)

    Logo

    AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

    更多推荐