All in One: Multi-Task Prompting for Graph Neural Networks学习笔记

news/2025/3/3 8:53:24/

简介

主要研究了图神经网络(GNN)中多任务提示(multi-task prompting)的方法。文中讨论了传统的GNN“预训练与微调”方法和下游任务割裂,特别是在节点级(node-level)、边级(edge-level)和图级(graph-level)任务之间(不同任务之间不通用)。为了克服这些问题,文中引入了“提示学习”(灵感来自自然语言处理中的方法)并将其应用到图任务中。核心思想是构建一个框架,利用图级提示来提升预训练图模型在多种任务中的可迁移性和泛化能力。

主要贡献

  • 提出了一个新的prompt结构,将NLP中的提示概念适应到图中,其中主要涉及三部分:

    • prompt tokens:每个token都是和节点特征向量大小一样的向量;token的数量一般远远小于节点数量和预训练时的隐藏层数量;
    • token structure:类似于节点的邻接矩阵,用来表示token之间的关系(通常是隐式的),提出了三种方法来得到:
      • 基于可调参数学出来,表示为
        A = ∪ i = 1 , j = i + 1 ∣ P ∣ − 1 a i j A=\cup_{i=1,j=i+1}^{|P|-1}{a_{ij}} A=i=1,j=i+1P1aij
        其中 ∣ P ∣ |P| P表示为token集的大小, a i j a_{ij} aij是一个可学习的参数反映了 p i p_i pi p j p_j pj两个token之间的联系
      • 通过计算token点积来确定联系,比如小于某个阈值(提前确定)时才确定存在关系
      • 把token视为独立的存在,两两之间不存在关系
    • inserting pattern:解决怎么将prompt图和输入子图结合起来的问题。比如可以定义成token p k p_k pk和节点特征向量 x i x_i xi的点积,这样结合后的节点向量就可以表示成 x ^ i = x i + ∑ k = 1 ∣ P ∣ w i k p k \hat x_i=x_i+\sum_{k=1}^{|P|}w_{ik}p_k x^i=xi+k=1Pwikpk w i k w_{ik} wik是一个权重值,可以用来剔除不必要的结合(插入)
      w i k = { σ ( p k ⋅ x i T ) , σ ( p k ⋅ x i T ) > δ 0 , o t h e r w i s e w_{ik}=\begin{cases}\sigma(p_k·x_i^T),\quad &\sigma(p_k·x_i^T)>\delta\\0,\quad &otherwise\end{cases} wik={σ(pkxiT),0,σ(pkxiT)>δotherwise
      当然更直接的情况就是将 w i k w_{ik} wik视为1。
  • 提出了一些技术(诱导子图),将节点级和边级任务转化为图级任务(更通用),以便与预训练策略对齐。
    诱导子图

  • 使用元学习技术来有效地学习多任务提示的初始化,从而提高任务的适应性和性能。元学习的目标是找到一个好的提示图初始化,使得图神经网络能够快速适应新的任务,尤其是在少样本的情况下。通过内循环和外循环的训练过程,模型在多个任务上进行训练,并利用查询集进行评估,最终优化出能够跨任务迁移的提示参数。这个方法不仅提高了任务之间的迁移能力,还能显著提升模型在少样本场景下的学习效率和泛化能力。
    元<a class=学习模型" />

模型结构

微调、预训练和元<a class=学习" />
红色即传统的GNN用于迁移时所使用的框架:先针对某一特定任务进行预训练,用于另外的下游任务时在不断的进行微调,费时费力,且效果不好。
蓝色即作者提出的结构,在传统的GNN的基础上,或者甚至可以去除微调的过程,先对每个任务做预训练(内循环)调参,而后进行多任务进行外循环调参。


http://www.ppmy.cn/news/1576251.html

相关文章

大模型系列——专家混合模型 (MoE)快速指南

大模型系列——专家混合模型 (MoE)快速指南 专家混合 (MoE) 已成为一种流行的提高 LLM 效率的架构组件。在这篇博文中,我们将探讨研究人员在实现专家完美混合的道路上所采取的步骤。 专家混合 (MoE) 已成为一种流行的提高 LLM 效率的架构组件。在这篇博文中,我们将探讨研究人…

利用@WebMvcTest测试Spring MVC应用

文章目录 1. WebMvcTest概述2. 创建Spring Boot项目3. 创建主页控制器类4. 准备图片素材5. 创建主页模板视图6. 主页控制器测试类 6.1 创建主页控制器测试类6.2 运行单元测试方法 7. 启动应用&#xff0c;查看结果 7.1 启动应用7.2 访问项目首页 8. 实战小结 1. WebMvcTest概…

MySQL学习笔记(1)索引

本文参考&#xff1a;https://javaguide.cn/database/mysql/mysql-index.html 索引的数据结构类型 B树 InnoDB 引擎使用B树作为BTree索引的数据结构。介绍B树就要先从B树介绍起&#xff0c;B树全称为 多路平衡查找树&#xff0c;区别与自平衡二叉查找树&#xff0c;B树的每个…

SpringBoot 整合mongoDB并自定义连接池,实现多数据源配置

要想在同一个springboot项目中使用多个数据源&#xff0c;最主要是每个数据源都有自己的mongoTemplate和MongoDbFactory。mongoTemplate和MongoDbFactory是负责对数据源进行交互的并管理链接的。 spring提供了一个注解EnableMongoRepositories 用来注释在某些路径下的MongoRepo…

游戏引擎学习第128天

开始 然而&#xff0c;我们仍然有一些工作要做&#xff0c;渲染部分并没有完全完成。虽然现在已经能够运行游戏&#xff0c;而且帧率已经可以接受&#xff0c;但仍然有一些东西需要进一步完善。正在使用调试构建编译版本&#xff0c;虽然调试版本的性能不如优化版本&#xff0…

从零开始开发纯血鸿蒙应用之语音朗读

从零开始开发纯血鸿蒙应用 〇、前言一、API 选型1、基本情况2、认识TextToSpeechEngine 二、功能集成实践1、改造右上角菜单2、实现语音播报功能2.1、语音引擎的获取和关闭2.2、设置待播报文本2.3、speak 目标文本2.4、设置语音回调 三、总结 〇、前言 中华汉字洋洋洒洒何其多…

final 关键字在不同上下文中的用法及其名称

1. final 变量 名称&#xff1a;final 变量&#xff08;常量&#xff09;。 作用&#xff1a;一旦赋值后&#xff0c;值不能被修改。 分类&#xff1a; final 实例变量&#xff1a;必须在声明时或构造函数中初始化。 final 静态变量&#xff1a;必须在声明时或静态代码块中初…

Hive-05之查询 分组、排序、case when、 什么情况下Hive可以避免进行MapReduce

一、目标 掌握hive中select查询语句中的基本语法掌握hive中select查询语句的分组掌握hive中select查询语句中的join掌握hive中select查询语句中的排序 二、要点 1. 基本查询 注意 SQL 语言大小写不敏感SQL 可以写在一行或者多行关键字不能被缩写也不能分行各子句一般要分行…