基于标签对比损失,设计了一种基于标签对比编码的图分类网络,实现了监督式的对比学习。
之前学习的基于对比学习的数据都是无标签的,这个是有标签的,监督式的对比学习。
本文的主要贡献如下:
(1)提出了一种基于标签对比编码的图神经网络(LCGNN),从而使用更具判别能力的信息强化监督式的 GNN。
(2)标签对比损失将对比学习扩展到了监督学习环境下,其中我们可以引入标签信息,从而保证类内的聚合性和类间的可分性。
(3)提出了动量更新图编码器和动态标签存储库来实现监督式的对比学习。
Abstract
在各种各样的应用领域中,图分类都是一个重要的研究课题。为了学习一个图分类模型,目前被最为广泛使用的监督式分量是使用输出层的表征和分类损失(例如,交叉熵损失加上 softmax 或 Margin loss)。事实上,实例之间的判别式信息粒度更细,这有利于图分类任务。为了更有效、更全面地利用标签信息,本文提出了一种新的基于标签对比编码的图神经网络(LCGNN)。LCGNN 仍然利用分类损失来保证类的可判别性。同时,LCGNN 利用自监督学习中提出的标签对比损失来促进实例级的类内聚合性和类间可分性。为了实现对比学习,LCGNN 引入了动态标签存储库和动量更新编码器。
Introduction
GNNS旨在将节点转换为低维特征,以保留图结构信息和属性[34]。当将GNNS应用于图分类时,标准的方法是为图中的所有节点生成特征,然后将所有这些节点特征汇总为整个图的表示,例如使用一个简单的求和或在节点特征集[31]上运行的神经网络。对于整个图的表示,通常使用监督组件来实现图分类的目的。最终输出层和分类损失(例如,交叉熵损失和softmax或边际损失)是许多现有gnn中最常用的监督组件[29,28,32,6]。这个监督组件关注类的可鉴别性,而忽略了实例级的鉴别表示。最近学习更强表示来服务于分类任务的一个趋势是用尽可能多的判别信息来强化模型[4]。明确地说,考虑了类内聚合性和类间可分性[14]的图表示在图分类任务中更有效。
受最近的自监督学习[3]和对比学习[7,18]的启发,对比损失[17]能够提取额外的鉴别信息来提高模型的性能。最近使用对比损失进行表示学习的研究[8,18,35]主要是在无监督学习的设置下进行的。这些对比学习模型将每个实例视为一个独立的类。同时,辨别这些实例是他们的学习目标[7]。在计算机视觉[26]领域中,一系列对比学习已被证明能够有效地学习更细粒度的实例级特征。因此,我们计划利用图分类任务上的对比学习来弥补监督组件忽略实例层的判别信息的不足。然而,在应用对比学习时,固有的较大的类内变化可能会给图分类任务[14]引入噪声。此外,现有的基于对比学习的GNNS(如GCC[18])分离了模型的训练前步骤和微调步骤。与端到端gnn相比,通过对比学习学习到的图表示很难直接用于图分类等下游应用任务。
为了解决图分类的问题,我们提出了基于标签对比编码的图神经网络(LCGNN),该网络利用标签对比损失来同时增强实例级的类内聚合性和类间可分性。与现有的使用单个正实例的对比学习不同,标签对比编码 导入标签信息,并将具有相同标签的实例视为多个正实例。通过这种方式,具有相同标签的实例可以拉得更近,而具有不同标签的实例将彼此推开。同时考虑了类内聚合性和类间可分性。标签对比编码可以看作是对编码器进行字典查找任务[7]的训练。为了构建一个广泛且一致的字典,我们提出了一个动态标签存储库和一个动量更新的图形编码器。同时,LCGNN还使用了Classification Loss来保证分类的可分辨性。LCGNN可以利用标签信息从实例级和类级更有效和全面地允许用更少的标签数据来实现比较性能,可以认为本质上是一种标签增强。我们验证性能在8个基准图数据集上,LCGNN对图分类任务的影响。LCGNN在7个图数据集中实现了SOTA性能。是什么更重要的是,当使用较少的训练数据时,LCGNN的表现优于基线方法,从而更全面地验证了其对标签信息的学习能力。
Contrastive Learning 对比学习
对比学习已被广泛用于无监督学习,通过训练编码器,可以捕获数据的相似性。对比损失通常是一个计分函数,它增加单个匹配实例的分数,减少多个不匹配实例的分数。在图领域,DGI是第一个利用对比学习思想的GNN模型,其中节点和图表示之间的互信息被定义为对比度量。HDGI将该机制扩展到异构图。InfoGraph在半监督图级表示学习中执行对比学习。当面对监督学习的任务,如图分类时,我们还需要利用对比学习的优势来捕获相似性。GCC利用对比学习预训练模型,通过微调来服务于下游的图分类任务。与它们相比,我们的方法是一个端到端模型,并执行标签对比编码,以鼓励实例级的类内聚合性和类间可分性
LCGNN Architecture Overview
LCGNN的高层结构。LCGNN使用混合损耗训练图编码器fq和图分类器。标签对比损失和分类损失构成混合损失。LCGNN中使用的分类损失是交叉熵损失。
标签对比损失由字典查找任务计算。查询是输入图minibatch的每个图,字典是一个可以连续更新标签已知图表示的内存库。内存库中的图形表示由图形编码器fk更新,该编码器是动量更新的。
经过训练,学习的图编码器fq和图分类器可以用于图分类任务。
图1显示了LCGNN的学习过程说明。
通常,对于输入图,我们需要通过高性能的图编码器来提取潜在特征,这些特征可以为图分类服务。为了配合提出的混合损失(标签对比损失和分类损失),LCGNN包含两个图编码器fk和fq,分别用于编码输入关键图和查询图。标签对比损失通过保持中间区分性表示同时鼓励实例级类内紧凑性和类间可分性,而分类损失确保了类级可区分性。包含键图表示和相应标签的动态内存库用于标签对比损失计算。图分类器将来自图编码器fq的表示作为其输入来预测图标签。在接下来的部分中,我们将详细阐述LCGNN的每个组件和学习过程。
Label contrast Loss标签对比损失:对比学习 需要定义正负样本 也就是让正样本相近的更相近,负样本更原理
Classification Loss 分类丢失则确保类级的可分性 - 这个类是指的大类,狗猫等
Label Contrastive Coding
对比学习可以被认为是通过字典查找任务从而完成编码器学习。我们可以这样描述对比学习。给定一个编码query q qq和一个包含m个编码keys {k1, k2,…, km},则只有一个正样本k + k+k+(通常与q来自同一个实例)。当q qq与正样本k + k+k+相似,而与负键q(字典中所有其他键)不同时,这种对比学习的损失较低。
一个广泛使用的对比损失是InfoNCE :
这里,τ是温度超参数[26]。本质上,InfoNCE的损失是一种分类损失,目的是将q从m = 1类分类到与k+相同的类。
但是我们已知标签,肯定不能直接使用这个loss
但是,在面对图分类任务时,类标签已经确定,我们希望在训练数据中导入已知的标签信息,以辅助对比学习服务于图分类任务。这样,我们设计了标签对比编码
Label contrative loss
标签对比损失。查询图Gq和关键图Gk分别由fq和fk编码为低维表示q和k。与q具有相同标签的k1和k2表示为正键。由于标签不同,k3和k4是负键。标签对比损失鼓励模型区分相似对(Gq,Gk1)和(Gq,Gk2)与不同实例对,例如(Gq,Gk3)