【自监督学习】对比学习(Contrastive Learning)介绍

这篇具有很好参考价值的文章主要介绍了【自监督学习】对比学习(Contrastive Learning)介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 前言

1.1. 为什么要进行自监督学习

       我们知道,标注数据总是有限的,就算ImageNet已经很大,但是很难更大,那么它的天花板就摆在那,就是有限的数据总量。NLP领域目前的经验应该是:自监督预训练使用的数据量越大,模型越复杂,那么模型能够吸收的知识越多,对下游任务效果来说越好。这可能是自从Bert出现以来,一再被反复证明的真理,如果它不是唯一的真理,那也肯定是最大的真理。图像领域如果技术想要有质的提升,可能也必须得走这条路,就是充分使用越来越大量的无标注数据,使用越来越复杂的模型,采用自监督预训练模式,来从中吸取图像本身的先验知识分布,在下游任务中通过Fine-tuning,来把预训练过程习得的知识,迁移给并提升下游任务的效果。

1.2. 什么是自监督学习

       利用代理任务(pretext task)从大规模的无监督数据中挖掘自身的监督信息,通过这种构造的监督信息对网络进行训练,从而可以学习到对下游任务有价值的表征。

1.3. 自监督学习分类

  • 生成式的方法(Generative Methods) :这类方法以自编码器为代表,主要关注pixel label的loss。即在自编码器中对数据样本编码成特征再解码重构,这类型的任务难度相对比较高,要求像素级的重构,中间的图像编码必须包含很多细节信息举例来说,这里认为重构的效果比较好则说明模型学到了比较好的特征表达,而重构的效果通过pixel label的loss来衡量。如VAE、GAN。

               【自监督学习】对比学习(Contrastive Learning)介绍

  • 对比式的方法(Contrastive Learning):也称判别式的方法,通过自动构造相似实例和不相似实例,要求习得一个表示学习模型,通过这个模型,使得相似的实例在投影空间中比较接近,而不相似的实例在投影空间中距离比较远。而如何构造相似实例,以及不相似实例,如何构造能够遵循上述指导原则的表示学习模型结构,以及如何防止模型坍塌(Model Collapse),这几个点是其中的关键。如对比学习。

                   【自监督学习】对比学习(Contrastive Learning)介绍

2.对比学习(Contrastive Learning)

2.1. 什么是对比学习

       对比学习有的paper中称之为自监督学习,有的paper称之为无监督学习,自监督学习是无监督学习的一种形式,现有的文献中没有正式的对两者进行区分定义,这两种称呼都可以用。

【自监督学习】对比学习(Contrastive Learning)介绍【自监督学习】对比学习(Contrastive Learning)介绍【自监督学习】对比学习(Contrastive Learning)介绍

       上面有三张图,图1和图2是🐶,图3是🐱。对于有监督学习的分类问题,我们希望分类模型识别出来图1和图2都是🐶,图3是🐱。但对于无监督的对比学习来说,我们希望模型能识别出图1和图2是一个类别,图3与图1图2不是一个类别,也就是说,对比学习不需要知道图1图2是🐶以及图3是🐱,即对比学习不需要知道每张图的真实标签,只需要知道到谁与谁相似,谁与谁不相似。假设三张图都通过一个网络,得到三张图片对应的特征f1、f2、f3,我们希望对比学习可以做到在特征空间中把f1和f2拉进,且远离f3。也就是说,对比学习要达到的目标是所有相似的物体在特征空间相邻的区域,而不相似的物体都在不相邻的区域。
       上面说到,对比学习需要知道谁与谁相似,谁与谁不相似,那言外之意就是,对比学习不还得需要标签信息去做有监督学习吗?对比学习之所以被认为是一种无监督的训练方式,是因为人们可以使用代理任务(pretext task)来定义谁与谁相似,谁与谁不相似,代理任务通常是人为设定的一些规则,这些规则定义了哪张图与哪张图相似,哪张图与哪张图不相似,从而提供了一个监督信号去训练模型,这就是所谓的自监督。

2.2. 对比学习的范式是什么

       对比学习的典型范式就是:代理任务+目标函数。代理任务和目标函数也是对比学习与有监督学习最大的区别。回忆一下有监督学习的流程,输入x,通过模型输出得到y,输出的y和真实label(ground truth)通过目标函数计算损失,以此进行模型训练。而对于无监督学习或自监督学习来说,是没有ground truth的,那怎么办呢?代理任务就是来解决这个问题的,我们用代理任务来定义对比学习的正负样本,无监督学习一旦有了输出y和label,就可以通过一个目标函数来计算两者的损失从而指导模型的学习方向。

2.3. 代理任务

       下面简单介绍几个对比学习常用的代理任务。

2.3.1.个体判别

       InstDist提出了个体判别这个代理任务。作者是受到有监督学习的启发,比如将一张豹子的图片输入到一个有监督数据训练的分类器中,排名前几的都是和豹子相关的,比如美洲豹、雪豹,而靠后的都是毫不相关的。作者认为这些图片聚集在一起的原因,并不是因为给了它们相似的语义标签,而是这些图片在视觉上非常相似。因此,作者把这种按类别的有监督任务发挥到极致,提出了个体判别任务,把每张图片都看作一个类别,希望模型可以学习到图片的表征,从而把图片都区分开来。
       对于对比学习来说,正样本一般是通过数据增强的方式得到的,负样本是同batch中的其它样本及数据增强后的图片或者memory bank中的样本。

【自监督学习】对比学习(Contrastive Learning)介绍

2.3.2. 序列预测

       序列预测属于生成式的代理任务,是在CPC中提出来的。假设有一个输入序列 x,将t-3,t-2,t-1,t 时刻z的值输入到编码器,再将编码后的特征输入给自回归模型 Gar ,得到上下文表示ct 。如果上下文表示足够好,包含了之前及现在的所有信息,它应该可以用来预测未来时刻的特征,这个预测的特征就可以当做query。未来时刻的输入编码后的特征作为正样本, 负样本的定义比较广泛,可以用任意输入编码之后的特征。

【自监督学习】对比学习(Contrastive Learning)介绍

2.3.3. 多模态多视角

       多模态多视角的任务在CMC中提出的,主要思想是一个物体的很多视角都可以被作为正样本。人在观察物体时,会综合视觉、听觉等多个视角的信号,这些视角可能是不完整且带有噪声的,但最重要的信息是在所有视角中共享的。CMC的目标就是通过增大不同视角之间的互信息,学习到视角不变的特征。所以这里正样本来自同一图片的不同视角,负样本是其它不同的任意视角。

【自监督学习】对比学习(Contrastive Learning)介绍

2.4. 目标函数

​       在通过代理任务确定了正负样本之后,我们需要给模型信号,激励他们拉近正样例间的距离,拉远负样例间的距离,这就要通过设计对比损失来完成。

2.4.1. 原始对比损失

【自监督学习】对比学习(Contrastive Learning)介绍

2.4.2. 三元组损失(triplet loss)

【自监督学习】对比学习(Contrastive Learning)介绍

2.4.3. InfoNCE(Noise Contrastive Estimation)

【自监督学习】对比学习(Contrastive Learning)介绍

       
       
       
参考:
https://zhuanlan.zhihu.com/p/471018370
https://zhuanlan.zhihu.com/p/367290573
https://zhuanlan.zhihu.com/p/491996973
https://blog.csdn.net/weixin_43869415/article/details/120678146文章来源地址https://www.toymoban.com/news/detail-471449.html

到了这里,关于【自监督学习】对比学习(Contrastive Learning)介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Pytorch】从MoCo看无监督对比学习;从SupCon看有监督对比学习

    以下内容全部来自于:自监督学习-MoCo-论文笔记. 侵删 论文:Momentum Contrast for Unsupervised Visual Representation Learning CVPR 2020 最佳论文提名 用动量对比学习的方法做无监督的表征学习任务。 动量的理解即是指数移动平均(EMA),公式理解: moco中利用动量来缓慢的更新编码器,这

    2024年02月21日
    浏览(49)
  • 【机器学习】第四节:监督学习算法对比评估

      作者 🕵️‍♂️:让机器理解语言か 专栏 🎇:机器学习sklearn 描述 🎨:本专栏主要分享博主学习机器学习的笔记和一些心得体会。 寄语 💓:🐾没有白走的路,每一步都算数!🐾          监督学习(英语:Supervised learning)是机器学习中最为常见、应用最为广泛的

    2024年02月02日
    浏览(52)
  • 【论文阅读】Deep Graph Contrastive Representation Learning

    作者:Yanqiao Zhu Yichen Xu 文章链接:Deep Graph Contrastive Representation Learning 代码链接:Deep Graph Contrastive Representation Learning 现实世界中,图的标签数量较少,尽管GNNs蓬勃发展,但是训练模型时标签的可用性问题也越来越受到关心。 传统的无监督图表征学习方法,例如DeepWalk和nod

    2024年01月18日
    浏览(57)
  • 【论文阅读笔记】Contrastive Learning with Stronger Augmentations

    基于提供的摘要,该论文的核心焦点是在对比学习领域提出的一个新框架——利用强数据增强的对比学习(Contrastive Learning with Stronger Augmentations,简称CLSA)。以下是对摘要的解析: 问题陈述: 表征学习(representation learning)已在对比学习方法的推动下得到了显著发展。 当前

    2024年02月19日
    浏览(49)
  • 【论文阅读】Equivariant Contrastive Learning for Sequential Recommendation

    2023-RecSys https://github.com/Tokkiu/ECL 对比学习(CL)有利于对具有信息性自我监督信号的顺序推荐模型的训练。 现有的解决方案应用一般的顺序数据增强策略来生成正对,并鼓励它们的表示是不变的。 然而,由于用户行为序列的固有属性,一些增强策略,如项目替代,可能会导致

    2024年01月18日
    浏览(45)
  • Multimodal Contrastive Training for Visual Representation Learning

    parameterize the image encoder as f i q _{iq} i q ​ query feature q i i _{ii} ii ​ ,key feature k i i _{ii} ii ​ parameterize the textual encoder as f c q ( ⋅ ; Θ q , Φ c q ) f_{cq}(·; Θ_q, Φ_{cq}) f c q ​ ( ⋅; Θ q ​ , Φ c q ​ ) ,momentum textual encoder as f c k ( ⋅ ; Θ k , Φ i k ) f_{ck}(·; Θ_k, Φ_{ik}) f c k ​ ( ⋅; Θ

    2024年02月01日
    浏览(43)
  • 【论文阅读笔记】 Representation Learning with Contrastive Predictive Coding

    这段文字是论文的摘要,作者讨论了监督学习在许多应用中取得的巨大进展,然而无监督学习并没有得到如此广泛的应用,仍然是人工智能中一个重要且具有挑战性的任务。在这项工作中,作者提出了一种通用的无监督学习方法,用于从高维数据中提取有用的表示,被称为“

    2024年01月25日
    浏览(43)
  • 【论文阅读】Self-supervised Learning: Generative or Contrastive

    研究了在计算机视觉、自然语言处理和图形学习中用于表示的新的自监督学习方法。全面回顾了现有的实证方法,并根据其目的将其归纳为三大类:生成性、对比性和生成性对比(对抗性)。进一步收集了关于自我监督学习的相关理论分析,以对自我监督学习为什么有效提供

    2024年01月18日
    浏览(56)
  • 简单谈谈 EMP-SSL:自监督对比学习的一种极简主义风

    论文链接 :https://arxiv.org/pdf/2304.03977.pdf 代码 :https://github.com/tsb0601/EMP-SSL 其他学习链接 :突破自监督学习效率极限!马毅、LeCun联合发布EMP-SSL:无需花哨trick,30个epoch即可实现SOTA 如图,一张图片裁剪成不同的 patch,对不同的 patch 做数据增强,分别输入 encoder,得到多个

    2024年02月13日
    浏览(41)
  • 论文阅读:Heterogeneous Graph Contrastive Learning for Recommendation(WSDM ’23)

    论文链接 在推荐系统中,图神经网络在建模图结构数据上已经变成一个强有力的工具。但是现实生活的推荐语义通常涉及异质关系(像用户的社交关系,物品知识关系的依赖),这些都包含丰富的语义信息去提升表征能力的学习。同时,对比自监督学习在推荐系统中也取得了

    2024年02月08日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包