[阅读笔记5][MoCo]Momentum Contrast for Unsupervised Visual Representation Learning

接下来是MoCo这篇论文,facebook于20年2月发表。

这篇论文研究的是对比学习。
受NLP自监督预训练的模型影响,CV这边也希望能有一个自监督预训练的特征提取器,这样就能很方便的在其他下游任务微调了。而对比学习的目的就是能够自监督预训练得到一个特征提取器。
这篇论文从字典查询的视角来看待对比学习,要想对比学习效果好,作者认为有两个条件:第一点是字典要足够大,第二点是字典中一致性要高。

接下来详细解释一下为什么要满足这两点。
字典要大,当然最好情况下是对每个负样本计算相似性,但由于负样本个数太多,无论是从时间上还是内存上考虑,全部计算一遍都不现实,所以只能进行采样,字典越大存储的负样本越多采样效果越接近理想情况。
字典中特征向量要保持一致性,一致性指的是这些特征向量尽量从同一个编码器运算得到,也就是希望这些向量尽量在一个batch中编码得到。这是避免模型学到捷径,比如根据编码器的差别来分类。
现有的工作都很难同时做到这两点,SimCLR模型是两个编码器,因为是即时计算样本特征,所以特征一致性很好。但是一个batch内能容纳的负样本个数很少,也就是这个模型的字典很小。InstDisc模型是一个编码器,它把所有负样本都提前运算得到128维特征向量,并保存在内存中,这样每次可以抽样拿出来很多负样本向量,不受batch大小限制了,不过它的特征一致性就很差了。
最后是本篇论文提出的模型,它有两个编码器,但只有一个参与梯度更新,另一个是动量编码器,不参与梯度更新,需要手动更新参数。动量编码器更新方式如图,当超参数m很大时,动量编码器更新缓慢,保证计算得到的样本一致性很高。同时使用先进先出的队列维护之前计算得到的负样本,队列长度和batch大小同样没关系,这样字典就可以很大。
一次看的负样本多和负样本一致性好是一对互斥的概念,MoCo在两者取了个折中。

接下来是代码部分,moco的代码非常简洁,特征提取然后矩阵相乘计算相似度,然后就可以计算损失了。损失其实是一个交叉熵损失,因为希望正样本相似度最大,负样本相似度最小。

这是实验结果,左图中可以看到端到端的形式字典很小,受batchsize限制实验最多只做到了1024,而memory bank的形式虽然字典可以很大,但是一致性太差导致效果不好。
右图为动量值的消融,动量为0,那动量编码器就成了普通编码器的copy,模型直接无法收敛。这时候模型就因为字典一致性差学习到了一条捷径。(因为两个编码器相同,所以anchor和正样本的特征向量之间的相似度就近似成了向量长度,所以编码器只需要把特征向量长度尽可能拉长。)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

postgresql 备份恢复相关知识点整理归纳 —— 筑梦之路

概述 PG一般有两种备份方式:逻辑备份和物理备份 逻辑备份对于数据量大的场景下耗时较长,恢复也会耗时较长 物理备份拷贝文件的方式相对来说耗时较短,跟磁盘读写性能和网络传输性能有关 逻辑备份 pg_dump pg_dump 将表结构及数据以SQL语句…

传感器展会现场直击!道合顺传感邀您共鉴气体传感器前沿技术

4月14日,#深圳国际传感器#与应用技术展览会在深圳会展中心(福田)如期举办。道合顺传感亮相本届大会并展示了对气体传感器的探索和最新研究成果,获得了传感器业内的广泛关注。 多年来,道合顺传感依托于雄厚的研发实力&a…

有了一站式知识库服务平台,再也不用担心工作效率了!

你是否记得无数次在海量文件和邮件里搜索资料的烦恼?又或者是在急需某个信息时,却发现它埋藏在某个早已遗忘的文件夹深处?如果你的答案是肯定的,那么一站式知识库服务平台的出现,无疑是你提高工作效率的得力助手。 知识…

Android IPC机制

在Android系统中,IPC(Inter-Process Communication,进程间通讯)是指在不同进程之间传送数据和通讯的机制。Android中的应用通常运行在独立的沙箱环境中的进程里,由于安全限制,这些进程无法直接访问彼此的内…

arxiv文章导出的bibtex格式是misc导致latex引用不正确

问题 在arxiv官网上右下角导出bibtex,发现是misc格式,然后我用的是springer的期刊latex模板,发现引用不正确。 引用效果如下,就只有一个2024。 解决方案: 把上面那个bibtex手动改成下面这个。 article{liu2024in…

2024最新 PyCharm 2024.1 更新亮点看这篇就够了

2024最新 PyCharm 2024.1 更新亮点看这篇就够了 文章目录 2024最新 PyCharm 2024.1 更新亮点看这篇就够了🚀 PyCharm 2024.1 发布:全面升级,助力高效编程!摘要引言 🚀 快速掌握 Hugging Face:模型与数据集文…

Python leetcode 2844 生成特殊字的最少操作,力扣练习,贪心解法代码实践

今天又来练习力扣了,又是向大佬学习的一天,leetcode 2844 生成特殊字的最少操作 1.题目 给你一个下标从 0 开始的字符串 num ,表示一个非负整数。 在一次操作中,您可以选择 num 的任意一位数字并将其删除。请注意,如果…

顶切,半顶切是什么意思?

齿轮加工及刀具中有一些特定名词或者叫法,不熟悉的小伙伴可能最开始会有一些困惑,这不,最近有小伙伴问了一个问题:顶切是说齿顶的倒角吗? 今天就给大家说说顶切和半顶切。 一、顶切 Topping 从字面上可以看到可以想到…

Python学习笔记20 - 模块

什么叫模块 自定义模块 Python中的包 Python中常用的内置模块 第三方模块的安装与使用

Python7种运算符及运算符优先级

🥇作者简介:CSDN内容合伙人、新星计划第三季Python赛道Top1 🔥本文已收录于Python系列专栏: 零基础学Python 💬订阅专栏后可私信博主进入Python学习交流群,进群可领取Python视频教程以及Python相关电子书合集 私信未回可以加V:hacker0327 备注零基础学Python 订阅专…

CloudFlare R2 搭建个人图床教程

为什么搭建自己的图床 平时写博客都是使用 md 格式,要在多个平台发布时,图片需要有外链后续如果博客迁移时,国内的博客网站,比如掘金,简书,语雀等都做了防盗链,图片不好迁移 为什么是CloudFla…

AIX7.2上安装mysql-8.0.17

一、安装 提示:不要采用源码编译方式,根本编译不过去,各种bug,需要针对AIX系统添加各种patch才可以,因此最简单的方式就是直接使用已经编译好的rpm包,如果没有rpm直接放弃就可以了。 1.1. 下载软件依赖包…

一文学会 Jsonp (JSON_with_Padding) 跨域请求

文章目录 流程缺点名称由来demoJSONP安全性问题CSRF攻击5XSS漏洞服务器被黑,返回一串恶意执行的代码 封装工具函数真实案例:获取淘宝搜索关键字推荐 流程 script 标签 src 属性发起的请求不受同源策略的限制,并且 script 标签默认类型是text…

Leetcode刷题(位运算)

一、 476. 数字的补数 根据题意写即可 代码 class Solution:def findComplement(self, num: int) -> int:l list(bin(num)[2:])for i in range(len(l)):if l[i]0:l[i]1else:l[i]0return int("0b""".join(l),2)位运算 class Solution:def findComple…

Android Surface的跨进程绘制,如何绘制xml布局给Surface,全网独一份

工作中遇到了这样一个需求 需求:需要将一个自定义View或者自定义布局通过跨进程方式传递给第二个应用来展示,第一个应用负责布局的渲染,第二个应用不需要关心第一个应用的业务和实现,仅提供SurfaceView占位及展示 方案&#xff…

AliyunCTF 2024 - BadApple

文章目录 前言环境搭建漏洞分析漏洞利用参考 前言 本文首发于看雪论坛 https://bbs.kanxue.com/thread-281291.htm 依稀记得那晚被阿里CTF支配的恐惧,今年的阿里CTF笔者就做了一道签到PWN题,当时也是下定决心要学习 jsc pwn 然后复现这道 BadApple 题目…

30元腾讯云服务器搭建幻兽帕鲁Palworld多人联机游戏,畅玩

幻兽帕鲁太火了,官方palworld服务器不稳定?不如自建服务器,基于腾讯云幻兽帕鲁服务器成本32元全自动部署幻兽帕鲁服务器,超简单有手就行,全程自动化一键部署10秒钟即可搞定,无需玩家手动部署幻兽帕鲁游戏程…

Python基础整理(一万三千字)(一)

目录 一、Python解释器 解释器的作用: 下载Python解释器: 安装Python解释器: 二、注释 三、变量 定义变量: 标识符: 命名习惯: 变量使用: 变量的数据类型: 四、输出 格式化输出 …

聚酰亚胺PI材料难于粘接,用什么胶水粘接?那么让我们先一步步的从认识它开始(二十六): 聚酰亚胺PI材料为什么难于粘接

聚酰亚胺PI材料为什么难于粘接 聚酰亚胺(PI)材料难以粘接主要是由于其特殊的化学结构和物理性质: 化学稳定性:聚酰亚胺PI材料具有出色的化学稳定性,这使其对大多数化学溶剂和酸碱溶液都表现出良好的抵抗性,…

23电赛D题 CORDIC算法实践——Chisel计算对数函数

一、介绍 在本专栏之前的文章中:用Chisel快速搭建FFT流水线电路Chisel实践 —— 短时傅里叶变换模块的实现与测试 已经介绍到了如何使用Chisel开发FFT运算模块和STFT模块,此篇文章将详细介绍如何使用Chisel进行对数运算模块的开发。 如何使用硬件语言实现对数运算&…