本文聚焦于提示学习在图神经网络中的应用,旨在带领读者了解图提示学习及其最新进展。
提示学习源自自然语言处理,是近年来新兴起的一种方法。“预训练,提示“的范式在将预训练语言模型推广到各种下游语言任务中已经取得显著的成功。与NLP类似,在图神经网络领域,我们也面临着让预训练的大型模型适用于不同下游任务的挑战。在已有的工作中,“预训练,微调”的范式的研究已经相当深入。虽然二者都是让预训练模型和下游任务靠的更近,并且目标都是减少标注需求,但“预训练,微调”是让预训练模型“迁就“各种下游任务,而”预训练,提示“则是让各种下游任务来“迁就“预训练模型。此外,微调需要对原本模型的参数进行调整,由此会带来较大的额外开销,而我们使用提示学习则可以在不改变原本神经网络参数的情况下,让已有的预训练模型对下游任务进行高效适配。在设计图预训练模型时,由于节点级别,边级别,以及图级别的任务存在着差异,下游任务的多样化使得我们预训练任务和我们的下游任务存在着一定的不兼容。这些问题和挑战进而引发了将提示学习应用在图领域的研究热潮。
论文链接:https://dl.acm.org/doi/abs/10.1145/3534678.3539249
动机 图神经网络在表示学习方面表现出了巨大的潜力,但通常需要大量标记数据进行监督训练,这在实际应用中成本高昂。为了解决标记数据不足的问题,提出了利用迁移学习的方法,在图领域中先利用前提任务进行预训练,然后微调以适应下游任务,从而节省标记数据的成本。虽然近年来自监督前提任务的设计和通用图知识的编码变得流行,但它们很少关注前提任务与下游任务之间的训练目标差距。预训练目标和下游任务的差距通常需要昂贵的微调来适应下游问题,限制了预训练知识的高效利用,导致性能不佳。而过于简单的预训练策略可能会降低下游任务的性能,会损害图数据中迁移学习的可靠性。为了弥合任务差距,作者提出了一种新的转移学习范式,即图预训练和提示调整(GPPT)。
主要贡献
为了解决图神经网络在监督训练中的训练目标差距问题,作者引入了GPPT ( Graph Pre-training and Prompt Tuning) 范式,提高了图神经网络的性能和效率。
作者提出了一种图提示函数,将独立的节点转化为令牌对,通过任务令牌和结构令牌的组合重新将下游节点分类转化成了链接预测问题。这个设计有助于缩小预训练和下游任务之间的训练目标差距。
通过在八个基准数据集和两个下游应用上进行广泛的实验,文章得出了结论,表明GPPT在各种训练策略中表现最佳,包括监督学习、联合训练和传统的迁移学习。在少样本图分析问题中,GPPT平均提高了4.29%的性能,并将微调时间成本节省了4.32倍。
方法
本文通过图提示函数生成一系列待分类的令牌对,将下游原本的节点分类任务转化成了和预训练前提任务类似的链接预测任务。具体地,结构令牌可以被理解成通过注意力模块对每个节点的邻域信息进行聚合后,获得的该节点的表示。任务令牌则是用于分类的标签,本文通过可扩展的聚类模块对输入的图数据进行聚类运算,从而获得每个类别对应的任务令牌。任务令牌可以被理解为添加到原始图中的类原型为伪节点。通过查询每个类原型节点生成令牌对,然后进行令牌对的相似度计算,便能够将图节点分类任务转化为图链接预测任务,从而弥合了前提任务和下游任务的差距。根据预训练的训练目标,该工作优化以下损失来优化提示: 表示标签类别𝑦𝑐和目标节点𝑣𝑖之间的真实连接。如果节点属于类别,则;否则为零。因此,该损失与预训练任务具有相同的训练目标(即链接预测),从而弥合了优化目标差距。接下来,介绍如何设计适用于图数据的任务令牌和结构令牌。
任务令牌生成:受自然语言处理中的连续令牌表示启发,任务令牌 被嵌入到可训练的向量中:。对于下游节点分类中的总共 类别,任务令牌的嵌入定义如下:。任务令牌可以被理解为添加到原始图中的类别原型节点,其中节点分类是通过查询每个类别原型节点来执行的。任务令牌 的最佳嵌入应位于类别 的节点嵌入的中心。
现有的基于提示的学习方法通常设计了所有训练样本共享的通用令牌 。然而,对于图上的不同节点来说,使用和调整单一任务令牌嵌入 将会很困难。在现实世界的网络中,固有的图特征之一是群集结构,每个节点都属于一个群集。同一群集内的节点彼此之间有密集的连接,而与其他群集的节点之间的连接则稀疏。在给定边缘预测预训练任务的情况下,预训练节点嵌入也将在嵌入空间中聚类。正如前面所解释的,任务令牌 的最佳嵌入应该随着群集的不同而变化。为了更好地在每个群集中执行节点分类任务,本文提出了基于群集的任务令牌生成,包括三个步骤:
结构令牌生成:与仅使用目标节点 进行下游分类不同,该工作应用结构令牌 来利用具有表现力的邻域信息。根据社交影响理论,靠近的节点往往具有相似的特征属性和类别模式。通过考虑积极相关的模式,人们更容易对节点进行分类,这也提供了决策的冗余信息,使其更加鲁棒。结构令牌 表示以节点 为中心的子图。在这里,利用了一阶相邻节点,最简单的子图,来构建 。然后,我们将结构令牌 嵌入到连续向量中,如下所示:
是用于聚合邻域表示的权重,并通过注意力函数进行学习。这里通过目标节点的信息邻居来定义图提示中的结构令牌。
论文链接:https://dl.acm.org/doi/pdf/10.1145/3543507.3583386 动机 虽然图神经网络已经成为图表示学习的强大工具,在端到端的监督设置中,它们的性能很大程度上依赖于大量的任务特定监督。为了减少标记要求,"预训练,微调" 和 "预训练,提示" 的范式变得越来越常见。特别是,提示已经成为自然语言处理中微调的一种流行替代方法,旨在以特定于任务的方式缩小预训练和下游目标之间的差距。然而,关于在图上使用提示的现有研究仍然有限,缺乏一种通用的方法来适用于不同的下游任务。本文旨在提出将预训练和下游任务整合到一个通用任务模板中,然后利用可学习的提示,以任务特定的方式辅助下游任务从预训练模型中获取最相关的知识。
主要贡献
该框架先在无标注的图上进行预训练,如图(a)所示;预训练采用的是链接预测任务,这是自监督的,不需要额外的注释,如图(b)所示。然后,如图(c)中所示,利用可学习的提示来引导每个下游任务,即将节点分类或图分类转化成链接预测任务,以便对预训练模型进行任务特定的利用。
将子图作为实例:统一预训练和下游任务的关键在于找到一个任务的通用模板。然后,任务特定的提示可以进一步与每个下游任务的模板融合,以区分不同任务的变化特征。与其他领域(如视觉和语言处理)相比,图学习的独特特点在于对图拓扑的利用。特别是,子图是一种通用结构,能够表示节点和图级别的实例。一方面,在节点级别,每个节点位于一个本地邻域中,这反过来为节点提供了上下文信息。
节点在图上的本地邻域通常由上下文子定义,其中其节点和边的集合分别由以下方式给出: 其中给出了图上节点和之间的最短距离,是一个预先确定的阈值。换句话说,由距离节点不超过跳的节点和这些节点之间的边组成。因此,上下文子图不仅包含节点的自身信息,还包含丰富的上下文信息,以补充自身信息。另一方面,对于图级别来说,图的最大子图,记为,就是图本身,即。最大子图则包含了图的所有信息。总之,子图可以用来表示节点和图级别的实例:给定一个实例,它可以是一个节点或一个图(例如,或),而子图提供了统一的访问与相关的信息的方式。
统一的任务模板:基于上述对节点和图级别实例的子图定义,该工作统一了不同的任务形式,以遵循一个共同的模板。具体来说,预训练中的链接预测任务和下游节点和图分类任务都可以重新定义为子图相似性学习。设是子图的向量表示,是余弦相似性函数。如图(b)和(c)所示,这三个任务可以映射到子图相似性的计算,其形式化如下。
直观地说,节点的上下文子图应该与与连接的节点的上下文子图更相似,而与另一个未连接的节点的上下文子图更不相似。
请注意,类原型子图是一个在与节点上下文子图相同的嵌入空间中具有潜在表示的"虚拟"子图。实际上它是给定类中带标签节点的上下文子图的平均表示。然后,对于不在带标签集中的节点,其类标签应为: 直观地说,一个节点应该属于其上下文子图与类原型子图最相似的类。
然后,对于不在带标签集中的图,其类标签应为: 值得注意的是,节点和图分类可以进一步压缩为一组相同的符号。设是一个带标注的图数据实例,即可以是节点或图, 是 在类别集合 中的类别标签。那么, 可以表示为: 最后,为了实现通用任务模板,给定由GNN生成的节点表示 ,计算 的标准方法是使用一个READOUT操作,该操作聚合子图中节点的表示。即,
提示函数设计: 形式上,让 表示下游任务 的可学习提示向量,如图(c)所示。用于下游任务 的提示辅助 READOUT 操作在子图 上的表示为: 其中是任务特定的子图表示,表示逐元素相乘。也就是说,我们对子图中的节点表示进行特征加权求和,其中提示向量是一种维度上的重新加权,以提取任务的最相关的先验知识。 考虑一个带有标签的训练集 的任务 ,其中 是一个实例(即节点或图), 是类别集合 中 的类别标签。整体提示调整的损失定义为:
“预训练,微调”已经成为许多图任务的标准工作流程,因为它可以利用通用的图知识来弥补每个应用中缺乏图标注的问题。然而,节点级别、边级别和图级别的图任务迥然不同,使得预训练的前提常常与这些多个任务不兼容。这种差距甚至可能对特定应用造成“负迁移”,导致结果不佳。受自然语言处理(NLP)中提示学习的启发,该工作旨在填补预训练模型与各种图任务之间的差距,提出了一种新颖的用于图模型的多任务提示方法。
贡献
**重构下游任务:**具体而言,该工作通过分别为节点和边构建诱导图,将节点级和边级任务重构为图级任务。如下图a所示,目标节点的诱导图指的是网络中在距离𝜏内的其局部区域,也被称为其 𝜏-邻域网络。这个子图通过相邻节点的连接保留了节点的局部结构,通过相邻节点的特征保留了其语义上下文,这是大多数图神经编码器的主要关注范围。当该工作将目标节点的标签视为此诱导图的标签时,该工作可以轻松将节点分类问题转化为图分类问题;同样,该工作在下图b中为一对节点呈现了一个诱导图。在这里,如果有一条连接它们的边,则可以将这对节点视为正边,否则视为负边。通过将这对节点扩展到它们的 𝜏 距离邻居,可以轻松构建此子图。该工作可以通过将目标节点对的边标签分配为图标签来重新制定边级任务。对于无权图,𝜏 距离等于 𝜏 跳长度;对于带权图,𝜏距离是指最短路径距离,诱导图可以通过许多高效的算法轻松找到。
提示图的设计: 提示令牌(Prompt Tokens):假设一个图实例为 ,其中 是包含个节点的节点集合;每个节点都有一个特征向量,用表示,其中是节点的特征向量; 是边集合,其中每条边连接了节点集合中的一对节点。通过前面的讨论,这里将提示图表示为,其中 表示提示令牌的集合,是令牌的数量。每个令牌都可以用一个与输入图中节点特征相同大小的令牌向量表示。使用这些令牌向量,可以通过将第 个令牌添加到图节点 (例如,)来重新构建输入图。然后,我们将输入特征替换为提示特征,并将其喂给预训练模型进行进一步处理。 令牌结构(Token Structures): 是由令牌之间的成对关系表示的令牌结构。与NLP提示不同,提示图中的令牌结构通常是隐式的。为了解决这个问题,我们提出了三种方法来设计提示令牌结构:
其中 是一个可调参数,表示令牌 和令牌 之间应该连接的可能性; 1. 第二种方法是使用每对提示令牌的点积,然后根据点积值对它们进行修剪。在这种情况下, 当且仅当 ,其中 是Sigmoid函数, 是预定义的阈值; 1. 第三种方法是将令牌视为独立的,然后有 。
插入模式:设 是插入函数,表示如何将提示图 添加到输入图中,然后可以将操作后的图表示为 。我们可以定义插入模式为提示令牌和输入图节点之间的点积,然后使用定制的连接方式,例如 ,其中 是一个加权值,用于修剪不必要的连接: 作为另一种替代和特殊情况,我们还可以使用更简化的方式来获得 。 通过元学习进行多任务提示: 构建元提示任务:设是第个任务,具有支持数据 和查询数据 ;具体而言,对于图分类任务, 和 包含有标签的图;对于节点分类任务,我们生成了每个节点的诱导图,如第3.2.3节所述,将图标签与目标节点标签对齐,并将此图视为 或 中的成员;对于边分类任务,我们首先生成用于训练和测试的边诱导图,边的标签与其两个端点有关。 将元学习应用于图提示:设是提示参数,是预训练图骨干的固定参数,是任务参数。我们使用 表示具有提示图、预训练模型(,固定)和下游任务处理器的流水线。设是流水线在数据上的任务损失。然后对于每个任务,相应的参数可以更新如下: 其中初始化设置为:,。目标是学习元提示任务的有效初始化设置,可以通过在各种任务上最小化元损失来实现: 其中 是任务集。根据链式法则,使用二阶梯度来基于查询数据更新(或): 整体学习过程:为了提高学习的稳定性,我们将这些任务组织成多任务的episode,其中每个episode包含批量任务,包括节点分类(简称为“”)、边分类(简称为“”)和图分类(简称为“”)。设 是一个多任务episode。我们定义任务批次 ,其中每个子集 ;损失函数集 ,支持数据 ,其中每个子集 ,以及查询数据 ,其中 。然后,多任务提示的算法如下算法流程所示。将每个节点/边/图类别视为二进制分类任务,以便它们可以共享相同的任务头。
下面介绍我们实验室被KDD 2023录用的,同样是将提示学习应用于图神经网络的文章:
论文链接:http://shichuan.org/doc/150.pdf 动机 在机器学习中,用于在测试时从大量分布内(ID)样本中识别出分布外(OOD)样本的OOD检测,已经成为了一个关键问题。然而,现有的研究大多是在欧氏数据上进行的,而在图结构数据中的问题仍然未被充分研究。最近的一些研究开始研究图OOD检测,但它们都需要从头开始训练一个图神经网络(GNN),计算成本较高。在本工作中,我们首次尝试赋予一个已经训练好的GNN检测分布外数据的能力,而不需要修改其参数。主要贡献
由于GNN编码器经过了充分的训练,可以提取富有表现力的图表示,构造函数g的一个直观想法是保持编码器f中的参数不变,并直接对编码表示应用预定义的非参数评分函数。形式上,我们可以把函数g(·)写成: 为OOD检测自适应生成放大器: 我们创新地在AAGOD框架中为函数g引入额外的可学习参数,以获得更好的图OOD检测性能,而不是像上面的朴素解决方案那样构建无参数函数g。我们将首先介绍如何参数化函数g,然后设计一个新颖的放大器生成器和一个有效的参数训练学习策略。 整体框架
我们的AAGOD的核心是设计一个具有可学习的参数的函数g,通过训练来扩大ID图和OOD图之间的分数差距。具体来说,我们将一个矩阵(放大器)叠加在原始输入图的邻接矩阵上,期望能突出有利于OOD检测的关键子结构,从而使得ID图和OOD图更容易区分。这个放大器与提示调整技术共享相似的原理,希望通过数据中心的操作来适应下游任务。然而,找到合适的放大器矩阵并非易事,因为图结构数据具有任意数量的无序节点,我们也缺乏未见过的OOD图的信息来直接优化g。因此,我们创新地设计了一个可学习的放大器生成器 (LAG),用来自适应地生成特定于图的放大器,并进一步提出了一种正则化学习策略 (RLS),以优化并学习参数。我们提出的AAGOD的整体框架如下图所示:
可学习的放大器生成器
为了处理具有不同大小和无序节点的图,我们在这项工作中让放大器专注于为原始图的边生成权重。此外,基于拥有相似的拓扑结构和节点特征的图应有相似的ID模式的假设,LAG根据来自训练良好的GNN的原始图编码表示自适应地生成特定于图的放大器。这样,可以重复使用在训练良好的图编码器中的知识,LAG可以为具有不同拓扑结构的图定制放大器。注意,训练良好的GNN的输出节点表示不仅编码了节点特性,还编码了本地拓扑信息。因此,我们重新使用训练良好的GNN的节点表示,而不是原始特征,来发现ID图的潜在模式并生成放大器。形式上,我们利用下式计算放大器矩阵: 在这项工作中,我们使用多层感知机(MLP)生成放大器的元素。虽然可能有其他替代方案来产生放大器,但我们尽可能多地重用训练良好的GNN,并引入少量可学习的参数,以实现高效的图OOD检测。 正则化学习策略
为了在没有OOD数据的情况下训练LAG中的参数,我们提出了一种有效的正则化学习策略,它鼓励具有ID模式的放大图获得更高的分数,同时规范LAG避免所有放大图都获得高分。这样,我们可以确保导致高分的关键因素,即ID模式,只存在于ID图中,而不是放大器中。因此,对于放大的OOD图,得分将保持低位。形式上,我们通过要求ID图的分数更高来设计ID数据的学习目标: 相反,OOD图的学习策略如下: 此外,我们还增加了一个正则化项来防止过拟合。最后,总体学习目标可以写成如下:
以上就是本期所有关于最新提示学习在图神经网络中的应用的介绍。本期责任编辑:杨成本期编辑:刘佳玮