对比学习 Contrastive Learning

摘要

对比学习是一种通过使用相互对比样本的原理来学习数据类之间常见的属性以及将数据类与另一个数据类区分开的属性来增强视觉任务性能的技术。

这种模仿人类了解周围世界的方式的学习模式在深度学习文献中显示出了有希望的结果,从而在计算机视觉研究领域中变得越来越重要。

什么是对比学习?

对比学习是一种机器学习范例,其中未标记的数据点相互并列,以教导模型哪些点相似、哪些点不同。

也就是说,顾名思义,样本相互对比,属于同一分布的样本在嵌入空间中相互推向。相反,那些属于不同发行版的人会相互竞争。

对比学习的重要性

监督学习是一种机器学习技术,通过使用大量标记示例来训练模型。数据标签的质量对于监督模型的成功至关重要。

但是,获取如此高质量的标记数据是一项繁琐的任务,尤其是在生物医学成像等领域,需要专家医生对数据进行注释。这既昂贵又耗时。监督学习 ML 项目 80% 的时间投入到获取和清理模型训练的数据上。

因此,深度学习最近的研究重点是减少模型训练中对监督的要求。为此,人们提出了几种方法,例如半监督学习、无监督学习和自监督学习。

在半监督学习中,使用少量标记数据和大量未标记数据来训练深度模型。在无监督学习中,模型试图在没有任何数据标签的情况下理解非结构化数据。

自我监督学习(SSL)的方法略有不同。

与无监督学习一样,非结构化数据作为模型的输入提供。然而,模型会自行注释数据,并且以高置信度预测的标签将在模型训练的未来迭代中用作基本事实。

这不断改进模型权重以做出更好的预测。与传统监督方法相比,SSL 方法的功效引起了一些计算机视觉研究人员的注意。

SSL 中使用的最古老和最流行的技术之一是就对比学习,它使用 “正” 和 “负” 样本来指导深度学习模型。

此后,对比学习得到了进一步发展,现在被用于完全监督和半监督的环境中,并提高了现有最先进技术的性能。

对比学习的框架

深度学习和计算机视觉研究人员在最近的文献中提出了三种流行的对比学习框架的工作机制。

1.SimCLR

SimCLR 模型由 Google Brain 开发,是视觉表示对比学习的框架。 SimCLR 被提议通过对比学习来解决自监督和半监督学习问题。

其基本工作原理是利用潜在空间中的对比损失来最大化同一样本的不同增强版本之间的一致性。

2. NNCLR

大多数基于实例区分的对比学习算法都会训练编码器,使其对同一实例的预定义变换保持不变。

虽然大多数方法将同一图像的不同视图视为对比损失的正值,但本文开发的最近邻对比学习 (NNCLR) 框架尝试使用数据集中其他实例的正值,即使用来自数据集中的不同图像。同一类,而不是增强同一图像。

3. PCL

原型对比学习(PCL)是一种将对比学习与聚类联系起来的无监督表示学习方法。 PCL 学习用于实例区分任务的低级特征,并且还将通过聚类发现的语义结构编码到学习的嵌入空间中。

参考来源

【1】https://www.v7labs.com/blog/contrastive-learning-guide#ten-contrastive-learning-frameworks