当前位置: 首页 > article >正文

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

简介

主要研究了图神经网络(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。
  • 提出了一些技术(诱导子图),将节点级和边级任务转化为图级任务(更通用),以便与预训练策略对齐。
    诱导子图

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

模型结构

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


http://www.kler.cn/a/568722.html

相关文章:

  • 【面试】Java面试频繁问到的题最新整理(附答案)
  • [Lc滑动窗口_1] 长度最小的数组 | 无重复字符的最长子串 | 最大连续1的个数 III | 将 x 减到 0 的最小操作数
  • 火山引擎 DeepSeek R1 API 使用小白教程
  • 使用 ASP.NET Core 创建和下载 zip 文件
  • 剖析RabbitMQ消息可靠投递
  • 算法day4 dfs搜索2题
  • Flask-Restful
  • APP爬取:基于Appium的App数据爬取实战详解
  • 苹果产品自助网址
  • 【考试大纲】高级网络规划设计师考试大纲
  • 各章节详细总结与 Vue 学习收尾
  • Vscode 便用快捷键设置教程
  • 【赵渝强老师】Kafka消息的消费模式
  • 常用的api测试软件
  • 飞算JavaAI编程工具集成到idea中
  • 基于javaweb的SSM+Maven幼儿园管理系统设计和实现(源码+文档+部署讲解)
  • Linux-进程与信号
  • 大白话React第十一章React 相关的高级特性以及在实际项目中的应用优化
  • 第50天:Web开发-JavaEE应用SpringBoot栈ActuatorSwaggerHeapDump提取自动化
  • shell脚本编程实践第4天