【论文精读】DINOv2

摘要

       学习与特定任务无关的预训练表示已经成为自然语言处理的标准,这些表示不进行微调,即可在下游任务上明显优于特定任务模型的性能。其主要得益于使用无监督语言建模目标对大量原始文本进行预训练。 遵循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.rhkb.cn/news/266220.html

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

相关文章

【文生视频】Diffusion Transformer:OpenAI Sora 原理、Stable Diffusion 3 同源技术

文生视频 Diffusion Transformer:Sora 核心架构、Stable Diffusion 3 同源技术 Sora 网络结构提出背景输入输出生成流程变换器的引入Diffusion Transformer (DiT)架构Diffusion Transformer (DiT)总结 OpenAI Sora 设计思路阶段1: 数据准备和预处理阶段2: 架构设计阶…

单片机精进之路-9ds18b20温度传感器

ds18b20复位时序图,先将b20的数据引脚拉低至少480us,然后再将数据引脚拉高15-60us,再去将测传感器的数据引脚是不是变低电平并保持60-240us,如果是,则说明检测到温度传感器,并正常工作。需要在240us后才能检…

K8S存储卷与PV,PVC

一、前言 Kubernetes(K8s)中的存储卷是用于在容器之间共享数据的一种机制。存储卷可以在多个Pod之间共享数据,并且可以保持数据的持久性,即使Pod被重新调度或者删除,数据也不会丢失。 Kubernetes支持多种类型的存储卷…

宝塔FTP服务设置并结合cpolar内网穿透实现远程传输文件

文章目录 1. Linux安装Cpolar2. 创建FTP公网地址3. 宝塔FTP服务设置4. FTP服务远程连接小结 5. 固定FTP公网地址6. 固定FTP地址连接 宝塔FTP是宝塔面板中的一项功能,用于设置和管理FTP服务。通过宝塔FTP,用户可以创建FTP账号,配置FTP用户权限…

免费的Git图形界面工具sourceTree介绍

阅读本文同时请参阅-----代码库管理工具Git介绍 sourceTree是一款免费的Git图形界面工具,它简化了Git的使用过程,使得开发者可以更加方便地下载代码、更新代码、提交代码和处理冲突。下面我将详细介绍如何使用sourceTree进行这些操作。 1.下载和…

【Vue3】学习computed计算属性

💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢…

WEB漏洞 逻辑越权之支付数据篡改安全

水平越权 概述:攻击者尝试访问与他拥有相同权限的用户的资源 测试方法:能否通过A用户操作影响到B用户 案例:pikachu-本地水平垂直越权演示-漏洞成因 1)可以看到kobe很多的敏感信息 2)burp抓包,更改user…

光伏预测 | Matlab基于CNN-SE-Attention-ITCN的多特征变量光伏预测

光伏预测 | Matlab基于CNN-SE-Attention-ITCN的多特征变量光伏预测 目录 光伏预测 | Matlab基于CNN-SE-Attention-ITCN的多特征变量光伏预测预测效果基本描述模型简介程序设计参考资料 预测效果 基本描述 Matlab基于CNN-SE-Attention-ITCN的多特征变量光伏预测 运行环境: Matla…

【rust】10 project、crate、mod、pub、use、项目目录层级组织、概念和实战

文章目录 一、项目目录层级组织概念1.1 cargo new 创建同名 的 Project 和 crate1.2 多 crate 的 package1.3 mod 模块1.3.1 创建嵌套 mod1.3.2 mod 树1.3.3 用路径引用 mod1.3.3.1 使用绝对还是相对? 1.3.4 代码可见性1.3.4.1 pub 关键字1.3.4.2 用 super 引用 mod1.3.4.3 用…

[MYSQL数据库]--mysql的基础知识

前言 作者:小蜗牛向前冲 名言:我可以接受失败,但我不能接受放弃 如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、数据库…

linux 文本编辑命令【重点】

目录 vi&vim介绍 vim安装 vim使用 查找命令 find grep 文本编辑的命令,主要包含两个: vi 和 vim vi&vim介绍 作用: vi命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似于Windows中的记事本 语法: vi file…

android开发书籍推荐,android面试复习

笼统来说,中年程序员容易被淘汰的原因其实不外乎三点。 1、输出能力已到顶点。这个人奋斗十来年了,依旧碌碌无为,很明显这人的天花板就这样了,说白了,天赋就这样。 2、适应能力越来越差。年纪大,有家庭&…

双指针问题(Java编写)

日升时奋斗,日落时自省 目录 一、移动零 二、盛水最多的容器 三、快乐数 四、复写零 五、三数之和 六、有效三角形的个数 七、四数之和 一、移动零 题目来源:. - 力扣(LeetCode) 题目主要内容就是将数组中所有的零移动到…

【Go-Zero】测试API查询信息无法返回数据库信息与api、rpc文件编写规范

【Go-Zero】测试API查询信息无法返回数据库信息与api、rpc文件编写规范 大家好 我是寸铁👊 总结了一篇测试API查询信息无法返回数据库信息与api、rpc文件编写规范的文章✨ 喜欢的小伙伴可以点点关注 💝 问题背景 大家好,我是寸铁&#xff01…

浅析扩散模型与图像生成【应用篇】(二)——ADM

2. Diffusion Models Beat GANs on Image Synthesis 该文基于扩散模型主要做了两方面的工作:一是通过多种方式优化改进了UNet网络结构以提升扩散模型的生成效果;二是提出一种类别引导的条件生成方法,通过在多个数据集上的实验结果表明&#x…

NerfStudio安装及第一个场景重建

NerfStudio文档是写在windows和linux上安装,本文记录Linux安装的过程,且我的cuda是11.7 创建环境 conda create --name nerfstudio -y python3.8 conda activate nerfstudio python -m pip install --upgrade pip Pytorch要求2.0.1之后的,文档推荐cud…

【论文阅读】深度学习在过冷沸腾气泡动力学分割中的应用

Application of deep learning for segmentation of bubble dynamics in subcooled boiling 深度学习在过冷沸腾气泡动力学分割中的应用 期刊信息:International Journal of Multiphase Flow 2023 级别:EI检索 SCI升级版工程技术2区 SCI基础版工程技术3区…

代码随想录刷题笔记-Day25

1. 分割回文串 131. 分割回文串https://leetcode.cn/problems/palindrome-partitioning/ 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。 回文串 是正着读和反着读都一样的字符串。 示例 1&#xf…

Pytorch学习 day01(Jupyter安装

Jupyter 安装过程中遇到的问题: Anaconda的base环境会自动安装Jupyter,但是如果我们要在其他环境中安装Jupyter,就需要注意,该环境的python版本不能高于3.11,且用以下代码安装: conda install nb_conda_…

部署PhotoMaker通过堆叠 ID 嵌入自定义逼真的人物照片

PhotoMaker只需要一张人脸照片就可以生成不同风格的人物照片,可以快速出图,无需额外的LoRA培训。 安装环境 python 3.10gitVisual Studio 2022 安装依赖库 git clone https://github.com/bmaltais/PhotoMaker.git cd PhotoMaker python -m venv venv…