©PaperWeekly 原创 · 作者 | 于星橦
单位 | 中国科学技术大学博士生
研究方向 | 图神经网络
论文题目:
GraphPrompt: Unifying Pre-Training and Downstream Tasks for Graph Neural Networks
论文链接:
https://arxiv.org/pdf/2302.08043.pdf
代码链接:
https://github.com/Starlien95/GraphPrompt
收录会议:
WWW 2023 Research Track
作者主页:
https://xingtongyu.netlify.app/
图可以模拟对象之间的复杂关系,从而实现众多网络应用,例如在线页面/文章分类和社交推荐。虽然图神经网络(GNN)已经成为图表示学习的强大工具,在端到端的有监督场景下,GNN 的性能严重依赖于大量有标签的数据。为了减少标签要求,“pre-train,fine-tune”(预训练,微调)和“pre-train,prompt”(预训练,提示)范式变得越来越常见。
特别地,prompt 是自然语言处理(NLP)中fine-tune 的流行替代方案,旨在以任务特定的方式缩小预训练和下游目标之间的差距。
然而,现有关于图上 prompt 的研究仍然有限,缺乏普适的处理方式来适用于不同的下游任务。在本文中,我们提出了 GraphPrompt,一种新颖的图预训练和提示框架。GraphPrompt 不仅将预训练和下游任务统一为一个通用任务模板,还使用可学习的 prompt 来协助下游任务以任务特定的方式从预训练模型中定位最相关的知识。最后,我们在五个公共数据集上进行了大量实验,以评估和分析 GraphPrompt。
统一框架
▲ GraphPrompt框架图
我们首先在图 2 中介绍了 GraphPrompt 的总体框架。我们的框架部署在图 2(a) 中展示的一组无标签图上,用于图 2(b) 中的预训练。预训练采用了一个无监督的链接预测任务。在图 2(c) 中,我们利用可学习 prompt 来指导每个下游任务,即节点分类或图分类,以便针对特定任务充分利用预训练模型。
1.1 统一实例:子图
预训练和下游任务统一的关键在于找到一个通用的任务模板。然后,可以进一步将任务特定prompt与每个下游任务的模板融合,以结合不同任务独有的特征来进行学习。图学习的关键在于对图拓扑结构的利用。子图是一种能够表达节点和图级别实例的通用结构。在节点级别,上下文子图不仅包含节点的自身信息,而且还包含丰富的上下文信息;在图级别,一个图最大的子图就是它本身。
总之,子图可以用于表示节点和图级实例:给定一个实例 ,它可以是一个节点或一个图(例如, 或 ),子图 提供了一个统一的方式来获取与 相关的信息。
1.2 统一任务模板
1.2.1 链接预测
给定一个图 和一个节点三元组 ,使得 且 ,我们将会有:
直观上,节点 的上下文子图应该更类似于与节点 相连的节点的上下文子图,而不是另一个未连接的节点的上下文子图。
1.2.2 节点分类
考虑一个图 ,其中包含一组节点类别 和一组带标签的节点 ,其中 , 是 的相应标签。由于采用了 𝑘-shot 设置,对于每个类别 ,对于每个类别 ,在 中恰好存在 对 。对于每个类别 ,进一步定义一个由向量 表示的节点类别原型子图:
类别原型子图是一个“虚拟”的子图,其潜在表示与节点上下文子图在相同的特征空间中。对于一个未标记的节点 ,它的类别标签 为:
直观上,一个节点应该属于与该节点上下文子图最相似的类别原型子图所属的类别。
1.2.3 图分类
考虑一个由图 G 和图类别 C 组成的集合,以及一个带标签的图集 ,其中 且 是 对应的标签。在 𝑘-shot 设置中,对于每个类别 ,都有恰好 𝑘 对 。与节点分类类似,对于每个类别 ,我们定义一个图类别原型子图,该原型子图也由 𝑐 中(sub)graph 的均值嵌入表示:
给定一个不在标记集合 D 中的图 ,则其类别标签 为:
直观上,一个图应当属于其类原型子图与其本身最相似的那个类。
1.2.4 节点任务和图任务的统一
值得注意的是,节点分类和图分类可以进一步缩减为一组符号表示, 代表一组图上的信息,𝑥 可以是一个节点或图,而 是 𝑥 在类集合 𝑌 中的类标签。
在获得子图表示时,我们使用 Readout 方法来读出子图的节点表示:
1.3 预训练阶段
链接预测任务以两个节点的上下文子图的相似性为锚定。一般来说,两个正(相连的)节点的子图应该比负(不相连的)候选节点更相似,如图 2(b) 所示。给定一个图 𝐺 上的节点 𝑣,我们从 𝑣 的邻居中随机采样一个正节点 𝑎,从不与 𝑣 相连的节点中采样一个负节点 𝑏,形成一个三元组 。
我们的目标是增加上下文子图 和 之间的相似性,同时减少 和 之间的相似性。更一般地,在一组无标签的图 𝐺 上,我们从每个图中采样若干个三元组来构建一个总的训练集 。然后,我们定义如下的预训练损失函数:
1.4 下游任务提示
受自然语言处理中 prompt 的启发,我们提出了一个的新型图上任务特定的可学习 prompt。
1.4.1 Prompt设计
我们的 prompt 与自然语言中的的 prompt 有两点不同。首先,我们有一个与 masked language modeling 不同的任务模板。其次,由于我们的提示是为图结构设计的,它们更加抽象,不能采用基于语言的指令形式。因此,它们几乎不可能是手工设计的。相反,它们应该与图学习的核心一致,与拓扑结构有关。
特别地,在子图相似性学习的任务模板下,用于生成子图表示的 ReadOut 操作可以针对不同的下游任务进行不同的“提示”。直观地说,不同的任务可以从不同的聚合方案中受益于其 ReadOut。例如,节点分类更关注与目标节点相关的特征。相反,图分类往往集中在与图类相关的特征上。此外,重要特征也可能因任务中不同的实例或类别集合而有所不同。
表示下游任务 𝑡 的可学习提示向量,如图2 (c) 所示。在子图 上进行辅助提示的 ReadOut 操作,针对任务 𝑡,可以表示为:
更复杂的 prompt,例如注意力层,是另一种选择。但是,prompt 而不是 fine-tune 的主要动机之一是减少对标记数据的依赖。在少样本场景中,由于监督信息非常有限,具有较少参数的 prompt 更有效果,以减轻过拟合的风险。因此,我们采用上面的中的特征加权方案作为我们的 prompt,因为 prompt 是与节点特征具有相同长度的单个向量,而节点特征维度通常是一个小的数字。
1.4.2 Prompt微调
考虑一个带有标记训练集 的任务 ,其中 是一个实例(即一个节点或一个图), 是 在类集合 𝑌 中的类标签。提示调整的损失定义为:
Prompt 的微调损失只由可学习的 prompt 向量 参数化,而没有使用 GNN 权重。同时,预训练的 GNN 参数在下游任务中被冻结,不进行进行微调。
结果
我们进行了两种不同于预训练中链路预测任务的下游任务,即在少样本情境下的节点分类和图分类。
2.1 少样本节点分类
我们在三个数据集上进行节点级任务,即 Flickr、PROTEINS 和 ENZYMES 数据集。
我们提出的 GraphPrompt 在这三个数据集上均优于所有基线模型,这表明 GraphPrompt 有效地将预训练的知识转移到下游任务在节点分类任务上取得了优秀的结果。
2.2 少样本图分类
我们进一步在四个数据集上进行少样本图形分类,即 PROTEINS、COX2、ENZYMES 和 BZR 数据集。
我们提出的 GraphPrompt 在这四个数据集上显著优于基线模型。这再次证明了预训练和下游任务的统一性的必要性,以及 prompt 辅助任务特定聚合对于 ReadOut 的有效性。
2.3 不同样本数目时的结果
我们研究了在 PROTEINS 和 ENZYMES 数据集上少样本情况下样本数量对实验结果的影响。
总的来说,我们提出的 GraphPrompt在少样本情况下持续优于基线模型,特别是在样本数量较少时。对于节点分类任务,由于每个图中的节点数量相对较少,每个类别 10 个样本可能已足够用于半监督节点分类。然而,即使只有 10 个样本,GraphPrompt 仍然具有竞争力。
对于图分类任务,当样本数量增加时(例如 20 个或更多),一些基线模型可能会超越 GraphPrompt,特别是在 ENZYMES 数据集上。在这个数据集上,每个类别 30 个样本意味着使用 600 个图形中的 30% 进行训练,这不是我们的目标情境。
结论
本文研究了图上 prompt 的问题,并提出了 GraphPrompt,以克服监督或“预训练,微调”范式下图神经网络的局限性。
具体而言,为了缩小预训练和下游目标之间的差距,我们引入了一个统一框架,将不同的任务映射到一个共同的任务模板中。此外,为了区分任务个性并实现任务特定的最优值,我们提出了一个可学习的任务特定 prompt 向量,引导每个下游任务充分利用预训练模型。最后,我们在五个公共数据集上进行了广泛的实验,并表明 GraphPrompt 显著优于各种最先进的基线模型。
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
·
·
文章出处登录后可见!