Supervised Contrastive Learning浅读

目录

前言

1.方法介绍以及结构

2.思路的实现

2.1自监督对比学习

2.2有监督对比学习

3.结果


前言

本文是根据观看了知名油管up主,对Supervised Contrastive Learning这篇文论文的解读写了一点自己的理解,初次接触,理解甚浅。

在文章中作者提出了一种新的监督训练的loss, 这种loss 是基于contrast loss的优化目标,与之前的监督学习不同,它是每个锚点取多个正例, 目的是使相同label 的normalized embedding 尽可能接近,不同label的尽可能远。最终结果证明,新的loss要比cross entropy训练更加稳定, 并且在分类任务的结果要好些。

1.方法介绍以及结构

论文通过对普通的监督学习,自监督对比学习,以及文章中提出来的有监督对比学习作比较。

在这里插入图片描述

(a)代表传统的交叉熵loss 主要是在最后一层通过softmax 结果和 label 来训练模型。
(b)代表自监督的contrastive loss, 通过数据增强方法来构建正负例样本, 进而优化模型。
(c)第一阶段,利用label 来做contrast loss. 第二阶段,冻住学到的特征,然后通过一个全连接层做softmax loss.

contrastive loss包括两个方面:1 是positive pair, 来自同一个训练样本通过数据增强等操作 得到的两个 feature 构成, 这两个feature会越来越接近, 2 是negative pair, 来自不同训练样本的 两个feature 构成, 这两个feature 会越来越远离。 本文提出的方法不同之处在于对一个训练样本(文中的anchor)考虑了多对positive pair,原始的contrastive learning 只考虑一个
 

其核心方法是两阶段的训练。如上图所示。 从左向右分别是监督学习,自监督对比学习,和本文的监督对比学习。 其第一阶段: 通过已知的label来构建contrastive loss中的positive 和negative pair。 因为有label,所以negative pair 不会有false negative。 其第二阶段: 冻结主干网络,只用正常的监督学习方法,也就是cross entropy 训练最后的分类层FC layer。
 

2.思路的实现

这种方法是基于目前常用的contrastive loss提出的新的loss,(但是这实际上并不是新的loss,不是取代cross entropy的新loss,更准确地说是一个新的训练方式)

2.1自监督对比学习

在网络结构中,我们需要提取图片的feature,能否提取出好的feature是衡量一个模型性能的标准。

对于自监督学习,我们可以通过如下步骤提取feature

(1)先对原始的N张图片进行数据增强,如裁剪旋转等,得到2N张图片,

(2)生成的2N张图片,通过我们的神经网络,我们可以提取到2N个feature,然后对每个feature进行normalization处理,使其变为单位向量,如{Z1,Z2......Z2n}

(3)任意一张图片i,对于其他2N-1张图片,有一张图片j是跟它是同类,其他图片是不同类的(之前一张图片生成了两张图片),让i和j距离越近越好,i与其他图片距离越远越好

总体上来说:分别用与图片 i来源相同的图片的feature、与图片 i来源不同的图片的feature,跟图片 i的feature进行对比,然后让来源相同的图片feature越接近,来源不同的图片feature越远

通过这种方法训练loss,图片 i和 j的feature的cos距离越大,loss越小,图片 i与来源不同的其它图片的feature的cos距离的总和,越小越好,如下图

 但是这有一个缺陷,比如同样是狗,因为红框圈出来的狗跟左边的狗不是同一张图片增强出来的,但是跟左边是同类,他们却相距很远,也就是说这种方法可能会使同label的feature距离很远。

2.2有监督对比学习

 为了让同类图片的feature彼此接近,需要使用类别信息来判断哪些图片属于同一个类,对比学习的依据,从“是否来源于同一张图片“,变成了”是否属于同一个类“,于是loss函数定义如下:

有监督对比损失是对自监督对比损失的推广,从公式中很容易可以看出,有监督对比损失拓展了xi
 正对的数量,将所有标签信息相同的子数据都视为正对,计算了xi 与其所有正对之间的相似性,之后进行加权平均。
 

该loss表达的含义是:

对于任意图片 

  1. 与图片 i属于同类的所有其它图片的feature,与图片  i的feature的cos距离的总和,越大越好
  2. 与图片 i不属于同类的所有其它图片的feature,与图片 i 的feature的cos距离的总和,越小越好

 这样训练出来的结果如下,

 可以看出之前右下角的狗,由很远的距离变得跟同类feature距离很近。

3.结果

本文提出拉跌loss相对于cross entropy,准确率提升了,并且对于不同数据增强方法,optimizer以及learning rate 的变化就有更强鲁棒性。模型的效果和正例选取的数量是正相关的。

总的来说,本文 借鉴了自监督学习中的contrast loss 的方法,构建了图像分类问题的supervised contrastive loss 来代替cross entropy loss, 并且提出了对于每个锚点,根据label种类提取多个正例的方法,结果对于超参的变化更加鲁棒,在增加了50%训练时间的代价下,取得了1%的提升。

  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
对比式自监督学习是一种无监督学习的方法,旨在通过通过训练模型来学习数据的表示。这种方法在计算机视觉领域中得到了广泛的应用。 对比式自监督学习的核心思想是通过将数据例子与其在时间或空间上的某种变形或扭曲版本对比,来训练模型。这种对比鼓励模型捕捉到数据的关键特征,从而学习到更好的表示。 对比式自监督学习的一个常见应用是图像的自学习。通过将图像进行旋转、剪切、缩放等变形,来构建一个正样本(原始图像)和负样本(变形图像)对。然后将这些对输入到一个深度神经网络中进行训练,以学习图像表示。训练过程中,网络被要求将正样本和负样本区分开,从而学习到图像的特征。 对比式自监督学习有许多优点。首先,它不需要标注数据,使其适用于大规模的无标签数据。其次,由于数据自动生成,可以轻松地扩展到大数据集。另外,对比式自监督学习的模型可以用于其他任务的迁移学习,使得模型更通用。 然而,对比式自监督学习也存在一些挑战和限制。首先,生成变形样本的过程可能会降低数据的质量,从而降低学习效果。其次,选择合适的变形方式和参数也是一个挑战。另外,对于某些领域和任务,对比式自监督学习可能不适用或效果不佳。 总之,对比式自监督学习是一种有效的无监督学习方法,可用于数据表示学习。它在计算机视觉领域有着广泛的应用,并具有许多优点。然而,仍然需要进一步的研究和发展来克服其中的挑战和限制。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值