IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> Supervised Contrastive Learning浅读 -> 正文阅读

[人工智能]Supervised Contrastive Learning浅读

目录

前言

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

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-01 14:30:37  更:2021-08-01 14:30:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/22 9:55:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码