趋近智
图神经网络 (neural network) (GNN) 通过整合新信息来生成节点的更新表示,这些信息通常源自其邻居节点收集的消息,并与节点的当前状态相结合。这种整合过程分为两个部分:首先将收集到的消息与节点的当前状态合并,然后对其进行变换。这种更新机制确保了节点的新特征向量 (vector)既包含其自身的先验信息,也包含其局部邻域的集体特征。
我们将节点 的聚合消息向量表示为 。该向量是之前讨论过的 AGGREGATE 函数的输出。更新函数的任务是将此消息与节点在前一层的自身特征向量 相结合。
合并这两个向量 (vector)的一种常用且有效的方法是先将它们拼接(concatenate),然后将结果通过一个标准的神经网络 (neural network)层。该层由一个线性变换(权重 (weight)矩阵)以及随后的非线性激活函数 (activation function)组成。
在数学上,此更新操作可以写为:
让我们详细分析一下:
下图展示了这一流程。节点的先前表示与聚合消息合并,经线性层处理,并通过激活函数以生成节点的新表示。
单个节点的更新步骤。该过程将节点的现有特征向量与聚合消息合并,然后变换该合并向量以产生下一层的新表示。
在图卷积网络 (GCN) 等架构中,另一种方法是在合并之前分别对自身向量和聚合消息应用独立的线性变换,通常使用加法进行合并。我们将在下一章研究那种具体的表达方式。对于通用的消息传递网络,拼接方法是一个强力且直观的起点。
由 表示的激活函数 (activation function)是任何神经网络 (neural network)不可或缺的组成部分,GNN 也不例外。其目的是为模型引入非线性。
如果省略激活函数,每个 GNN 层都将仅仅是一系列线性操作(通常为线性的聚合操作,随后是线性变换)。堆叠多个这样的层将毫无意义,因为一系列线性变换在数学上总能简化为单个更复杂的线性变换。模型的表达能力会受到严重限制,无法学习数据中的复杂模式。
在现代深度学习 (deep learning)(包括 GNN)中,使用最广泛的激活函数是 修正线性单元 (ReLU)。其定义为:
ReLU 计算效率高且在实践中表现良好。它只需将特征向量 (vector)中的任何负值替换为零,通过选择性地“激活”某些特征,使网络能够模拟非线性关系。尽管还存在 LeakyReLU、Sigmoid 或 Tanh 等其他函数,但对于 GNN 的隐藏层来说,ReLU 是一个非常稳妥的默认选择。
通过将聚合的邻域消息与节点自身状态结合,并应用非线性变换,GNN 层能为每个节点计算出更丰富、更高层次的表示。这种新表示同时捕捉了节点的个体属性及其在局部环境中的结构角色。
这部分内容有帮助吗?
© 2026 ApX Machine LearningAI伦理与透明度•