当前位置: 首页 > news >正文

《MoCo:Momentum Contrast for Unsupervised Visual Representation Learning》中文校对版

系列文章目录


文章目录

  • 系列文章目录
  • 摘要
  • 1.简介
  • 2.相关工作
  • 3.方法
    • 3.1.作为字典查找的对比学习
    • 2、
    • 3、
  • 五、
    • 1、
    • 2、
    • 3、
  • 六、
    • 1、
    • 2、
    • 3、
  • 七、
    • 1、
    • 2、
    • 3、
  • 八、
    • 1、
    • 2、
    • 3、


摘要

我们提出了用于无监督视觉表示学习的动量对比(MoCo)。从对比学习[29]作为字典查找的角度来看,我们构建了一个带有队列和移动平均编码器的动态字典。这使得能够在运行中构建大的且一致的字典,其促进对比无监督学习。MoCo在ImageNet分类的通用线性协议下提供了具有竞争力的结果。更重要的是,MoCo学习到的表示可以很好地转移到下游任务中。MoCo可以在PASCAL VOC,COCO和其他数据集上的7个检测/分割任务中优于其监督的预训练对手,有时甚至远远超过它。这表明,在许多视觉任务中,无监督表示学习和监督表示学习之间的差距已经基本消除。

1.简介

无监督表示学习在自然语言处理中非常成功,例如,[12]如图所示,[50]和[51]的BERT [12]。但监督式预训练在计算机视觉中仍然占主导地位,而非监督式方法通常落后。原因可能源于它们各自的信号空间的差异。语言任务具有离散的信号空间(单词,子单词单位等)。用于构建标记化词典,无监督学习可以基于该标记化词典。相比之下,计算机视觉还涉及字典构建[54,9,5],因为原始信号处于连续的高维空间中,并且未被构造成用于人类通信(例如,不像字)。
最近的几项研究[61,46,36,66,35,56,2]提出了使用与对比损失相关的方法的无监督视觉表征学习的有希望的结果[29]。尽管这些方法受到各种动机的驱动,但它们可以被认为是构建动态词典。字典中的“关键字”(标记)是从数据(例如,并且由编码器网络来表示。无监督学习训练编码器执行字典查找:编码的“查询”应该与其匹配的关键字相似,而与其他关键字不相似。学习被表述为最小化对比损失[29]。
在这里插入图片描述动量对比度(MoCo)通过使用对比损失将编码的查询q与编码的关键字的字典进行匹配来训练视觉表示编码器。字典关键字{k 0,k1,k2,…}由一组数据样本动态地定义。字典构建为一个队列,当前的小批处理入队,最早的小批处理出列,使其与小批处理大小分离。键由缓慢前进的编码器编码,由查询编码器的动量更新驱动。该方法能够实现用于学习视觉表示的大且一致的字典。
从这个角度出发,我们假设希望建立这样的词典:(i)大的并且(ii)在训练期间随着它们的发展而一致。直观地,较大的字典可以更好地采样底层连续的、高维的视觉空间,而字典中的关键字应该由相同或相似的编码器表示,以便它们与查询的比较是一致的。然而,使用对比损失的现有方法可能在这两个方面中的一个方面受到限制(稍后在上下文中讨论)。
我们提出了动量对比度(MoCo)作为一种构建大型一致字典的方法,用于具有对比度损失的无监督学习(图1)。我们将字典维护为数据样本的队列:当前小批量的编码表示被入队,最早的被出列。队列将字典大小与迷你批处理大小分离,从而允许它变得更大。此外,由于字典关键字来自前几个小批量,一个缓慢进展的关键字编码器,实现为基于动量的移动平均查询编码器,提出了保持一致性。
MoCo是一种为对比学习构建动态词典的机制,可以用于各种借口任务。在本文中,我们遵循一个简单的实例判别任务[61,63,2]:如果查询是编码视图(例如,不同的作物)相同的图像。使用这个借口任务,MoCo在ImageNet数据集中的线性分类的常见协议下显示了竞争结果[11]。
无监督学习的主要目的是预先训练表示(即,功能),可以通过微调转移到下游任务。我们发现,在与检测或分割相关的7个下游任务中,MoCo无监督预训练可以超过ImageNet监督预训练,在某些情况下,可以超过非平凡的边缘。在这些实验中,我们探索了在ImageNet或10亿张Instagram图像集上预训练的MoCo,证明MoCo可以在更真实的世界中工作,十亿张图像规模,以及相对未经策划的场景。这些结果表明,MoCo在很大程度上缩小了许多计算机视觉任务中无监督和有监督表示学习之间的差距,并且可以在几个应用中作为ImageNet监督预训练的替代方案。

2.相关工作

无监督/自我监督1学习方法通常涉及两个方面:借口任务和损失函数。术语“借口”意味着正在解决的任务不是真正感兴趣的,而是仅仅为了学习良好的数据表示的真正目的而解决的。损失函数通常可以独立于托词任务来研究。MoCo侧重于损耗函数方面。接下来我们就这两个方面的相关研究进行探讨。
损失函数。定义损失函数的常见方式是测量模型的预测与固定目标之间的差,诸如重构输入像素(例如,自动编码器),或者将输入分类为预定义的类别(例如,八个位置[13]、颜色箱[64])。如下所述的其它替代方案也是可能的。
对比损失[29]衡量的是样本对在一个表示空间中的相似性。在对比损失公式中,目标可以在训练期间动态变化,并且可以根据网络计算的数据表示来定义,而不是将输入与固定目标相匹配[29]。对比学习是最近几部关于无监督学习的著作的核心[61,46,36,66,35,56,2],我们将在后面的上下文中对此进行详细阐述(第第3.1段)。
对抗性损失[24]衡量的是概率分布之间的差异。它是一种广泛成功的无监督数据生成技术。在[15,16]中探讨了用于表征学习的对抗方法。在生成对抗网络和噪声对比估计(NCE)[28]之间存在关系(见[24])。
代理任务。提出了一系列广泛的借口任务。示例包括在某些损坏情况下恢复输入,例如,去噪自动编码器[58]、上下文自动编码器[48]或交叉通道自动编码器(彩色化)[64,65]。一些借口任务形成伪标签,例如,单个(“样本”)图像的变换[17]、块排序[13,45]、跟踪[59]或分割视频中的对象[47]、或聚类特征[3,4]。
对比学习与代理任务。各种借口任务可以基于某种形式的对比损失函数。实例判别方法[61]与基于范例的任务[17]和NCE [28]相关。对比预测编码(CPC)[46]中的托词任务是上下文自动编码[48]的一种形式,而在对比多视图编码(CMC)[56]中,托词任务与着色[64]相关。

3.方法

3.1.作为字典查找的对比学习

对比学习[29]及其最近的发展,可以被认为是训练编码器进行字典查找任务,如下所述。
考虑编码查询q和编码样本集 { k 0 , k 1 , k 2 , . . . } \{k 0,k1,k2,...\} {k0k1k2...}。是字典的关键字。假设在q匹配的字典中存在单个关键字(表示为 k + k_+ k+)。对比损失[29]是一个函数,当 q q q与其正键 k + k_+ k+相似而与所有其他键(被认为是q的负键)不相似时,该函数的值较低。通过点积衡量相似性,本文考虑了一种称为InfoNCE [46]的对比损失函数形式:
L q = − log ⁡ exp ⁡ ( q . k + / τ ) ∑ i = 0 K exp ⁡ ( q . k i / τ ) \mathcal{L}_q=-\log\frac{\exp(q.{k_+}/\tau)}{\sum_{i=0}^K \exp(q.{k_i/\tau})} Lq=logi=0Kexp(q.ki/τexp(q.k+/τ)

2、

3、

五、

1、

2、

3、

六、

1、

2、

3、

七、

1、

2、

3、

八、

1、

2、

3、


http://www.mrgr.cn/news/41558.html

相关文章:

  • 常见的性能问题(如内存泄漏、Full GC频繁)的排查与解决。TCP的三次握手与四次挥手过程。
  • 业务封装与映射 -- 业务映射路径
  • 「C++系列」预处理器
  • 毕业设计选题:基于ssm+vue+uniapp的教学辅助小程序
  • ros2 自定义工作空间添加source
  • 【嵌入式裸机开发】智能家居入门3(MQTT服务器、MQTT协议、微信小程序、STM32)
  • 【超详细】Python、JDK、vscode安装
  • CSS盒子模型基础知识(23个案例+代码+效果图)
  • 【EXCEL数据处理】000013 案例 EXCEL筛选与高级筛选。
  • Visual Studio2017编译GDAL3.0.2源码过程
  • PHP反射机制
  • 使用rust写一个Web服务器——多线程版本
  • ARM 架构、cpu
  • 一个简单的摄像头应用程序0
  • 关于Vben Admin多标签页面缓存不生效的问题
  • latex有哪些颜色中文叫什么,Python绘制出来
  • Docker Compose 部署大模型GPU集群:高效分配与管理算力资源
  • 国庆作业1
  • 将二叉树的叶节点从左到右的顺序连成一个单链表
  • 【YOLO目标检测电梯间电动车与人数据集】共4321张、已标注txt格式、有训练好的yolov5的模型