Self-Pro: A Self-Prompt and Tuning Framework  for Graph Neural Networks

Self-Pro: A Self-Prompt and Tuning Framework for Graph Neural Networks

​#paper/GFM/GNN-BASED#​ #paper/⭐⭐⭐#​

注意:这篇文章是每个图一个GCN模型,而不是所有图一个GCN 模型

算是最早的涉及异配图的prompt了

贡献和动机:

  1. 非对称图对比学习(GraphACL)
    提出一种预训练方法,通过非对称对比学习捕获节点间的高阶相似性,避免传统方法对同质图(homophily)的依赖,有效处理异质图。

  2. 统一任务模板
    将预训练与下游任务(如节点分类、链接预测)统一为相似性计算模板,减少目标差异导致的负迁移问题。例如,节点分类通过类原型(class prototype)与节点的相似性进行预测。

  3. 自适配器与参数重用
    重用预训练阶段的投影器(projector)作为下游任务的适配器(self-adapter),无需额外参数,显著提升调优效率。

  4. 自提示机制

    • 结构提示:通过添加两跳邻居等结构信息增强上下文表示。
    • 语义提示:利用节点属性(如替换邻接矩阵为单位矩阵)保留语义信息。
      提示生成基于图自身信息,而非随机初始化,提升稳定性和泛化能力。

方法:

对比学习的三种方法:

image

作者使用了第三种方法,并认为 g ( ⋅ ) g(\cdot) g()可以引入语义信息

方法框架:

image

由于对应上面第三种方法,其对比损失可以为:

L = − 1 ∣ V ∣ ∑ v ∈ V 1 ∣ N ( v ) ∣ ∑ v + ∈ N ( v ) log ⁡ exp ⁡ ( z v T h v + / τ ) exp ⁡ ( z v T h v + / τ ) + ∑ v − ∈ V − exp ⁡ ( h v T h v − / τ ) , \mathcal{L}=-\frac{1}{|\mathcal{V}|}\sum_{v\in\mathcal{V}}\frac{1}{|\mathcal{N}(v)|}\sum_{v^+\in\mathcal{N}(v)}\log\frac{\exp(\mathbf{z}_v{}^\mathsf{T}\mathbf{h}_{v^+}/\tau)}{\exp(\mathbf{z}_v{}^\mathsf{T}\mathbf{h}_{v^+}/\tau)+\sum_{v^-\in\mathcal{V}^-}\exp(\mathbf{h}_v{}^\mathsf{T}\mathbf{h}_{v^-}/\tau)}, L=V1vVN(v)1v+N(v)logexp(zvThv+/τ)+vVexp(hvThv/τ)exp(zvThv+/τ),

其中,z是映射头g的输出。

节点分类任务

节点分类任务的话,作者采用了原型向量(prototype: C = { t 1 , t 2 , … , t C } \mathcal{C}=\{\mathbf{t}_1,\mathbf{t}_2,\ldots,\mathbf{t}_C\} C={t1,t2,,tC}。作者通过labeled节点的token均值来初始化原型向量。

t c = 1 N c ∑ v ∈ V L , y v = c t v , ∀ c ∈ 1 , 2 , … C , \mathbf{t}_c=\frac{1}{N_c}\sum_{v\in\mathcal{V}_L,y_v=c}\mathbf{t}_v,\forall c\in1,2,\ldots C, tc=Nc1vVL,yv=ctv,c1,2,C,

Self-prompt结构:

  1. 预训练的架构: θ ∗ , ϕ ∗ = arg ⁡ min ⁡ θ , ϕ L p r e ( f θ , g ϕ , G ) \theta^*,\phi^*=\arg\min_{\theta,\phi}\mathcal{L}_{pre}(f_\theta,g_\phi,\mathcal{G}) θ,ϕ=argminθ,ϕLpre(fθ,gϕ,G)

  2. prompt时,GNN backbone应该是冻结的。作者认为 g ϕ g_{\phi} gϕ可以包含更多的语义,应该用于下游训练。因此下游任务的优化可以表示为: ϕ ∗ ∗ = arg ⁡ min ⁡ ϕ ∗ L d o w ( g ϕ ∗ , V L , Y ) \phi^{**}=\arg\min_{\phi^*}\mathcal{L}_{dow}(g_{\phi^*},\mathcal{V}_L,\mathcal{Y}) ϕ∗∗=argminϕLdow(gϕ,VL,Y)

  3. 自结构语义的构建:作者认为2-hop代表同配性,并包含丰富的语义信息。因此: t v = f θ ( G 2 ) [ v ] = f θ ( A 2 , X ) [ v ] \mathbf{t}_v=f_\theta(\mathcal{G}_2)[v]=f_\theta(\mathbf{A}_2,\mathbf{X})[v] tv=fθ(G2)[v]=fθ(A2,X)[v]

  4. 子语义提示:

    s v = f θ ( G I ) [ v ] = f θ ( I , X ) [ v ] . \mathbf{s}_{v}=f_{\theta}(\mathcal{G}_{I})[v]=f_{\theta}(\mathbf{I},\mathbf{X})[v]. sv=fθ(GI)[v]=fθ(I,X)[v].

    h v = f θ ( G ) [ v ] = f θ ( A , X ) [ v ] . \mathbf{h}_v=f_\theta(\mathcal{G})[v]=f_\theta(\mathbf{A},\mathbf{X})[v]. hv=fθ(G)[v]=fθ(A,X)[v].

    t v = w v s v + ( 1 − w v ) h v , w v = s i m ( h v , s v ) , \mathbf{t}_v=w_v\mathbf{s}_v+(1-w_v)\mathbf{h}_v,w_v=sim(h_v,s_v), tv=wvsv+(1wv)hv,wv=sim(hv,sv),

  5. Prompt tuning:节点分类: L d o w = − ∑ v ∈ V L log ⁡ exp ⁡ ( t ′ v t ′ y v / τ ) exp ⁡ ( t ′ v T t ′ y v / τ ) + ∑ c = 1 , c ≠ y v C exp ⁡ ( t ′ v T t ′ c / τ ) , \mathcal{L}_{dow}=-\sum_{v\in\mathcal{V}_{L}}\log\frac{\exp(\mathbf{t^{\prime}}_{v}\mathbf{t^{\prime}}_{y_{v}}/\tau)}{\exp(\mathbf{t^{\prime}}_{v}^{\mathsf{T}}\mathbf{t^{\prime}}_{y_{v}}/\tau)+\sum_{c=1,c\neq y_{v}}^{C}\exp(\mathbf{t^{\prime}}_{v}^{\mathsf{T}}\mathbf{t^{\prime}}_{c}/\tau)}, Ldow=vVLlogexp(tvTtyv/τ)+c=1,c=yvCexp(tvTtc/τ)exp(tvtyv/τ),其中, t ′ v = q ϕ ( t v ) \mathbf{t^{\prime}}_{v}=q_{\phi}(\mathbf{t}_{v}) tv=qϕ(tv)

  6. L d o w = − ∑ ( v , a , b ) ∈ T log ⁡ exp ⁡ ( t ′ v T t ′ a / τ ) exp ⁡ ( t ′ v T t ′ a / τ ) + exp ⁡ ( t ′ v T t ′ b / τ ) \mathcal{L}_{dow}=-\sum_{(v,a,b)\in\mathcal{T}}\log\frac{\exp(\mathbf{t^{\prime}}_v^\mathsf{T}\mathbf{t^{\prime}}_a/\tau)}{\exp(\mathbf{t^{\prime}}_v^\mathsf{T}\mathbf{t^{\prime}}_a/\tau)+\exp(\mathbf{t^{\prime}}_v^\mathsf{T}\mathbf{t^{\prime}}_b/\tau)} Ldow=(v,a,b)Tlogexp(tvTta/τ)+exp(tvTtb/τ)exp(tvTta/τ)

结果:

image

image

相关新闻

Ubuntu20.04双系统安装及软件安装(十一):向日葵远程软件

Ubuntu20.04双系统安装及软件安装(十一):向日葵远程软件

Ubuntu20.04双系统安装及软件安装(十一):向日葵远程软件 打开向日葵远程官网,下载图形版本: 在下载目录下打开终端,执行: sudo dpkg -i SunloginClient(按tab键自动补全)出现报错: …

2026/7/19 19:59:58 阅读更多 →
hutool 文件操作相关的类

hutool 文件操作相关的类

hutool 文件操作相关的类 介绍 Hutool 里的文件相关工具: IOUtil :操作流的 FileUtil :操作文件的 FileTypeUtil: 被包含在FileUtil里了 FileReader,FileWriter:这两个基本上都在FileUtil里用了 Wat…

2026/7/19 19:59:29 阅读更多 →
开放鸿蒙OpenHarmony 5.0.0 Release 兼容性测试实战经验分享

开放鸿蒙OpenHarmony 5.0.0 Release 兼容性测试实战经验分享

OpenHarmony 5.0版本的发布时间是2024年12月20日至21日。这个版本带来了许多新特性和改进。现在5.0出了两个release 版本,分别是5.0.0和5.0.1。 就在5.0版本发布不到2周的时间内,2025年01月01日起,不支持新产品基于老分支(OpenHar…

2026/7/19 8:29:16 阅读更多 →
高效简历写作:一分钟搞定技术岗位的精准信息传递

高效简历写作:一分钟搞定技术岗位的精准信息传递

你是不是也经历过这样的场景:深夜打开招聘网站,看到心仪岗位的截止日期就在明天,但简历还是一片空白。或者工作几年后想换个环境,却发现过去的经历散落在各个项目里,不知道如何组织成一份有说服力的简历。更常见的是&a…

2026/7/19 20:00:51 阅读更多 →
RAID扩容性能优化:启用写缓存提升数倍速度的实践指南

RAID扩容性能优化:启用写缓存提升数倍速度的实践指南

RAID扩容是服务器运维中常见的操作,但很多管理员都遇到过扩容速度极慢的问题。实际上,这个问题往往可以通过一个简单的配置调整来解决——启用写缓存功能。根据H3C官方文档显示,支持缓存功能的存储控制卡在开启写缓存后,可以大幅提…

2026/7/19 20:00:51 阅读更多 →
基于YOLOv8的多目标检测系统开发与优化实践

基于YOLOv8的多目标检测系统开发与优化实践

1. 项目背景与核心价值 在计算机视觉领域,实时多目标检测一直是研究热点和难点。YOLO(You Only Look Once)系列算法作为单阶段目标检测的代表,因其出色的速度和精度平衡,成为工业界和学术界的首选方案。本项目基于YOLOv8,同时兼容…

2026/7/19 20:00:51 阅读更多 →
Flutter插件开发:MethodChannel原理与Android实现

Flutter插件开发:MethodChannel原理与Android实现

1. Flutter插件开发概述 Flutter插件是连接Flutter框架与原生平台(Android/iOS)的桥梁,通过平台通道(Platform Channel)实现双向通信。当我们需要使用Flutter本身不提供的原生功能时,比如获取电池电量、调用摄像头硬件或使用平台特定的API,插…

2026/7/19 20:00:51 阅读更多 →
亲身到店探访西安劳力士官方售后服务中心|全新电话和门店地址(2026年7月最新) - 劳力士服务中心

亲身到店探访西安劳力士官方售后服务中心|全新电话和门店地址(2026年7月最新) - 劳力士服务中心

2026年7月,我亲自跑了一趟西安劳力士官方售后服务中心,把最新的电话和地址都摸清楚了。电话是400-805-0023(客服在线时间8:00-22:00),地址变更为西安市碑林区南关正街88号华侨城长安国际中心E座6楼10室。去之前一…

2026/7/19 19:58:55 阅读更多 →
上海长宁区电路维修怎么选?4 家本地服务商深度对比 - 匠心24小时快修

上海长宁区电路维修怎么选?4 家本地服务商深度对比 - 匠心24小时快修

进入 2026 年夏季用电高峰,上海长宁区老旧小区集中、房龄普遍偏高,线路老化、跳闸断电、插座失灵等电路故障进入高发期。仙霞新村、天山、华阳路等街道的不少居民都遇到过突发电路问题,却在五花八门的维修广告中难以…

2026/7/19 19:58:55 阅读更多 →
鸿蒙 ArkTS 实战:Emoji Idiom Guess 从表情成语猜谜到交互闭环完整解析

鸿蒙 ArkTS 实战:Emoji Idiom Guess 从表情成语猜谜到交互闭环完整解析

鸿蒙 ArkTS 实战:Emoji Idiom Guess 从表情成语猜谜到交互闭环完整解析 前言 Emoji Idiom Guess 是一个基于鸿蒙 ArkTS 编写的单页互动应用,核心围绕 表情线索、答案输入、首字母提示和收藏关卡 展开。项目没有依赖复杂服务端,也没有把逻辑…

2026/7/19 0:00:03 阅读更多 →
Unity与Python本地通信:基于Flask的跨语言数据交换实战

Unity与Python本地通信:基于Flask的跨语言数据交换实战

1. 项目概述:为什么我们需要一个本地通信服务器?在游戏开发、数字孪生、仿真训练等众多领域,Unity作为强大的实时3D内容创作平台,其核心逻辑通常由C#驱动。然而,当我们需要进行复杂的数据分析、机器学习推理、科学计算…

2026/7/19 0:00:04 阅读更多 →
科研课题设计全流程:从选题到成果落地的实战指南

科研课题设计全流程:从选题到成果落地的实战指南

1. 课题设计全流程解析:从选题到成果落地的实战指南课题设计是科研工作者、高校师生以及企业研发人员日常工作中的核心环节。一个优秀的课题设计不仅决定了研究的方向和质量,更直接影响最终成果的学术价值和应用前景。作为在科研一线摸爬滚打多年的从业者…

2026/7/19 0:00:04 阅读更多 →
鸿蒙 ArkTS 实战:Emoji Idiom Guess 从表情成语猜谜到交互闭环完整解析

鸿蒙 ArkTS 实战:Emoji Idiom Guess 从表情成语猜谜到交互闭环完整解析

鸿蒙 ArkTS 实战:Emoji Idiom Guess 从表情成语猜谜到交互闭环完整解析 前言 Emoji Idiom Guess 是一个基于鸿蒙 ArkTS 编写的单页互动应用,核心围绕 表情线索、答案输入、首字母提示和收藏关卡 展开。项目没有依赖复杂服务端,也没有把逻辑…

2026/7/19 0:00:03 阅读更多 →
Unity与Python本地通信:基于Flask的跨语言数据交换实战

Unity与Python本地通信:基于Flask的跨语言数据交换实战

1. 项目概述:为什么我们需要一个本地通信服务器?在游戏开发、数字孪生、仿真训练等众多领域,Unity作为强大的实时3D内容创作平台,其核心逻辑通常由C#驱动。然而,当我们需要进行复杂的数据分析、机器学习推理、科学计算…

2026/7/19 0:00:04 阅读更多 →
科研课题设计全流程:从选题到成果落地的实战指南

科研课题设计全流程:从选题到成果落地的实战指南

1. 课题设计全流程解析:从选题到成果落地的实战指南课题设计是科研工作者、高校师生以及企业研发人员日常工作中的核心环节。一个优秀的课题设计不仅决定了研究的方向和质量,更直接影响最终成果的学术价值和应用前景。作为在科研一线摸爬滚打多年的从业者…

2026/7/19 0:00:04 阅读更多 →
ai agent框架spring ai/alibaba 源码原理分析(六) agent和组件

ai agent框架spring ai/alibaba 源码原理分析(六) agent和组件

简介 saa是java的ai agent框架,本系列将深入剖析 Spring AI Alibaba 的源码实现与核心原理,不仅可以指导agent的开发,更可以改造框架,增加新特性 系列内容: 系列(一) 架构 完成 系列(三) 调用 I 工具 完成 II M…

2026/7/19 0:01:20 阅读更多 →
终极指南:如何用Steam-auto-crack实现Steam游戏自动破解

终极指南:如何用Steam-auto-crack实现Steam游戏自动破解

终极指南:如何用Steam-auto-crack实现Steam游戏自动破解 【免费下载链接】Steam-auto-crack Steam Game Automatic Cracker 项目地址: https://gitcode.com/gh_mirrors/st/Steam-auto-crack Steam-auto-crack是一款功能强大的Steam游戏自动破解工具&#xff…

2026/7/19 9:10:31 阅读更多 →
移动端游戏功耗测试实战:电流、功率、亮度和场景对比

移动端游戏功耗测试实战:电流、功率、亮度和场景对比

移动端游戏功耗测试:先控制变量,再比较优化是否真的省电 摘要:功耗测试最容易犯的错误,是拿两次不同温度、不同亮度、不同场景的平均功率直接比较。本文给出一套可复现的游戏功耗测试方法,覆盖引擎特性验证、版本回归和黑盒体验测试,并说明如何把功耗与帧率、温控、CPU/G…

2026/7/19 19:29:48 阅读更多 →