1.什么是对比学习?

对比学习,顾名思义就是在训练中和某些东西进行对比从而学习,在自编码器中,输出与自己进行对比,从而得到一个中间量latent code,我认为这也是一种对比学习。

2.对比学习框架图

分三步,数据增强,编码,loss最小化(相似度)

第一步和第三步很好理解,第二步CNN将图像压缩成一个latent code,根然后又做了一个投影网络,去投影到一个更深的latent coder,据经验这个额外的步骤可以提升模型的利用率和性能。

余弦相似度

两个向量的相似度常用余弦相似度去计算,它是基于两个向量在空间中的角度去判断其是否相似的。角度越接近0,两个向量越相似。

3.SimCLRv2(2020)

了解一个更进一步的操作,在第二章对比模型框架图,我们直接把它定义为latent code编码。
下图展示了一个更好性能的对比学习,即编码+微调+蒸馏。
一般情况下,我们通过CNN编码后,通过MLP投影头的输出与输入进行损失,在训练完成后,我们会丢弃MLP投影头,只使用encoder作为latent code编码器。在SimCLR中就是这样做的,把MLP整个丢掉,然后通过有标签的数据进行微调。v2呢保留了一层MLP然后再微调,相当于加入了一个全连接层。

微调

微调是非常简单的,在拥有具体任务时,例如分类任务,我们就使用训练好的encoder+一层MLP作为一个预训练模型,进行一定程度的监督,去微调这个模型,从而更好的完成他的工作。事实上微调是要有的,如果不进行微调就相当于直接拿一个预训练模型进行预测,当然是不合理的。

4.总结

总的来说,这个方法没感觉比自编码器高明到哪里去,只是说之前是输出和输入进行相似度可以使latent code表示此物体,对比学习呢通过增强输入,让两个增强后的输入和输出(还是原来的物体)进行相似,可以表达某一类物体?例如,旋转后的猫如果和不旋转的猫都很相似的话,我们更认为这个潜在表征是正确的,它消除了旋转带来的影响。但我个人感觉还是有一定的瑕疵,例如猫它本身不会旋转的,狸花猫和英短之间的潜在表征是否应该相似呢?我们是否可以用输入的多样性直接去计算相似度?不管如何,在无监督(自监督)的学习中,对比学习是一个很聪明的手法。

理解对比学习(contrasive learning)相关推荐

  1. 从对比学习(Contrastive Learning)到对比聚类(Contrastive Clustering)

    从对比学习(Contrastive Learning)到对比聚类(Contrastive Clustering) 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailug ...

  2. 细节满满!理解对比学习和SimCSE,就看这6个知识点

    ‍‍‍‍‍‍©PaperWeekly 原创 · 作者 | 海晨威 研究方向 | 自然语言处理‍‍‍‍‍‍ 2020 年的 Moco 和 SimCLR 等,掀起了对比学习在 CV 领域的热潮,2021 ...

  3. 干货 | 带你理解对比学习损失函数的性质以及温度系数的作用

    文 | Feng 源 | 对白的算法屋 很多小伙伴都了解对比学习,但要说温度系数的作用可能就不太清楚了. 卷友们好,我是对白. 对比学习中的温度系数是一个神秘的参数,大部分论文都默认采用小的温度系数来 ...

  4. 【EMNLP 2021】SimCSE:句子嵌入的简单对比学习 【CVPR 2021】理解对比学习损失函数及温度系数

    1. 介绍 SimCSE(Simple Contrastive Learning of Sentence Embeddings)是一种简单在没有监督训练数据的情况下训练句子向量的对比学习方法. 这个方 ...

  5. 对比学习Contrastive Learning

    对比学习是一种常用的自监督学习方法. 核心思想:把正样本距离拉近,正样本与负样本距离拉远.(类似度量学习中的margin, 但是对比学习为正负样本分类,无margin概念) 方式:通过一个正样本,以及 ...

  6. 理解对比表示学习(Contrastive Learning)

    目录 一.前言 二.对比学习 三.主要论文(附代码分析) 1. AMDIM ([Bachman](https://arxiv.org/pdf/1906.00910.pdf) *et al.* 2019 ...

  7. 推荐五篇论文| 轻量级的Transformer; 对比学习;ResNeSt;Shortcut Learning等

    本文介绍了最近比较有意思的五篇文章: 轻量级的transformer 监督式的对比学习 shortcur learning ResNeSt Attention模块的分析 Lite Transforme ...

  8. 图对比学习入门 Contrastive Learning on Graph

    对比学习作为近两年的深度学习界的一大宠儿,受到了广大研究人员的青睐.而图学习因为图可以用于描述生活中广泛出现的非欧式数据,具有广大的应用前景.当图学习遇上了对比学习- 本文从对比学习入手,再介绍图对比 ...

  9. 对比学习和度量学习loss的理解

    度量学习和对比学习的思想是一样的,都是去拉近相似的样本,推开不相似的样本.但是对比学习是无监督或者自监督学习方法,而度量学习一般为有监督学习方法.而且对比学习在 loss 设计时,为单正例多负例的形式 ...

最新文章

  1. Java中的intern变量的讲解
  2. 【Groovy】自定义 Xml 生成器 BuilderSupport ( nodeCompleted 方法获取节点闭合信息 )
  3. C#单例模式的懒汉与饿汉
  4. 数字签名、数字证书、对称加密算法、非对称加密算法、单向加密(散列算法)——Web网络系列学习笔记
  5. 黄聪:WordPress判断当前用户是否为管理员登录
  6. mysql查询显示柱形图_Grafana配置mysql展示自定义分组柱状图(Mac)
  7. java 分批同时处理_java中List集合分批处理
  8. java并发编程面试
  9. springboot 和springMVC interceptor使用
  10. 互联网平台黑产解密(上)
  11. MWD仪器组装和原理
  12. axure8下拉表单_AXURE RP 8怎么设置下拉菜单? AXURE下拉菜单的制作方法
  13. 在excel表格中画斜线
  14. 基于QT的英文文献的编辑与检索系统的实现
  15. 电视收视率评估工具推荐
  16. 带符号整数的除法与余数
  17. VC知识库之应用控制
  18. web3.0学习入门1:什么是web3.0
  19. 基于Lua的新语言NL
  20. java usb 断开_Android P开发者选项中的USB调试关闭

热门文章

  1. CCS使用教程07:曲线图形显示工具
  2. el 表达式 判断字符串是否相等
  3. 【专题】三分法和牛顿迭代法总结
  4. 闻听成都华为的员工跳楼自杀
  5. 租户隔离怎么做MYSQL_基于JPA实现SaaS多租户模式的数据存储——共享数据库,隔离数据架构...
  6. 使用破解补丁激活过期的pycharm
  7. 使用代理模式手写简单的数据库连接池
  8. MAC chrome浏览器地址栏无法搜索问题解决办法
  9. 手把手带你爬取猫眼电影,正则解析
  10. linux服务器忘记密码操作