• 论文解读(ClusterSCL)《ClusterSCL: Cluster-Aware Supervised Contrastive Learning on Graphs》


    论文信息

    论文标题:ClusterSCL: Cluster-Aware Supervised Contrastive Learning on Graphs
    论文作者:Yanling Wang, Jing Zhang, Haoyang Li, Yuxiao Dong, Hongzhi Yin, Cuiping Li
    论文来源:2022, WWW
    论文地址:download 
    论文代码:download

    1 Introduction

      图上的监督对比学习很难处理拥有较大的类内(intra-class)差异,类间(inter-class)相似性的数据集。

       

      Figure 1(a) 顶部中 (u1,u3)(u1,u3)(u2,u4)(u2,u4) 属于同一个类,但在不同的图社区(类内差异,intra-class variances),而 (u1,u2)(u1,u2)(u3,u4)(u3,u4) 来自不同的类但在同一图社区(类间相似性,inter-class similarities)。针对上述问题,需要找出一个复杂的决策边界,见 Figure 1(a) 底部。

      当执行自监督对比(SupCon)为 u2u2 寻找锚节点,如 Figure 1(b) 所示,正样本对属于同一类但位于不同的簇,如 (u2,u4)。简单地把正对(相同标签节点)放在同一嵌入空间,可能间接把不同类的节点,如 (u2,u3) 看成正对,因为 u3u4 社区结构类似。同时,对属于不同类但位于同一簇中的负样本对,如 (u2,u1),简单地把它们推开可能间接推开同一类的节点,如 (u2,u5),因为 u5 在结构上与 u1 相似。

      上述问题总结为:简单的执行类内差异小,类间方差大的思想,可能会造成分类错误,导致 Figure 1(c) 顶部显示的更复杂的决策边界。

      本文的想法简单的如 Figure 1(b) 底部所示。

    2 Method

    2.1 Base CL Scheme: SupCon

      对一个 batch 内的节点 vi ,其正样本下标集合 SisiSivi 正样本的索引。SupCon 损失函数如下:

        LSupCon =viB1|Si|siSilogexp(hihsi/τ)vjB{vi}exp(hihj/τ)(3)

      其中 h 代表着经 2-normalized 处理后的表示。

    2.2 Proposed CL Scheme: ClusterSCL

      假设有 M 个簇,引入潜在变量 ci{1,2,,M} 来指示节点 vi 归于哪个簇。给定一个锚节点 vi 和一个节点 vjCDA 通过以下线性插值构造一个 vj 的加强版本:

        ˜hj=αhj+(1α)wci(4)

      其中,w={wm}Mm=1 表示簇原型。˜hj 包含来自 vj 的信息,以及节点 vi 所属的簇的信息。

      如果锚节点 vi 和对比样本 vj 本身在嵌入空间已经足够相近,那么可以选择直接对比,也可以为其分配一个更大的 α  ,使 vj  包含更多自身信息。相反,若 vivj 在嵌入空间中彼此远离,那么使用较小的 α 来衰减来自 vj 的信息,以保证锚点和增强样本之间不会太远。

      这种方式缩小了特征空间,并拉近了远正样本对之间的距离和拉远了近负样本对之间的距离,帮助保留节点的聚类分布。α 控制着拉近还是拉远,图解如  Figure 2 所示:

      

      本文从从正\负样本对的角度设计了调整 α 的原则,计权重 α 计算方式为:

        α=exp(hihj)exp(hihj)+exp(hiwci)(5)

      PS:hihj 位于半径为 1 的超球面的表面上,我们有 hihj2=22hihj,即表示内积越大代表着表示之间的欧几里得距离小。

      mixup 和 CDA 都采用线性插值操作来生成虚拟数据点。在这里,阐述 CDA 与 mixup  之间的区别:

      • mixup 通过扩大训练集来提高神经网络的泛化能力,而 CDA 则旨在处理 SupCon 学习中的类内差异类间相似的问题;  
      • mixup 在两个样本之间执行线性插值,而 CDA 在一个样本和一个原型之间执行线性插值;  
      • mixup 独立于学习过程,而 ClusterSCl 中的 CDA 被集成到学习过程中,以利用可学习的参数;

    Integrating Clustering and CDA into SupCon Learning

      流程如下:

       

      在执行 CDA 之前,需要通过下式知道锚节点 vi 属于哪个簇:

        p(civi)=exp(hiwci/κ)Mm=1exp(hiwm/κ)(7)

      其中,κ 为用于调整聚类分布的温度参数,p(civi) 可以视为一个基于原型的软聚类模块。

      基于 CDA 推导出的节点版本(即已经使用了线性插值),对以下实例识别任务进行建模(聚类感知识别器):

        p(sivi,ci)=exp(hi˜hsi/τ)vjV{vi}exp(hi˜hj/τ)=exp(hi(αhsi+(1α)wci)/τ)vjV{vi}exp(hi(αhj+(1α)wci)/τ)(6)

      由于我们已经对软聚类模块 p(civi) 和聚类感知识别器 p(sivi,ci) 进行了建模,因此ClusterSCL  可以建模为以下实例识别任务:

        p(sivi)=p(civi)p(sivi,ci)dci(8)

    Inference and Learning 

      实际上,由于对数操作内的求和,最大化整个训练数据的对数似然值是不平凡的。我们可以采用 EM 算法来解决这个问题,其中我们需要计算后验分布:

        p(civi,si)=p(civi)p(sivi,ci)Mm=1p(mvi)p(sivi,m)(9)

      然而,由于对整个节点的求和 vjV{vi}exp(hi˜hj/τ),计算后验分布是禁止的。我们最大化了由以下方法给出的 logp(sivi) 的 evidence 下界(ELBO):

        logp(sivi)LELBO(θ,w;vi,si):=Eq(civi,si)[logp(sivi,ci)]KL(q(civi,si)p(civi))(10)

      其中 q(civi,si) 是一个近似后 p(civi,si)。ELBO的推导在附录a中提供。在这里,我们将变分分布形式化为:

        q(civi,si)=p(civi)˜p(sivi,ci)Mm=1p(mvi)˜p(sivi,m)(11)

      其中 ˜p(sivi,ci)=exp(hi˜hsi/τ)/vjB{vi}exp(hi˜hj/τ) 在一个批次 B 内计算。请注意,vivsi 都在该批处理中。此外,我们应用 ˜p(sivi,ci) 来估计 Eq.10 中的 p(sivi,ci)、并在附录B中作出说明。

      我们通过一种变分EM算法来优化模型参数,其中我们在 E 步推断 q(civi,si),然后在 M 步优化ELBO。对一批节点进行采样,我们可以最大化以下目标:

        LELBO(θ,w;B)1|B|viB1|Si|siSiLELBO(θ,w;vi,si)(12)

      我们观察到,只有对集群原型使用随机更新才能得到平凡的解决方案,即大多数实例被分配给同一个集群。为了缓解这一问题,我们在每个训练阶段后应用以下更新:

        wm=1|ˉVm|viˉVmhi,m=1,2,,M(13)

      其中,ˉVm 表示由 METIS 导出的第 m 个图社区中的节点集。在训练之前,我们根据节点间的互连将整个图 G 划分为 M 个图社区。我们使用社区来粗略地描述集群,并对每个社区中的节点嵌入进行平均,以在每个训练阶段后更新集群原型。请注意,ClusterSCL 采用了 Eq.7,为每个节点推导出一个细化的软集群分布。METIS 输出的硬集群分布仅用于原型更新。此外,我们观察到需要对 κ 进行细粒度搜索,这是低效的。根据经验,我们使用一个小的 κ 来推导一个相对可靠的聚类预测,并引入一个熵项来平滑预测的聚类分布。通过这样做,我们可以避免在 κ 上的细粒度搜索。最后,将 ClusterSCL 损失函数形式化为:

        L(θ,w;B)=LELBO(θ,w;B)+η|B|viBMci=1p(civi)logp(civi)(14)

      其中,η(0,1] 为控制平滑强度的熵项的权值。

      Algorithm 1 显示了使用Clusterscl进行训练的伪代码。我们在附录C中提供了 ClusterSCL 的复杂性分析。

       

    3 Experiments

      实验通过回答以下研究问题来展开:(1)ClusterSCL 如何在节点分类任务上执行?(2)CDA是否生效?(3)ClusterSCL 在不同大小的标记训练数据下表现如何?

    节点分类

      

    CDA 有效性验证

      

    在不同大小的标记训练数据下的 ClusterSCL 的研究

      

    4 Conclusion

      这项工作初步研究了用于节点分类的图神经网络的监督学习。我们提出了一种简单而有效的对比学习方案,称为聚类感知监督对比学习(聚类scl)。ClusterSCL改进了监督对比(SupCon)学习,并强调了在SupCon学习过程中保留内在图属性的有效性,从而减少了由类内方差和类间相似性引起的负面影响。ClusterSCL比流行的交叉熵、SupCon和其他图对比损失更具有优势。我们认为,ClusterSCL的思想并不局限于图上的节点分类,并可以启发表示学习的研究。

     


    __EOF__

  • 本文作者: Blair
  • 本文链接: https://www.cnblogs.com/BlairGrowing/p/16262575.html
  • 关于博主: 评论和私信会在第一时间回复。或者直接私信我。
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。
  • 相关阅读:
    机器学习笔记 - 使用 PyTorch 的多任务学习和 HydraNet
    【Swift 60秒】58 - Capturing values
    形式逻辑简介
    分布式全局唯一ID (学习总结---从入门到深化)
    点餐小程序实战教程08-购物车功能开发
    MySQL介绍及CRUD操作。
    软件机器人财务报表信息的采集和录入、抵押贷款信息查询助力银行贷款业务管理
    点到直线距离
    微信小程序 java家庭个人收支理财记账本springboot
    Docker中安装Kibana
  • 原文地址:https://www.cnblogs.com/BlairGrowing/p/16262575.html