一、研究背景和核心问题

核心问题: 图机器学习,特别是图神经网络,在面对零样本场景时,泛化能力严重不足。所谓零样本,就是指模型在训练时完全没有见过目标数据集或目标任务的标签。

现有方法的局限性:

  1. 传统GNNs: 如GCN, GAT, GraphSAGE等,虽然在特定数据集和任务上表现出色,但其学习到的表征高度依赖于训练时的数据分布和任务目标,难以直接迁移到新的、未知的图数据上。

  2. 自监督GNNs: 如DGI, GraphCL等,通过对比学习等方式进行预训练,减少了对标签的依赖。但在应用于下游任务时,通常仍需要一个任务特定的微调过程,这破坏了零样本学习的设定。

  3. 图提示学习: 如GraphPrompt, ProG等,试图通过统一的提示模板来桥接预训练和下游任务。但它们往往需要大量的任务特定微调,并且受限于任务类型的特定性。

  4. 基于LLM的方法:

    • 将图结构转为文本输入LLM:这种方法往往无法让LLM有效理解复杂的图结构信息,效果不佳。

    • 用LLM作为增强器:例如生成数据或文本描述,但最终预测仍由GNN完成,未能充分利用LLM的泛化能力。

    • 用LLM作为预测器:如GraphGPT, LLaGA,这是一个有前景的方向。但它们面临一个关键挑战:如何生成能够被LLM有效理解、且在不同任务和数据集间可迁移的图表征? 现有方法要么依赖对LLM的精细微调(可能损害其固有知识),要么绕过GNN导致图结构信息利用不充分,导致性能不稳定。

研究动机: 收到指令微调后的LLM所展示的清大零样本能力的启发,本文思考:能否将强大的图结构信息提取能力与LLM强大的语义理解和泛化能力深度融合,创造出一个真正的“零样本图学习”?

二、 核心方法:TEA-GLM框架

核心思想:预训练一个GNN,将其输出的节点表征与LLM的token嵌入空间进行对齐。然后,通过一个简单的线性投影器,将任意图任务的输入(节点,边,图)转换为固定数量的“图token”,并嵌入到一个统一的指令模板中,直接让冻结参数的LLM进行零样本预测。

整个框架主要包含两个主要阶段:

阶段一:面向LLM的图自监督学习

这个阶段的目标:训练一个GNN编码器f_GNN,使其输出的节点表征U既包含丰富的图结构信息,又位于LLM能够理解的语义空间中。

1. 实例级对比学习:

损失函数为:

其中:

作用:让 GNN 学会提取结构鲁棒的节点表示(对边/特征扰动不敏感)。

  • 构造两个图的”视角“,对原始图做数据增强,生成两个略有不同的子图,数据增强方式有:
    RE:随机删除一些边,得到新邻接矩阵 A‘​=A∘R,其中 R 是随机 0-1 掩码矩阵。
    MF:随机屏蔽节点特征的某些维度, x’​=x∘m,m 是特征掩码向量。
    这样得到两个视图:
    G1​=(X'​,A'​),
    G2​=(X'',A''​)
  • 用GNN编码器提取表示:

    用同一个 GNN(比如 GraphSAGE)分别处理两个视图:

    U1​=GNN(X~1​,A~1​)∈RN×FU
    ​U2​=GNN(X~2​,A~2​)∈RN×FU​
    其中 ui(1)​ 和 ui(2)​ 是节点 vi​ 在两个视图下的表示。

  • 定义对比损失:

    对每个节点 vi​:

  • 正样本对:(ui(1)​,ui(2)​)
  • 负样本:其他所有节点在两个视图中的表示(共 2N−2 个)
  • θ(a,b)=cosine_similarity(a,b)
  • τ 是温度系数(通常 0.1~0.5)
  • 分母包含 intra-view(同视图)和 inter-view(跨视图)负样本
    总损失是对所有节点取平均,并对称计算:

2. 特征级对比学习

实例级对比学习只关心哪个节点像哪个节点,但不关心这些表示是否在LLM的语义空间里。
结果:GNN 表示可能在一个任意的欧氏空间,而 LLM 的 token embeddings 在一个高维语义空间(比如“cat”和“dog”很近,“cat”和“car”很远)。
如果直接把 GNN 表示喂给 LLM,LLM 会“看不懂”。

解决方案:让 GNN 的特征维度(即表示的每一列)对齐到 LLM token embeddings 的主成分方向。

  • 获取LLM的token embedding 空间主成分
    • 从 LLM(如 Vicuna)中取出大量 token 的 embeddings(比如 10,000 个常见词)

    • 对这些 embeddings 做 PCA(主成分分析)

    • 取前 P 个主成分(论文中 P=FL​,即 token 维度,如 4096)

    • 得到投影矩阵 C∈RP×FL​,其行是主成分方向

  • 将GNN表示投影到这个语义空间

    • 设 GNN 输出维度 FU​=FL​(与 LLM token 维度一致)
    • 对 GNN 表示 U∗​∈RN×FL​ 做线性变换:

      U~∗​=U∗​⋅C⊤

      这相当于把 GNN 表示“旋转”到 LLM 的主语义方向上。
  • 定义特征级对比损失
    • 不再对比“节点 vs 节点”,而是对比“特征维度 vs 特征维度”
    • 把 U~1​ 和 U~2​ 转置,得到特征向量:

      mi​=第 i 个特征维度在所有节点上的值∈RN
      ni​=同上,来自另一个视图

    • 目标:让同一个特征维度 i 在两个视图下尽可能相似,和其他维度 j=i 尽可能不同
      损失函数:

       

作用

  • 强制 GNN 学到的每个特征维度都对应 LLM 语义空间中的一个“有意义的方向”
  • 例如:某个维度可能代表“学术性”,另一个代表“计算机领域相关性”
  • 这样,当后续用线性投影器把 GNN 表示转成“graph tokens”时,LLM 才能理解!

3. 总损失函数

把两个损失加权平均:

训练完后:GNN 的参数就固定了!它输出的节点表示已经“对齐”到 LLM 的语义空间。

阶段二:对齐微调

为什么需要这一步:

想象一下:

  • 我们已经教会了GNN说"LLM能听懂的语言"(通过自监督学习对齐)

  • 但现在LLM还不知道如何用这种语言来回答问题

对齐微调就是要解决这个问题:教会LLM如何利用图表示来完成具体的图任务

1、指令设计

这是整个方法的灵魂,它定义了LLM和图信息之间的交互协议。

设计统一的指令模板,让LLM能够理解并执行各种图任务(节点分类、链接预测等)。

1、图信息提供部分:

这部分告诉LLM它将要处理的是什么图数据。

模板结构:

"Given the representation of a paper/two papers/a paper set: ⟨graph⟩, with the following information: Title: First Paper: {title₁} ..."

关键点:

  • ⟨graph⟩:这是图表示的占位符,后面会被实际的图词嵌入替换

  • {title₁}:节点的文本信息(如论文标题)

为什么只用标题?

  • 实验发现,使用更少的文本信息(只保留标题,去掉摘要等)反而效果更好

  • 当节点缺乏充分文本时,LLM会更依赖图结构信息来做判断

  • 这避免了文本信息"淹没"图结构信息的问题

2、任务描述部分

这部分明确告诉LLM要完成什么任务。

节点分类任务示例:

"Which arXiv CS sub-category does this paper belong to? Please directly give the most likely answer from the following sub-categories: {ans}"

关键设计:

  • 包含候选答案集合 {ans}:这是实现跨数据集泛化的关键

  • 让LLM学习"从给定集合中选择答案"的推理模式,而不是记忆特定数据集的答案

  • 这样训练出来的模型可以轻松适应新的候选答案集合

2、图词嵌入:将图表示输入LLM

核心思想:将GNN输出的图表示转换成LLM能够理解的”图词嵌入“。

1、线性投影器

使用一个简单的线性层将GNN表示映射为固定数量的token嵌入:

H_token = f_Linear(u_t)
  • u_t:GNN输出的节点表示

  • f_Linear:线性投影层

  • H_token:输出的K个图词嵌入,维度为 K × F_L

2. 不同任务的统一处理

节点级任务:直接将目标节点的表示映射为K个token
边级任务:先对两个端点节点的表示进行池化,再映射为K个token
图级任务:对全图节点表示池化后映射为K个token

3. 替换占位符

在指令中,用这些生成的图词嵌入替换掉 ⟨graph⟩ 占位符。

为什么这种方法有效?

  1. 统一性:不同级别任务使用相同格式,便于知识迁移

  2. 条件软提示:图词嵌入相当于实例相关的软提示,避免过拟合

  3. 高效性:只映射中心节点表示(GNN的消息传递已聚合了邻居信息)

三、 实验与分析

论文在8个公开数据集(3个引文网络,5个电子商务网络)上进行了全面实验,回答了三个研究问题。

RQ1: 跨数据集零样本能力如何?

  • 设置: 在Arxiv或Computer数据集上训练,然后在同领域的其他数据集上测试。

  • 结果(表1): TEA-GLM在几乎所有数据集上都取得了最优或次优的性能,显著超越了所有基线模型。

  • 关键对比:

    • 传统GNNs及自监督方法: 泛化能力极差,准确率接近随机猜测。

    • OFA: 在主题相关的数据集间(如Arxiv->Cora)有一定迁移性,但在主题不相关的电商数据集上性能骤降。

    • 纯LLM: Vicuna-7B性能稳定但平庸,因为它只看到了文本标题,缺乏图结构信息。

    • LLM+软提示: Vicuna-7B-SPT在电商数据集上失效,说明仅靠文本的软提示不足以实现迁移。

    • 其他GNN-LLM混合模型:

      • GraphGPT: 性能甚至不如纯LLM,可能因其两阶段微调损害了LLM的原始能力。

      • LLaGA: 在引文网络上尚可,但在更具挑战性的电商网络上泛化能力不足,因为它绕过了GNN,无法有效聚合图信息。

  • 结论: TEA-GLM通过将GNN表征与LLM token嵌入对齐,成功地实现了稳定、强大的跨数据集零样本迁移。

RQ2: 跨任务零样本能力如何?

  • 设置: 在节点分类任务上训练,直接用于边预测任务,不做任何微调

  • 结果(表2): TEA-GLM在绝大多数情况下依旧表现最佳。

  • 关键对比:

    • OFA: 出现了负迁移,在未见任务上表现很差。

    • 纯LLM: 性能接近随机(AUC≈0.5),因为它没有图结构信息来推断链接。

    • GraphGPT & LLaGA: 表现不稳定,在未见数据集上性能下降明显。

  • 结论: TEA-GLM的统一指令和图token设计,使其能够将在一个任务上学到的“推理模式”有效地迁移到另一个完全不同的任务上。

RQ3: 各组件贡献如何?(消融实验)

  • 设置:

    • w/o FC: 移除特征级对比学习。

    • w/o GT: 移除图token嵌入(即指令中不提供图信息)。

  • 结果(图2):

    • w/o GT的影响是毁灭性的,这证明了将图信息注入LLM的必要性。

    • w/o FC的影响是选择性的

      • 已见数据集上,性能略有提升。这是因为没有特征对齐的约束,模型可以更“专注”地拟合训练数据,但这也意味着过拟合风险增加。

      • 未见数据集和任务上,性能显著下降。这有力地证明了特征级对比学习对于零样本泛化能力至关重要。它确保了GNN学到的表征是LLM“友好”的、可理解的。

四、 其他细节与贡献总结

  • 附录分析:

    • 合法性率: TEA-GLM输出的答案在候选集中的比例远高于LLaGA,说明其指令设计和训练方法更稳定。

    • 参数敏感性:

      • 图token数量 K 在未见数据集上,K=1 就能取得很好效果,说明方法的高效性。

      • 主成分数量 P P=1000(能解释50%的方差)时效果最好,过多或过少都会损害性能。

总结贡献:

  1. 提出了TEA-GLM框架: 首次通过将GNN表征与LLM token嵌入在特征空间对齐,来实现图上的跨数据集、跨任务零样本学习。

  2. 设计了创新的训练方法: 结合了实例级和特征级对比学习,并引入了基于PCA的语义空间对齐技术。

  3. 引入了统一的任务接口: 通过固定数量的图token嵌入和统一的指令模板,简化了不同层级任务的处理流程。

  4. 进行了充分的实验验证: 在多个数据集和任务上证明了TEA-GLM的卓越性能,并通过消融实验深入分析了各组件的作用。

五、 局限性与未来工作

  • 局限性: 虽然框架设计上支持图级任务,但本文尚未通过具体实验进行验证。

  • 未来工作: 探索在图级任务(如图分类)上的表现,并将方法扩展到更复杂的图结构上。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐