自监督对比损失和监督对比损失的对比

本文深入探讨了Supervised Contrastive Learning论文,对比了自监督对比损失和监督对比损失在图像表示和分类任务中的应用。通过简化网络架构和训练过程,论文展示了在ImageNet数据集上取得的改进。文章详细解释了监督对比损失的损失函数,并通过代码示例辅助理解。同时,提到了对比计数对于模型清晰度的影响,并提供了相关研究的参考资料。
摘要由CSDN通过智能技术生成

作者|Samrat Saha 编译|VK 来源|Towards Datas Science

Supervised Contrastive Learning这篇论文在有监督学习、交叉熵损失与有监督对比损失之间进行了大量的讨论,以更好地实现图像表示和分类任务。让我们深入了解一下这篇论文的内容。

论文指出可以在image net数据集有1%的改进。

就架构而言,它是一个非常简单的网络resnet 50,具有128维的头部。如果你想,你也可以多加几层。

Code

self.encoder = resnet50()

self.head = nn.Linear(2048, 128)

def forward(self, x):
 feat = self.encoder(x)
 #需要对128向量进行标准化
 feat = F.normalize(self.head(feat), dim=1)
 return feat

如图所示,训练分两个阶段进行。

  • 使用对比损失的训练集(两种变化)

  • 冻结参数,然后使用softmax损失在线性层上学习分类器。(来自论文的做法)

以上是不言自明的。

本文的主要内容是了解自监督的对比损失和监督的对比损失。

从上面的SCL(监督对比损失)图中可以看出,猫与任何非猫进行对比。这意味着所有的猫都属于同一个标签,都是正数对,任何非猫都是负的。这与三元组数据以及triplet loss的工作原理非常相似。

每一张猫的图片都会被放大,所以即使是从一张猫的图片中,我们也会有很多猫。

监督对比损失的损失函数,虽然看起来很可怕,但其实很简单。

稍后我们将看到一些代码,但首先是非常简单的解释。每个z是标准化的128维向量。

也就是说||z||=1

重申一下线性代数中的事实,如果u和v两个向量正规化,意味着u.v=cos(u和v之间的夹角)

这意味着如果两个标准化向量相同,它们之间的点乘=1

#尝试理解下面的代码

import numpy as np
v = np.random.randn(128)
v = v/np.linalg.norm(v)
print(np.dot(v,v))
print(np.linalg.norm(
  • 4
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
监督对比学习和掩码生成学习是两种常见的无监督学习方法,它们在不同的任务和场景下具有各自的优势和劣势。 1. 自监督对比学习: 自监督对比学习是一种通过构建正负样本对来进行学习的方法。它的核心思想是通过将输入数据进行变换,然后将变换前后的数据作为正负样本对进行训练。具体步骤包括:首先,对输入数据进行随机变换,如旋转、裁剪、遮挡等;然后,通过一个神经网络模型将变换前后的数据编码为特征向量;最后,使用对比损失函数来优化模型,使得正样本对的相似度高于负样本对。 优势: - 无需标注数据:自监督对比学习不需要标注数据,只需要利用输入数据本身进行训练,因此可以节省大量的标注成本。 - 广泛适用:自监督对比学习可以应用于各种任务,如图像分类、目标检测、语义分割等,具有较强的通用性。 - 学习丰富的特征表示:通过对比学习,模型可以学习到丰富的特征表示,这些表示可以在其他任务中进行迁移学习,提升模型性能。 劣势: - 需要设计合适的变换:自监督对比学习的效果受到变换的选择和设计的影响,需要针对具体任务进行合适的变换设计。 - 需要大量的计算资源:自监督对比学习通常需要大规模的数据和计算资源进行训练,对硬件设备有一定要求。 2. 掩码生成学习: 掩码生成学习是一种通过预测输入数据中的掩码信息来进行学习的方法。它的核心思想是通过将输入数据中的一部分信息遮挡或掩盖,然后让模型预测被掩盖的信息。具体步骤包括:首先,对输入数据进行随机掩码操作,将一部分信息遮挡;然后,使用神经网络模型对被掩盖的信息进行预测;最后,使用预测结果与真实值之间的差异作为损失函数进行优化。 优势: - 学习局部信息:掩码生成学习可以帮助模型学习到输入数据中的局部信息,从而提升对局部细节的感知能力。 - 强化泛化能力:通过掩码生成学习,模型可以学习到对输入数据的不完整信息进行推理和填充的能力,从而增强模型的泛化能力。 - 可解释性:掩码生成学习可以生成掩码图像,使得模型的预测结果更加可解释。 劣势: - 需要标注掩码信息:掩码生成学习需要标注输入数据中的掩码信息,这对于一些任务可能需要额外的标注成本。 - 对遮挡策略敏感:掩码生成学习的效果受到遮挡策略的选择和设计的影响,需要针对具体任务进行合适的遮挡策略设计。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值