【自监督预训练 2023】MCL

【自监督预训练 2023】MCL

论文题目:Multi-Level Contrastive Learning for Dense Prediction Task

中文题目:稠密预测任务的多级对比学习

论文链接:https://arxiv.org/abs/2304.02010

论文代码:https://github.com/GuoQiushan/MCL

论文团队:

发表时间:

DOI:

引用:

引用数:

摘要

在这项工作中,我们提出了一种用于密集预测任务的多级对比学习(MCL),这是一种有效的用于密集预测任务的区域级特征表示的自监督学习方法。 我们的方法是由检测的三个关键因素驱动的:定位尺度一致性识别。 为了显式地编码绝对位置和尺度信息,我们提出了一种新的借口任务,该任务以蒙太奇方式组装多尺度图像来模拟多目标场景。

与现有的图像级自监督方法不同,我们的方法构造了一个多级对比损失,将蒙太奇图像的每个子区域视为一个单独的子区域。

我们的方法使神经网络能够学习区域语义表示,以实现翻译和尺度一致性,同时将预训练的时间缩短到与有监督预训练相同的时间。

大量的实验表明,MCL在不同的数据集上具有明显的边距,其性能始终优于当前最先进的方法。

特别是,当使用MASK R-CNN和R50-FPN主干预先训练100个Epoch时,MCL在COCO上获得42.5APBB和38.3APMK。 与MOCO相比,我们的方法的性能分别超过了4.0APBB和3.1APMK。 此外,我们还探讨了借口任务和下游任务之间的对齐。 我们将我们的借口任务扩展到有监督的预训练,它达到了与自监督学习相似的性能。 这一结果证明了在借口任务和下游任务之间的一致性的重要性,表明了我们的方法在自监督设置之外的更广泛的适用性。

1. 简介

通用的大规模监督预训练是计算机视觉社区进步的关键辅助任务,如ImageNet[16]预训练,这已被许多工作验证[18,25,26,33,41,42,46]。用预先训练的权重初始化模型的好处包括更快的收敛和更好的下游任务通用性。最近,基于实例判别任务的自监督学习(SSL)推动了许多进步,在k-NN和线性探测评估策略下,在具有挑战性的ImageNet数据集上取得了最先进的结果。尽管它们在分类任务上具有先进的性能,但最近的一些工作[39,53,54,60,62]指出了这些方法的一个共同弱点:图像级表示学习不能很好地转移到密集的预测任务中,如对象检测和实例分割。此外,现有技术方法[7,10,22,24,28]的成功需要比监督预训练多几倍的训练时期。

与ImageNet分类任务不同的是,对象在规模上有很小的变化,而对象检测数据集通常在对象实例之间有很大的变化,需要对对象进行精确的定位。因此,理想的检测器应该是跨对象的尺度一致的,并对位置信息进行精确编码。像素级SSL方法[35,53]考虑的空间结构信息如图2(a)所示。这些借口任务将图像中的每个像素视为单个实例,并鼓励模型将图像中的每个像素与其他像素区分开来。不幸的是,正像素对的匹配规则是基于特征距离的传输代价,不能保证特征目标分配的精确和稳定。对象级SSL方法[28,54]关注的是一些现成算法的提议,如选择性搜索[51]和多尺度组合分组[4],如图2(b)所示。然而,在非以对象为中心的数据集(如COCO)上,包围框和分割掩码建议不够精确。对于下游密集预测任务,低质量的方案由于局部化噪声的存在,结果较差

我们提出的方法,多级对比学习(MCL),是由检测的关键因素驱动的:定位、尺度一致性和识别。MCL是一种用于密集预测任务的新颖高效的自监督学习框架,它在下游任务上实现了最先进的迁移性能,同时显著减少了训练周期。为了实现定位、尺度一致性和识别,我们设计了一个蒙太奇组合,将多尺度图像组合成非重叠网格,模拟多对象场景。蒙太奇组合明确地对图像的位置和比例信息进行编码。此外,我们在特征金字塔上采用了尺度感知的正目标分配策略,该策略产生了具有强语义信息的多尺度特征表示。此外,MCL提出了一系列对比模式来提高尺度一致性。蒙太奇图像中的每个分量图像都被视为一个独立的实例,并基于图像坐标准确地提取特征。借口任务和下游任务之间的间隙的这种桥接确保了准确的特征目标分配。为了进一步研究借口任务和下游任务之间的一致性,我们将借口任务扩展到监督预训练。我们的监督预训练实现了与自我监督预训练类似的性能,证明了任务协调的重要性。

为了评估MCL,我们对各种密集预测任务的基准进行了广泛的实验。如图6所示,1,MCL实现了在ImageNet数据集上预训练的最先进的传输性能,同时在ImageNet上将训练成本显著降低到100个时期。在ImageNet上预训练了100个时期的MCL在标准1x调度[56]的COCO数据集上获得42.5 APbb和38.3 APmk,并使用带有R50-FPN主干的Mask R-CNN超过MoCo 4.0 APbb和3.1 APmk。在未标记的COCO数据集上预训练的MCL也获得了最先进的结果,分别为41.8 APbb和37.7 APmk。这一结果表明,MCL受益于精心设计的多级借口任务,而不是数据集偏差[40]。

主要工作如下:

(1)设计了一种高效的自监督方法–多级对比学习方法,将借口任务与密集预测任务进行对齐,提高了规模不变性和定位精度。

(2)首次将蒙太奇组装技术引入自监督学习领域,构造蒙太奇图像,模拟多尺度多目标场景。

(3)我们的方法在检测、分割和姿态估计等密集预测下游任务上获得了最先进的传输性能,同时将预训练代价降低到100个ImageNet历元。

2. 相关工作

2.1 实例对比学习

实例级对比学习将每个图像看作一个单独的个体,在一个类中只有一个样本[6],它认为同一图像的两个放大视图被拉得更近,而所有其他图像被推得更远。 MemoryBank[57]将先前计算的表示存储在存储体中,以基于噪声对比估计来比较实例。 MOCO[24]使用动量编码器以时间方式存储表示,允许字典很大。 SIMCLR[10,11]表明,当小批量大小足够大时,存储体是不必要的。 SWAV[7]对数据进行群集,同时加强群集分配之间的一致性。 此外,SWAV还采用了多裁剪数据增强技术,即使用不同分辨率的视图来代替两个全分辨率视图。 Byol[22]和Simsiam[10]直接探索在没有负对的情况下最大化一幅图像的两个视图之间的相似性。 尽管实例级对比学习在ImageNet线性探测上取得了成功,但基于实例的对比学习并没有明确地编码位置信息,而是平等地对待所有区域。 MCL将蒙太奇图像中的每个子图像看作一个单独的子图像,显式地对图像进行高保真的定位编码

2.2 密集表示学习

与实例对比学习相比,密集表示学习在像素级进行预测。近年来,人们提出了一些基于像素级表示的自监督学习方法。ULDVR[39]通过强迫局部特征在不同的视图条件下保持恒定来学习像素级的表示。DCL[53]通过匈牙利匹配策略优化了输入图像的两个视图在像素级上的两两对比相似度损失。Self-EMD[35]也有类似的基本思想,只是将匹配策略更新为Earth Mover的距离[44]。PixPro[60]通过手工制定的决策规则匹配特征像素。这些匹配策略只是将特征映射中的定位隐式映射到输入图像中的欧氏坐标上,而不能保证精确的特征目标分配。与像素级标签分配不同,MCL通过在多级特征映射上匹配蒙太奇图像中不同大小的图像区域来分配正样本。我们的尺度感知赋值策略保证了每个特征点的精确定位。

2.3 对象级表示学习

单级检测器和两级检测器都关注可管理数量的候选目标区域,并在每个区域上评估卷积网络。 感兴趣的区域具有矩形形状,并且有不同的大小。 Roialign[26]提出在卷积特征映射上提取特定区域的特征。 在FAST-RCNN[21]的基础上,SOCO[54]选择从选择性搜索[51]中产生的建议包围盒,并应用ROIALIGN通过构造多个增强视图来提取目标特征,该增强视图用于对比丢失。 Detcon[28]用现成的近似分割算法[4,19]来识别基于对象的区域,以产生语义掩码。 然后,对比检测目标将来自同一掩模的集合特征向量拉到一起,并将来自不同掩模和不同图像的特征分开。 然而,现有方法预测的分割掩码和包围盒不够准确,会产生伪标签噪声,导致对非以对象为中心的数据集的分割效果较差。 相比之下,MCL构建蒙太奇图像,并精确标注每个分量图像的定位。 结果,MCL在COCO数据集上预训练时保持了高传输性能。

3. 方法

我们的目标是在保持训练时间合理的情况下,在无监督的情况下学习区域语义表示和尺度一致性。 虽然实例级SSL方法[24,37]在学习遮挡不变表示方面取得了成功[40],但我们提出了一种新的方法,该方法在区域级应用实例区分来学习可视表示,该方法可以很好地推广到密集预测任务中。 如图所示 3.我们的方法MCL构造了多个不同大小的增强视图,并产生了一个多尺度特征金字塔,在该金字塔上应用了不同层次的对比损失。 蒙太奇程序集保证了伪包围盒标签的精度,它对绝对位置信息进行显式编码。 为了使借口任务和下游任务对齐,下游模型中的所有网络模块都被预先训练成一个良好的初始化表示。 我们还将我们的借口任务扩展到有监督的预培训,并在附录中提供更多细节。

image-20230719111003626

图3:我们方法的概述。 该图用一个模型说明了MCL,其FPN包含3个级别。 图像批X通过相同的增强流水线和不同的随机种子进行处理。 图像被降采样2倍,并洗牌以构建蒙太奇输入。 子图是多尺度和精确定位的。 根据子图位置进一步对特征金字塔进行ROI池化。 通过尺度一致性正则化,对多层特征进行对比学习,学习语义区域表示。 UI和VI从第I级特征金字塔中提取。 箭头表示将相应的目标特征设置为正样本,将其他目标特征设置为负样本。 目标网络没有梯度优化和在线网络以EMA方式更新。

3.1 蒙太奇组合

照相是通过将两张或多张照片剪切、粘合、重新排列和重叠成一张新的图像来制作一张复合照片的过程和结果。 一个有趣的观察是蒙太奇过程在特定的位置以不同的尺度集合图像,它显式地编码位置和尺度信息。

在我们的方法中,图像批X是通过相同的增强管道和不同的随机种子处理的。 为了处理大尺度变化,增强图像被降采样到原始尺寸的 1 2 s \frac1{2^s} 2s1,其中s的范围为 { 0 , 1 , 2 , . . . , S − 1 } \{0,1,2,...,S-1\} {0,1,2,...,S1},并与FPN中的特征映射级别匹配。 为了对位置和尺度信息进行编码,将所有下采样率相同的下采样图像随机组合,构造蒙太奇图像。 得到的蒙太奇图像具有与原始增强图像对齐的形状。 该过程的伪代码在ALG中提供。 1为清晰起见。

image-20230719111231632

3.2 多层次对比学习

使用FPN的探测器将一定范围内的标度锚盒分配到特定的金字塔水平。 遵循这一基本思想,我们提出根据下采样比从FPN中提取特征。

具体来说,我们为3级FPN体系结构分配2s到 P 5 − s P_{5-s} P5s的下采样率图像,其中我们将FPN的最终特征集合表示为从最细分辨率映射到最粗分辨率映射的 { P 3 , P 4 , P 5 } \{P_{3},P_{4},P_{5}\} {P3,P4,P5}

类似于ROI池算子,我们将分量图像的矩形窗口映射到FPN特征上,并使用全局平均池层聚合特征。 随后,密集预测头对特征进行处理。 对于非FPN框架,我们通过将最终的特征映射插值到特定的尺寸来构造特征金字塔。


为了对扩展视图进行编码,我们使用两个编码器:在线网络 f θ f_{\theta} fθ和目标网络 f θ ′ f_{\theta^{\prime}} fθ。 目标网络被实现为在线网络的指数移动平均(EMA)。 在线网络附加一个投影仪 g θ g_{\theta} gθ和一个预测器 h θ h_{\theta} hθ,而目标网络只有一个投影仪 g θ g_{\theta} gθ。 我们将每个视图对表示为归一化的潜在特征 u s i \mathbf{u}_{s_{i}} usi v s i \mathbf{v}_{s_{i}} vsi,其中 I s i \mathbf{I}_{s_{i}} Isi是由下采样比为 s i s_i si的子图像组合而成的图像,
u s i = h θ ∘ g θ ∘ f θ ( I s i ) , v s i = g θ ′ ∘ f θ ′ ( I s i ′ ) . \mathbf{u}_{s_i}=h_\theta\circ g_\theta\circ f_\theta(\mathbf{I}_{s_i}),\quad\mathbf{v}_{s_i}=g_{\theta^{'}}\circ f_{\theta^{'}}(\mathbf{I}_{s_i}^{'}). usi=hθgθfθ(Isi),vsi=gθfθ(Isi).
我们采用Infonce形式的对比损失函数[52]对模型进行优化:
L u = − log ⁡ exp ⁡ ( u ⋅ v + / τ ) ) exp ⁡ ( u ⋅ v + / τ ) + ∑ v − exp ⁡ ( u ⋅ v − / τ ) , \mathcal{L}_\mathbf{u}=-\log\frac{\exp(\mathbf{u}\cdot\mathbf{v}^+/\tau))}{\exp(\mathbf{u}\cdot\mathbf{v}^+/\tau)+\sum_{\mathbf{v}^-}\exp(\mathbf{u}\cdot\mathbf{v}^-/\tau)}, Lu=logexp(uv+/τ)+vexp(uv/τ)exp(uv+/τ)),
为了简单起见,省略了潜在的下标。 这里, v + \mathbf{v}^{+} v+是目标网络在与 u \mathbf{u} u相同的子图像上的输出,而集合 { v − } \{\mathbf{v}^{-}\} {v}由目标网络来自其他子图像的输出组成。 τ \tau τ是L2归一化潜特征的温度超参数[50]。 注意,特征映射 u s i \mathbf{u}_{s_i} usi v s i \mathbf{v}_{s_{i}} vsi根据子图像的坐标被拆分为向量。 由于潜在特征的数量足够大,我们使用了在同一批中共存的负样本,遵循[5,10,29,63]。 此外,我们采用对称损耗[7,13,22]: L = L u + L v . \mathcal{L}=\mathcal{L}_{\mathbf{u}}+\mathcal{L}_{\mathbf{v}}. L=Lu+Lv.

3.3 多级对比损失

为了提高规模的一致性,我们提出了一系列模式来构造最终损失。 具体来说,我们设计了四种匹配策略来分配正样本和负样本给在线特征。 如图右部所示 3.(a)所有不同尺寸的图像以最大形状瞄准视图;(b)每个图像级别旨在从对应级别中提取接近特征;©潜在特征与相邻级别的特征相匹配;(d)在所有级别上应用密集连接,平等对待所有图像分辨率。 第4.3节进行了实证研究和比较。

4. 实验

5. 总结

在这项工作中,我们提出了一个新的基于多层次对比学习的自监督框架。 我们的方法学习精确定位的区域表示,多尺度作物之间的尺度一致性,以及对密集预测任务具有良好泛化能力的语义表示。 蒙太奇程序集显式编码绝对位置和比例信息。 多级对比学习将特征映射与图像区域对齐,并规整尺度一致性。 此外,我们还通过研究在监督学习情境中应用所提出的托词任务的迁移性能,实证地探讨了预训练与优化之间的一致性。 我们的实验结果证明了在各种密集预测任务上的最先进的迁移性能,同时显著地减少了预训练的时间。 在我们的框架下进一步的细粒度表示学习可能会导致一个有希望的结果。

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

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

相关文章

Unity视角拉近时物体缺失的问题处理

在Unity的开发过程中,我们可能会遇到以下情况: 就是在场景的不断编辑中,突然又一次打开场景,再拉近或拉远场景视角时,会出现场景中的对象会显示不全的问题。 出现了这样的情况会让场景的预览很不友好。 出现这个问题的…

rust

文章目录 rustCargoCreating a rust project How to Debug Rust Programs using VSCodebasic debuggingHow to pass arguments in Rust debugging with VS Code. References rust Cargo Cargo is a package management tool used for downloading, compiling, updating, and …

行为型模式 - 命令模式

概述 日常生活中,我们出去吃饭都会遇到下面的场景。 定义: 将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行存储、传递、调用、增加与管理。 结构 …

Hugging News #0717: 开源大模型榜单更新、音频 Transformers 课程完成发布!

每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新、社区活动、学习资源和内容更新、开源库和模型更新等,我们将其称之为「Hugging News」。本期 Hugging News 有哪些有趣的消息&#xff0…

nacos注册中心+Ribbon负载均衡+完成openfeign的调用(超详细步骤)

目录 1.注册中心 1.1.nacos注册中心 1.2. 微服务注册和拉取注册中心的内容 2.3.修改订单微服务的代码 3.负载均衡组件 3.1.什么是负载均衡 3.2.什么是Ribbon 3.3.Ribbon 的主要作用 3.4.Ribbon提供的负载均衡策略 4.openfeign完成服务调用 4.1.什么是OpenFeign 4.2…

vscode remote-ssh配置

使用vscode的插件remote-ssh进行linux的远程控制。 在vscode上安装完remote-ssh插件后,还需要安装openssh-client。 openssh-client安装 先win R打开cmd,输入ssh,查看是否已经安装了。 如果没有安装,用管理员权限打开powershe…

Linux云服务器,docker compose文件部署多个jar,docker部署多模块boot项目

前提条件 Linux服务器 服务器已经安装docker docker已经安装jdk镜像 docker已经安装mysql镜像 将要部署的项目的jar包打包好,项目是多模块springboot项目 部署过程 项目是3个模块的Spring boot项目,打出来3个jar,将这些jar包拷贝到…

Linux/Unix-gcc编译回顾

1、gcc编译为可执行程序四步骤:预处理->编译->汇编->链接 注意:-o 用于修改生产的文件名 2、gcc常用参数 指定头文件:-I 语法: gcc -I 头文件所在文件夹路径 源文件 -o 生成文件名 如果头文件和源文件中同一个文件夹…

性能测试 Linux 环境下模拟延时和丢包实现

在性能测试过程中,我们还需要模拟网络异常的情况下,是否会出现一些异常数据。最常见的就是写库操作,比如说我们下单的场景,如果出现网络异常的时候是否会出现数据对不上这种情况。 如我们JMeter发送成功的请求数量和最终数据库表…

linux之Ubuntu系列(五)用户管理、查看用户信息 终端命令

创建用户 、删除用户、修改其他用户密码的终端命令都需要通过 sudo 执行 创建用户 设置密码 删除用户 sudo useradd -m -g 组名 新建用户名 添加新用户 -m:自动建立用户 家目录 -g:指定用户所在的组。否则会建立一个和用户同名的组 设置新增用户的密码&…

Git源代码管理方案

背景 现阶段的Git源代码管理上有一些漏洞,导致在每次上线发布的时间长、出问题,对整体产品的进度有一定的影响。 作用 新的Git源代码管理方案有以下作用: 多功能并行开发时,测试人员可以根据需求任务分配测试自己的功能&#…

Ceph 分布式存储之应用

一、创建 CephFS 文件系统 MDS 接口 1、服务端操作 1)在管理节点创建 mds 服务 [rootadmin ceph]# cd /etc/ceph [rootadmin ceph]# ceph-deploy mds create node01 node02 node03 [ceph_deploy.conf][DEBUG ] found configuration file at: /root/.cephdeploy.c…

.Net5 mvc项目UseBrowserLink插件功能失效的原因

前期基于.Net Framework创建的Web项目,使用了BrowserLink插件协助前端开发,功能一直都比较稳定,后来项目迁到.Net5 ,发现BrowserLink 已经失去了从浏览器定位到项目源代码的功能,希望在后面的版本还能继续支持此版本&a…

国内流行的数据可视化软件工具

在信息爆炸的时代,越来越多的数据堆积如山。但是,这些密集的数据没有重点且可读性较差。因此,我们需要数据可视化来帮助数据易于理解和接受。相比之下,可视化更直观、更有意义,使用适当的数据可视化工具来可视化数据非…

SDN系统方法 | 1. 概述

随着互联网和数据中心流量的爆炸式增长,SDN已经逐步取代静态路由交换设备成为构建网络的主流方式,本系列是免费电子书《Software-Defined Networks: A Systems Approach》的中文版,完整介绍了SDN的概念、原理、架构和实现方式。原文: Softwar…

基于FT232HL的USB2.0转ARINC429板卡

基于FT232HL的USB2.0转ARINC429板卡 1 概述 《USB2.0转ARINC429板卡》采用底板子板,层叠安装的结构;使用同样的底板,变换不同功能的子板实现不同的功能版本。 a) 降低硬件设计复杂度:新板卡设计只需要设计子板,子板的…

MySQL中这14个小玩意,让人眼前一亮!!!

前言 我最近几年用MYSQL数据库挺多的,发现了一些非常有用的小玩意,今天拿出来分享到大家,希望对你会有所帮助。 1.group_concat 在我们平常的工作中,使用group by进行分组的场景,是非常多的。 比如想统计出用户表中…

《动手学深度学习》(pytorch版本)中`d2lzh_pytorch`包问题

《动手学深度学习》(pytorch版本)中d2lzh_pytorch包问题

【深度学习】张量的广播专题

一、说明 张量广播(tensor broadcasting)是一种将低维张量自动转化为高维张量的技术,使得张量之间可以进行基于元素的运算(如加、减、乘等)。在进行张量广播时,会将维度数较少的张量沿着长度为1的轴进行复制…