走向图对比学习:综述与展望

news2024/11/25 18:49:05

【摘要】近年来,图的深度学习在各个领域取得了显著的成功。然而,对带注释的图形数据的依赖仍然是一个很大的瓶颈,因为它的成本过高且耗费时间。为了应对这一挑战,图的自监督学习(SSL)得到了越来越多的关注,并取得了重大进展。SSL使机器学习模型能够从未标记的图形数据中产生信息表示,从而减少对昂贵的标记数据的依赖。虽然基于图的SSL已被广泛采用,但一个关键组件——图对比学习(GCL)在现有文献中尚未得到彻底研究。因此,本调查旨在通过提供一个关于GCL的专门调查来填补这一空白。我们提供了GCL的基本原则,包括数据增强策略,对比模式和对比优化目标的全面概述。此外,我们探索了GCL对数据高效图学习的其他方面的扩展,如弱监督学习、迁移学习和相关场景。我们还讨论了跨领域的实际应用,如药物发现,基因组学分析,推荐系统,最后概述了这一领域的挑战和潜在的未来方向。

原文:Towards Graph Contrastive Learning: A Survey and Beyond
地址:https://arxiv.org/abs/2405.11868v1
代码:未知
出版:J. ACM
机构: Peking University, University of International Business and Economics

1 研究问题

本文研究的核心问题是: 如何全面综述图对比学习领域的最新进展,并探讨其在相关应用场景下的扩展。

假设一家金融公司希望根据客户的交易网络来预测客户的信用风险。传统方法需要大量的人工标注数据来训练图神经网络模型,成本很高。如果能利用图对比学习从未标注的交易网络中自监督地学习到信息丰富的节点表征,就可以大大减少对标注数据的依赖,提高模型的泛化能力。但目前缺乏一个全面的综述来梳理图对比学习的各种技术路线及其优劣。

本文研究问题的特点和现有方法面临的挑战主要体现在以下几个方面:

  • 图对比学习涉及的技术要素众多,包括数据增强策略、对比模式、优化目标函数等,缺乏系统性的总结。

  • 图对比学习在弱监督、迁移学习等数据高效场景下的应用尚不成熟,有待进一步探索。

  • 已有的综述性文章大多泛泛而谈,未能聚焦图对比学习领域,缺乏深度和前沿性。

针对这些挑战,本文提出了一种系统全面且富有前瞻性的"GCL综述与拓展"思路:

本文首先从数据增强、对比模式、优化目标三个维度,对自监督图对比学习的基本原理进行了全景式梳理,并配以数学化的总结。这就像是为图对比学习搭建了一个"技术百科全书",方便研究者快速查阅和比较不同技术路线。

其次,本文将视野拓展到弱监督学习、迁移学习等数据高效场景,探讨了图对比学习在其中的应用模式,这就像是为图对比学习插上了"领域适配"的翅膀,大大拓宽了其应用范围。

再次,本文列举了图对比学习在药物发现、生物信息、推荐系统等诸多领域的实际应用案例,使得这一理论工作"落地生根"。这就像是用一系列"应用明星"来印证图对比学习的实用价值。

最后,本文对图对比学习的局限性进行了反思,并展望了一些有待进一步探索的研究方向,这就像是在俯瞰全局后,为后续研究指明了"攻坚"的突破口。

2 研究方法

图对比学习(Graph Contrastive Learning, GCL)是一种自监督表示学习范式,通过最大化相似图对之间的一致性,提取图数据的有效表示。本节将从三个方面阐述GCL在自监督学习中的基本原理,并介绍其在弱监督学习、迁移学习等数据高效场景下的应用。

2.1 GCL在自监督学习中的基本原理

2.1.1 图数据增强策略

图数据增强旨在为给定图生成语义一致的正样本,以供对比学习使用。图增强策略可分为基于规则和基于学习两大类。

基于规则的方法通过预定义规则修改图数据。简单的策略包括随机扰动/遮蔽节点/边及其特征,如DropEdge随机移除一定比例的边:

其中为扰动率。另一种常见策略是随机采样子图,保留节点子集和对应边关系。复杂的方法如利用图扩散过程,基于热核、PPR等扩散核建立节点间高阶连接。

基于学习的方法通过数据驱动方式学习增强策略,如图结构学习、图对抗训练和图理由(rationale)发现。图结构学习将图结构视作可学习参数,识别最优的增强图。对抗训练旨在提升模型抵御对抗扰动的能力。图理由作为图的关键子集,可直接用于对比学习。

两类方法相比,基于规则的方法简单直观,但可能引入噪声;而基于学习的方法噪声更小,但训练开销大。实践中需权衡有效性和计算效率。

2.1.2 对比模式

GCL通过不同尺度图视图间的对齐,增强语义相似实例的一致性表示。按粒度从粗到细,视图可分为图级、子图级和节点级。据此,对比模式分为同尺度对比和跨尺度对比两类。

同尺度对比分为全局、上下文和局部三类。全局对比对齐不同图表示,如SimGRACE将原图与其扰动视图对比,无需显式数据增强。上下文对比聚焦子图粒度,如GCC对比同一节点和其他节点的k-hop子图。局部对比专注学习节点表示,如GRACE基于结构和属性视图,用对比损失函数增强节点表示的一致性:

其中为视图内/间负样本。

跨尺度对比包含局部-全局、局部-上下文和上下文-全局三类,分别关注不同粒度的对齐。以局部-全局为例,DGI利用互信息最大化准则,对比节点表示和图表示:

总的来说,同尺度对比简单直观,适合齐次图;跨尺度对比能建模多粒度语义,适合异质图。实践中可结合图类型和任务需求灵活选择。

2.1.3 对比优化目标

为优化GCL,需定义对比目标函数,度量正负样本间的相似性差异。常见方法分为对比式和非对比式两类。

对比式方法同时需要正负样本。基于InfoNCE的方法利用随机扰动生成增强视图,将同源节点视作正样本,其他节点为负样本。针对节点,InfoNCE损失定义为:

其中和分别为正负样本集,为相似度函数。基于散度的方法比较正负样本分布的差异,如JS散度。基于距离的方法如Triplet Margin直接比较正负样本间的相对距离。

非对比式方法不需显式构造负样本。基于知识蒸馏的方法如BGRL,通过在线和目标两个网络互相提升学习。基于冗余减少的方法如VICReg,联合方差、不变性和协方差最小化准则,对不同视图特征间的交叉相关矩阵进行冗余减少。

对比式方法需负样本数足够多时性能最佳,但构造负样本的计算开销大。非对比式方法省去了负样本构造,但理论基础有待加强。实践中需平衡性能和效率。

2.2 GCL在数据高效学习中的应用

除经典的自监督学习外,GCL在弱监督、迁移学习等数据高效场景下也有广泛应用。本节以弱监督图学习和图迁移学习为例展开介绍。

2.2.1 弱监督学习

图弱监督学习(Graph Weakly Supervised Learning, GWSL)利用标记和未标记数据,在低资源场景下提升模型性能。现有工作主要利用GCL完成两大功能:有效利用稀疏标签,充分挖掘无标签结构信息。

对于标签利用,一类方法利用已知类别对节点表示施加约束。如KGNN中,对比网络给出后验分布,而GNN给出似然,目标为最小化两者的KL散度:

另一类方法先基于节点特征计算标签中心,再以此作为软监督信号。如SimP-GCN基于KNN图构建软标签中心,指导对比学习。

对于结构集成,一类方法关注如何充分融合标签和结构的一致信息,通常将有监督损失和自监督对比损失相加联合优化:

DualGraph通过迭代标注和检索,识别并融合标签-结构一致信息。另一类方法关注如何缓解二者不一致带来的冲突。如 InfoGraph 先在不同尺度对齐节点-图结构,再与标签信息融合。

总的来说,GCL 为 GWSL 带来了新思路,有助于在标签稀疏时学到更鲁棒的节点表示。不同任务可灵活选择合适的标签利用和结构集成策略。

2.2.2 迁移学习

图迁移学习旨在源域数据和目标域数据分布不一致时,提升目标域上的推理性能。GCL 可从域间对齐/区分和域内特征提取两方面改善迁移学习效果。

域间方法通过源-目标域节点对比,挖掘域共性或特性。对齐型方法构造源域中的目标一致样本,或目标域中的源一致样本,再进行对比。如CoCo 生成目标域伪标签,基于此构造跨域正样本对:

区分型方法基于邻域相似度等构造正常-异常图样本,通过对比使

3 总结后记

本论文针对图表示学习中的图对比学习(GCL)方法进行了全面综述。文章系统总结了GCL的基本原理,包括数据增广策略、对比模式和优化目标等方面。并进一步探讨了GCL在弱监督学习、迁移学习等数据高效学习场景中的扩展应用。最后,讨论了GCL在药物发现、基因组学分析、推荐系统等实际领域的应用,展望了该领域面临的挑战和未来的发展方向。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1689223.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[Linux] 进程概念

目录 1.冯诺依曼硬件体系结构 2.操作系统(OS) 3.系统接口 4.进程的概念 5.进程状态 6.四个其他概念 7.环境变量 8.进程地址空间 1.冯诺依曼硬件体系结构 在冯诺依曼体系结构中,计算机是由输入、输出、存储设备和中央处理器cpu组成的。图中体结…

CSS【常用CSS样式、盒子模型、定位、浮动 、扩展样式】--学习JavaEE的day46

day46 CSS 练习 页面实现&#xff1a; 分析&#xff1a; 未优化&#xff1a; 优化&#xff1a; 参考代码&#xff1a;&#xff08;包含样式优化–选择器CSS属性&#xff09; 先写上table方便实现&#xff0c;之后再去除即可 name没有服务器&#xff0c;可暂时不写 <!…

适合做应用的算法-鲸鱼优化算法(WOA)详细原理-附matlab代码

鲸鱼优化算法 (Whale optimization Algorithm, WOA)是 2016 年由 Mirjalili 等提出的一种新型启发式搜索算法,该算法通过模仿座头鲸在海洋中的捕食行为, 对鲸鱼群体搜索、包围和攻击过程模拟实现来寻找最优解. 与传统的元启发式优化算法相比, 鲸鱼优化算法具有操作简单, 需要设…

3D透视图模型转模型变形?---模大狮模型网

3D建模是数字艺术和设计领域中的重要技术&#xff0c;它可以为我们带来丰富多彩的视觉体验和创意表达。在本文中&#xff0c;我们将探讨一个引人注目的话题&#xff1a;3D透视图中模型转换是否会导致变形?通过深入探讨这个问题&#xff0c;我们希望能够帮助您更好地理解在3D建…

Docker安装文档

Docker安装文档 小有所得&#xff0c;生活便充满希望的微光&#xff1b;小有所望&#xff0c;未来便值得期待。小有知足&#xff0c;幸福便如影随形&#xff1b;小有可期&#xff0c;每一天都充满希望。在今日小满之际&#xff0c;感受这小小确幸&#xff0c;心中满是爱意&…

跟TED演讲学英文:Do schools kill creativity by Sir Ken Robinson

Do schools kill creativity? Link: https://www.ted.com/talks/sir_ken_robinson_do_schools_kill_creativity Speaker: Sir Ken Robinson Date: February 2006 文章目录 Do schools kill creativity?IntroductionVocabularySummaryTranscriptAfterword Introduction Sir…

FTP介绍

FTP 1、FTP—文件传输协议 文件传输协议&#xff08;File Transfer Protocol&#xff0c;FTP&#xff09;是用于在网络上进行文件传输的一套标准协议&#xff0c;它工作在 OSI 模型的第七层&#xff0c; TCP 模型的第四层&#xff0c; 即应用层&#xff0c; 使用 TCP 传输&…

攻防世界-mobile-easy-app详解

序言 这道题网上很多分析&#xff0c;但是分析的都是arm版本的&#xff0c;我选了arm64的来分析&#xff0c;arm64相比arm难度高一些&#xff0c;因为arm64编译器搞了inline优化&#xff0c;看起来略抽象 分析 这道题逻辑很简单&#xff0c;输入flag然后一个check函数验证&a…

av_dump_format经验分析,FFmpeg获取媒体文件总时长(FLV获取总时长的误区)

播放器有个功能&#xff0c;当用户打开视频时&#xff0c;需要读取媒体文件的总时长等信息&#xff0c;不巧的时&#xff0c;获取FLV时总失败&#xff0c;下面来具体分析下FLV和MP4获取总时长的原因和区别&#xff1a; 播放器有个获取MediaInfo的接口&#xff0c;功能如下&am…

9.5 Go语言入门(条件语句和循环语句)

Go语言入门&#xff08;条件语句和循环语句&#xff09; 目录四、条件语句和循环语句1. 条件语句1.1 if 语句1.2 if-else 语句1.3 if-else if-else 语句1.4 带初始化语句的 if1.5 switch 语句1.6 带条件的 switch1.7 多个条件的 case 2. 循环语句2.1 基本 for 循环2.2 省略初始…

C语言简要(四)

有没有好心师傅教教孩子逆向和pwn啊꒰๑ꀾ๑꒱ 数组 <类型> 变量名称[元素数量]; int grades[100]; double weight[20]; 元素数量必须是整数 C99之前&#xff1a;元素数量必须是编译时刻确定的字面量 是一种容器&#xff0c;特点是&#xff1a; 其中所以的元素具有相同的…

debian nginx upsync consul 实现动态负载

1. consul 安装 wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg echo "deb [signed-by/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_r…

sh控制台输入文字多行 按“# ꧂ ꧁”结束

如果在Unix shell中输入多行文字&#xff0c;那么这样操作&#xff1a; 1. 打开您的终端&#xff08;Terminal&#xff09;。 2. 输入您的文字&#xff0c;每行文字后按回车键。 3. 当您完成输入所有文字后&#xff0c;输入“# ꧂ ꧁”然后按回车键&#xff0c;表示输入结束。…

人脸识别:基于卷积神经网络(CNN)分类思想的人脸识别系统

本文来自公众号 “AI大道理” —————— 项目配套视频课程&#xff1a; 平台&#xff1a;荔枝微课 链接&#xff1a;十方教育 项目地址&#xff1a;https://github.com/AIBigTruth/CNN_faces_recognition 之前很多人来询问这个项目怎么做&#xff0c;代码跑不起来&#…

Window GDI+ API有BUG?GetBounds测不准?

文章目录 GraphicsPath的GetBounds测不准&#xff1f;方法一&#xff1a;GetBounds ()实战 方法二&#xff1a;GetBounds(Matrix)实战 GraphicsPath的GetBounds测不准?实战 .NET 版本的问题&#xff1f;C也一样&#xff0c;不是.NET的问题怀疑人生MiterLimit惹得祸完美结果结束…

【Vue】Vue2中的Vuex

目录 Vuex介绍Vuex 中的核心概念 在vue2中使用Vuex安装 Vuex创建一个 Vuex Store在 Vue 实例中使用 Vuex编写 Vuex 的 state、mutations 和 actions在组件中使用 Vuex Vuex的核心State组件中获取 Vuex 的状态mapState 辅助函数对象展开运算符 Getter基本使用示例 通过属性访问通…

[协议]stm32读取AHT20程序示例

AHT20温度传感器使用程序&#xff1a; 使用i2c读取温度传感器数据很简单&#xff0c;但市面上有至少两个手册&#xff0c;我这个对应的手册贴出来&#xff1a; main: #include "stm32f10x.h" // Device header #include <stdint.h> #includ…

MQTT到串口的转发(node.js)

本文针对以下应用场景&#xff1a;已有通过串口通信的设备或软件&#xff0c;想要实现跨网的远程控制。 node.js安装 从 Node.js — Run JavaScript Everywhere下载LTS版本安装包&#xff0c;运行安装程序。&#xff08;傻瓜安装&#xff0c;按提示点击即可&#xff09; 设置环…

RabbitMQ - SimpleMessageListenerContainer的实现逻辑

RabbitMQ - SimpleMessageListenerContainer的实现逻辑 Queue&#xff08;队列&#xff09;&#xff1a;在 RabbitMQ 中用于存储消息的数据结构。生产者将消息发送到队列中&#xff0c;而消费者从队列中接收消息。 Connection&#xff08;连接&#xff09;&#xff1a;连接是应…

【代码随想录 二叉树】二叉树前序、中序、后序遍历的迭代遍历

文章目录 1. 二叉树前序遍历&#xff08;迭代法&#xff09;2. 二叉树后序遍历&#xff08;迭代法&#xff09;3. 二叉树中序遍历&#xff08;迭代法&#xff09; 1. 二叉树前序遍历&#xff08;迭代法&#xff09; 题目连接 &#x1f34e;因为处理顺序和访问顺序是一致的。所…