图神经网络(GNN)中的图分类任务与图级表示学习
字数 1383 2025-11-09 00:36:42
图神经网络(GNN)中的图分类任务与图级表示学习
描述
图分类是图学习中的核心任务之一,目标是对整张图进行类别预测(如分子性质预测、社交网络分类)。与节点分类不同,图分类需要将整张图的结构信息聚合为单一的向量表示(图嵌入),再输入分类器。核心挑战在于如何设计有效的图级表示学习机制,使其能捕捉图的全局拓扑特征。
关键步骤分解
-
图级表示学习的基本思路
- 图数据包含节点特征、边结构和全局信息,直接使用邻接矩阵会面临计算复杂度和尺寸不统一的问题。
- 主流方法:先通过图神经网络(GNN)层逐层聚合邻居信息,生成节点嵌入,再通过读出函数(Readout Function) 将所有节点嵌入聚合为图嵌入。
- 公式化流程:
- 节点嵌入生成:\(H^{(l)} = \text{GNN-layer}(A, H^{(l-1)})\)(A为邻接矩阵,H为节点特征)
- 图嵌入生成:\(h_G = \text{Readout}(\{h_v^{(L)} \mid v \in V\})\)(L为最后一层,V为节点集合)
-
读出函数的设计原则
- 要求:对节点排列不变性(图结构不受节点编号顺序影响)、能保留图的区分性特征。
- 常见方法:
- 求和/均值/最大值池化:对节点嵌入按维度进行聚合。
- 求和:\(h_G = \sum_{v \in V} h_v\)(适合捕捉规模相关特征,如分子原子总数)
- 均值:\(h_G = \frac{1}{|V|} \sum_{v \in V} h_v\)(消除图大小的影响)
- 最大值:\(h_G = \max_{v \in V} h_v\)(突出显著局部模式)
- 层次化池化:如DiffPool(通过聚类逐步粗化图结构,保留层次信息)。
- 注意力学池化:如SetTransformer,通过注意力权重加权聚合重要节点。
- 求和/均值/最大值池化:对节点嵌入按维度进行聚合。
-
GNN层与图分类的协同优化
- 浅层GNN(如2-3层)可能无法捕捉长距离依赖,需结合跳跃连接或深层架构(如GIN、GatedGCN)。
- 实践技巧:
- 在读出前使用多层GNN,每层输出可拼接或加权融合(如Jumping Knowledge Networks)。
- 结合全局图属性(如全局节点数)作为补充特征。
-
典型模型示例:图同构网络(GIN)
- 动机:最大化GNN的表达能力,使其达到WL图同构测试的区分度。
- 节点更新公式:\(h_v^{(l)} = \text{MLP}^{(l)}\left((1+\epsilon^{(l)}) \cdot h_v^{(l-1)} + \sum_{u \in N(v)} h_u^{(l-1)}\right)\)
- 读出设计:求和池化(理论证明求和能保留单射聚合特性,避免信息损失)。
-
训练与正则化策略
- 损失函数:图嵌入输入全连接层后使用交叉熵损失。
- 过拟合应对:
- 图数据增强(如边扰动、节点丢弃)。
- 图级Dropout(随机屏蔽部分节点或边)。
- 虚拟节点(添加连接所有节点的虚拟节点,增强信息流动)。
总结
图分类任务的核心是通过GNN和读出函数的组合,将非欧几里得结构的图映射为欧氏空间中的向量。设计时需平衡表达能力和计算效率,并利用图的理论性质(如排列不变性)指导结构选择。实际应用中需根据图的特点(如小分子图的稀疏性、社交图的稠密性)调整聚合策略。