点击下方卡片,关注「集智书童」公众号
想要了解更多:
前沿AI视觉感知全栈知识👉「分类、检测、分割、关键点、车道线检测、3D视觉(分割、检测)、多模态、目标跟踪、NerF」
行业技术方案 👉「AI安防、AI医疗、AI自动驾驶」
AI模型部署落地实战 👉「CUDA、TensorRT、NCNN、OpenVINO、MNN、ONNXRuntime以及地平线框架」
欢迎扫描上方二维码,加入「 集智书童-知识星球 」,日常分享论文、学习笔记、问题解决方案、部署方案以及全栈式答疑,期待交流!
免责声明
凡本公众号注明“来源:XXX(非集智书童)”的作品,均转载自其它媒体,版权归原作者所有,如有侵权请联系我们删除,谢谢。
自监督学习中的自训练方法已经证明在半监督学习中利用丰富的未标注数据是有效的,尤其是在标注数据稀缺的情况下。尽管许多这些方法依赖于交叉熵损失函数(CE),但最近的研究表明,有监督对比损失函数(SupCon)可以更有效。
此外,无监督对比学习方法也已在无监督环境下捕获高质量的数据表示。
为了在半监督设置中利用这些优势,作者提出一个通用框架来增强自训练方法,该框架用一个独特的对比损失替换所有CE损失。
使用类别原型,即一类可训练参数的一组,作者恢复了CE设置的概率分布,并显示出与它理论上相等的等价性。
将作者的框架应用于流行的自训练方法后,当有少量的标注数据时,在三个不同的数据集上获得了显著的性能改进。
此外,作者还展示了在收敛速度、迁移能力和超参数稳定性方面的进一步提高。
1 Introduction
半监督学习得益于无监督表示学习的进步,尤其是在自监督方法上,这些方法可以高效地从无标签数据中提取信息。这些方法中,对比学习在计算机视觉领域特别有效。此外,对比学习已经证明可以将其应用不限于无监督设置。深度神经网络在 supervised 设置下的传统训练方法通常涉及使用 softmax 激活函数的交叉熵 (CE) 作为主要损失函数。然而,在最近的 Work 中,人们已经开发了一种 supervised contrastive loss function,称为 SupCon ,它能够实现高度区分性的表示,并且在准确率上具有可比性甚至优越性。这种方法使用来自标签的信息来创建正样本对,而不是依赖数据增强来生成同一未标注样本的两个不同视图。具体而言,在嵌入空间中,同一类的样本是被推动得更靠近彼此,而被其他类的样本是被推动得更远离彼此。
然而,尽管 SupCon 依赖于有标签的训练数据,但无监督的对应物则不能利用任何标签信息。本研究的主要目标是将 SupCon 的原则和优势扩展到半监督情况。通过结合监督和无监督对比学习的方面,作者引入了一个半监督对比 (SSC) 的框架,该框架使用单个损失 。作者的方法使现有自训练技术(如 FixMatch[29])的集成变得简单,允许在不涉及监督的情况下顺畅地转换。
与使用 softmax 激活函数的 CE 损失不同,对比损失并不能直接提供在自训练过程中伪标签示例所需的概率分布。为了解决这个问题,作者提出了一种解决方案,通过引入类原型并建立这些原型的理论等价性,将古典交叉熵与带有原型的监督对比学习建立桥梁。这项工作的主要贡献有三个:
- 作者提出了一种基于半监督对比损失 的半监督学习框架,可以处理带有标签、伪标签和不确定伪标签的示例。
- 作者展示了如何集成类原型并建立交叉熵与带有原型的监督对比学习的理论桥梁。
- 作者将作者的损失应用于 FixMatch,这是一个现有的简单框架,并在三个数据集上展示了显著的改进,同时调查了作者的损失函数的性质,突出了其更快收敛速度、可转移学习和对超参数的稳定性。
在接下来的部分中,作者首先在第二部分提出了符号和背景。然后,在第三部分,作者介绍作者提出的方法。接着,作者在第四部分讨论了在三个基准上的实验。最后,在第五部分中,作者得出结论。
2 Notations and Background
作者将首先介绍必要的符号,然后说明它们如何与先前的相关工作联系起来。作者使用矩阵记法而不是向量,这为呈现作者的方法提供了更方便的框架。在半监督环境中,批处理被分为一个由B个标记示例及其相关标签向量 组成的矩阵 ,以及另一个包含 个 未标注 示例的矩阵 ,其中整数 表示 和 之间的因素大小。更具体地说,作者有:
作者用 , 表示将示例映射到隐空间 的编码器。然后,一个投影头 将嵌入映射到一个概率分布,对应作者的分类问题的 个分类。在自训练的背景下,_伪标签_ 指的是模型为其最高置信预测自动分配给 未标注 数据,定义为在投影头 的 argmax。如果最大概率超过阈值 ,则该模型对作者 未标注 的示例表示出信心。
遵循大多数最近的半监督学习方法,基于一致性正则化,作者采用弱数据增强,记作 ,以及强增强,记作 。在训练期间,编码器 被训练以计算三个不同的嵌入:
- ,是来自标签训练数据的监督嵌入。
- , 分别通过为 未标注 数据应用两个随机强增强得到。使用两次增强确保了批量中的每个示例至少有一个正配对。
- 是在弱数据增强下,通过应用强增强生成的非监督嵌入。在自训练方法中,这种嵌入用于计算置信得分和生成伪标签。
最后,作者定义了一组与 未标注 示例相关的标签:
- ,其中 是使用弱增强的示例计算的伪标签。它们与具有高置信度的 未标注 数据相关联,高于给定的阈值 。
- ,其中 是与 未标注 示例 相关的标记。这个定义将确保这些不受信任的标签只会与一个唯一的正示例关联。
作者简要介绍相关工作的对比和半监督学习损失,并说明作者的方法与这些损失函数的关联。
2.0.1 Supervised Contrastive Learning.
在[21]中,作者使用标记数据来确保具有相同标签的样本的表示向量被拉近,同时确保来自不同标签的样本的表示向量被推开。这一目标是通过使用监督表示向量 及其相应的标签 来实现的。
涉及的计算任务涉及为每个表示向量 (称为 Anchor 点)计算与具有相同标签的所有其他表示向量 (称为正配对)之间的余弦相似度。然后,这种相似度通过所有配对相似度之和进行归一化,遵循经典 InfoNCE 损失 [27] 的原则。更具体地说,作者有:
其中 是 Anchor 点的集合, 是与示例 相关的正例集合, 是一个温度超参数。请注意,标签 仅用于定义正配对 。
2.1.2 Unsupervised Contrastive Learning.
如方法SimCLR [9] 或MoCo [19]所示,无监督对比学习依赖于无监督数据集中每个实例的两种强大增强,并采用InfoNCE损失 [27]。
与SupCon相比,它使用显式标签来识别正负样本,而自监督损失则遵循无监督范式,其中没有提供标签。因此,在自监督学习中,每个增强样本只有一个正配对,有效地构成了SupCon损失的一种专门形式。根据之前定义的,自监督InfoNCE损失可以简单地表示为:
将无监督对比损失解释为SupCon的特殊实例是作者统一损失设计的核心。
2.1.3 Self-training [2].
亦常被称为伪标签自动增强,自训练是一种广泛使用的封装算法,最近在半监督学习最先进的实现方法中被广泛采用 [4, 5, 7, 8, 10, 24, 29, 38]。首先,分类器对带有标签的训练数据进行训练,然后迭代地将伪标签分配给 未标注 的数据,并使用增强的训练集重新训练分类器。一些方法提出以在线方式使用自训练 [4, 5, 29]。
具体而言,FixMatch [29] 应用了一个分类交叉熵损失 到带有标签的例子 ,而额外使用无监督分类交叉熵损失 来计算与伪标签相关的 未标注 训练示例,只有在模型置信度超过阈值 时:
这种无监督损失基于一致性正则化原则,它迫使模型对输入的扰动(如强烈增强)具有鲁棒性。它在计算机视觉等许多流行的半监督方法中已成为核心。
最近,针对生成伪标签的自适应阈值策略已在 Dash [35],FlexMatch [37],Adamatch [6] 和 FreeMatch [33] 提出。SoftMatch [8] 提出通过学习一个根据每个伪标签示例的信心水平适当地调整伪标签贡献的参数密度函数来调整伪标签贡献。
另一方面,CoMatch [24] 和 SimMatch [38] 引入了一个额外的对比损失,它强制具有相似的概率分布表示之间的相似性。除作者提到的自训练技术外,其他许多成功的半监督学习方法 [31, 23] 已经提出了使用 SupCon 损失,作为对带有标签或伪标记示例的额外正则化项。
相比之下,作者的方法使用单个对比损失同时处理带有标签的训练数据和所有 未标注 训练示例,包括模型不自信的示例。
3 Method
作者的方法是一种封装算法,可以轻松地适应各种自训练算法。作者将使用FixMatch作为示例来阐述作者的方法,因为它足够简单。然而,作者提出的算法足够灵活,可以应用于更复杂的自训练算法。
3.1.1 Overview
在作者的方法中,作者旨在通过同时集成标记、伪标记和无标记的例子,在模型不确定的情况下,改进经典的SupCon损失。作者的方法的基本架构如图1所示。
使用编码器 ,作者首先计算 ,即标记训练数据的嵌入。类似地,作者通过应用两个强大的数据增强将无标记训练数据生成 ,并通过应用弱数据增强生成 。
3.1.2 Unsupervised part .
在作者的框架中,一个至关重要的新创新在于,它能处理所有的无标签示例,无论它们的置信度如何:
对于置信度较高的示例,作者采用一种与在线自助训练方法(如FixMatch)类似的策略,即使用之前定义的假标签 。然而,而不是忽略置信度低于阈值 的示例,作者使用 为它们分配唯一的标签。为了确保这些标签唯一,作者将值 shift 以避免与现有类别发生冲突。
这导致了具有独特正样本对的创建,这些样本对称地反映了无监督对比损失方法(如SimCLR)的机制,如图2 所示。通过将有信心的并无信心的示例都包含在 中,作者的方法能够利用全部的无标签训练数据。请注意,即使损失并不直接依赖于弱增强的嵌入 ,它也被用于计算 。
3.1.3 Centroid part .
计算未标注实例 的标签需要一种投影头 ,该头可以将 映射为分布概率。然而,用有监督对比损失训练模型并不能直接得到这样的分类器,这就是为什么在使用对比损失进行分类时,额外采用了交叉熵训练阶段的原因[21]。
为了解决这个问题,并保持完全对比框架,作者提出了使用类原型[14, 16, 39]的方法。这意味着使用 个可训练的参数中心 ,这些中心直接位于嵌入空间。作者将标签原型定义为 ,其中 的第 行表示与类 相关的主原型。这些随机初始化的参数在对比训练过程中与其他嵌入类似地被更新。作者方法的新特点是使用这些原型来定义一个强度较弱的增强示例 的概率分布,通过应用一个温度为 的softmax函数与其余原型的余弦相似度:
使用这些原型进行训练可以让定义一个分类头 ,用于计算 ,而无需添加额外的交叉熵损失。关于损失的进一步分析和与交叉熵的联系将在下文进行讨论。
统一的损失 。 最后,作者的损失,定义为半监督对比(SSC)损失,可以用SupCon和之前定义的量简洁表达:
表1,提供了利用标记、伪标记和不确定标记数据的不同最先进方法的概述。相比之下,作者提出的唯一方法是将所有标记和 未标注 训练数据的优势充分利用,在完全对比框架中学习。
Proposal 的方法的伪代码可以在算法1中找到。首先,算法计算标记示例的嵌入,,使用强烈增强的 未标注 示例的嵌入,,以及原型的嵌入,。通过使用 和轻度增强的 未标注 示例的嵌入 的伪标记过程,与 未标注 示例相关联的标签 是生成的。最后,它将标记示例的标签,,伪标记示例的标签,,以及原型的标签, 结合在一起,使用权重为 的SSC损失函数来训练模型。
算法1:半监督对比(SSC)伪代码
Weigthed Semi-SupCon Loss
类似于其他混合损失框架,它们包括参数在有监督、 pseudo-标签或无监督部分之间平衡,作者在之前定义的半监督对比损失 中扩展到特征权重,通过使用一个额外的参数 :
这些权重提供了一种机制,可以给某些 Anchor 点赋予更高的权重。在实际应用中,作者使用一个非常简单的策略,其中作者使用一个与 Anchor 点性质仅有关的常数值:
更先进的使用自适应加权的方法可以很容易地实现,例如基于分类器 的置信度的权重[8, 24]。从现在开始, 总是指代这种加权版本的损失。
Link with cross-entropy
作者现在在弱假设下,利用对比学习原型(prototypes)建立交叉熵(CE)损失与作者框架之间的关系。如前人的工作[28]所观察到的,这两种损失函数有许多相似之处,尤其是在处理负样本时与线性分类层的权重相似。基于原型的方法正是建立在这一点上的类比。如果作者去除最后投影层的偏差,CE损失 H 可以表示为最终线性投影层 的权重形式:
如果作者设置SupCon损失的温度为 ,并确保所有嵌入的正则化,那么通过用prototypes 替换最后层权重,作者得到:
CE损失实质上相当于对每个例子分别应用SupCon损失,每个例子只有一个正对,即其类别原型。这两个损失的目标根本上都是学习prototype 或者等价的学习权重 与对应的标签给出的特征向量对齐,这支持使用prototype来学习嵌入空间的相似分布概率。
4 Experiments
在本节中,作者将介绍作者的实验设置,将作者的方法与已建立的自我训练方法进行比较,并通过消融研究评估单个组件的影响。作者还将研究作者的方法在迁移性能和自我预训练的协同作用,重点关注收敛速度。最后,作者将分析作者所提出的损失函数的超参数的稳定性。
Experimental setup
作者的框架在三个经典的基准数据集上进行了评估:CIFAR-100 [1]、STL-10 [12] 和 SVHN [26]。对每个数据集,作者探索了两个分裂,保持了每个类有限数量的4和25个标记示例。作者用3个随机种子进行了每个实验,并呈现了每个实验的平均值和标准偏差。遵循文献资料中的设置 [29],基准模型报告了1024个周期,其中一个周期是任意定义的 步,即 步,根据文献资料。然而,为了展示作者方法的有效性,作者在 上只训练了256个周期。
作者在CIFAR-100和SVHN的所有实验上使用Wide ResNet WRN-28-2 [36],而对于STL-10,作者使用了更大的Wide ResNet WRN-37-2。在这些架构之上,作者添加了如SupCon中所述的投影头,它是一个由2层128维MLP和256维MLP组成的多层感知器(MLP),其中Wide ResNet WRN-28-2的MLP参数与原始使用CE进行标记的投影相同,而Wide ResNet WRN-37-2的MLP参数与原始使用的投影相同。对于FixMatch,作者使用了 RandAugment [13] 进行强烈增强。
需要注意的是,尽管 RandAugment 在半监督环境中很常见,但它并不是专门为对比学习设计的。然而,作者决定保持与 FixMatch 相同的增强参数。作者采用与原始工作完全一致的准确超参数,包括所有优化器设置,如学习率、计划、权重衰减、批量大小 和比例 。有关作者在框架中添加的额外超参数,作者保持它们相同。作者将 除了在不确定的情况下,作者设置了 。
Experimental Results
实验结果部分的开始。
4.2.1 Performance of
作者首先通过比较 FixMatch 与及使用作者提出的半监督对比损失并排他(SemiSupCon loss)的 FixMatch,来评估与其它领先的自我训练方法的结果。作者在 CIFAR-100 和 SVHN 数据集上进行了这个比较,使用 4 和 25 个标注训练样本。作者报告了之前文献中找到的最先进方法的结果。为了明确所提出的方案的效果,作者在服务器上同时运行了 FixMatch 带和不含 SemiSupCon 损失。根据表2 的结果显示,UDA [34] 的性能与 FixMatch 相当。然而,当使用作者提出的半监督对比损失方法 结合 FixMatch 时,该方法显著提升了其竞争力,特别是在使用每个类仅 4 个标注示例进行模型训练时表现得尤为明显。这些结果强调了在利用所有未标注数据方面,作者的方法在标注数据稀缺的场景下的有效性。
4.2.2 Transfer Performance
经典半监督学习基准测试通常需要从头训练模型,这是一个耗时巨大的过程。由于这些限制,某些研究提倡在半监督方法中利用预训练的模型 [15, 32]。
在这个方向上,作者探索将自监督预训练使用MoCo v2 [11]集成到作者方法中。具体来说,在本节中,作者使用以下模型:
- 如果是从零开始训练,则使用ResNet-50架构。
- 如果是使用预训练权重,则使用在ImageNet上进行800个周期的预训练权重的MoCo v2。
作者把Top-1准确率作为指标绘制出来(见图2),横轴是训练周期的数量,纵轴是以百分比表示的Top-1准确率。作者有以下观察:除了具有更高的准确率外,使用损失需要比使用标准方法(使用500个周期)更少的周期来收敛。仅在使用损失从零开始训练时,训练效果已经超越了使用500个周期的标准方法,而在使用预训练权重时,仅需要25个周期,即可实现69.3%的验证准确率,这是显着提高的。使用包括模型对较低置信度的实例在内的所有 未标注 数据促进了有效的训练。
如前所述,作者观察到使用的半监督预训练可以显著提高性能,这在与经典CE损失的使用相比是不同的。这强调了作者提出的损失似乎有助于平滑地从预训练方法过渡,特别是那些具有对比性质的预训练方法,如MoCo。
4.2.3 Ablation study
在研究中不同组成部分的影响时,作者进行了一个详尽的消融实验,结果报告在表3中,该实验在CIFAR-100和STL-10上进行,使用了256个周期。作者观察到,使用两种增强方法稍微提高了FixMatch技术。然而,添加自监督的SimCLR损失会恶化性能,正如已在[23]中观察到的那样。同样地,忽略不确定的嵌入或用单独的SimCLR损失应用它们也会降低的性能。使用 consistently实现最高的准确性。这些结果支持作者将它们直接集成到作者的损失中,从而促进与所有其他嵌入和典型之间的全局交互。
Hyperparameter stability analysis
作者检查了作者的框架对经典自训练超参数(如假标签信心阈值,批次中标注和 未标注 示例的不平衡比,以及强增强)的敏感性。图3说明了在各种超参数设置下模型性能的分布。作者的对比方法(用绿色表示)与另一种方法相比,对和参数的方差明显较低。然而,两种方法对增强力量的敏感性似乎相同。这符合预期,因为作者的对比框架依赖于进行一致性正则化和通过使用不确信嵌入进行无监督对比学习。
5 Conclusion
本文提出了一种新的半监督对比框架,结合了SupCon与无监督对比损失,实现在自训练设置中有效工作。所提出的框架允许在训练过程中同时利用标记、伪标记和不确定的例子。
此外,作者提出了将类别原型引入对比学习的想法,以推导类别概率,提高模型的解释性和性能。通过应用作者的方法到FixMatch框架,作者在三个数据集上观察到了巨大的性能提升。作者的方法表现出快速的收敛性,得益于预训练,而且在各种超参数上表现稳定,这突显了它在半监督学习场景的有效性和可靠性。
未来的研究可能探索进一步改进对比学习框架的可能性,例如将特定领域的知识引入或将框架适配到处理噪声或不完整的数据。此外,研究对比学习与其他半监督学习技术的交互性,可能会得出具有更大性能提升的协同方法。
参考
[1].A Unified Contrastive Loss for Self-Training.
扫码加入👉「集智书童」交流群
(备注: 方向+学校/公司+昵称 )
点击下方“ 阅读原文 ”,
了解更多AI学习路上的 「武功秘籍」