首页 > 其他分享 >【论文阅读】Graph Contrastive Learning with Augmentations

【论文阅读】Graph Contrastive Learning with Augmentations

时间:2024-07-25 16:54:48浏览次数:13  
标签:增强 数据 Graph Contrastive zn Learning mathcal hat GraphCL

论文名称:Graph Contrastive Learning with Augmentations
论文地址:https://arxiv.org/pdf/2010.13902
论文来源:NeurIPS 2020
论文作者:Yuning You,Tianlong Chen,Yongduo Sui,Ting Chen, Zhangyang Wang,Yang Shen
代码地址:https://github.com/Shen-Lab/GraphCL


1.问题引入

  • 泛化性、可转移性和鲁棒性:现有的图神经网络(GNNs)在这些方面的表现仍有待提高。与图像数据上的卷积神经网络(CNNs)相比,GNNs的自监督学习和预训练探索较少。
  • 图数据集差异大:图数据来自不同的领域,如生物化学分子、社交网络等,设计一个通用的GNN预训练方案非常困难。
  • 数据增强的缺乏:在图数据上,数据增强(data augmentation)的应用还不够广泛,且现有的方法计算成本高昂。数据增强是对比学习(contrastive learning)的前提,但在图数据上尚未得到充分探索。
  • 预训练的挑战:尽管预训练在卷积神经网络中是一种常见且有效的技术,但在GNNs中却很少被探索。预训练可以帮助模型在下游任务中更好地泛化,尤其是在标签稀缺的情况下。
  • 对抗性攻击的鲁棒性:GNNs在面对对抗性攻击时的鲁棒性也是一个需要解决的问题。

2.本文贡献

1.图数据增强:设计了4类的图数据增强方法,每种方法都引入了特定的数据分布先验,包括节点丢弃、边扰动、特征掩码和子图采样。默认的增强(节点丢弃、边扰动、特征掩码和子图采样)比例设置为0.2。
2.图对比学习框架(GraphCL):利用数据增强方法获得的相关视图,提出了一种新颖的图对比学习框架,通过最大化两个增强视图之间的一致性来学习表示。
3.系统性研究:对不同数据增强组合在多个数据集上的影响进行了系统性研究,揭示了不同增强方法的性能和指导如何为特定数据集选择合适的框架。
4.实验验证:通过实验验证了GraphCL框架在半监督学习、无监督表示学习和迁移学习中的性能,并且展示了其在对抗常见对抗性攻击时的鲁棒性。

3.方法详解

3.1 图数据增强

图数据增广方法

  • 节点丢弃 Node dropping
    随机丢弃图G中的某些节点及其连接,以生成一个新的、结构上有所变化的图。
    这种方法背后的直观先验是,即使图中缺失了一部分节点,其语义信息或整体结构的表示仍然不会发生根本性的变化。每个节点的丢弃概率遵循默认的i.i.d.均匀分布(或任何其他分布)。
  • 边扰动 Edge perturbation
    通过随机增加或减少一定比例的边来扰动G中的连通性。
    边扰动背后的直观先验是,尽管图中的连接模式发生了变化,但图的基本语义或结构信息仍然保持稳定。这种方法可以帮助模型学习到对连接模式变化具有鲁棒性的表示。每个边的丢弃概率也遵循默认的i.i.d.均匀分布(或任何其他分布)。
  • 特征掩码 Attribute masking
    特征掩码促使模型利用其上下文信息恢复被掩码的节点特征。其基本假设是缺失部分节点特征对模型预测的影响不大。
  • 子图采样 Subgraph
    该算法利用随机游走从G中采样一个子图。它假设G的语义可以在其(部分)局部结构中得到很好的保持。

3.2 GraphCL

图对比学习GraphCL框架
在图对比学习中,预训练通过在隐空间中通过对比损失最大化同一图的两个增强视图之间的一致性来完成,如图1所示。该框架由以下4大部分组成:
1.数据增强
给定图G经过图数据增强得到两个相关的视图 G ^ i , G ^ j \hat{\mathcal{G}}_i,\hat{\mathcal{G}}_j G^​i​,G^​j​作为正对,其中 G ^ i ∼ q i ( ⋅ ∣ G ) , G ^ j ∼ q j ( ⋅ ∣ G ) \hat{\mathcal{G}}_i\sim q_i(\cdot|\mathcal{G}),\hat{\mathcal{G}}_j\sim q_j(\cdot|\mathcal{G}) G^​i​∼qi​(⋅∣G),G^​j​∼qj​(⋅∣G)。
2.GNN编码器 f ( ⋅ ) f(\cdot) f(⋅)
使用基于图神经网络(GNN)的编码器来提取增强图的图级表示向量 h i , h j h_i,h_j hi​,hj​。这个编码器可以是任何类型的GNN。
3.投影头 g ( ⋅ ) g(\cdot) g(⋅)
通过一个非线性变换(投影头),将增强的表示映射到另一个潜在空间,以便在该空间中计算对比损失。在GraphCL中,通常使用两层感知机(MLP)来实现这一映射(将 h i , h j h_i,h_j hi​,hj​映射为 z i , z j z_i,z_j zi​,zj​)。
4.损失函数 L ( ⋅ ) \mathcal{L}(\cdot) L(⋅)
定义一个对比损失函数来强制正样本对 z i , z j z_i,z_j zi​,zj​(即同一图的两个增强视图)的表示比负样本对(即不同图的表示)更一致。GraphCL使用的是归一化温度缩放交叉熵损失(NT-Xent)。
在GNN预训练期间,随机采样一个包含N个图的小批量,并通过对每个图应用对比学习来生成2N个增强图和相应的对比损失。负样本对不是显式采样的,而是从同一小批量中的其他N-1个增强图中生成。
对于小批量中的每个图,计算其增强视图的表示之间的一致性,并使用NT-Xent损失函数来优化这些一致性。损失函数的形式如下:
ℓ n = − l o g exp ⁡ ( s i m ( z n , i , z n , j ) / τ ) ∑ n ′ = 1 , n ′ ≠ n N exp ⁡ ( s i m ( z n , i , z n ′ , j ) / τ ) \ell_n=-\mathrm{log}\frac{\exp(sim(\boldsymbol{z}_{n,i},\boldsymbol{z}_{n,j})/\tau)}{\sum_{n^{\prime}=1,n^{\prime}\neq n}^N\exp(sim(\boldsymbol{z}_{n,i},\boldsymbol{z}_{n^{\prime},j})/\tau)} ℓn​=−log∑n′=1,n′=nN​exp(sim(zn,i​,zn′,j​)/τ)exp(sim(zn,i​,zn,j​)/τ)​
s i m ( z n , i , z n , j ) = z n , i T z n , j / ∥ z n , i ∥ ∥ z n , j ∥ sim(z_{n,i},z_{n,j})=z_{n,i}^{\mathsf{T}}z_{n,j}/\|z_{n,i}\|\|z_{n,j}\| sim(zn,i​,zn,j​)=zn,iT​zn,j​/∥zn,i​∥∥zn,j​∥是两个表示的余弦相似度, τ \tau τ是温度系数。
互信息最大化
GraphCL框架还可以被解释为一种互信息最大化方法。通过最大化两个增强图视图的潜在表示之间的互信息,GraphCL能够学习到对特定扰动不变的表示。损失函数可以进一步表示为:
ℓ = E P G ^ i { − E P ( G ^ j ∣ G ^ i ) T ( f 1 ( G ^ i ) , f 2 ( G ^ j ) ) + log ⁡ ( E P G ^ j e T ( f 1 ( G ^ i ) , f 2 ( G ^ j ) ) ) } \ell=\mathbb{E}_{\mathbb{P}_{\hat{\mathcal{G}}_i}}\{-\mathbb{E}_{\mathbb{P}_{(\hat{\mathcal{G}}_j|\hat{\mathcal{G}}_i)}}T(f_1(\hat{\mathcal{G}}_i),f_2(\hat{\mathcal{G}}_j))+\log(\mathbb{E}_{\mathbb{P}_{\hat{\mathcal{G}}_j}}e^{T(f_1(\hat{\mathcal{G}}_i),f_2(\hat{\mathcal{G}}_j))})\} ℓ=EPG^​i​​​{−EP(G^​j​∣G^​i​)​​T(f1​(G^​i​),f2​(G^​j​))+log(EPG^​j​​​eT(f1​(G^​i​),f2​(G^​j​)))}
其中, h i = f 1 ( G ^ i ) h_i = f_1(\hat{\mathcal{G}}_i) hi​=f1​(G^​i​), h j = f 2 ( G ^ j ) h_j = f_2(\hat{\mathcal{G}}_j) hj​=f2​(G^​j​),T是一个度量函数,度量 f 1 ( G ^ i ) f_1(\hat{\mathcal{G}}_i) f1​(G^​i​)和 f 2 ( G ^ j ) f_2(\hat{\mathcal{G}}_j) f2​(G^​j​)之间的相似性。
在实验中,选择 f 1 = f 2 f_1=f_2 f1​=f2​通过数据增强生成视图 G ^ i , G ^ j \hat{\mathcal{G}}_i,\hat{\mathcal{G}}_j G^​i​,G^​j​。

4.实验

4.1 数据集

数据集

4.2 组合数据增强对比

组合数据增强增益对比
"Identical"表示无数据增强的GraphCL,如果没有应用数据增强,则将原始图作为正样本对进行比较,那么正样本损失为0,模型将无法从这种比较中学习到有用的信息。
组合图增强进一步提高了性能:最大精度增益为2.10 % ( NCI1 ),3.15 % ( PROTEINS ),7.11 % ( COLLAB )和1.85 % ( RDT-B )。并且发现,与不同类型的增强对(非对角线)相比,应用相同类型的增强对(见图2的对角线)通常不会导致最佳性能(节点丢弃除外)。
不同增强组合的对比损失曲线
相同增强的组合对比损失总是更快收敛,但这可能不利于模型学习到深层次的、泛化的特征表示。

4.3 有效图增强的类型、程度和模式

性能随增强程度的变化
左边两图说明:边扰动有利于社交网络数据集,不利于分子结构数据集,会破坏分子结构。
右边两图说明:在稠密图中应用特征掩码可以获得更好的性能。
性能与增强模式
节点丢弃和子图采样在所有数据集中通常都是有益的。

4.4 与SOTA方法比较

  • 半监督学习
    预训练和微调的半监督学习方法比较
  • 无监督学习
    无监督学习方法比较
  • 迁移学习
    迁移学习比较
  • 对抗鲁棒性
    鲁棒性测试
    在三种攻击下,与从头训练相比,GraphCL提高了GNN的鲁棒性。

碎碎念
1.GraphCL的效果在很大程度上依赖于选择合适的数据增强策略。引文网络数据集适合哪种增强策略?
2.论文主要的实验和讨论集中在图级别的表示学习上。节点级的表示?执行节点分类任务?

标签:增强,数据,Graph,Contrastive,zn,Learning,mathcal,hat,GraphCL
From: https://blog.csdn.net/weixin_45049017/article/details/140686817

相关文章

  • 机器学习:详解什么是端到端的深度学习?(What is end-to-end deep learning?)
    什么是端到端的深度学习?深度学习中最令人振奋的最新动态之一就是端到端深度学习的兴起,那么端到端学习到底是什么呢?简而言之,以前有一些数据处理系统或者学习系统,它们需要多个阶段的处理。那么端到端深度学习就是忽略所有这些不同的阶段,用单个神经网络代替它。来看一些例子,以语音......
  • Enhancing Diffusion Models with Reinforcement Learning
    EnhancingDiffusionModelswithReinforcementLearningSep27,2023 | UncategorizedTL;DRTodaywe'regoingtotellyouallabout DRLX -ourlibraryforDiffusionReinforcementLearning!Releasedafewweeksago,DRLXisalibraryforscalabledist......
  • 基于 LangChain+LangGraph 来实现一个翻译项目
    相信大家在看文档的时候,有时会比较苦恼,比如AI相关的文档都是外文,中文文档比较少,看起来会比较吃力,有的时候会看不懂,翻译软件又翻得很乱,完全看不了,今天就基于LangChain和LangGranph将吴恩达博士的一个项目给搬过来。一方面就是为了自己看文档方便点,另一方面也是练练手,用用......
  • The Emergence of Objectness: Learning Zero-Shot Segmentation from Videos 论文详
    TheEmergenceofObjectness:LearningZero-ShotSegmentationfromVideos文章目录TheEmergenceofObjectness:LearningZero-ShotSegmentationfromVideos前言摘要1Introduction具体分析1具体分析2具体分析32相关工作3通过外观-运动分解分割具体分析43.1......
  • ASTGNN(Localised Adaptive Spatial-Temporal Graph Neural Network)
    引言        本文主要探讨的问题是:能否以及在多大程度上对时空图模型进行局部化。并且将研究领域集中到ASTGNN上。ASTGNNs通常使用自适应图卷积层对空间依赖性进行建模。通过学习图邻接矩阵来捕获空间依赖性。因此,ASTGNN的局部化是通过邻接矩阵(仅捕获空间依赖性)的稀疏......
  • P10280 [USACO24OPEN] Cowreography G 题解
    Description奶牛们组了一支舞蹈队,FarmerJohn是她们的编舞!舞蹈队最新而最精彩的舞蹈有\(N\)头奶牛(\(2\leN\le10^6\))排成一行。舞蹈中的每次动作都涉及两头奶牛,至多相距\(K\)个位置(\(1\leK<N\)),优雅地跳起并降落在对方的位置上。队伍中有两种奶牛——更赛牛(Guernsey)和荷......
  • SolidJS-forceDirectedGraph(1)
    使用solidJS实现力导向图力导向图参考:https://observablehq.com/@d3/force-directed-graph/2原始代码与分析chart={//Specifythedimensionsofthechart.constwidth=928;constheight=600;//Specifythecolorscale.constcolor=d3.scaleOrdina......
  • 无法序列化 HighLevelGraph 类型的对象
    我编写的代码如下,importdask.arrayasdafromdistributedimportClientremote_server='localhost:8786'client=Client(remote_server)rows,cols=4123,4123chunk_rows,chunk_cols=1024,1024matrix1=da.random.random(size=(rows,cols),chun......
  • 迁移学习Transfer learning 与 元学习Meta-learning,二者的联系和差异
    基本概念:迁移学习tansferlearning迁移学习(tansferlearning):运用已有领域学到的知识来辅助新环境中的学习任务。新兴领域往往缺少大量训练数据,直接从头训练成本太高,而相关领域的知识学习是相似的,因此我们可以运用已有的相关知识(sourcedomain)迁移到新的学习任务(targetdomain)上......
  • GraphRAG参数与使用步骤 | 基于GPT-4o-mini实现更便宜的知识图谱RAG
    首先给兄弟朋友们展示一下结论,一个文本18万多字,txt文本大小185K,采用GraphRAG,GPT-4o-mini模型,索引耗时差不多5分钟,消耗API价格0.15美元GraphRAG介绍GraphRAG是微软最近开源的一款基于知识图谱技术的框架,主要应用于问答、摘要和推理等方面。它的核心特点是将大型语言模型(LL......