趋近智
图卷积网络 (GCNs) 提供了一个在图上学习的强大框架,但它们的聚合机制通常对所有邻居一视同仁(仅根据节点度进行调整)。设想一个社交网络图,您想预测用户的兴趣。某些朋友可能比其他朋友影响力更大或兴趣更相似。标准 GCN 可能难以有效捕获这些差异,因为其卷积核权重 (weight)是根据图结构(特别是归一化 (normalization)邻接矩阵或拉普拉斯矩阵)固定的。
图注意力网络 (GATs) 引入了一种方法来克服这一局限,通过引入自注意力 (self-attention)机制 (attention mechanism),这借鉴了它们在基于序列的任务中的成功。其核心理念是允许节点在聚合过程中,为其邻域内的不同节点赋予不同程度的重要性,即注意力。这些注意力权重并非固定,而是根据相互作用节点的特征动态计算。
GAT 不使用 GCN 中预定义的权重 (weight)(如 ),而是为每条边 计算注意力系数 ,这表示节点 的特征对节点 的重要性。这个过程通常在 GAT 层内包含三个步骤:
线性变换: 首先,将每个节点 的输入特征 通过一个可学习的权重矩阵 进行变换,得到更高维度的特征 。这种初始变换增加了模型学习相关表示的能力。
注意力系数计算: 对于连接节点 到节点 的每条边,都会计算一个注意力得分 。这个得分表示节点 的特征对节点 未归一化 (normalization)的重要性。计算 的常用方法是使用共享注意力机制,这通常是一个由可学习权重向量 (vector) 参数 (parameter)化的单层前馈神经网络 (neural network)。该机制的输入是两个节点变换后特征 和 的拼接:
这里, 表示拼接,LeakyReLU 通常用作非线性激活函数 (activation function)。这个机制在所有边之间是共享的,这意味着相同的 和 用于计算所有节点对的注意力得分。
通过 Softmax 进行归一化: 原始注意力得分 在不同节点之间不能直接比较。为了使它们可比并得到归一化的注意力系数 ,Softmax 函数通常应用于节点 的所有邻居 (通常包括节点 本身):
其中 表示节点 的邻域。这些归一化系数 现在对于每个节点 及其所有邻居 求和为 1,形成了一个加权的注意力分布。
加权聚合: 最后,节点 的输出特征 是通过其邻居变换后特征的加权和计算得到的,其中使用归一化注意力系数 作为权重。之后通常会应用一个非线性激活函数 (如 ReLU 或 ELU):
这个过程有效地使得每个节点在更新其表示时,能够有选择地侧重于其最相关的邻居。
节点 'i' 的 GAT 聚合过程视图。注意力系数 决定了从邻居(包括自身)传递过来的信息在更新节点特征向量 时的权重。
图注意力网络与简单的卷积方法相比具有多个优势:
虽然单个 GAT 层计算一组注意力权重 (weight),但这个机制可以扩展。一种常见做法是使用多头注意力 (multi-head attention),其中多个独立的注意力机制并行计算,并将它们的结果组合。下一节将讨论这项技术,它通常能带来更稳定的训练,并使得模型能够同时捕获邻域内不同类型的关系。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造