GNN中的核心概念与操作
3. GNN中的核心概念与操作
图神经网络的核心在于信息在图中的传播与聚合。GNN中包含一些重要的概念与操作,这些操作在模型中被反复应用,以有效学习节点和边的特征表示。
3.1 信息传递与聚合(Message Passing and Aggregation)
**信息传递(Message Passing)**是GNN的核心操作,每一层中,节点从邻居节点接收信息并更新自身的特征。这一过程通常包括以下几个步骤:
- 信息接收(Message Receiving):每个节点从邻居节点接收信息。
- 信息聚合(Aggregation):将接收到的信息进行聚合操作。
- 特征更新(Update):将聚合结果与节点的原始特征结合,更新节点表示。
典型的聚合方式包括:
- 求和(Sum):将邻居节点的特征求和。
- 平均(Mean):计算邻居节点特征的平均值。
- 最大(Max):选择邻居节点特征中的最大值。
不同的聚合方式对节点特征有不同的影响,适用场景也有所不同。例如,求和适用于邻居节点数相对均匀的图结构,而平均则适用于邻居数差异较大的情况。
3.2 节点特征更新(Update)
在每一层的聚合操作之后,节点的特征会被更新,通常通过一个非线性函数对聚合结果进行处理,如 ReLU。更新公式通常为:
[
h_v^{(k+1)} = \sigma(W \cdot \text{aggregate}({h_u^{(k)} : u \in N(v)}))
]
其中:
- ( h_v^{(k)} ) 表示节点 ( v ) 在第 ( k ) 层的特征向量。
- ( N(v) ) 表示节点 ( v ) 的邻居节点集合。
- ( W ) 是该层的权重矩阵。
- ( \sigma ) 是非线性激活函数,如 ReLU。
3.3 图池化与降维(Graph Pooling)
图池化操作用于将图的规模进行缩减。和卷积神经网络中的池化类似,图池化用于捕获更高层次的全局结构信息,减少计算量。常用的图池化方法包括:
- 全局池化(Global Pooling):将整个图的特征聚合到一个固定维度的向量中,如全局平均池化和全局最大池化。
- 分级池化(Hierarchical Pooling):逐步减少节点数,形成图的层次结构。每一步通过选择性保留重要节点或对相邻节点进行合并,逐渐形成简化的图。
池化对于图分类任务特别重要,因为它能将图的全局信息浓缩成一个固定大小的特征向量,便于后续的分类处理。
3.4 图注意力机制(Graph Attention Mechanism)
图注意力机制(Graph Attention Network, GAT)是一种改进的GNN,利用注意力机制为不同邻居节点赋予不同的权重,以提升模型的表达能力。
在GAT中,每个节点对其邻居节点计算一个注意力系数,注意力系数表示该邻居节点的重要程度。常见的注意力系数计算方式为:
[
\alpha_{vu} = \frac{\exp(\text{LeakyReLU}(a^T [Wh_v \parallel Wh_u]))}{\sum_{k \in N(v)} \exp(\text{LeakyReLU}(a^T [Wh_v \parallel Wh_k]))}
]
其中:
- ( \alpha_{vu} ) 表示节点 ( v ) 对其邻居节点 ( u ) 的注意力系数。
- ( W ) 是用于线性变换的权重矩阵,( a ) 是用于计算注意力分数的权重向量。
- ( \parallel ) 表示特征向量的拼接操作。
- 通过注意力机制,节点可以“选择性”地聚合重要邻居节点的特征,而忽略不相关的邻居节点。
3.5 跳数聚合(K-hop Aggregation)
跳数聚合是一种控制信息传播范围的机制。GNN的每一层都会使节点的特征融合更多邻居节点的信息,每增加一层,节点就能接收到更远的节点信息。
- 1-hop 聚合:节点仅聚合直接相连的邻居节点特征。
- K-hop 聚合:经过 ( K ) 层,节点的特征包含至多 ( K ) 跳距离内节点的信息。
适当的跳数选择非常关键。过多的跳数可能导致“过平滑”(oversmoothing)问题,即所有节点特征趋于一致,失去辨别力。通常,GNN在图中的有效层数在2-3层之间,具体取决于图的结构。
3.6 归一化操作(Normalization)
在GNN中,为了防止特征在多层传播过程中变得不稳定,常用一些归一化操作。邻接矩阵的归一化是其中的一个关键步骤。常见的邻接矩阵归一化方法有:
- 度归一化:在邻接矩阵两侧乘以度矩阵的逆矩阵(如 (\tilde{D}^{-1/2} \tilde{A} \tilde{D}^{-1/2})),能够平衡不同节点度数的影响。
- 层归一化(Layer Normalization):在每层计算中,对节点的特征进行标准化处理,使得特征的均值为0,方差为1,提高训练的稳定性。