目录

前言

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%的提升。

Supervised Contrastive Learning浅读相关推荐

  1. Micro-expression recognition with supervised contrastive learning基于对比监督学习的微表情识别

    Micro-expression recognition with supervised contrastive learning基于对比监督学习的微表情识别--2022 PRL 文章链接:https ...

  2. Supervised Contrastive Learning(学习笔记)

    Supervised Contrastive Learning NeurlPS2020 原文链接: https://arxiv.org/pdf/2004.11362v4.pdf b站讲解视频: htt ...

  3. 文章分享《Supervised Contrastive Learning》 自监督对比学习和有监督对比学习的区别

    文章题目 Supervised Contrastive Learning 作者: Prannay Khosla Piotr Teterwak Chen Wang Aaron Sarna 时间:2020 ...

  4. NIPS20 - 将对比学习用于监督学习任务《Supervised Contrastive Learning》

    文章目录 原文地址 论文阅读方法 初识 相知 回顾 代码 原文地址 原文 论文阅读方法 三遍论文法 初识 对比学习这两年在自监督学习.无监督学习任务中非常火,取得了非常优秀的性能.这个工作就是想办法将 ...

  5. 论文阅读笔记(7-1)---Supervised Contrastive Learning

    原文链接 B站讲解视频 Toutube视频搬运 参考解读 参考解读 研究背景 交叉熵损失函数是分类模型监督学习中应用最广泛的损失函数,但是它具有对噪声标签缺乏鲁棒性.边界性差等特点,泛化能力较差. 研 ...

  6. Targeted Supervised Contrastive Learning for Long-Tailed Recognition(2022.5.14)

    (一)解决的问题: 数据往往呈现出长尾分布,类间严重失衡,多数类可能主导训练过程,并改变少数类的决策边界. (二)动机: 提出一种平衡采样的方法,同时能够学习到统一的特征空间,使长尾分布的数据在特征空 ...

  7. Supervised Contrastive Learning For Recommendation

    摘要: 我们的目的是充分考虑对比学习在推荐系统场景中的应用,使其更适合于推荐任务.我们提出了一个监督对比学习框架来预训练用户-项目二部图,然后对图卷积神经网络进行微调.具体来说,我们将在数据预处理过程 ...

  8. 对比学习(Contrastive Learning)综述

    A.引入   https://zhuanlan.zhihu.com/p/346686467 A.引入 深度学习的成功往往依赖于海量数据的支持,其中对于数据的标记与否,可以分为监督学习和无监督学习. 1 ...

  9. Contrastive learning of Class-agnostic Activation Map for Weakly Supervised Object Localization and

    paper: Contrastive learning of Class-agnostic Activation Map for Weakly Supervised Object Localizati ...

  10. 论文阅读 (68):Self-Contrastive Learning: An Efficient Supervised Contrastive Framework with Single...

    文章目录 1 引入 1.1 题目 1.2 摘要 1.3 Bib 2 自对比学习 2.1 SupCon损失 2.2 SelfCon损失 1 引入 1.1 题目   2021自对比学习:单视图和子网络下的 ...

最新文章

  1. apache2.4中layout模块和ssi模块的冲突
  2. mybatis中mysql ON DUPLICATE KEY UPDATE写法
  3. linux根分区扩容(LVM动态卷)
  4. hdu 1069 Monkey and Banana (LIS)
  5. 工厂参观记:.NET Core 中 HttpClientFactory 如何解决 HttpClient 臭名昭著的问题
  6. 【计蒜客信息学模拟赛1月月赛 - D】Wish(dp计数,数位)
  7. 加强计算机网络应用,如何加强计算机网络管理技术创新应用
  8. jvm面试2 jvm如何加载java代码? JVM知识重点:内存模型和GC
  9. [轉]asp解析json
  10. Java9的GI垃圾回收器
  11. 酷比魔方iwork8刷机shell_酷比魔方IWORK8旗舰版(I1-T)双系统刷机教程.doc
  12. WEBFORM--第一讲
  13. [译] 人人都是设计师。我们可以的。
  14. 分布式系统的现代消息传递
  15. 深度卷积神经网络的高级主题
  16. 获取 iOS 设备 UDID
  17. 《GCAMatting:Natural Image Matting via Guided Contextual Attention》
  18. 在linux下如何显示隐藏文件
  19. jquery按钮加载动画插件loda-button
  20. yii2自动更新时间

热门文章

  1. 【SPFA】【最短路】 腾讯大战360
  2. MySQL数据库常见的运算符总结~
  3. 计算机的声卡怎么安装教程,外置声卡怎么连接电脑 外置声卡安装教程【图文】...
  4. pc微信多开hook版本3.2.1.123
  5. 我想加入阿里,我该怎么做
  6. 如何用计算机自动求和,如何在excel中自动求和 自动求和的解决方法及步骤
  7. Selenium WebDriver使用IE浏览器
  8. Maven打包 错误: 程序包org.junit不存在
  9. x-editable
  10. Win10中photoshop打开camera raw 报错