首页 > 其他分享 >对比学习简介

对比学习简介

时间:2023-12-31 21:00:48浏览次数:28  
标签:简介 样本 我们 学习 相似 图像 对比

1. 引言

在本教程中,我们将介绍对比学习领域中的相关概念。首先,我们将讨论这种技术背后相关的理论知识;接着,我们将介绍最常见的对比学习的损失函数和常见的训练策略。

闲话少说,我们直接开始吧!

2. 举个栗子

首先,让我们通过简单的例子来增加对对比学习概念的理解 。我们不妨来玩一个许多孩子经常玩的游戏:

对比学习简介_对比学习

这个游戏的目标是从右侧的候选图片中,寻找看起来最像左侧动物的图像。在我们的例子中,孩子必须在右边的四张图片中搜索一张狗的照片。一般来说,孩子们必须将右侧图像一一和左侧图像进行比较,然后从中选择与之最相近的作为结果。

事实证明,对于没有任何先验知识的人来说,比如一个孩子,更容易通过对比相似和不同物体来学习新事物,而不是通过一个接一个地学习识别它们。也许最开始,孩子们可能无法识别狗。但过一段时间后,孩子就学会了如何区分狗的共同特征,比如鼻子的形状和身体姿势。

3. 方法论

受先前观察的启发,对比学习旨在通过对比相似和不同的样本来学习数据的低维度特征表示。具体来说,它试图使相似的样本在特征表示空间中彼此靠近,并使用欧几里得距离将不相似的样本推得很远。

假设我们有三个图像I1I2I3。前两张图片描绘了一只狗,第三张图片描绘了一只猫,我们想学习每张图片的特征低维表示(x1x2x3):

对比学习简介_损失函数_02

在对比学习中,我们希望最小化相似样本之间的距离,并最大化不同样本之间的距离。在我们的示例中,我们希望最小化相似样本距离 d(x1,x2)并最大化不相似样本距离 d(x1,x3)d(x2,x3),其中 d()是类似于欧几里得的度量函数。

与锚定样本 I1 相似的样本被定义为正样本 I2,不同的样本被定义为负样本 I3

4. 损失函数

对比学习最重要的部分是训练目标,它引导模型学习对比特征表示。对比损失是用于对比学习的首要训练目标函数之一。它采用一对相似或不相似的样本作为输入,并使相似的样本在特征空间内更接近,不相似的样本在特征空间中距离更远。

更一般的来说,假设我们有一对 输入 (Ii,Ij)和一个标签 Y,如果这一对样本相似,则标签Y等于 0,否则等于 1。为了提取每个样本的低维表示,我们使用卷积神经网络 f,将输入 Ii Ij映射到特征嵌入空间中,其中 xi = f(Ii) xj = f(Ij)。对比损失函数的定义为:

对比学习简介_对比学习_03

其中, m是一个超参数,用于定义不同样本之间的下限距离。

如果我们需要更具体地分析上述等式,则有两种不同的情况:

● 如果样本相似 (Y=0),则我们最小化项为 ||x_i - x_j||^2 对应于它们的欧几里得距离。

● 如果样本不同 (Y=1),则我们最小化项 max(0, m - ||x_i - x_j||^2) 这相当于最大化它们的欧几里得距离,直到某个极限 m

5. 无监督学习

当我们没有太多标注的样本时,这里可以使用自监督学习,利用数据的某些属性来生成伪标签。

一个著名的无监督对比学习的框架是 SimCLR 。它的主要思想是通过在锚图像中应用随机转换(如裁剪、翻转和颜色抖动)来生成正样本图像对,因为这些更改使图像的标签保持不变:

对比学习简介_对比学习_04

6. 结论

在本教程中,我们讨论了对比学习的相关概念和理论知识。首先,我们介绍了对比学习相关术语的概念,然后我们讨论了对比学习的目标损失函数和相应的自监督训练策略。

标签:简介,样本,我们,学习,相似,图像,对比
From: https://blog.51cto.com/u_15506603/9050254

相关文章

  • 2023-2024 20231421《计算机基础与程序设计》第十四周学习总结
    作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK14作业目标:自学《c语言程序设计》第十三章作业正文:教材学习内容总结《c语言程序设计》文件操作是C语言中常用的一种数据输入与输出方式,它可以实现数据的持久化存储和读取。文件操作涉及到以下几个方面:文件的概......
  • 2023-2024-1 20231306 《计算机基础与程序设计》第十四周学习总结
    作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2023-2024-1计算机基础与程序设计第十四周作业这个作业的目标参考本周学习资源、自学教材《C语言程序设计》第13章并完成云班课测试作业正文教材学习内容总结《C语言程序......
  • 2023-2024-1 20231402《计算机基础与程序设计》第十四周学习总结
    2023-2024-120231402《计算机基础与程序设计》第十四周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2023-2024-1计算机基础与程序设计第十四周作业这个作业的目标自学《C语言程序设计》第13章作业正文https://w......
  • 2023-2024-1 20231312 《计算机基础与程序设计》第14周学习总结
    作业信息这个作业属于哪个课程<班级的链接>2023-2024-1-计算机基础与程序设计|-这个作业要求在哪里<作业要求链接>2023-2024-1计算机基础与程序设计第6周作业|这个作业的目标《C语言程序设计》第13章|作业正文作业链接教材学习内容总结《C》第十三章文......
  • 2023-2024-1 20231407陈原第计算机科学概论与C语言程序设计第十四周学习总结
    这个作业属于哪里计算机科学概论与C语言程序设计作业要求https://www.cnblogs.com/rocedu/p/9577842.html#WEEK14作业内容学习C语言程序设计第十三章作业正文  https://www.cnblogs.com/CCCY12345/p/17937889  ......
  • 2023-2024-1 20231425《计算机基础与程序设计》第十四周学习总结
    2023-2024-120231425《计算机基础与程序设计》第十四周学习总结作业信息这个作业属于哪个课程2023-2024-1《计算机基础与程序设计》这个作业要求在哪里2023-2024-1计算机基础与程序设计第十四周作业)这个作业的目标《C语言程序设计》第13章  ......
  • Spring学习记录之引入外部属性配置文件
    Spring学习记录之引入外部属性配置文件前言这篇文章是我第二次学习b站老杜的spring相关课程所进行的学习记录,算是对课程内容及笔记的二次整理,以自己的理解方式进行二次记录,其中理解可能存在错误,欢迎且接受各位大佬们的批评指正;关于本笔记,只是我对于相关知识遗忘时快速查阅了解......
  • 国产深度学习框架吸引用户的一种免费手段——免费GPU时长
    国产的深度学习框架基本成为了一个头部公司的标配了,不论是阿里、百度还是华为都推出了自己的深度学习框架,这几家公司为了吸引用户也都采取了免费使用GPU的活动,但是与阿里、百度的不同,华为是与固定的高校的实验室合作,为合作的大学实验室提供免费算力,并且这个算力的使用时限目前应该......
  • 2023-2024-1 20231304 《计算机基础与程序设计》第十四周学习总结
    2023-2024-120231304《计算机基础与程序设计》第十四周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2023-2024-1计算机基础与程序设计第十四周作业这个作业的目标自学教材《C语言程序设计》第13章并完成云班课测试......
  • 2023-2024-1 学号20231318《计算机基础与程序设计》第十四周学习总结
    作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2023-2024-1计算机基础与程序设计第十四周作业这个作业的目标自学教材《C语言程序设计》第13章并完成云班课测试。作业正文2023-2024-1学号20231318《计算机基础与程序设计》......