图神经网络(GNN)中的图自监督学习(Graph Self-Supervised Learning)方法详解
字数 1688 2025-11-09 06:36:18

图神经网络(GNN)中的图自监督学习(Graph Self-Supervised Learning)方法详解

1. 问题背景与定义

图自监督学习(Graph SSL)是一种无需人工标注标签的图表示学习方法,其核心思想是通过设计辅助任务(pretext tasks)从图数据本身挖掘监督信号,学习节点、子图或全图的低维向量表示。这些表示可用于下游任务(如节点分类、链接预测等)。图SSL解决了图数据标注成本高的问题,成为图神经网络领域的重要研究方向。

2. 图SSL的核心思想

  • 核心问题:如何在不依赖外部标签的情况下,让GNN学习到有意义的图结构表示?
  • 基本思路:利用图自身的结构特性(如节点连通性、邻居关系)或属性信息构造伪标签,通过预测这些伪标签来驱动模型学习。例如,如果两个节点在图上游走时接近,它们的表示应该相似。

3. 图SSL的典型方法分类

图SSL方法可分为两类:对比学习生成式学习

3.1 对比学习(Contrastive Learning)

  • 目标:通过区分正样本对(相似实例)和负样本对(不相似实例)来学习表示。
  • 关键步骤
    1. 数据增强:对原图进行变换(如节点掩码、边扰动),生成多个视图。
    2. 正负样本对构造
      • 正样本:同一节点在不同视图中的表示。
      • 负样本:不同节点的表示。
    3. 损失函数:常用InfoNCE损失,拉近正样本对的距离,推远负样本对的距离。
  • 典型模型:DGI(Deep Graph Infomax)、GRACE。
  • 示例(DGI)
    • 步骤1:用GNN编码原图生成节点表示 \(h_i\)
    • 步骤2:对原图进行腐蚀(如随机扰动边)生成负图,编码得到 \(h_i'\)
    • 步骤3:定义全局图表示 \(s = \sigma(\frac{1}{N}\sum_i h_i)\)(读出的函数)。
    • 步骤4:损失函数最大化原图节点表示与全局图表示的互信息:

\[ \mathcal{L} = -\frac{1}{N} \sum_{i=1}^N \left[ \log \sigma(h_i^T s) + \log (1 - \sigma(h_i'^T s)) \right] \]

3.2 生成式学习(Generative Learning)

  • 目标:通过重建图数据本身的某些部分(如节点属性或边结构)来学习表示。
  • 典型任务
    • 属性掩码:随机掩码节点属性,让GNN预测被掩码的属性。
    • 边重建:掩码部分边,让模型预测边是否存在。
  • 示例(属性掩码)
    1. 随机选择部分节点,将其特征向量置为零或随机向量。
    2. 用GNN编码全图,得到每个节点的表示 \(h_i\)
    3. 通过解码器(如MLP)从 \(h_i\) 预测被掩码的特征:\(\hat{x}_i = \text{MLP}(h_i)\)
    4. 损失函数为掩码特征的MSE损失:\(\mathcal{L} = \frac{1}{|\mathcal{M}|} \sum_{i \in \mathcal{M}} \| x_i - \hat{x}_i \|^2\),其中 \(\mathcal{M}\) 为掩码节点集合。

4. 图SSL的通用训练流程

  1. 输入:图 \(G = (V, E, X)\)(节点集 \(V\)、边集 \(E\)、特征矩阵 \(X\))。
  2. 预训练
    • 选择SSL方法(对比或生成式)。
    • 构造辅助任务,用无标签数据训练GNN编码器。
  3. 下游任务微调(可选):
    • 将预训练编码器用于节点分类等任务,可冻结编码器或联合微调。

5. 图SSL的优势与挑战

  • 优势
    • 减少对标注数据的依赖。
    • 学到的表示可迁移到多个下游任务。
  • 挑战
    • 辅助任务的设计需与下游任务相关。
    • 对比学习中负样本的选择可能影响性能。

6. 总结

图自监督学习通过挖掘图内在结构作为监督信号,扩展了GNN在无标注场景下的应用。核心方法包括对比学习(强调样本间区分)和生成式学习(强调数据重建),两者均需巧妙设计辅助任务以捕捉图语义信息。

图神经网络(GNN)中的图自监督学习(Graph Self-Supervised Learning)方法详解 1. 问题背景与定义 图自监督学习(Graph SSL)是一种无需人工标注标签的图表示学习方法,其核心思想是通过设计辅助任务(pretext tasks)从图数据本身挖掘监督信号,学习节点、子图或全图的低维向量表示。这些表示可用于下游任务(如节点分类、链接预测等)。图SSL解决了图数据标注成本高的问题,成为图神经网络领域的重要研究方向。 2. 图SSL的核心思想 核心问题 :如何在不依赖外部标签的情况下,让GNN学习到有意义的图结构表示? 基本思路 :利用图自身的结构特性(如节点连通性、邻居关系)或属性信息构造伪标签,通过预测这些伪标签来驱动模型学习。例如,如果两个节点在图上游走时接近,它们的表示应该相似。 3. 图SSL的典型方法分类 图SSL方法可分为两类: 对比学习 和 生成式学习 。 3.1 对比学习(Contrastive Learning) 目标 :通过区分正样本对(相似实例)和负样本对(不相似实例)来学习表示。 关键步骤 : 数据增强 :对原图进行变换(如节点掩码、边扰动),生成多个视图。 正负样本对构造 : 正样本:同一节点在不同视图中的表示。 负样本:不同节点的表示。 损失函数 :常用InfoNCE损失,拉近正样本对的距离,推远负样本对的距离。 典型模型 :DGI(Deep Graph Infomax)、GRACE。 示例(DGI) : 步骤1:用GNN编码原图生成节点表示 \( h_ i \)。 步骤2:对原图进行腐蚀(如随机扰动边)生成负图,编码得到 \( h_ i' \)。 步骤3:定义全局图表示 \( s = \sigma(\frac{1}{N}\sum_ i h_ i) \)(读出的函数)。 步骤4:损失函数最大化原图节点表示与全局图表示的互信息: \[ \mathcal{L} = -\frac{1}{N} \sum_ {i=1}^N \left[ \log \sigma(h_ i^T s) + \log (1 - \sigma(h_ i'^T s)) \right ] \] 3.2 生成式学习(Generative Learning) 目标 :通过重建图数据本身的某些部分(如节点属性或边结构)来学习表示。 典型任务 : 属性掩码 :随机掩码节点属性,让GNN预测被掩码的属性。 边重建 :掩码部分边,让模型预测边是否存在。 示例(属性掩码) : 随机选择部分节点,将其特征向量置为零或随机向量。 用GNN编码全图,得到每个节点的表示 \( h_ i \)。 通过解码器(如MLP)从 \( h_ i \) 预测被掩码的特征:\( \hat{x}_ i = \text{MLP}(h_ i) \)。 损失函数为掩码特征的MSE损失:\( \mathcal{L} = \frac{1}{|\mathcal{M}|} \sum_ {i \in \mathcal{M}} \| x_ i - \hat{x}_ i \|^2 \),其中 \( \mathcal{M} \) 为掩码节点集合。 4. 图SSL的通用训练流程 输入 :图 \( G = (V, E, X) \)(节点集 \( V \)、边集 \( E \)、特征矩阵 \( X \))。 预训练 : 选择SSL方法(对比或生成式)。 构造辅助任务,用无标签数据训练GNN编码器。 下游任务微调 (可选): 将预训练编码器用于节点分类等任务,可冻结编码器或联合微调。 5. 图SSL的优势与挑战 优势 : 减少对标注数据的依赖。 学到的表示可迁移到多个下游任务。 挑战 : 辅助任务的设计需与下游任务相关。 对比学习中负样本的选择可能影响性能。 6. 总结 图自监督学习通过挖掘图内在结构作为监督信号,扩展了GNN在无标注场景下的应用。核心方法包括对比学习(强调样本间区分)和生成式学习(强调数据重建),两者均需巧妙设计辅助任务以捕捉图语义信息。