【论文精读】DINOv2

news2024/11/17 22:47:49

摘要

       学习与特定任务无关的预训练表示已经成为自然语言处理的标准,这些表示不进行微调,即可在下游任务上明显优于特定任务模型的性能。其主要得益于使用无监督语言建模目标对大量原始文本进行预训练。 遵循NLP中的这种范式转变,以探索计算机视觉中类似的基础模型。 这种基础模型应该生成在任何任务上都可以开箱即用的视觉特征,无论是在图像级别如图像分类还是像素级别如分割。

       本文基于以往视觉判别式自监督学习方法(如IBT),提出如下改进:

  • 建立了一个自动pipeline,从大量未经整理的图像集合中利用图像相似性过滤及利用聚类方法平衡数据集模式分布收集了一个小型多样化的语料库,包含1.42亿张没有标签的图像
  • 开源了多种DINOv2预训练ViT,具备比以往自监督ViT更优的性能
  • 证明了在大量数据上进行预训练,自监督学习具有学习通用视觉特征的潜力
    image

       上图每一列都为对DINOv2的输出特征采用PCA后的主成分相互匹配的图像,每张图对应的右侧图为前3个主成分特征可视化的结果。观察到采用无监督训练的DINOv2具备优秀的特征提取能力,验证了上述的改进结论。
image

       上图为DINOv2在8种不同类型的视觉任务的性能,虚线为最好的弱监督方法的性能,淡橙色为自监督方法的性能,深粉色为弱监督方法的性能。观察到DINOv2大幅改善了以往的自监督学习方法,达到了与弱监督相当的性能。

数据处理

       本文提出的LVD-142M数据集由一个巨大的未整理的数据池中检索了几个精选数据集中的图像得到的图像数据集和被用于检索的几个精选数据集组成。详细流程如下图:
image

Data sources

image
       数据源包括作为检索条件的精选数据源和一个未经整理的数据池。其中精选数据源详情如上表,包含ImageNet22k、ImageNet1k的训练集、Google Landmarks和几个细粒度数据集。未整理数据池包含1.2B张图像,其来源于一个利用爬虫爬取的未经过滤的公开可用网络仓库,并取出仓库中的所有网页的标签的图像 URL链接,其中丢弃了不安全或受域名限制的URL,并对下载的图像进行了后处理(PCA哈希去重、NSFW过滤和模糊可识别的人脸)。

Deduplication

       将copy detection pipeline应用于未经整理的数据池,并对图像去重,这减少了冗余并增加了图像间的多样性。另外对精选数据源中的测试或验证集也进行了图像去重。

Self-supervised image retrieval

       通过从未整理的数据池中检索与精选数据源中的图像接近的图像来构建预训练数据集。对任意两张图像,使用在ImageNet22k上预训练的自监督ViT-H/16网络计算图像嵌入,并使用余弦相似度作为图像之间的距离度量。
m ( s , r ) = c o s i n e _ s i m i l a r i t y ( f ( s ) , f ( r ) ) = f ( s ) , f ( r ) ∣ ∣ f ( s ) ∣ ∣ 2 ∣ ∣ f ( r ) ∣ ∣ 2 m(s,r)=cosine\_similarity(f(s),f(r))=\frac {f(s),f(r)} {||f(s)||_2||f(r)||_2} m(s,r)=cosine_similarity(f(s),f(r))=∣∣f(s)2∣∣f(r)2f(s),f(r)

        s s s r r r是一对用于比较的图像, f f f是生成的特征。首先对未经整理的数据进行k-means聚类,然后给定一个用于检索的查询数据集(精选数据源),如果其足够大,则为每个查询图像检索N(通常为4)个最近邻图像;如果查询数据集很小,则从每个查询图像对应的聚类集群中采样M张图像。通过对检索结果进行目视检查,对N和M进行调整。

Implementation Details

       pipeline的去重和检索阶段依赖于Faiss库的GPU加速索引来高效地实现基于特征嵌入最近邻的批量搜索。整个处理过程分布在一个由20个节点组成的计算集群上,每个节点有8个V100-32GB GPU,生成LVD-142M数据集需要不到两天的时间。

判别式自监督预训练

       DINOv2采用DINO和iBOT组合的自监督方法学习特征,并做出一系列调整。

Image-level objective

       图像级目标定义为分别从学生网络和教师网络中提取的ViT的cls patch特征之间的交叉熵损失,教师网络和学生网络的输入从同一图像的不同裁剪中获得。

Patch-level objective

       随机屏蔽一些学生网络输入的输入patch,但不屏蔽教师网络输入,然后对每个掩码patch对应的两个网络输出patch特征之间计算交叉熵损失,即为patch级目标。该损失与图像级损失相结合定义为最终损失,得到的损失用于训练学生网络的参数,使用EMA来构建教师网络。详情参考iBOT。

Untying head weights between both objectives

       采用上述方法将两个目标的损失联系在一起,会使模型在patch级别上欠拟合,而在图像级别上过拟合。故对两种损失添加不同权重,来提高模型在两种尺度上的性能。

Sinkhorn-Knopp centering

       使用SwAV的Sinkhorn-Knopp(SK)批量归一化替换DINO和iBOT教师网络的softmax/centering步骤。模型对教师网络应用3次SK归一化,对学生应用softmax归一化。

KoLeo regularizer

       KoLeo正则化器源自Kozachenko-Leonenko微分熵估计器,其会鼓励一个batch中的特征呈均匀跨度。具体为,给定一组向量 ( x 1 , … , x n ) (x_1,…,x_n) (x1,,xn) L k o l e o = − 1 n ∑ i = 1 n l o g ( d n , i ) L_{koleo} =−\frac 1 n \sum^ n_{i=1} log(d_{n,i}) Lkoleo=n1i=1nlog(dn,i),其中 d n , i = min ⁡ j ≠ i ∣ ∣ x i − x j ∣ ∣ d_{n,i} = \min_{j\neq i} || x_i−x_j|| dn,i=minj=i∣∣xixj∣∣ x i x_i xi和batch内其他点之间的最小距离。

       DINO的投影头 h h h的MLP之后首先使用 l 2 l_2 l2正则化,然后再使用KoLeo正则化。

Adapting the resolution

       提高图像分辨率是像素级下游任务的关键(如分割或检测),小目标会在低分辨率下消失。然而,在高分辨率下训练需要更多时间和内存。为了平衡两种情况,本文在预训练快结束的短时间内会将图像的分辨率提高到 518 × 518 518 × 518 518×518

高效实现

       本文使用pytorch2.0在A100 GPU上训练模型。在相同的硬件下,DINOv2的代码实现只使用iBOT 1/3的内存但运行速度快2倍。具体实现细节如下:

Fast and memory-efficient attention

       实现了一个新版本的FlashAttention,提高了自注意层的内存使用效率和速度。因为GPU硬件的特殊性,当每个头的嵌入维数为64的倍数时,效率最好;整体嵌入维数为256的倍数时,矩阵运行效率最好,因此实现的ViT-g使用1536个头(64 dim/head),ViT-g参数量为1.1B。

Nested tensors in self-attention

       允许在同一前向传播中运行global crops和local crops(全局视图、局部视图),与之前的实现相比提高了计算效率。

Efficient stochastic depth

image
       实现了一个改进版的随机深度(stochastic depth),同以往实现掩盖丢弃的残差层计算结果不同,该实现跳过了被丢弃的残差层的计算。这节省了内存和计算量,其比例近似于drop rate。由于较高的drop rate(d=40%),显著提高计算效率和内存使用。另外还在每个batch上随机打乱B个样本,并切片前面的 ( 1 − d ) × B (1−d)×B (1d)×B个样本用于块中的计算。详细训练配置如上图。

Fully-Sharded Data Parallel (FSDP)

       FSDP是一个可以在多个GPU节点上运行的高效分布式训练框架。具体,在使用AdamW优化器进行训练时,需要使用4个模型副本,包括学生网络、教师网络、优化器的一阶和二阶动量,对于ViT-g这样1.1B参数的模型,需要至少16GB的内存存储参数。故使用FSDP降低单个GPU的内存占用,将模型副本分片放置在多个GPU上。

       因此,模型大小不再受单个GPU的内存限制,而是受到整个计算节点的GPU内存总和的限制。FSDP还可以节省跨GPU通信成本,按优化器的要求参数权重分片以float32精度存储,但骨干网络的权重广播和梯度下降使用float16精度进行计算(MLP的梯度用float32精度下降,以避免训练不稳定),相比于Distributed Data Parallel(DDP)全部使用float32精度计算,可减少50%的通信成本。

Model distillation

image
       如上图,DINOv2给出一系列模型ViT-g、ViT-l、ViT-b、ViT-s,其中只对1.1B参数的ViT-g采用LVD-142M进行预训练,其余小模型均使用知识蒸馏从ViT-g中蒸馏得到。

       蒸馏过程采用和预训练同样的训练框架,令ViT-g为教师网络,其余型号的ViT小模型做学生网络进行训练,并保留一个学生网络EMA作为最终模型。同预训练不同之处在于删除了mask和随机深度策略,对于iBOT其分支全部使用global crops。

消融实验

Improved Training Recipe

       DINOv2的训练方法是在iBOT基础上添加了上述组件进行了改进。为了评估各组件对训练过程的重要性,依次将组件添加到一个baseline iBOT模型中,得到多个模型。
image
       如上表,报告了ImageNet-1k验证集中k-NN和线性检测任务的Top-1精度。观察到,每个组件都逐步提高了k-NN或线性检测的性能,只有LayerScale和随机深度会导致线性检测的性能下降,但其显著提高了训练的稳定性。

Pretraining Data Source

       特征的质量与训练数据的质量直接相关。故将LVD-142M、ImageNet-22k、删除ImageNet-1k(INet-22k\INet-21k)后的ImageNet-22k的变体及直接使用原始和未整理的数据进行比较,未经整理的数据集为从与LVD-142M相同的数据源中随机抽取的1.42亿张图像。实验在每个数据集上训练一个具有相同迭代次数的ViT-g/14。
image
       如上表。观察到在LVD-142M进行训练的模型在3个基准上比Uncurated data上训练的模型效果更好,这证实了数据整理的好处。与在ImageNet-22k上训练的模型相比,在LVD-142M上训练的模型在除ImageNet-1k之外的基准上也更优,这证实了在更多样化的图像集上进行训练可以提高该数据集未覆盖领域的特征质量。

       总体而言,LVD-142M对不同类型的图像提供了很好的平衡,从而获得了最佳的整体性能。

Model Size and Data

image
        上图为LVD-142M(蓝色)和ImageNet-22k(橙色)上训练的不同大小的模型在几种测试集上的性能表现。观察到随着模型规模的增长,在LVD-142M上训练比在ImageNet-22k上训练更有益。例如,在LVD-142M上训练的ViT-g与在ImageNet-22k上训练的ViT-g 在ImageNet-1k上的性能相匹配,而在其他基准上明显更优。

Loss Components

       本实验验证了添加KoLeo损失与否及有无MIM任务对最终模型性能的影响。对于这两种情况,报告了使用线性分类器在ImageNet-1k的分类性能、使用线性分类器进行ADE-20k分割性能以及在Oxford-m上的最近邻图像检索性能。
image
       上表a显示了使用KoLeo损失与否的影响。观察到使用KoLeo损失,图像检索性能提高了8%以上,这证实了KoLeo损失有助于在输出空间中扩展特征。同时,其他指标也不会受到这种正则化的影响。

       上表b中,展示了使用iBOT的MIM的影响。观察到MIM对于密集预测任务至关重要,可以导致近3%的性能改进。

Impact of Knowledge Distillation

image
       本实验验证对于小型架构,利用更大的模型进行知识蒸馏比从头开始训练更有益。具体,通过将从头训练的ViT-l/14(scratch)与从预训练ViT-g/14(scratch)在上图中的12个以上基准中蒸馏的ViT-l/14(distilled)进行比较,并报告了ViT-g/14(scratch)的性能。

       如上图,ViT-l/14(distilled)在12个基准中的10个上优于ViT-l/14(scratch),验证了对小型模型进行知识蒸馏的预训练方法的有效性。

Impact of Resolution

image
       本实验验证了在预训练过程中改变分辨率对图像和patch级特征性能的影响。基于两种策略,从头训练使用 224 × 224 224×224 224×224分辨率(橙色)或 416 × 416 416×416 416×416分辨率(深粉色)的模型;以及在 224 × 224 224×224 224×224分辨率从头训练,然后在 416 × 416 416×416 416×416分辨率上继续进行10k次迭代的模型(橙色)。高分辨率训练是计算密集型的,所以实验采用ImageNet1k上训练的ViT-L/16验证。

       如上图,报告了在ImageNet-1k和ADE-20k上的线性检测的性能,并在不同的分辨率下进行了评估。观察到,在高分辨率图像上训练的模型在不同分辨率上表现最好,但这种代价很高。另一方面,在训练结束时进行10k次高分辨率训练迭代的性能几乎也同样好,而且只需要一小部分计算量。因此,DINOv2采用在训练结束时包括了这一步的策略,而不是从头开始的高分辨率训练。

对比实验

       本实验使用两种类型的模型作为baseline。自监督模型包括MAE、DINO、SEERv2、MSN、EsViT、Mugs和iBOT。弱监督模型包括CLIP、OpenCLIP和SWAG。

ImageNet Classification

       本实验验证DINOv2在ImageNet1k分类数据集上的性能。实验通过在冻结的骨干上训练一个简单的分类器来评估精度(没有对骨干权重进行微调)。由于大多数SSL方法使用ImageNet1k验证性,因此另外报告了ImageNet-Real和ImageNet-v2上的top-1准确性。
image
       如上图,不考虑架构或预训练数据的情况下将DINOv2与以往最优的SSL比较。DINOv2在线性评估方面比之前的最先进水平(在ImageNet-22k上训练的iBOT ViT/16)提升了4.2%的精度。同时还观察到,所提出方法在备选测试集(ImageNet-Real、ImageNet-v2上)上的性能提高更大,表明DINOv2泛化能力较强。

       另外还与以往最优的弱监督模型在ImageNet1k上对比了线性检测性能,我们在表4中显示了这个评估的结果。观察到,ViT-G/14/DINOv2比ViT-G/14/OpenCLIP提高0.3%的精度,比ViT-g/14/EVA-CLIP提高0.1%的精度。同时,也观察到DINOv2在ImageNet-V2测试上的表现比EVA-CLIP提高1.1%的精度,表明DINOv2具有更好的泛化能力。
image
       上图实验为DINOv2在ImageNet-1k微调后产生的性能。观察到,输入分辨率为224和448的模型,微调后ImageNet-1k验证集上的top1精度都提高了+2%以上。证明对DINOv2的微调可以进一步提高在特定任务上的性能。
image
       另外实验探索了DINOv2的特征鲁棒性,在ImageNet-A、ImageNet-R、ImageNet-C、Sketch基准上评估了使用线性分类头训练的ImageNet-1k模型。

       实验结果如上表所示。与最先进的SSL方法相比,DINOv2显示出更好的鲁棒性(与iBOT相比,ImageNet-A提高了29.6%,ImageNet-R提高了22.1%,Sketch提高了23.0%)。DINOv2还改进了ImageNet-A上的最佳弱监督模型OpenCLIP,但在ImageNet-R和Sketch上表现较差。

Additional Image and Video classification Benchmarks

image
       本实验研究DINOv2的特征在下游分类基准测试上的泛化能力,使用了两组评估,第一组使用大型细粒度数据集,如iNaturalist和Places205验证图像分类性能。对于iNaturalist 2018、iNaturalist 2021和Places205,实验训练了采用数据增强的线性分类器。

       第一组结果如上表中,报告了iNaturalist 2018、iNaturalist 2021和Places205的top-1个精度。观察到,DINOv2在两种iNaturalist变体上显著优于ViT-G/14/OpenCLIP(+8.6%和+9.7%),但在Places205上略微落后(−2.3%)。

       在第二组评估中,验证了模型在视频动作识别上的性能,实验评估了UCF-101、Kinetics-400和Something-Something v2三个数据集。对每个数据集,每个视频间隔8帧提取一张图像,其中UCF和K-400使用一个视频提取出的图像的特征平均值训练线性分类器;对于SSv2,采用concat序列特征以保留更多的时序信息。使用平均精度为测量指标。

       第二组结果如上表右。观察到在自监督的方法中,DINOv2实现了最先进的精度。此外,DINOv2在UCF和Kinetics上比OpenCLIP有更高的准确性(+0.1%、+0.5%),在SSv2上提升幅度更大(+2.5%),因为SSv2需要对视频帧的时序性有更丰富的理解。
image
       在上表中,还比较了SimCLR提出的12个分类基准中得到性能。这个基准测试包括场景、对象(食物、汽车、飞机)和纹理。实验用CUB替换了Birdsnap数据集,因为Birdsnap还没有完全公开。

       观察到,DINOv2显著优于最先进的SSL模型,最显著的差异是在Stanford Cars(+14.8% vs DINOViT-B/8)和FGVC Aircraft(+14.8% vs ViT-L/16/iBOT)。除了SUN(−5.3%)和Cars(−4.7%),DINOv2在大多数分类基准测试上与OpenCLIP也具有竞争力。

Instance Recognition

image
       在本实验中,使用非参数方法验证了模型在实例级识别任务的表现,查询图像通过与数据库中的图像的余弦相似度进行排序来确定实例类别。实验在Paris和Oxford的基线进行了比较,还评估了Metropolitan museum和Amster时间,其中包含与Amsterdam档案图像相匹配的街景图像。通过计算平均精度来衡量性能,

       结果如上表。观察到,DINOv2显著优于SSL(Oxford-Hard +41%mAP)和弱监督(Oxford-Hard +34%mAP),这是里程碑式的识别基准。

Dense Recognition Tasks

image
       本实验评估语义分割性能,考虑了两种不同的设置:

  • 线性:训练一个线性层从最后一层的patch token预测类logits,其可生成一个低分辨率的logit图(例如一个patch大小为16的模型输出为32x32),然后将其上采样到全分辨率(512x512)以获得一个分割图
  • +ms:一个线性设置的增强版本。将最后4层的patch token concat起来预测类logits,上采样使用更大的图像分辨率640,并使用multiscale test-time增强来改进预测

       结果如上表。报告了两种设置下DINOv2变体在三个数据集(ADE20k、CityScapes、Pascal VOC)上的性能。观察到,模型在所有数据集和所有设置上都显示出非常好的性能,使用+ms的评估与使用UperNet解码器微调的MAE(53.0 vs 53.6mIoU)相当,但DINOv2只使用了一个明显更简单的预测器。此外,使用+ms的最佳DINOv2模型,几乎与Pascal VOC的最先进技术水平相当(86.2 vs 89.0mIoU)。

       在最后的实验中,冻结了主干网络,将其插入具有Mask2former头的ViT-Adapter。在ADE20k上达到60.2 mIoU,接近最先进的62.9 mIoU。
image
       本实验在三个单目深度估计基准(NYUd、KITTI和从NYUd到SUN3d的zero-shot迁移)上验证模型在深度估计上的性能。考虑了三种不同的评估设置:

  • lin.1:提取被冻结模型的最后一层的token,并将[CLS] token拼接到每个patch token,然后将上述token利用双线性上采样4倍以增加分辨率,最后利用分类loss训练一个简单的线性层,并将深度预测范围划分到256个均匀分布的bins中,然后进行线性归一化
  • lin.4:使用与lin.1相同的协议,但ViT-s/b拼接{3、6、9、12}层的token,ViT-l拼接{5、12、18、24}层,以及ViT-g拼接{10、20、30、40}层
  • DPT:在冻结模型之上使用DPT解码器,并设置一个回归任务。并根据每个架构的特征的尺寸来缩放头部的大小

       结果如上表。观察到,DINOv2的性能超过了以往最优的SSL和WSL模型。另外,从ViT-L中提取的iBOT特征优于使用ViT-G的OpenCLIP特征,这一观察结果支持了一种直觉,即caption-based的特征无法学习到这样的微妙模式。

       此外,使用DPT解码器的DINOv2,匹配或超过以往最优的性能。最后,在SUN-RGBd上的域外泛化结果表明,DINOv2的特征允许很好的域间转移。一个由NYUd在室内场景上训练的深度预测模块可以很好地推广到SUN-RGBd的室外例子。

定性分析

Semantic Segmentation and Depth Estimation

image
       上图分别为ADE20K的语义分割可视化结果和NYUd、KITTI、SUN RGB-D的深度估计可视化结果,实验将DINOv2与OpenCLIP在每个数据集上都使用线性分类器进行比较。

       观察到虽然不完美,但使用DINOv2主干的线性分割模型产生了良好的结果,并且在这个评估设置下比OpenCLIP模型表现更好。由OpenCLIP-G产生的分割掩模显示了许多伪影和断开连接的组件。

       深度估计的定性结果也说明了OpenCLIP和DINOv2之间的差距。虽然DINOv2的特征以及OpenCLIP提取的特征都能够线性地分离深度等复杂的信息(两者都没有使用这种类型的信息进行训练)。然而,DINOv2的特性产生了一个更平滑的深度估计,与更少的伪影。一些对象,如SUN RGB-D图像上的椅子,被OpenCLIP完全忽略,但DINOv2可以正确地定位。

Out-of-distribution generalization

image
       上图为一些DINOv2深度估计和实例分割的示例。观察到,即使在不同的领域,动物或绘画的图片的深度和分割的质量也非常好。

PCA of patch features

image
       上图展示DINOv2提取的patch特征进行主成分分析(PCA)的结果。提取流程为:

  • 从DINOv2的输出中提取patch token特征,并对其计算PCA
  • 对patch特征的第一主成分设置阈值后,只保留正值的patch,这个过程可以获取从背景中分离出来的图像的主要目标的patches
  • 对上一步计算的前景patches再次计算PCA,并提取前3个主成分再次进行阈值过滤
  • 得到的3个主成分patches做为RGB着色绘图

       结果如上图。首先,采用DINOv2的无监督前景/背景检测器,采用PCA检测第一主成分后,能够描绘出图像中主要目标的边界;其次,其他主成分能匹配物体的不同部件。这证明DINOv2在没有监督的情况下就能解析对象的各个部分。

Patch matching

image
       上图实验了DINOv2的跨图像匹配功能,探索了patch级特征包含的信息类型。首先使用PCA检测前景对象,然后计算从两幅图像中提取的patch特征之间的欧氏距离,并通过求解指派问题实现特征间的映射。为了减少匹配的数量,对匹配进行非极大值抑制(nms),只保留显著的匹配。

       结果如上图,展示了这种匹配的一些例子。观察到,这些特征捕捉到了在不同的物体或动物中具有相似目的的语义区域的信息。例如,飞机的翅膀与鸟的翅膀相匹配。还观察到,该模型对于风格和姿态的巨大变化(参考大象)具有鲁棒性。

偏见分析

       本实验用最大的ViT-g模型对模型进行了两次公平性评估,探索了地理公平性和潜在的有害标签关联。

Geographical Fairness

image
       地理公平性评估使用Dollar Street数据集,包含来自54个国家289个家庭的16073张图片,比较了不同国家和收入水平的生活差异的视觉表现。这项任务是识别94个概念,这些概念在不同的家庭中根据收入或地理位置有视觉上的差异,评估模型是否能在这些存在差异的图像中准确识别目标概念。

       结果如上表,将DINOv2与SEERv2进行了比较,SEERv2是在地理上不同的图像集上训练的模型。观察到,DINOv2在地区和收入都比SEERv2稍微公平一些。然而,仍然观察到区域之间的显著差异,特别是在非洲,DINOv2的性能与欧洲相比下降了25.7%。这表明DINOv2的模式仍然偏向西方国家。同样,DINOv2在高收入家庭中的表现明显优于低收入家庭,差异为31.7%。尽管有所改善,但DINOv2对西方国家的富裕家庭仍存在重大偏见。

Gender, Skintones and Age

image
       对于性别、肤色和年龄分类评估,在ImageNet-22k的619个类的子集上训练了一个冻结主干网络的多类分类器。实验将619个类分为四个更广泛的元类别:人类、可能是人类、非人类、罪犯,非人类和罪犯被认为是有害的。使用这个分类器,对来自Casual Conversations数据集的2955张图像进行推断,并将分类概率大于等于0.1的标签保留在top-5中,因此,每张图像都有多个类。

       结果如上表。将DINOv2与SEERv2进行了比较。DINOv2经常将所有群体的图像分类为人类,对肤色没有很大的偏差。SEERv2和DINOv2都无法准确预测非人类或犯罪元类别(除了两个背景包含类似于监狱的酒吧)。DINOv2经常预测人类这个元类别,且经常预测男性人类类别。最终验证了DINOv2没有明确的模式表明对特定群体的偏见。

碳排放

image
       采用LLaMA的碳排放计算方法,DINOv2的耗能结果如上表,估计在A100-40GBGPU上使用20k GPU-hours后,整个项目的碳排放在0.5k到1k tCO2eq之间,排放的主要来源是模型的自监督预训练。例如,ViT-g模型(22k gpu-hours)的一次预训练会排放3.7吨的CO2eq,而对ImageNet-1k(1k gpu-hours)的微调会排放0.2吨的CO2eq。这一估计只考虑了GPU的用电量,而忽略其他排放。

实验数据详情

image
       上图为消融实验、对比实验、定性分析、偏见分析、碳排放这些实验使用的数据集详情。

reference

Maxime, O. , Timothée, D. , Théo, M. , Huy, V. V. , Marc, S. , Vasil, K. , Pierre, F. , Daniel, H. , Francisco, M. , Alaaeldin, E. , Mahmoud, A. , Nicolas, B. , Wojciech, Galuba. , Russell, H. , PoYao, H. , ShangWen, L. , Ishan, M. , Michael, R. , Vasu, S. , Gabriel, S. , Hu, X. , Hervé, J. , Julien, M. , Patrick, L. , Armand, J. , & Piotr, B. . (2023). DINOv2: Learning Robust Visual Features without Supervision.

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

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

相关文章

Linux学习-C语言-运算符

目录 算术运算符: - * /:不能除0 %:不能对浮点数操作 :自增与运算符 i:先用再加 i:先加再用 --:自减运算符 常量,表达式不可以,--,变量可以 赋值运算符 三目运算符 逗号表达式 size…

Linux系统加固:如何有效管理系统账号

Linux系统加固:如何有效管理系统账号 1.1 口令重复次数限制1.2 避免系统存在uid相同的账号1.3 空密码的帐户1.4 口令复杂度1.5 口令生存期1.6 登录失败次数锁定策略 💖The Begin💖点点关注,收藏不迷路💖 在Linux系统中…

Mac OS 制作可引导安装器并重新安装系统

Mac 使用 U盘或移动固态硬盘制作可引导的安装器(以 Monterey 为例) 本教程参考 Apple 官网相关教程 创建可引导 Mac OS 安装器 重新安装 Mac OS 相关名词解释 磁盘分区会将其划分为多个单独的部分,称为分区。分区也称为容器,不同…

全面介绍HTML的语法!轻松写出网页

文章目录 heading(标题)paragraph(段落)link(超链接)imagemap(映射)table(表格)list(列表)layout(分块)form(表单)更多输入:datalistautocompleteautofocusmultiplenovalidatepatternplaceholderrequired head(首部)titlebaselinkstylemetascriptnoscript iframe HTML&#xff…

Linux 模拟实现shell【简单实现】

shell的模拟实现 我们知道shell是一个永不退出的程序,所以他应该是一个死循环,并且shell为了防止影响到自己,我们在命令行上输入的所有命令都是由shell的子进程来执行的,所以它应该要有创建子进程的相关函数,当然也会…

react 原理揭秘

1.目标 A. 能够知道setState()更新数据是异步的 B. 能够知道JSX语法的转化过程 C. 能够说出React组件的更新机制 D. 能够对组件进行性能优化 E. 能够说出虚拟DOM和Diff算法 2.目录 A. setState()的说明 B. JSX语法的转化过程 C. 组件更新机制 D. 组件性能优化 E. 虚拟DOM和D…

高效备考2025年AMC8数学竞赛:2000-2024年AMC8真题练一练

如何提高小学和初中数学成绩?小学和初中可以参加的数学竞赛有哪些?不妨了解一下AMC8美国数学竞赛,现在许多小学生和初中生都在参加这个比赛。如果孩子有兴趣,有余力的话可以系统研究AMC8的历年真题,即使不参加AMC8竞赛…

live555学习 - 环境准备

环境:Ubuntu 16.04.7 ffmpeg-6.1 1 代码下载 最新版本: http://www.live555.com/liveMedia/public/ 历史版本下载 https://download.videolan.org/pub/contrib/live555/ 选择版本live.2023.01.19.tar.gz ps:没有选择新版本是新版本在…

SuMa++代码阅读记录

文章目录 流程梳理1. 打开点云文件2. 播放点云数据3. SUMA部分的流程图说明3.1 SUMA核心流程分析,其中也包含部分SUMA3.2 preprocess部分3.3 updatePose部分3.4 updateMap部分 4. SUMA中有关语义模型rangenet的部分4.1 下面是解析模型引擎4.2 下面这块是从配置文件中…

洛谷P1044题解

复制Markdown 展开 题目背景 栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表。 栈有两种最重要的操作,即 pop(从栈顶弹出一个元素)和 push(将一个元素进栈&#xff09…

stm32触发硬件错误位置定位

1.背景 1. 项目中,调试过程或者测试中都会出现程序跑飞问题,这个时候问题特别难查找。 2. 触发硬件错误往往是因为内存错误。这种问题特别难查找,尤其是产品到了测试阶段,而这个异常复现又比较难的情况下,简直头疼。…

CDH6.3.1离线安装

一、从官方文档整体认识CDH 官方文档地址如下: CDH Overview | 6.3.x | Cloudera Documentation CDH是Apache Hadoop和相关项目中最完整、测试最全面、最受欢迎的发行版。CDH提供Hadoop的核心元素、可扩展存储和分布式计算,以及基于Web的用户界面和重…

虚拟游戏理财【华为OD机试-JAVAPythonC++JS】

题目描述 题目描述: 在一款虚拟游戏中生活,你必须进行投资以增强在虚拟游戏中的资产以免被淘汰出局。现有一家Bank,它提供有若干理财产品m,风险及投资回报不同,你有N(元)进行投资,能…

Python:练习:编写一个程序,录入一个美元数量(int),然后显示出增加%5税率后的相应金额。

案例: 编写一个程序,录入一个美元数量(int),然后显示出增加%5税率后的相应金额。格式如下所示: Enter an amount:100 With tax added:$105.0 思考: 1、录入一个美元数量,录入&am…

qt学习:实战 记事本 + 快捷键 + 鼠标滚轮 + 打开读取写入关闭文件

目录 功能 步骤 配置ui界面 添加图片资源 添加头文件和定义成员数据和成员函数 在构造函数里初始化 增加当前字体大小函数 减小当前字体大小函数 在用户按下 Ctrl 键的同时滚动鼠标滚轮时,执行放大或缩小操作 多选框变化后发出信号绑定槽函数来改变编码 …

flutter学习(一) 安装以及配置环境

首先需要下载flutter,然后解压 然后配置环境变量,配置到bin目录就行 配置完之后cmd运行flutter doctor 你就会发现,都是错 此时脑海里响起,卧槽,怎么回事,咋办 别着急,我教你。。。 问题 这…

【QQ案例-QQ框架-主流框架 Objective-C语言】

一、接下来,我们来做一下这个QQ, 1.接下来,我们来做一下这个QQ, QQ框架啊, 这个东西呢,我们管它叫做“主流框架”, 首先呢,要告诉大家一点,这个东西呢,我们管它,叫做“主流框架”, 算是一个简称啊, 只能说,这种框架的类型,上边儿带navigation,下边儿带tabb…

Linux centos 变更MySQL数据存储路径

Linux centos 变更MySQL数据存储路径 登录mysql,查看数据存储路径创建新目录准备迁移数据检查是否配置成功 登录mysql,查看数据存储路径 mysql -u root -pshow global variables like "%datadir%";创建新目录 查看磁盘空间 df -h选取最大磁…

论文阅读:2015ResNet深度残差网络(待补充)

top5错误率:每张图片算法都会给出它认为最可能的五个类别,五个里面有一个是正确则算法预测正确。 技术爆炸1:2012年,DL和CNN用于CV;技术爆炸2:2015年,超过人类水平,网络可以更深&…

Unity-PDF分割器(iTextSharp)

PDF分割器 Unity-PDF分割器前言核心思路解决过程一、Unity安装iTextSharp二、运行时计算将要生成文件的大小三、分割核心代码四、使用StandaloneFileBrowser五、其他的一些脚本六、游戏界面主体的构建MainWindowWarningPanel & FinishPanel By-Round Moon Unity-PDF分割器 …