【自监督预训练 2023】MCL

news2024/11/25 11:03:11

【自监督预训练 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.coloradmin.cn/o/771737.html

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

相关文章

基于Web API drap事件的简单拖拽功能

基于Web API drap事件的简单拖拽功能 效果示例图代码示例 效果示例图 代码示例 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style type"text/css">* {padding: 0px;margin: 0px;box-s…

CSS学习简记(更新中~)

CSS定义 层叠样式表&#xff08;Cascading Style Sheets, 缩写为CSS&#xff09;,是一种样式表语言&#xff0c;用来描述HTML文档的呈现&#xff08;美化内容&#xff09; CSS书写规则 选择器 {属性名:属性值; } CSS引入方式 内部样式表 CSS代码直接写在style标签内外部样式…

你真的会用async和await么?

背景 背景就是遇到了一个比较烦人的模块&#xff0c;里面的涉及到了大量的async 和 awiat。发现大多人对这个语法糖一知半解&#xff0c;然后大量的滥用&#xff0c;整理一下 async 前置知识&#xff1a; Promise.resolve(foo) new Promise(resolve > resolve(foo)…

面试题汇总——Java集合(Collection和Map)

1简单介绍一下Java集合类 位置:Java的所有集合类都在java.util包下,从JDK5.0开始为了处理多线程环境下的并发安全问题,又在java.util.concurrent包下提供了一些多线程支持的集合类。 内容:Java的集合类主要有两个接口派生而出:Collection和Map。 1.1Collection Collect…

5年经验之谈 —— 功能测试和性能测试的区别是什么?

刚刚入门软件测试的宝子&#xff0c;可能经常会看到&#xff1a;功能测试、性能测试&#xff0c;这些到底是什么呀&#xff1f;那我就带大家了解一下~ 一、定义 功能测试 功能测试就是对产品的各功能进行验证&#xff0c;根据功能测试用例&#xff0c;逐项测试&#xff0c;检…

二叉树的右视图

给定一个二叉树的 根节点 root&#xff0c;想象自己站在它的右侧&#xff0c;按照从顶部到底部的顺序&#xff0c;返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4] 输出: [1,3,4] 示例 2: 输入: [1,null,3] 输出: [1,3] 示例 3: 输入: [] 输出: [] 代…

dbever找到对应的密码【dbever找到对应的密码图文java代码版本】

String file “C:\Users\test\AppData\Roaming\DBeaverData\workspace6\mydeaver\.dbeaver\”; 填写自己对应的路径 <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.83</version> &l…

Linux 安装oracle_11g保姆级安装教程及安装Oracle常见问题处理

一 安装linux 1 Linux系统 安装前的准备 linux安装建议&#xff1a; 1&#xff09;脑内存1G&#xff0c;交换空间是物理内存的两倍&#xff0c;空闲空间&#xff08;/tmp目录&#xff09;至少1G 2&#xff09;选择服务时&#xff0c;建议全部选中&#xff0c;关闭防火墙&am…

【图像分割 2023 CVPR】CFNet

文章目录 【图像分割 2023 CVPR】CFNet摘要1. 简介2. 相关工作2.1 稠密预测的主干网设计2.2 多尺度特征融合 3. 方法3.1 整体架构3.2 过渡块3.4 结构变体 【图像分割 2023 CVPR】CFNet 论文题目&#xff1a;CFNet: Cascade Fusion Network for Dense Prediction 中文题目&#…

el-table找出当前单元格与对应的上下列的值

当前单元格与对应的上下列的值如果不相同就设置个红色边框 当前单元格与对应的上下列的值如果不相同就设置个红色边框 当前单元格与对应的上下列的值如果不相同就设置个红色边框 以下是示例代码&#xff0c;对tableData数据的name字段进行处理 如果当前name值与上一条数据的na…

如何为HashMap设置初始化大小

如何为HashMap设置初始化大小 1.阿里巴巴代码规范的要求2.使用阿里巴巴插件扫描时3. 源码3.1 当初始化不设置大小时3.2 当初始化设置大小时 4. 测试附录 1.阿里巴巴代码规范的要求 2.使用阿里巴巴插件扫描时 3. 源码 3.1 当初始化不设置大小时 Map<Integer, BigDecimal>…

【计算机视觉】DINOv2(视觉大模型)代码四个不同模型的对比,以 28 * 28 的图像为例(完整的源代码)

文章目录 一、ViT-S/14二、ViT-B/14三、ViT-L/14四、ViT-g/14 一、ViT-S/14 import torch import torchvision.transforms as T import matplotlib.pyplot as plt import numpy as np import matplotlib.image as mpimg from PIL import Image from sklearn.decomposition im…

王道考研数据结构第七章知识点总结

7.1 查找的基本概念 注&#xff1a;查找表并不是一种新的数据结构&#xff0c;它只是对于你需要查找的一类数据结构的一类统称而已 7.2.1 顺序查找 注&#xff1a;学会画查找判定树 7.2.2 折半查找(模拟算法流程详见课件) 实现流程&#xff1a;略&#xff0c;见王道课件 mid如…

Java项目查询统计表中各状态数量

框架&#xff1a;SpringBoot&#xff0c;Mybatis&#xff1b;数据库&#xff1a;MySQL 表中设计2个状态字段&#xff0c;每个字段有3种状态&#xff0c;统计这6个状态各自的数量 sql查询语句及结果如图 SQL&#xff1a; SELECT SUM(CASE WHEN A0 THEN 1 ELSE 0 END) AS A0…

普华(Autosar OS开发)第一部分

普华灵智基础软件平台产品手册 一、基本情况 普华基础软件自2009年起深耕AUTOSAR车用基础软件领域,作为AUTOSAR组织高级合作伙伴,拥有强大的AUTOSAR专业技术团队。普华基础软件为国内各大OEM整车厂和主要的零部件供应商提供基于AUTOSAR标准的国产化汽车电子基础软件平台、开…

Linux内核结构与特性简介

系统调用接口&#xff1a;位于最上层&#xff0c;实现了一些基本的功能&#xff0c;如read和write等系统调用。这是用户空间程序与内核交互的接口&#xff0c;提供了对内核功能的访问。 内核代码&#xff1a;位于系统调用接口之下&#xff0c;可以看作是独立于体系结构的通用内…

Excel之VLOOKUP()函数介绍

Excel之VLOOKUP()函数介绍 Excel的VLOOKUP函数语法&#xff1a; VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup]) 参数说明&#xff1a; lookup_value&#xff1a;要查找的值或要比较的值。 table_array&#xff1a;包含要在其中进行查找的数据表的区…

电力载波与485抄表哪个抗干扰能力强

随着物联网技术的不断发展&#xff0c;自动化抄表系统已经逐渐替代了传统的手工抄表方式。其中&#xff0c;电力载波和485抄表是两种常见的自动化抄表方式。本文将从抗干扰能力的角度出发&#xff0c;对比两种抄表方式的优缺点&#xff0c;探讨哪种抄表方式更具优势。 一、电力…

东方通信基于 KubeSphere 的云计算落地经验

作者&#xff1a;周峰 吴昌泰 公司简介 东方通信股份有限公司&#xff08;以下简称“东方通信”&#xff09;创立于 1958 年&#xff0c;是一家集硬件设备、软件、服务为一体的整体解决方案提供商。公司于 1996 年成功改制上市&#xff0c;成为上海证交所同时发行 A 股和 B 股…

听GPT 讲K8s源代码--pkg(六)

pkg/kubelet/cm 目录是 Kubernetes 源代码中的一个目录&#xff0c;包含了 kubelet 组件中的 ConfigMap 相关代码。 在 Kubernetes 中&#xff0c;ConfigMap 是一种用于存储非机密数据的 API 对象类型&#xff0c;它可以用来存储配置信息、环境变量、命令行参数等等。 kubelet …