首页 > 其他分享 >论文解读()《An Empirical Study of Graph Contrastive Learning》

论文解读()《An Empirical Study of Graph Contrastive Learning》

时间:2024-04-05 12:44:06浏览次数:14  
标签:增强 样本 Graph Study Contrastive 性能 GCL 目标 对比

Note:[ wechat:Y466551 | 可加勿骚扰,付费咨询 ] 2024年4月3日15:39:16

论文信息

论文标题:An Empirical Study of Graph Contrastive Learning
论文作者:
论文来源:2021 NeurIPS
论文地址:download 
论文代码:download
视屏讲解:click

1-摘要

  图对比学习(GCL)为没有人工注释的图表示建立了一个新的范式。虽然最近已经看到了显著的进展,但GCL背后的成功仍然有些神秘。在这项工作中,我们首先确定了一般GCL范式中的几个关键的设计考虑因素,包括增强函数、对比模式、对比目标和负挖掘技术。然后,为了理解不同GCL组件之间的相互作用,我们在不同领域的数据集上对一组基准任务进行了广泛的受控实验。我们的实证研究表明,一套有效的GCL的一般收益,例如,产生稀疏图视图的简单拓扑增强带来了有希望的性能改进;对比模式应该与最终任务的粒度对齐。此外,为了促进未来的研究和简化GCL算法的实现,我们开发了一个易于使用的PyGCL库,具有模块化的CL组件、标准化的评估和实验管理。我们设想这项工作将为有效的GCL算法提供有用的经验证据,并为未来的研究提供一些见解。

2-介绍

  该论文从4个方面阐述图对比方法:主要看到底哪些因素提高了模型的性能。

    1. 数据增强函数
    2. 对比模式
    3. 对比目标
    4. 负样本挖掘策略

  并尝试回答以下问题:

    • 什么组件是一个有效GCL所必备的?
    • 不同的设计考虑如何影响模型性能?
    • 这些设计考虑有助于某些数据类型或下游任务嘛?

  有些经验:

    • GCL 最好的增强方式是图拓扑结构,比如产生一些稀疏的图。除此之外双层增强在拓扑和特征上也能进一步增强性能。
    • 相同尺度的对比模式是可取的,可根据下游任务的粒度选择。
    • InfoNCE 的目标函数模型较为稳定,可在所有设置下保持好的性能。但是要求大量的负样本。
    • 最近一些无负样本的模型可以减少计算复杂度而不降低性能。
    • 当前的负样本挖掘策略都是基于一些相似性,局限了进一步提高模型性能。

3-主体

3.1 GCL 框架

  GCL 模型框架:

  

  GCL 四个主要成分:

    • data augmentation functions
    • contrastive mode
    • contrastive objective
    • negative mining strategies

3.2 数据增强

  图数据增强:
  • 拓扑结构增强:
    1. Edge Removing (ER)
    2. Edge Adding (EA)
    3. Edge Flipping (EF)
    4. Node Dropping (ND)
    5. Subgraph induced by Random Walks (RWS)
    6. diffusion with Personalized PageRank (PPR)
    7. diffusion with Markov Diffusion Kernels (MDK)
  • 特征增强:
    1. Feature Masking (FM)
    2. Feature Dropout (FD)

3.3 对比模式

  对比模式根据粒度划分:

    1. local-local CL  
    2. global-global CL  
    3. global-local CL  

  △ 只有 local-local CL 和 global-local CL 适用于节点数据集,其中所有这三种模式都可以用于图数据集。

3.4 对比目标

    1. Information Noice Contrastive Estimation (InfoNCE)  
    2. Jensen-Shannon Divergence (JSD)  
    3. Triplet Margin loss (TM)  
    4. the Bootstrapping Latent loss (BL)  
    5. Barlow Twins (BT) loss  
    6. VICReg loss  

3.5 负采样策略

    1. Hard Negative Mixing (HNM)
    2. Debiased  Contrastive Learning (DCL)
    3. Hardness-Biased Negative Mining (HBNM)
    4. Conditional Negative Mining (CNM)

4-实验  

数据集

  

模型总结

  

4.1 数据增强实验

  首先研究了数据增强如何影响GCL的性能。具体来说,应用不同的数据增强函数来生成两个视图,利用InfoNCE目标,并对比局部-局部(节点)表示。

  结果:

  

  观察一:拓扑增强对模型性能的影响极大。生成更稀疏图的增强函数通常会导致更好的性能。

  Table 3 总结了使用不同的拓扑结构和特征增强的结果。很明显,GCL的性能高度依赖于拓扑增强函数的选择。我们观察到,删除边的模型(ER、MDK、ND、PPR和RWS)与添加边的模型(EA)相比,通常可以获得更好的性能,这表明增强函数产生更稀疏的图视图是更好的。我们还发现,RWS 在节点数据集上取得了更好的性能,而 ND 更倾向于图任务。我们注意到,尽管随机游走抽样能够更好地提取局部结构模式,但我们研究中使用的图数据集具有相对较小的尺度(每个图<500个节点)。因此,这些基于随机游走的采样策略可能会受到限制,而一个简单的节点删除(ND)方案在图级任务上通常优于其他增强方案。

  为了了解结果视图的稀疏性如何影响性能,我们通过改变 CS 数据集上的 减少/添加 概率,进一步对三个分别增强了 ND、ER 和 EA 的模型进行了敏感性分析。预测精度和所生成的图中的边的总数如 Figure 2 所示。如 Figure 2 所示,当添加更多的边时,EA 增强的性能会大大降低。一般来说,这些结果与我们的观察结果一致,即许多真实世界的图本质上是稀疏的[36,37]。当添加了太多的边时,它们会连接语义上不相关的节点,给生成的图视图带来噪声,从而降低学习到的嵌入的质量。

  

  观察二:特征增强为GCL带来了额外的好处。在结构和特征水平上的成分增强对GCL的好处最大。

  

  从表3中,我们观察到,仅使用特征增强的模型的性能不如使用拓扑增强的模型,但仍然高于基线性能。这两种特征增强方案所带来的改进可以从事实出发来解释,FM和FD类似于在输入层上应用辍学[38]技术。此外,我们还看到,在一般情况下,FM的性能略优于FD,这表明对所有节点特征使用共享特性掩码,尽管它们的性能差异没有那么显著。此外,Figure 3 给出了在拓扑级别和特征级别上进行混合增强时的结果。很明显,除了结构增强之外,使用特征增强也有利于GCL,这表明拓扑和结构对于学习图表示都很重要。

  观察三:确定性增强方案应伴随着随机增强。
  在 Table 3 中,我们发现仅使用两个确定性增强函数PPR和MDK并不总是能带来很好的性能。我们还发现,在先前的研究中,[14]通常利用确定性增强后的随机增强。因此,我们利用另一组随机和确定性增强的联合增强,其中的性能总结如 Figure 4 所示。可以看出,该联合方案在很大程度上提高了普通的确定性增强量。回想一下,我们的对比目标本质上是为了区分来自数据分布的样本和来自一些噪声分布[39,40]的样本。因此,需要一种随机增强方案来更好地近似该噪声分布。

  

4.2 对比模式 和 对比目标

   我们首先用基于负样本的对比目标进行实验:信息噪声对比估计(InfoNCE)、Jensen-Shannon发散(JSD)和三重边际损失(TM)损失。除了依赖于负样本的对比目标外,我们还研究了三个无负样本的目标:Bootstrapping Latent (BL) loss、Barlow Twins (BT) loss、VICReg loss。Table 4 显示了无监督分类任务的实验结果。需要注意的是,Barlow Twins (BT) 、 VICReg losses 需要计算潜在嵌入向量的协方差,因此这两个目标与全局-局部模式不兼容。

  观察四:相同规模的对比通常表现得更好。不同粒度的下游任务有利于不同的对比模式。

  从表中最突出的是,对比局部-局部对在节点级分类上取得了最好的性能,而全局-全局模式在图级任务上表现更好。这表明我们应该使用相同规模的对比模式,这与最近的文献中使用的实践是一致的[5,8,16-18,41-44]。对这个结果的一个可能的解释是,在全局-局部对比中,图中的所有节点嵌入都构成了每个图嵌入的正样本。换句话说,全局-局部模式将嵌入空间中的每个节点-图对拉在一起,这可能导致下游任务的性能不佳。

  此外,对比模式应根据结束任务的粒度来选择,即节点级任务局部局部局部,图级任务全局全局。根据所提出的规定结果,最近的研究表明,[45–47]在学习视觉表征方面也做出了类似的发现。他们证明,在实例级的借口任务上进行预训练(即在同一批中对比图像级嵌入),当前的CL模型在细粒度的下游任务中实现了次优性能,例如,需要像素级细节的语义分段。  

  

  观察五:在基于负样本的目标中,使用InfoNCE目标导致所有环境的持续改进。

  表4a表明,InfoNCE在需要负样本的对比目标中取得了最好的性能,这被最近的许多方法[4,7,8,48,49]证明是有效的。表4a表明,InfoNCE在需要负样本的对比目标中取得了最好的性能,这被最近的许多方法[4,7,8,48,49]证明是有效的。我们观察到,随着τ的增加,性能先提高,后降级,性能波动不大。Wang和Liu [50]认为,随着τ的增加,InfoNCE目标对硬负面因素的关注较少。这种硬度感知行为表明了在GCL上分离最难阴性样品(τ→0 +)和全局均匀性(τ→∞)之间取得平衡的重要性。

  

  观察六:Bootstrapping Latent 和 Barlow Twins losses 获得了与基于负样本的同类产品相同的良好性能,但在没有显式负样本的情况下减少了计算负担。

  令人惊讶的是,我们发现使用这些无负样本目标获得的性能有时甚至超过基于负样本的目标,这表明了更有效的解决方案。与基于负样本的目标相反,BL、BT和VICReg损失避免了显式负样本的需要,从而大大减少了计算负担。为了看到这一点,我们在表5中总结了内存消耗,从中我们清楚地观察到,这三种损失比其他没有负样本的目标使用的内存要少得多。

  

4.3 负采样策略

  我们首先探讨了在对比目标之上的负挖掘策略的显式使用,它本质上测量每个负对的相似性(硬度)和提高硬负样本。在研究的负挖掘策略中,DCL开发了退化术语来选择真正的负样本,以避免对比同标签实例;其他策略提出增加硬负样本(难以与锚点区分的点),并去除信息较少的简单样本,以提高GCL模型的鉴别能力。

  观察七:现有的基于嵌入相似度计算的负向挖掘技术对GCL的好处有限。

  我们使用InfoNCE目标的局部-局部模式,在3个节点分类数据集(由于物理上的内存不足错误)上训练4个模型。很明显,本实验中研究的四种负采矿策略对GCL的改善有限。虽然在某些超参数配置下可以观察到轻微的改进,这证明了硬负数的显式建模对GCL是有用的,但它们的性能通常很少与其他对比目标所报告的最佳性能相匹配(cf。表4a)。

  

  我们注意到,在现有的负采样技术的配方中,样品的硬度是通过样品嵌入的内积来测量的。由于我们处于一个完全没有监督的环境中,在培训期间不能访问标签(即类)信息。在现有的对比模式下,对于一个锚定样本,对比目标会推开所有不同的表示,而不考虑它们的真实语义关系。更糟糕的是,大多数GNN模型倾向于对相邻节点产生类似的嵌入,而不管语义类是[51–54],这可能会进一步偏向于硬否定的选择。因此,我们认为语义相似性与实例硬度之间存在分歧。通过仅仅根据嵌入的相似性度量来选择硬负样本,这些硬负样本都是潜在的正样本,从而对对比目标产生不利的学习信号。一个说明性的例子和更详细的讨论,请参考附录d。我们发现我们的发现让人想起最近的一个研究视觉CL [50],建议一个自适应调度方案的温度参数当使用InfoNCE作为对比的目标,这样,困难但假阴性可以容忍培训的进展。

标签:增强,样本,Graph,Study,Contrastive,性能,GCL,目标,对比
From: https://www.cnblogs.com/BlairGrowing/p/18112825

相关文章

  • JS Graph (图-数据结构)
    Code:/***基于邻接表实现的无向图*@class*/classGraphAdjList{/***@type{Map<any,any[]>}*/adjList;/***构造函数*@constructor*@param{[any,any][]}edges*/constructor(edges){this.a......
  • 图结构 Graph primary
    目录图的应用场景图的概念和分类图的操作存储查询图结构(英文:GraphStructure)图的定义:在数据的逻辑结构中,如果结构中的某一个节点的前驱和后继的个数不加限制,则称这种数据结构为图结构(图形结构、Graph)。图形结构是一种比树形结构更复杂的非线性结构。区别在于:在树形结构中,......
  • phpstudy php8.2.9版本问题
    1、如果php8的扩展控制面板开启无效的话,可以手动开启试试2、php有报错日志:Fatalerror:Directive'track_errors'isnolongeravailableinPHPinUnknownonline0在切换php版本到更高版本时在终端查看php版本时报如下界面错误现在的环境是从php7版本切换到php8版本,所以......
  • google_hacking_study
    简单了解一下GoogleHacking语法。这是goolehacking十个基本语法。""完全匹配据说匹配比较精准,但是我不加引号好像也没什么区别耶*模糊匹配、?表示单个字符,用通配符时要将引号将关键词括起来*.exe+逻辑与用了加号,那多个关键词都会出现在搜索结果的摘要中。gpt:GoogleHa......
  • 【Unity音游制作】你玩过节奏大师吗?(Koreographe插件导入游戏主体)【一】
    ......
  • GraphPro
    GraphPro:GraphPre-trainingandPromptLearningforRecommendation北京B区/032机北京B区/224机数据集介绍本文使用了三个公开的数据集来进行实验和评估GraphPro框架的性能。这些数据集分别代表了不同的商业场景和用户交互模式,具有丰富的动态交互数据,非常适合用来评估......
  • Qt显示图像之QGraphicsPixmapItem
    为防止不断地addItem导致内存增长,建议在初始化时newItem、scene->addItem。在合适的地方scene->removeItem(或scene->clear)或者item->setVisible。h头文件中#include<QGraphicsView>QGraphicsView*view;QGraphicsScene*scene;QGraphicsPixmapItem*m_pix=nullptr;cp......
  • ChatTuGraph:通过大模型“与图对话”
    使用SQL(StructuredQueryLanguage)对数据库/数据仓库进行查询分析操作,几乎成了研发工程师和数据分析师的“家常便饭”,然而要写出高效、清晰、优雅的SQL脚本并非易事。随着大语言模型(LLM)技术的普及,借助大模型微调(FineTuning)等技术将自然语言自动翻译为SQL语句(NL2SQL/Text2SQL)便成......
  • AntvG6-graph图谱工具
    1快速上手1.1在项目中使用npm包引入Step1:使用命令行在项目目录下执行以下命令npminstall--save@antv/g6Step2:在需要用的G6的JS文件中导入importG6from'@antv/g6';1.2在HTML中使用CDN引入<scriptsrc="https://gw.alipayobjects.com/os/antv/p......
  • System.Security.Cryptography.RijndaelManaged()
    以下为ai生成:System.Security.Cryptography.RijndaelManaged 是.NET框架中的一个加密类,用于提供高级加密标准(AES)算法的实现。AES是一种强大的对称加密算法,它可以用于保护数据的安全。以下是一个使用RijndaelManaged进行数据加密和解密的简单例子:usingSystem;usingSystem.I......