DINOv2:Mate出品的自监督预训练图像编码器

文章目录

  • DINOv2: Learning Robust Visual Features without Supervision论文阅读
    • 相关资料
    • Abstract
    • 摘要
    • 引言
    • 数据处理
      • 数据源
      • 重复数据删除
      • 自监督图像检索
      • 实现细节
    • 判别式自监督预训练

DINOv2: Learning Robust Visual Features without Supervision论文阅读

相关资料

DINOv2论文
DINOv2代码

Abstract

The recent breakthroughs in natural language processing for model pretraining on large quantities of data have opened the way for similar foundation models in computer vision.These models could greatly simplify the use of images in any system by producing allpurpose visual features, i.e., features that work across image distributions and tasks without finetuning. This work shows that existing pretraining methods, especially self-supervised methods, can produce such features if trained on enough curated data from diverse sources.We revisit existing approaches and combine different techniques to scale our pretraining in terms of data and model size. Most of the technical contributions aim at accelerating and stabilizing the training at scale. In terms of data, we propose an automatic pipeline to build a dedicated, diverse, and curated image dataset instead of uncurated data, as typically done in the self-supervised literature. In terms of models, we train a ViT model (Dosovitskiy et al, 2020) with 1B parameters and distill it into a series of smaller models that surpass the best available all-purpose features, OpenCLIP (Ilharco et al, 2021) on most of the benchmarks at image and pixel levels.

摘要

最近在自然语言处理中对大量数据进行模型预训练的突破为计算机视觉中类似的基础模型开辟了道路。这些模型可以极大地简化图像在任何系统中的使用,因为它产生了通用的视觉特征,也就是说,无需微调就可以跨图像分布和任务工作的特征。这项工作表明,现有的预训练方法,特别是自监督方法,如果在来自不同来源的足够多的精心整理的数据上训练,可以产生这样的特征。我们重新审视现有的方法,并结合不同的技术,在数据和模型大小方面扩展我们的预训练。大多数技术贡献旨在加速和稳定大规模培训。在数据方面,我们提出了一个自动管道来构建一个专用的、多样化的、经过管理的图像数据集,而不是像自我监督文献中通常做的那样未经管理的数据。在模型方面,我们用1B个参数训练了一个ViT模型,并将其提炼成一系列较小的模型,这些模型在图像和像素级别的大多数基准上超过了可用的最佳通用功能OpenCLIP 。

引言

DINOv2:Mate出品的自监督预训练图像编码器_第1张图片我们计算来自同一列(a, b, c和d)的图像patch之间的PCA,并显示它们的前3个分量。每个分量都与不同的颜色通道相匹配。无论姿势、风格甚至物体的变化,相同的部分在相关图像之间都是匹配的。背景通过阈值法去除第一个PCA分量。

  • NLP
    学习任务无关的预训练表示已经成为自然语言处理(NLP)的标准。人们可以"按原样"使用这些特征,即无需微调,并在下游任务上实现明显优于特定任务模型产生的性能。这一成功得益于使用前置目标对大量原始文本进行预训练,例如无需监督的语言建模或词向量。
  • CV
    遵循NLP中的这种范式转变,我们预计类似的"基础"模型将出现在计算机视觉中。这些模型应该生成在任何任务上都可以开箱即用的视觉特征,无论是在图像级别(如图像分类)还是像素级别(如分割)。
    对这些基础模型最有希望的努力集中在文本指导的预训练上,即使用一种文本监督形式来指导特征的训练。这种形式的文本引导的预训练限制了可以保留的关于图像的信息,因为文本仅近似于图像中的丰富信息,而复杂的像素级信息可能不会出现在这种监督中。此外,这些图像编码器需要对齐的文本-图像语料库,因此,不能提供其文本对应的灵活性,即仅从原始数据中学习。
    本文探讨了如果在大量策划数据上进行预训练,自监督学习是否有潜力学习通用的视觉特征。重新审视了现有的在图像和补丁层面学习特征的判别式自监督方法,如iBOT,并在更大数据集的视角下重新考虑了它们的一些设计选择。我们的大多数技术贡献都是为在模型和数据规模扩展时稳定和加速判别式自监督学习而定制的。这些改进使所提出方法的速度比类似的判别自监督方法快2倍左右,所需内存少3倍,使其能够利用更长的训练和更大的批大小。
    提供了各种预训练的视觉模型DINOv2,在我们的数据上用不同的视觉transformer (ViT) 架构进行训练。我们发布了在任何数据上重新训练DINOv2的所有模型和代码。当我们对DINOv2进行缩放时,在各种计算机视觉基准上的图像和像素级别上验证了它们的质量,如图2所示。
    DINOv2:Mate出品的自监督预训练图像编码器_第2张图片

数据处理

DINOv2:Mate出品的自监督预训练图像编码器_第3张图片

数据源

  • ImageNet-22k
  • ImageNet-1k的列车分割
  • Google Landmarks
  • 几个细粒度数据集
  • 对于未经整理的数据源,我们从公开可用的抓取网络数据存储库中收集原始的未经过滤的图像数据集。

从存储库中的每个网页中,我们从标签中提取图像的URL链接。我们丢弃不安全或受域限制的url,并对下载的图像进行后处理(PCA哈希重删,NSFW过滤和模糊可识别的面孔)。这将产生12亿个独特的图像。

重复数据删除

我们将Pizzi等人(2022)的复制检测管道应用于未整理的数据,并去除近重复的图像。这减少了冗余并增加了图像之间的多样性。我们还删除了本工作中使用的任何基准的测试或验证集中包含的接近重复的图像。

自监督图像检索

我们通过从我们的非策划数据源中检索与我们策划源中的图像接近的图像来构建我们的策划预训练数据集。为了做到这一点,我们首先使用在ImageNet-22k上预训练的自监督ViT-H/16网络计算图像嵌入,并使用余弦相似度作为图像之间的距离度量。然后,我们对未整理的数据执行k-means聚类。给定一个用于检索的查询数据集,如果它足够大,我们为每个查询图像检索N(通常为4)个最近邻。如果它很小,我们从每个查询图像对应的集群中采样M个图像。我们通过目视检查检索结果来调整N和M。

实现细节

我们的管道的重复数据删除和检索阶段依赖于Faiss库来有效地索引和计算最近嵌入的批量搜索。特别是,我们大量利用其对gpu加速索引的支持,使用带有产品量化代码的反向文件索引。整个处理过程分布在20个节点的计算集群上,配备8个V100-32GB的gpu,生成LVD-142M数据集的时间不超过两天。

判别式自监督预训练

我们使用一种判别式自监督方法来学习特征,该方法可以看作是DINO和iBOT损失与SwAV中心的结合。我们还添加了一个正则化器来扩展特征和一个短的高分辨率训练阶段。

  • Image-level objective(Caron et al, 2021)
    图像级目标。我们考虑了从学生和教师网络中提取的特征之间的交叉熵损失。这两个特征都来自ViT的类标记,从同一图像的不同作物中获得。我们学习学生的参数,并使用过去迭代的指数移动平均来构建教师(He et al, 2020)。
  • Patch-level objective (Zhou et al., 2021)
    补丁级目标。我们随机屏蔽了一些给学生的输入片段,而不是给老师的。然后,我们在每个被屏蔽的patch上的两个网络的patch特征之间添加交叉熵损失。这种损失与图像级损失相结合。
  • Untying head weights between both objectives
    区分两个目标之间的权重。我们观察到,将与两个目标相关的权重联系在一起,会使模型在补丁级别上欠拟合,而在图像级别上过拟合。解开这些权重解决了这个问题,并提高了两个尺度上的性能。
  • Sinkhorn-Knopp centering (Caron et al., 2020).
    Sinkhorn-Knopp定心。Ruan等(2022)建议用SwAV的Sinkhorn-Knopp (SK)批归一化方法取代DINO和iBot的teacher softmax-居中步骤(Caron et al, 2020)。我们运行Sinkhorn-Knopp算法步骤进行3次迭代。对于学生,我们应用softmax归一化。
  • KoLeo regularizer (Sablayrolles et al., 2018)
    KoLeo正则化器。KoLeo正则器源自Kozachenko-Leonenko微分熵估计器(见beirant et al (1997);Delattre & Fournier(2017)),并鼓励在批处理中使用统一的特征跨度。给定n个向量的集合(x1,…), xn),则定义为Lkoleo =−1 n Pn i=1 log(dn,i),其中dn,i = minj6=i kxi−xjk是xi与批内任意其他点之间的最小距离。在计算正则化器之前,我们还对特征进行了二次归一化。
  • Adapting the resolution (Touvron et al., 2019)
    调整分辨率。提高图像分辨率是像素级下游任务的关键,例如分割或检测,其中小物体在低分辨率下消失。然而,在高分辨率下训练对时间和内存的要求很高,因此,我们在预训练结束的短时间内将图像的分辨率提高到518 × 518。

你可能感兴趣的:(论文阅读,论文阅读)