The Survey of Few-shot Prompt Learning on Graph

发布于:2025-07-22 ⋅ 阅读:(16) ⋅ 点赞:(0)

一些零碎的话

少样本节点分类的目标是学习一个编码器,该编码器可以传输从基类CbaseC_{base}Cbase中的大量数据中学习到的拓扑和语义知识,并为来自具有有限标注节点的新类CnovelC_{novel}Cnovel的节点生成有区别的嵌入。

在这里插入图片描述
pretrain,fine-tune范式:对预训练模型进行微调是相当困难的,即耗时又占空间。此外,很难保证该模型在大量图的语料库上评估的泛化能力。当下游数据规模较小时,这个问题尤其严重。在这种情况下,模型容易对下游任务过拟合,使得预训练失去意义。
除此之外,pretrain,fine-tune范式存在预训练和下游任务之间目标不一致的问题,导致次优性能。一方面,预训练步骤旨在保留各种固有的图属性,例如节点/边特征,节点连接和局部/全局模式。另一方面,微调步骤旨在减少任务损失,以获取下游任务的真实标签。这两个步骤之间的差异可能相当大。例如,预训练可以集中于学习两个节点之间的连接模式(链路预测任务),而微调旨在调整可以处理节点或图属性(节点分类或图分类任务)。
图数据通常包含结构信息和节点特征信息,它们在不同的下游任务中扮演不同的角色。例如,在社交网络中,节点特征对分类结果有很大影响,而在蛋白质网络中,图结构起着更本质的作用。因此,图的快速调整应该同时考虑节点的特征信息和结构信息,并具有自适应地转换其中任何一个的能力。

TLP_2024

核心动机:解决少样本问题的关键不在于复杂的元学习算法,而在于能否预训练一个能产生高质量、通用节点表示的强大图编码器(GNN encoder)。

传导式线性探测(Transductive Linear Probing,TLP)包含两个解耦的阶段:

  • 预训练:使用一个强大的预训练策略(不局限于简单的监督学习,重点关注图对比学习GCL作为预训练策略)来训练一个GNN编码器gθg_{\theta}gθ,使其学习到整个图的通用知识。
  • 线性探测:冻结预训练好的编码器gθg_{\theta}gθ,将其用于提取新类别中所有节点(包括少量带标签的support set和待预测无标签的query set)的嵌入表示。然后,仅用support set的嵌入和标签来训练一个简单的线性分类器,并用它来预测query set的标签。

SMART_2024

在这里插入图片描述

SMART由两个主要组件构成:

  • Graph Contrastive Pretraining with Mixup:通过图对比学习在Graph Mixup数据增强的无标签图数据上进行预训练,得到一个强大的图编码器(GIN,做图级分类任务)。
  • Mixup and Prompt-tuning at Fine-tuning:将Graph Mixup应用于support set,引入提示微调,即在输入图的节点特征上增加一个可学习的、全局共享的提示向量。在微调阶段,只训练这个提示向量和最后的线性分类器。

GPF_2023

与Fine-tuning调优预训练模型的参数不同,prompt tuning专注于通过转换输入来调整数据空间。
(1)GPF(Graph Prompt Feature)
GPF专注于将额外的可学习参数合并到输入图的特征空间中。可学习分量ppp是维度为FFF的向量,其中FFF对应于节点特征的维度。它可以表示为p∈RFp\in \mathbb{R}^FpRF。将可学习变量ppp添加到图特征X\mathbf{X}X以生成提示特征X∗\mathbf{X^*}X,可表示为:
X=x1,x2,...,xN,X∗=x1+p,x2+p,...,xN+p\mathbf{X}={x_1,x_2,...,x_N},\mathbf{X^*}={x_1+p,x_2+p,...,x_N+p}X=x1,x2,...,xN,X=x1+p,x2+p,...,xN+p
提示特征X∗\mathbf{X^*}X取代了原始特征X\mathbf{X}X,并由预训练模型处理。
(2)GPF-plus
在GPF的基础上,GPF-plus为图中的每个节点viv_ivi分配一个独立的可学习变量pip_ipi,可以表示为:
p1,p2,...,pN∈RFX=x1,x2,...,xN,X∗=x1+p1,x2+p2,...,xN+pNp_1,p_2,...,p_N\in \mathbb{R}^F \\ \mathbf{X}={x_1,x_2,...,x_N},\mathbf{X^*}={x_1+p_1,x_2+p_2,...,x_N+p_N}p1,p2,...,pNRFX=x1,x2,...,xN,X=x1+p1,x2+p2,...,xN+pN
和GPF相似,提示特征X∗\mathbf{X^*}X取代了原始特征X\mathbf{X}X,并由预训练模型处理。然而,这样的设计并不普遍适用于所有场景。例如,当训练图具有不同的尺度(即变化的节点数),训练这样的一系列pip_ipi是具有挑战性的。此外,当处理大规模输入图时,由于其O(N)O(N)O(N)复杂度的可学习参数,此类设计需要大量的存储资源。为了解决这些问题,我们在生成pip_ipi时引入了一个注意力机制,使GPF-plus更具参数效率,并能够处理不同尺度的图。在实践中,我们只训练kkk个独立的基向量pbp^bpb,可以表示为:
p1b,p2b,...,pNb∈RFp_1^b,p_2^b,...,p_N^b\in \mathbb{R}^Fp1b,p2b,...,pNbRF
其中,kkk是可以基于下游数据集调整的超参数。为了获得节点viv_ivipip_ipi,我们在kkk个可学习线性投影aaa的帮助下利用这些基向量的注意力聚合。计算过程可以表示为:
pi=∑jkαi,jpjb,αi,j=exp(ajTxi)∑lkexp(alTxi)p_i=\sum_{j}^{k}\alpha_{i,j}p_j^b,\alpha_{i,j}=\frac{exp(a_j^{\mathbf{T}}x_i)}{\sum_{l}^{k}exp(a_l^{\mathbf{T}}x_i)}pi=jkαi,jpjb,αi,j=lkexp(alTxi)exp(ajTxi)

GraphPrompt_2023

在这里插入图片描述
图上的所有实例(单个节点或者整个图)和任务,其本质都可以归结为子图(subgraph)及其相似性的学习,采用“pre-train prompt-tune”范式:

  • 预训练:采用自监督的链接预测任务,结合对比损失。对于一个三元组(v,a,b)(v,a,b)(v,a,b)(其中(v,a)(v,a)(v,a)是正样本边,(v,b)(v,b)(v,b)是负样本边),目标是拉近vvvaaa的子图表示svs_vsvsas_asa的距离,同时推远svs_vsvsbs_bsb的距离。
  • 下游任务提示:虽然任务都被统一了,但不同任务的最佳READOUT方式应该是不同的。引入一个可学习的Prompt向量ptp_tpt,其与子图内每个节点的表示hvh_vhv进行逐元素相乘,起到一个特征重加权的作用。在下游任务中,预训练好的GNN骨干网络完全冻结,不进行任何更新,优化的对象只有Prompt向量ptp_tpt,损失函数上仍然使用统一的相似度模板。

评价:GraphPrompt仅实现了数据集内的任务迁移,而没有实现跨数据集的知识迁移。

GraphPrompt+_2024

GraphPrompt存在两个核心局限,即预训练任务单一和Prompt设计简单。针对这两个问题,GraphPrompt+提出了两大核心改进:

  • 泛化预训练任务:让GraphPrompt的统一框架能够兼容任意基于对比学习的预训练任务,核心在于:对于一个目标实例ooo,最大化它与正样本aaa的相似度,同时最小化它与负样本bbb的相似度。
  • 泛化提示:让Prompt能够利用GNN编码器中所有层的层次化知识。具体来说,如果GNN有LLL层,就定义L+1L+1L+1个Prompt向量P=p0,p1,...,pLP={p^0,p^1,...,p^L}P=p0,p1,...,pL,其中p0p^0p0用于输入层,plp^lpl用于第lll层。每个Prompt向量plp^lpl被并行地、独立地作用于其对应层lll的输出表示HlH^lHl上,具体操作依然是逐元素相乘pl⊙Hlp^l\odot H^lplHl

Topo-Prompt*_2025

采用“Pretraining Fine-tuning”范式,先用GCL预训练一个GNN模型,然后进入核心的“Topology-level Prompt Fine-tuning”阶段。

  • 对输入图进行Bootstrap Sampling
  • 通过持续同调计算激活图中的拓扑描述子;
  • 弗雷歇均值计算这一系列拓扑描述子的平均值,作为topo-prompt与原始嵌入结合形成增强嵌入。

Meta-BP_2025

与白盒场景相比,在更现实的黑盒 (black-box) 场景下,如何利用预训练GNN进行少样本学习?在黑盒场景中,预训练模型通常以API或云服务的形式提供(Model-as-a-Service, MaaS),我们只能得到其输出(如节点表示),但无法访问其内部参数和梯度。
两大挑战:
(C1)如何有效利用黑盒GNN?

  • 预训练任务和下游的少样本分类任务之间存在目标差距。预训练模型学到的知识可能是通用的,但其中包含大量与特定下游任务无关的冗余信息,这些信息可能会干扰甚至损害少样本学习的效果。
  • 由于无法通过反向传播微调预训练模型,不能直接纠正这些偏差。

(C2)如何设计可泛化的学习模块?

  • 既然预训练模型不能动,我们就需要在它后面接一个可学习的下游模块。为了快速自适应任务,这个模块最好用元学习来训练。
  • 但是,图领域的元学习任务通常数量不多、多样性有限,这会导致元学习模型过拟合,难以泛化到真正未见过的新任务。模型设计得太复杂容易过拟合,太简单又学不到足够的能力。

Meta-BP框架设计了一个轻量级的图元学习器(GML),作为黑盒预训练GNN与下游任务之间的“智能适配器”:

  • 设计图元学习器GML:接收来自黑盒预训练模型的输出,并生成下游任务所需的最终节点表示。
  • 提取最小充分信息:基于信息瓶颈(IB)原理,GML生成的表示ZZZ应该满足两个条件,即ZZZ包含足够多的关于最终标签YYY的信息和ZZZ尽可能地忘记来自原始黑盒输出OOO的信息(压缩OOO),将这两个目标组合成一个统一的损失函数:
    LI=minZ∼GML(⋅)I(O;Z)−βI(Z;Y)L_I=\underset{Z\sim GML(\cdot)}{min}I(\mathbf{O};\mathbf{Z})-\beta I(\mathbf{Z};\mathbf{Y})LI=ZGML()minI(O;Z)βI(Z;Y)
  • 剪枝图元学习器:在元训练(meta-training)时,不只学习其权重,还要同时学习一个二元掩码(mask)mmm,这个掩码会关闭GML中不重要的连接,从而得到一个稀疏的子网络。

整个Meta-BP模型是在情景式元学习(Episodic Meta-learning)框架下进行端到端优化的,总损失函数包含了信息瓶颈损失和剪枝损失:
LMeta=LI+α∗LSL_{Meta}=L_I+\alpha * L_SLMeta=LI+αLS

ProG_2024

所有的图提示方法,无论形式如何,都可以被抽象和解构为三个基本组件:

  • 提示符(Prompt Tokens):这是提示的核心,是一些可学习的向量。
  • 提示符结构(Token Structure):提示符内部可能存在结构,比如它们自己组成一个小图。
  • 插入模式(Insert Patterns):如何将提示符连接(插入)原始图中。

基于上述组件的实现方式,现有方法可以归纳为两大类:

  • 提示即图谱(Prompt as Graph):提示本身是一个带有内部结构的小图,然后通过某种方式嫁接到原始图上,如All-in-one。
  • 提示即令牌(Prompt as Token):提示是一组独立的、无内部结构(或结构简单)的向量,通过修改节点或重构任务的方式来影响模型,如GPPT、GraphPrompt、GPF、GPF-plus。

ProG是一个基于PyTorch的一站式平台,包含了:

  • 模型骨干(Model Backbone):集成了多种常用的GNN模型;
  • 预训练(Pre-training):集成了6种流向的、涵盖节点/边/图三个层级的预训练方法;
  • 提示模块(Prompting):统一实现了5种最具代表性的SOTA图提示方法;
  • 评估与工具(Evaluation & Utils):内置了公平的评估流程、度量标准、数据加载器和各种工具函数。

数据集涵盖了15个不同规模、不同领域、同构/异构的图数据集,下游任务包括节点分类和图分类,实验设置是严格的少样本设置。通过ProG平台对各种方法组合进行了大规模的实验,主要发现如下:

  • 总体性能 (Overall Performance): 图提示方法在绝大多数情况下显著优于传统的监督学习和“预训练-微调”方法,尤其是在少样本(1-shot)场景下,证明了其在知识迁移上的优越性。
  • 缓解负迁移 (Mitigation of Negative Transfer): “预训练-微调”范式经常出现负迁移(性能还不如直接监督学习),而图提示方法能有效地扭转这种负迁移,使其变为正迁移。这在热力图(Fig. 3)中表现得非常直观。
  • 预训练任务与下游任务的一致性很重要 (Consistency in Pretext and Downstream Tasks): 节点级的预训练任务(如GraphMAE)与节点分类下游任务结合时效果更好;图级的预训练任务(如SimGRACE)与图分类下游任务结合时效果更好。
  • 灵活性分析 (Flexibility Analysis): 评估了不同提示方法模拟图变换(如删点、删边)的能力。结果表明,All-in-one和Gprompt这类更灵活的提示,其模拟误差更小,性能也往往更好。
  • 效率分析 (Efficiency Analysis): 图提示方法由于只调整少量参数,训练速度远快于微调整个模型。
  • 适应性分析 (Adaptability on Different Graphs): 对不同类型的图(大规模图、纯结构图、异构图等)进行了分析,指出了各种提示方法的优势和局限性。例如,GPPT在处理异构图和纯结构图时表现不佳。

网站公告

今日签到

点亮在社区的每一天
去签到