论文精读--对比学习论文综述

InstDisc

提出了个体判别任务,而且利用这个代理任务与NCE Loss去做对比学习从而得到了不错的无监督表征学习的结果;同时提出了别的数据结构——Memory Bank来存储大量负样本;解决如何对特征进行动量式的更新

翻译:

有监督学习的结果激励了我们的无监督学习方法。对于来自豹的图像,从已经训练过的神经网络分类器中获得最高响应的类都是视觉上相关的,例如,美洲虎和猎豹。无关语义标记,而是数据本身明显的相似性使一些类比其他类更接近。我们的无监督方法将这种按类判别的无监督信号发挥到了极致,并学习了区分单个实例的特征表示。

总结:

把每个实例(也就是图片)都看作一个类别,目标是学一种特征,从而让我们能把每一个图片都区分开来

翻译:

这是无监督特征学习方法的整体流程。我们使用主干CNN将每张图像编码为特征向量,将其投影到128维空间并进行L2归一化。最优的特征嵌入是通过实例级判别来学习的,它试图最大限度地将训练样本的特征分散在128维单位球面上。

总结:

通过CNN把所有图片编码成特征,希望这些特征在最后的特征空间里能够尽可能的分开

利用对比学习训练CNN,正样本是图片本身(可能加一些数据增强),负样本则是数据集中其他图片

大量的负样本特征存在哪呢?运用Memory Bank的形式,把特征存进去,有多少特征就有多少行,因此特征的维度不能太大

Memory Bank随机初始化维单位向量

正样本利用CNN降低维度后,从Memory Bank中随机抽取负样本,然后可以用NCE Loss计算这个对比学习的目标函数,更新完网络后,可以把这些数据样本对应的特征放进Memory Bank更换掉

Proximal Regularization

给模型加了个约束,从而能让Memory Bank中的那些特征进行动量式的更新

Unlike typical classification settings where each class has many instances, we only have one instance per class.During each training epoch, each class is only visited once.

Therefore, the learning process oscillates a lot from random sampling fluctuation. We employ the proximal optimization method [29] and introduce an additional term to encourage the smoothness of the training dynamics. At current iteration t, the feature representation for data xi is computed from the network v (t) i = fθ(xi). The memory bank of all the representation are stored at previous iteration V = fv (t−1)g. The loss function for a positive sample from Pd is:

翻译:

与每个类有许多实例的典型分类设置不同,我们每个类只有一个实例。在每个训练阶段,每个类只访问一次。因此,学习过程在随机抽样波动中振荡很大。我们采用了最接近优化方法[29],并引入了一个额外的术语来鼓励训练动态的平滑性。在当前迭代t中,数据xi的特征表示是从网络v (t) i = fθ(xi)中计算出来的。所有表示的存储库都存储在前一次迭代V = fv (t−1)g。Pd阳性样本的损失函数为:

 As learning converges, the difference between iterations, i.e. v (t) i − v (t−1) i , gradually vanishes, and the augmented loss is reduced to the original one. With proximal regularization, our final objective becomes:

翻译:

随着学习的收敛,迭代之间的差值即v (t) i - v (t - 1) i逐渐消失,增广损失减小到原始损失。通过近端正则化,我们的最终目标变成:

InvaSpreed

对于相似的图片,它的特征应该保持不变性;对不相似的图片,它的特征应该尽可能分散开

端到端;不需要借助外部数据结构去存储负样本

同样的图片通过编码器后得到的特征应该很相似,而不同的则不相似 

 对X1来说,经过数据增强的X1‘就是它的正样本,负样本则是其他所有图片(包括数据增强后的)

为什么要从同一个mini-batch中选正负样本呢?这样就可以用一个编码器去做端到端的训练

图片过编码器再过全连接层,把特征维度降低,目标函数则使用NCE Loss的变体

之所以被SimCLR打败,是因为没有钞能力:mini-batch太小,导致负样本太少

CPC

以上两个都使用个体判别式的代理任务,CPC则是使用生成式的代理任务

不光可以处理音频,还可以处理文字、图片、以及在强化学习中使用

我们有一个语音序列,从xt-3到xt代表过去到现在的输入,将其全扔给一个编码器,把编码器返回的特征喂给一个自回归模型gar(RNN或LSTM),得到ct(上下文的特征表示),如果ct足够好,那么认为它可以对未来的zt+1到zt+4做出合理预测

这里的正样本是未来的输入通过编码器得到的未来时刻的特征输出,也就是真正正确的zt+1到zt+4

负样本的定义倒是很广泛,任意输入通过编码器得到的特征输出都是负样本

CMC

定义正样本的方式更广泛:一个物体的很多视角都可以当作正样本

Abstract

Humans view the world through many sensory channels, e.g., the long-wavelength light channel, viewed by the left eye, or the high-frequency vibrations channel, heard by the right ear. Each view is noisy and incomplete, but important factors, such as physics, geometry, and semantics, tend to be shared between all views (e.g., a “dog” can be seen, heard, and felt). We investigate the classic hypothesis that a powerful representation is one that models view-invariant factors. We study this hypothesis under the framework of multiview contrastive learning, where we learn a representation that aims to maximize mutual information between different views of the same scene but is otherwise compact.

Our approach scales to any number of views, and is viewagnostic. We analyze key properties of the approach that make it work, finding that the contrastive loss outperforms a popular alternative based on cross-view prediction, and that the more views we learn from, the better the resulting representation captures underlying scene semantics. Our approach achieves state-of-the-art results on image and video unsupervised learning benchmarks.

翻译:

人类通过许多感官通道来观察世界,例如,左眼看到的长波长光通道,或右耳听到的高频振动通道。每个视图都是嘈杂和不完整的,但重要的因素,如物理,几何和语义,倾向于在所有视图之间共享(例如,可以看到、听到和感觉到“狗”)。我们研究了一个经典的假设,即一个强大的表示是一个模型的观点不变的因素。我们在多视图对比学习的框架下研究这一假设,在多视图对比学习中,我们学习的表征旨在最大化同一场景的不同视图之间的相互信息,但除此之外是紧凑的。

我们的方法适用于任意数量的视图,并且是视图不可知论的。我们分析了使其有效的方法的关键属性,发现对比损失优于基于交叉视图预测的流行替代方案,并且我们学习的视图越多,结果表示捕获底层场景语义的效果就越好。我们的方法在图像和视频无监督学习基准上取得了最先进的结果。

总结:

增大所有视觉间的互信息,从而学得一个能抓住不同视角下的关键因素的特征

选取的NYU RGBD数据集有四个视角,分别是原始的图像、图像对于的深度信息、surface normal(表面法线)、物体的分割图像

虽然输入来自于不同的视角,但都属于一张图片,因此这四个特征在特征空间中应该尽可能靠近,互为正样本;不配对的视角应该尽可能远离 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/688233.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++并发编程 -3.同步并发操作

本文介绍如何使用条件变量控制并发的同步操作、C 并发三剑客,函数式编程 一.条件变量 1.概念 C条件变量(condition variable)是一种多线程编程中常用的同步机制,用于线程间的通信和协调。它允许一个或多个线程等待某个条件的发生…

爬虫之正则表达式

个人主页:Lei宝啊 愿所有美好如期而遇 概念: 正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),正则匹配是一个模糊的匹配(不是精确匹配) 如下四个方法经常使用: match()search()f…

基于Java+SpringBoot+vue+elementui 实现即时通讯管理系统

目录 系统简介效果图源码结构试用地址源码下载地址技术交流 博主介绍: 计算机科班人,全栈工程师,掌握C、C#、Java、Python、Android等主流编程语言,同时也熟练掌握mysql、oracle、sqlserver等主流数据库,能够为大家提供…

Django学习笔记教程全解析:初步学习Django模型,初识API,以及Django的后台管理系统(Django全解析,保姆级教程)

把时间用在思考上是最能节省时间的事情。——[美]卡曾斯 导言 写在前面 本文部分内容引用的是Django官方文档,对官方文档进行了解读和理解,对官方文档的部分注释内容进行了翻译,以方便大家的阅读和理解。 概述 在上一篇文章里&#xff0…

huggingface入门玩耍LLM Starter

huggingface入门玩耍LLM Starter huggingface-cli 下载model 下载 本人macos系统,以下可参考 huggingface-cli 下载 brew install huggingface-climodel 下载 以 chatglm-6b 为例 huggingface-cli download --token hf_*** --resume-download THUDM/chatglm-6b-i…

Typora+PicGO+腾讯云COS做图床

文章目录 Typora+PicGO+腾讯云COS做图床一、为什么使用图床二、Typora、PicGO和腾讯云COS介绍三、下载Typora和PicGOTyporaPicGO 四、配置Typora、PicGO和腾讯云COS腾讯云COS配置PicGO配置Typora配置 Typora+PicGO+腾讯云COS做图床…

数据库设计、JDBC、数据库连接池

数据库设计 数据库设计概念 数据库设计就是根据业务 系统的具体需求,结合我们所选用的DBMS,为这个业务系统构造出最优的数据存储模型。建立数据库中的表结构以及表与表之间的关联关系的过程。有哪些表?表里有哪些字段?表和表之间有什么关系? 数据库设计的步骤…

【C++学习手札】多态:掌握面向对象编程的动态绑定与继承机制(深入)

🎬慕斯主页:修仙—别有洞天 ♈️今日夜电波:世界上的另一个我 1:02━━━━━━️💟──────── 3:58 🔄 ◀️ ⏸ ▶️ ☰ &am…

Java+Swing+Txt实现通讯录管理系统

目录 一、系统介绍 1.开发环境 2.技术选型 3.功能模块 4.系统功能 1.系统登录 2.查看联系人 3.新增联系人 4.修改联系人 5.删除联系人 5.工程结构 二、系统展示 1.登录页面 2.主页面 3.查看联系人 4.新增联系人 5.修改联系人 三、部分代码 Login FileUtils …

2.18 day5/6 作业

作业: 以下是一个简单的比喻,将多态概念与生活中的实际情况相联系: 比喻:动物园的讲解员和动物表演 想象一下你去了一家动物园,看到了许多不同种类的动物,如狮子、大象、猴子等。现在,动物园…

Kotlin基本语法 3 类

1.定义类 package classStudyclass Player {var name:String "jack"get() field.capitalize()set(value) {field value.trim()} }fun main() {val player Player()println(player.name)player.name " asdas "println(player.name)} 2.计算属性与防范…

Java 学习和实践笔记(12)

这个就比较有意思了&#xff01;所有的事情&#xff0c;拆分完之后&#xff0c;都有且只有这三种状态流程&#xff01; //TIP To <b>Run</b> code, press <shortcut actionId"Run"/> or // click the <icon src"AllIcons.Actions.Execute&…

正大国际期货:日内交易

日内交易是一种交易模式&#xff0c;英文名字是daytrade,主要是指持仓时间短&#xff0c;不留过夜持仓的交易方式。日内交易捕捉入市后能够马上脱离入市成本的交易机会&#xff0c;入市之后如果不能马上获利&#xff0c;就准备迅速离场

程序员可以做一辈子吗?大龄程序员出路在哪?

前言 随着2023年AI的出现&#xff0c;大家对待程序员工作有了一丝丝危机感&#xff0c;特别是今年整个IT行业进入了前所未有的寒冬期&#xff0c;让程序员不得不思考未来的职业发展。 甚至很多程序员一想到自己接近35岁&#xff0c;焦虑感油然而生&#xff0c;这也是大部分程…

基于YOLOv7算法的高精度实时雾天车辆行人目标检测系统(PyTorch+Pyside6+YOLOv7)

摘要&#xff1a;基于YOLOv7算法的高精度实时雾天车辆行人目标检测系统可用于日常生活中检测与定位bicycle、bus、car、motorbike和person&#xff0c;此系统可完成对输入图片、视频、文件夹以及摄像头方式的目标检测与识别&#xff0c;同时本系统还支持检测结果可视化与导出。…

数据采集新纪元:Linux边缘计算技术在智慧工厂的应用解析

在当今全球智能制造的大潮下&#xff0c;Linux边缘计算网关正扮演着愈发重要的角色。它位于数据产生源头与云计算中心之间&#xff0c;为智慧工厂提供了关键的实时决策能力和高效的预测性维护解决方案。 以一家领先汽车零部件生产商为例&#xff0c;其高度自动化的生产线上的每…

C/C++数据结构——剖析排序算法

1. 排序的概念及其运用 1.1 排序的概念 https://en.wikipedia.org/wiki/Insertion_sorthttps://en.wikipedia.org/wiki/Insertion_sort 排序&#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的…

力扣hot2--哈希

推荐博客&#xff1a; for(auto i : v)遍历容器元素_for auto 遍历-CSDN博客 字母异位词都有一个特点&#xff1a;也就是对这个词排序之后结果会相同。所以将排序之后的string作为key&#xff0c;将排序之后能变成key的单词组vector<string>作为value。 class Solution …

探索未来科技前沿:深度学习的进展与应用

深度学习的进展 摘要&#xff1a;深度学习作为人工智能领域的重要分支&#xff0c;近年来取得了巨大的进展&#xff0c;并在各个领域展现出惊人的应用潜力。本文将介绍深度学习的发展历程、技术原理以及在图像识别、自然语言处理等领域的应用&#xff0c;展望深度学习在未来的…

SQL29 计算用户的平均次日留存率(lead函数的用法)

代码 with t1 as(select distinct device_id,date --去重防止单日多次答题的情况from question_practice_detail ) select avg(if(datediff(date2,date1)1,1,0)) as avg_ret from (selectdistinct device_id,date as date1,lead(date) over(partition by device_id order by d…