趋近智
AGGREGATE 函数是图神经网络 (neural network)消息传递机制中的核心操作。它的作用是接收来自节点邻居的一组特征向量 (vector)(其数量可能各不相同),并将其压缩成一个具有代表性的单一向量。这一步操作十分必要,因为虽然图中的一个节点可能有多个邻居,但后续处理聚合信息的 UPDATE 步骤需要固定大小的输入。
聚合器必须是一个置换不变性函数,这意味着处理邻居特征的顺序不会影响输出结果。这一特性对图来说非常重要,因为节点的邻居之间并没有天然的排序。下面我们来看一下满足这一要求的最常用聚合函数。
均值聚合器计算邻居特征向量 (vector)的逐元素平均值。它提供了邻域特征的汇总,并根据邻居数量进行了归一化 (normalization)。
在数学上,目标节点 的聚合消息 计算如下:
这里, 是节点 的度(即邻居数量),而 是第 层中邻居节点 的特征向量。
均值聚合的主要特点是其平滑效应。通过取平均值,它能确保聚合向量的量级不会随着邻居数量的增加而增长。这使其成为一个稳定且通常有效的默认选择。然而,这一特性也可能是一个缺点。如果某个邻居具有极具信息量的特征,其信号可能会被平均值稀释,特别是在邻居密集的区域。
求和聚合器只是简单地将所有邻居的特征向量 (vector)相加。这可能是合并邻域信息最直接的方式。
求和聚合的公式为:
与均值不同,求和对邻域的大小很敏感。所得聚合向量的量级将随节点的度而缩放。如果连接数量是希望模型学习的一个重要结构属性,那么这种方式会很有用。例如,在社交网络中,拥有许多朋友的用户与朋友较少的用户在表示上可能会有所不同。求和聚合的主要风险在于,对于度数非常高的节点,求和后的数值可能会变得极大,从而在训练过程中导致数值不稳定的问题。
最大值聚合(也称为最大池化)取所有邻居特征向量 (vector)中的逐元素最大值。它不是汇总整个邻域,而是识别邻居中出现的最显著特征值。
该操作定义为:
此操作在特征向量的每个维度上独立执行。最大池化能有效地捕捉具有代表性或显著的特征。例如,如果每个特征维度代表某种属性的存在,最大值聚合会识别出该属性在邻域内的最强存在感。它不太受平均值稀释效应的影响,也不像求和聚合器那样对邻居数量敏感。
为了更好理解这些函数之间的差异,假设目标节点 有三个邻居,每个邻居都有一个二维特征向量 (vector)。
目标节点
v的均值、求和及最大值聚合对比。每个聚合器根据邻居特征向量[1, 5]、[4, 2]和[2, 2]生成了不同的汇总结果。
如图所示:
[2.33, 3.00]。[7, 9]。[4, 5],分别取自 u2 的 4 和 u1 的 5。聚合函数的选择取决于具体的任务和图数据的性质。
一些先进的 GNN 架构(例如我们将在下一章看到的 GraphSAGE)将聚合器视为可配置的超参数 (parameter) (hyperparameter),允许你通过实验找到最适合具体问题的方案。下一节将介绍 UPDATE 函数,它接收聚合的消息并将其与节点自身的表示相结合,从而产生新的状态。
这部分内容有帮助吗?
© 2026 ApX Machine LearningAI伦理与透明度•