DINOv2:Learning Robust Visual Features without Supervision
约 3993 字大约 13 分钟
2026-03-29
DINOv2: Learning Robust Visual Features without Supervision
Maxime Oquab∗∗, Timothée Darcet∗∗, Théo Moutakanni∗∗,Huy V. Vo∗, Marc Szafraniec∗, Vasil Khalidov∗, Pierre Fernandez, Daniel Haziza,Francisco Massa, Alaaeldin El-Nouby, Mahmoud Assran, Nicolas Ballas, Wojciech Galuba,Russell Howes, Po-Yao Huang, Shang-Wen Li, Ishan Misra, Michael Rabbat,Vasu Sharma, Gabriel Synnaeve, Hu Xu, Hervé Jegou, Julien Mairal1
,Patrick Labatut∗, Armand Joulin∗, Piotr Bojanowski
Meta AI Research 1Inria
摘要
近年来,基于海量数据进行模型预训练的自然语言处理技术取得重大突破,为计算机视觉领域开发类似基础模型开辟了道路。这类模型能够通过生成通用视觉特征(即无需微调即可适用于不同图像分布和任务的特征),显著简化各类系统中的图像处理流程。本研究证明,现有预训练方法(尤其是自监督方法)若采用来自多样化来源的充足标注数据进行训练,同样可生成此类特征。我们重新审视现有方法并整合多种技术手段,实现了预训练规模在数据量与模型容量上的扩展。技术贡献主要聚焦于提升大规模训练效率与稳定性:在数据层面,我们提出自动化流程构建专用、多样化且经过标注的图像数据集,替代自监督研究中常见的非标注数据;在模型层面,采用10亿参数量的ViT模型(Dosovitskiy et al., 2021)进行训练,并将其提炼为多个小型模型,这些模型在多数图像级和像素级基准测试中均超越了现有最佳通用特征OpenCLIP (Ilharco et al., 2021) 。
1.引言
与具体任务无关的学习型预训练表征已成为自然语言处理(NLP)领域的标准方法(Radford 等人,2019; Raffel 等人,2020; Chowdhery 等人,2022; Hoffmann 等人,2022; Touvron 等人,2023)。这些特征可以直接使用(无需微调),在下游任务中的表现显著优于特定任务模型(Brown 等人,2020)。这一成功得益于基于大量原始文本的预训练,采用诸如语言建模(Radford 等人,2017)或词向量(Devlin 等人,2019)等无需监督的目标函数。
随着NLP领域范式转变,我们预计计算机视觉领域也将出现类似的“基础模型”(Bommasani 等人,2021)。这类模型应能生成适用于各类任务的通用视觉特征,既包括图像层面(如图像分类)也涵盖像素层面(如图像分割)。当前最具前景的基础模型研究主要聚焦文本引导式预训练,即通过文本监督形式指导特征训练(Joulin等人,2016;Mahajan等人,2018;Radford等人,2021)。这种文本引导的预训练方式会限制图像信息的保留能力,因为图像描述仅能近似呈现图像中的丰富信息,且复杂的像素级细节可能无法通过此类监督学习显现。此外,这类图像编码器需要配对的文本-图像语料库,因此不具备文本编码器的灵活性,即无法仅通过原始数据进行学习。
文本引导预训练的替代方案是自监督学习(Caron 等,2018; Chen 等,2020; He 等,2022),该方法仅通过图像数据学习特征。这些方法在概念上更接近语言建模等预处理任务,能够捕捉图像和像素层面的信息(Caron 等,2021)。此外,自监督模型输出的特征已被证实具有多种实用特性,推动了广泛的应用场景(Amir 等,2022; Tumanyan 等,2022; Ofri-Amar 等,2023; Hamilton 等,2022)。然而尽管具备学习通用特征的潜力,自监督学习的大部分进展仍基于ImageNet-1k等小型标注数据集的预训练框架(Russakovsky 等,2015)。虽然已有研究尝试将方法扩展至ImageNet-1k之外的数据集(Caron等,2019;Goyal等,2021;2022a),但这些研究多聚焦于未标注数据集,通常会导致特征质量显著下降。究其原因,关键在于难以有效控制数据质量和多样性——这两者是生成优质特征的核心要素。
本研究旨在探究:若通过大量精心整理的数据进行预训练,自监督学习是否具备学习通用视觉特征的潜力。我们重新审视了现有基于图像和局部特征层面的判别式自监督方法(如 Zhou 等人2022a提出的iBOT),并从更大数据集的视角重新评估其部分设计选择。我们的技术贡献主要聚焦于在模型规模和数据量扩展过程中,如何稳定并加速判别式自监督学习过程。这些改进使我们的方法比同类判别式自监督方法运行速度提升约2倍,内存占用减少3倍,从而能够支持更长时间的训练周期和更大批量参数更新。
关于预训练数据,我们构建了一个自动化数据处理流程,用于从海量未经人工标注的图像集合中筛选并重新平衡数据集。该流程借鉴了自然语言处理领域的技术方案(Wenzek 等人,2020),通过数据相似性分析替代外部元数据,无需人工标注即可完成数据平衡。在处理真实场景图像时,主要难点在于实现概念均衡化并避免对少数主导模式产生过拟合。本研究采用朴素聚类方法,效果显著解决了这一问题。我们通过构建包含1.42亿张图像的小型多样化语料库,对方法有效性进行了验证。
最后,我们提供了多种预训练视觉模型DINOv2,这些模型基于不同视觉Transformer(ViT)架构(Dosovitskiy 等人,2016)在我们的数据集上训练而成。我们公开了所有模型及代码,以便在任意数据集上重新训练DINOv2。通过在图像和像素层面进行多尺度验证,我们在多种计算机视觉基准测试中评估了DINOv2的性能表现,具体结果如图2所示。研究结果表明,仅采用自监督预训练方法即可有效学习可迁移的冻结特征,其性能与当前最佳公开弱监督模型具有可比性。
3. 数据处理
我们通过从海量未标注数据中筛选出与多个已标注数据集图像特征相似的图像,构建了经过人工标注的 LVD -142M数据集。下文将详细阐述数据处理流程的核心组件,包括标注/非标注数据源、图像去重步骤及检索系统。如图3所示,该流程无需任何元数据或文本信息,可直接处理图像数据。关于具体方法的更多细节,请参阅附录A。

图3:数据处理流程概览。首先将来自人工标注与非人工标注数据源的图像映射至嵌入向量。随后对非人工标注图像进行去重处理,再与人工标注图像进行匹配。最终生成的组合数据通过自监督检索系统对初始数据集进行增强。
数据来源
我们精选的数据集详见附录(表15),包含ImageNet-22k、ImageNet-1k的训练集分割、Google Landmarks以及多个细粒度数据集。对于未经整理的数据源,我们从公开的网络爬虫数据存储库中采集原始未过滤图像数据集。从存储库中的每个网页,我们通过标签提取图像链接。剔除存在安全风险或域名限制的URL后,对下载图像进行后处理(包括PCA哈希去重、 NSFW 过滤及人脸模糊化处理),最终获得12亿张独特图像。
数据去重处理
我们采用 Pizzi 等人(2022)提出的副本检测流程对未经标注的数据进行处理,剔除近似重复图像。此举可降低冗余度并提升图像多样性。同时,我们还剔除了本研究中所有基准测试所用测试集或验证集中包含的近似重复图像。
自监督图像检索技术
我们通过从未经标注的数据源中检索与已标注数据源图像相似的图像,构建了经过人工精选的预训练数据集。具体实现过程中,首先使用在ImageNet-22k数据集上预训练的自监督ViT-H/16网络计算图像嵌入向量,并采用余弦相似度作为图像间距离度量标准。随后对未标注数据进行k均值聚类分析。针对检索查询数据集,当数据量足够大时,为每个查询图像检索N个(通常为4个)最近邻图像;当数据量较小时,则从对应聚类中随机抽取M个图像。虽然视觉检查显示当N值远大于4时检索质量良好,但这会导致更多图像重叠现象(即同一图像被多个查询检索为最近邻)。我们最终选择N=4作为最优参数,因其在性能与质量之间实现了良好平衡。
实施方案细节
我们的数据处理流程在去重与检索阶段采用Faiss库(Johnson 等人,2019)进行高效索引及最近嵌入向量批量搜索计算。特别值得一提的是,我们充分利用其对GPU加速索引的支持,采用带有乘积量化编码的倒排文件索引(Jegou 等人,2010)。整个处理过程部署在配备8块V100-32GB显卡的20节点计算集群上,仅用不到两天时间即可生成 LVD -142M数据集。
4.判别式自监督预训练
我们采用判别式自监督方法学习特征,该方法可视为DINO与iBOT损失函数的结合,并融入SwAV的中心化机制(Caron 等人,2020)。同时引入正则化项以分散特征分布,并设置短时高分辨率训练阶段。本文将简要介绍上述各方法,更多细节可参阅相关论文或我们的开源代码。
图像级目标(Caron 等人,2021)。
我们采用学生网络与教师网络提取特征之间的交叉熵损失函数。这两个特征均源自ViT模型的类别标记,这些标记来自同一图像的不同裁剪区域。我们将学生网络的类别标记输入学生DINO头部,该头部是输出评分向量的 MLP 模型,我们称之为“原型评分”。随后通过softmax函数计算ps值。同理,将教师网络的类别标记输入教师DINO头部以获取教师原型评分,再通过softmax函数结合移动平均中心化(或后续详述的Sinkhorn-Knopp中心化方法)得到pt值。DINO损失项定义为:LDINO=−∑pt log ps
我们通过学习学生网络参数,并采用历史迭代次数的指数移动平均法构建教师头部(He 等人,2020)。
补丁级目标(Zhou 等人,2022a)。
我们随机屏蔽部分输入补丁(仅屏蔽学生模型,教师模型不受影响),随后将学生模型的iBOT头应用于学生模型的屏蔽标记补丁。同理,将教师模型的iBOT头应用于学生模型中被屏蔽的可见教师补丁标记。接着执行前述的softmax归一化与中心化步骤,最终得到iBOT损失项:LiBOT=−i∑pti log psi
其中i为掩码标记的补丁索引。与上述方法类似,我们学习学生模型的参数,并通过指数移动平均法构建教师头。
解耦头部权重对两个目标的影响。
DINO和iBOT损失函数均采用可学习的MLP投影头,该结构应用于输出标记并在此基础上计算损失值。Zhou等人(2022a)的消融研究表明,DINO与iBOT头部共享参数可提升性能。但在大规模实验中我们发现相反现象,因此所有实验均采用独立头部结构。Sinkhorn-Knopp中心化算法(Caron等人,2020)。
Ruan等人(2023)建议用SwAV模型的Sinkhorn-Knopp(SK)批量归一化方法替代DINO和iBOT中的教师端softmax中心化步骤(Caron等人,2020)。我们执行Sinkhorn-Knopp算法3次迭代,学生端则采用softmax归一化。KoLeo正则化器(Sablayrolles等人,2019)。
该正则化器基于Kozachenko-Leonenko微分熵估计器(参见Beirlant等人(1997);Delattre与Fournier(2017)),旨在促进批量特征的均匀分布。给定n维向量集(x₁,...,xₙ),定义Lkoleo=−n1i=1∑nlog (dn,i)
其中d_{n,i}=min_{j=i}∥x_i−x_j∥表示向量x_i与批量内任意其他点的最小距离。计算该正则化器前需对特征进行ℓ²归一化处理。
分辨率自适应机制(Touvron等人,2019)。
图像分辨率提升对像素级下游任务(如分割或检测)至关重要,因小目标在低分辨率下易丢失。然而,高分辨率训练对时间和内存资源要求较高,因此我们在预训练结束时的短暂阶段将图像分辨率提升至518×518。该方法与 Likhomanenko 等人(2021)提出的UniViT训练方案以及 Beyer 等人(2023)提出的FlexiViT训练方案具有相似性。
分辨率的影响
我们通过对比预训练阶段调整分辨率对图像级和局部特征性能的影响进行研究。实验采用两种固定分辨率方案:初始训练时使用224×224或416×416分辨率,以及先在224×224分辨率下训练模型,随后在416×416分辨率下继续训练1万次迭代。考虑到高分辨率训练会显著增加计算成本,我们选择在小型实验环境中进行消融实验——使用基于ImageNet1k数据集训练的ViT-L/16模型。图6展示了线性探测器在ImageNet-1k和ADE-20k数据集上不同分辨率下的性能表现。结果显示,基于高分辨率图像训练的模型在所有分辨率下均表现最优,但代价显著:416分辨率下的训练量约为224分辨率的3倍。相比之下,仅在训练末期进行1万次高分辨率训练的方案效果几乎相当,且计算资源消耗大幅降低。因此,我们最终选择在训练结束时进行高分辨率训练,而非从初始阶段就采用高分辨率训练策略。

图6:分辨率对性能的影响。
对比ViT-L/16模型在ImageNet-1k数据集上采用固定分辨率(“224”和“416”)训练,以及先224分辨率训练后短暂切换至416分辨率(“224→416”)训练时的表现差异。我们在不同分辨率条件下基于冻结特征训练线性分类器,并报告ImageNet数据集的Top-1准确率及ADE-20k数据集的平均交并比(mIoU)。研究发现,采用高分辨率进行短期SSL训练,其训练效果与全程高分辨率训练相当,且仅需付出极小的计算成本。
