When Do We Not Need Larger Vision Models?

news2024/11/15 22:35:02

总结

传统观点挑战:传统上,扩大视觉模型的大小一直被认为是提升视觉表示能力和下游任务性能的关键途径。然而,本文重新审视了这一观点,提出了通过在不同图像尺度上运行较小的预训练视觉模型(如ViT-B或ViT-L)可以达到甚至超越更大模型(如ViT-H或ViT-G)的性能。

S2 缩放方法:S2 是一种无参数的机制,通过将图像插值到多个尺度并在每个尺度上提取特征,然后将这些特征合并,来扩展视觉模型的能力。S2 的关键在于通过在多尺度图像上处理预训练模型来实现与模型大小扩展相当的性能,而无需显著增加模型参数或计算量。通过将高分辨率图片切分为小图片, 整图和小图片都过vision encoder,最后将特征合并。

实验验证:通过多个任务(如图像分类、语义分割、深度估计、多模态LLM、机器人操作)进行了实验,表明在多数情况下,S2 缩放的较小模型能够实现与更大模型相当或更好的性能。

优势与局限性:虽然S2 缩放在大部分任务中表现优异,但在处理罕见或困难的实例时,较大的模型仍然具有更好的泛化能力。这表明,某些情况下仍然需要更大的模型。然而,通过多尺度训练,小模型的泛化能力也可以显著提升。

与更大模型的学习对比:研究发现,较大的视觉模型的许多表示也可以通过多尺度较小模型学习,这表明大模型的学习能力并不完全不可替代。

预训练的影响:进一步验证了通过S2缩放进行预训练可以提高小模型的泛化能力,使其能够在更多任务中匹配或超过大模型的表现。

未来工作启示:S2 方法的成功为未来的研究提供了一些方向,如更有效的尺度选择性处理和图像的并行处理,以进一步优化计算资源和模型性能。


Abstract

扩大视觉模型的大小一直是获得更强大视觉表示的事实标准。在这项工作中,我们讨论了不需要更大视觉模型的点。首先,我们展示了在尺度(S2)上缩放的能力,其中预先训练的冻结较小的视觉模型(如ViT-B或ViT-L),在多个图像尺度上运行,可以在分类、分割、深度估计、多模态LLM (MLLM)基准和机器人操作方面优于更大的模型(如ViT-H或ViT-G)。值得注意的是,S2 在 V∗ 基准上对 MLLM 的详细理解方面实现了最先进的性能,超过了 GPT-4V 等模型。我们检查了与模型大小缩放相比,S2 是一种首选缩放方法的条件。虽然较大的模型在困难示例上具有更好的泛化能力,但我们表明,较大的视觉模型的特征可以很好地近似于多尺度较小模型的特征。这表明大多数(如果不是全部)当前大型预训练模型学习的表示也可以从多尺度较小模型中获得。我们的结果表明,多尺度较小的模型具有与较大模型相当的学习能力,并且用 S2 预训练较小的模型可以匹配甚至超过较大模型的优势。我们发布了一个 Python 包,可以将 S2 应用于任何具有一行代码的视觉模型:https://github.com/bfshi/scaling_on_scales。

1 Introduction

扩大模型大小一直是人工智能各个领域最近进展的关键驱动因素之一,包括语言建模[9,50,69]、图像和视频生成[79,54,35,8]等。同样,对于视觉理解,在给定足够的预训练数据的情况下,更大的模型在广泛的下游任务中始终显示出改进[64,82,13,49]。这一趋势导致了追求具有多达几十亿个参数的巨大模型作为实现更强大视觉表示和下游任务的增强性能的默认策略[13,19,63,23]。

在这项工作中,我们重新审视了这个问题:对于更好的视觉理解,是否总是需要更大的模型。我们考虑对图像尺度的维度进行缩放,而不是扩大模型大小,我们称之为尺度缩放(Scaling on Scales,S2)。使用 S2,在多个图像尺度上运行预训练且冻结较小的视觉模型(例如 ViT-B 或 ViT-L),以生成多尺度表示。我们采用在单个图像尺度(如2242)上预训练的模型,将图像插值到多个尺度(如2242,4482,6722),通过将较大的图像分割成规则大小的子图像(2242)来提取每个尺度上的特征,并在合并它们并与原始表示的特征连接之前分别处理(图1)。

令人惊讶的是,从对各种预训练模型(如ViT[22]、DINOv2[49]、OpenCLIP[13]、MVP[53])的视觉表示的评估来看,我们表明,具有S2缩放的较小模型在分类、语义分割、深度估计、MLLM基准测试和机器人操作方面明显优于更大的模型,参数明显更少(0.28×到0.07×)和可比较的GFLOPS。值得注意的是,通过将图像规模扩大到1008^2,我们在V∗基准[73]上实现了MLLM视觉细节理解的最先进性能,超过了Gemini Pro[66]和GPT-4V[1]等开源甚至商业MLLM。

在这里插入图片描述

图 1:S2-Wrapper 是一种简单的机制,它以无参数的方式将任何预训练的视觉模型扩展到多个图像尺度。以 ViT-B 为例,S2-Wrapper 首先将输入图像插值到不同尺度的(例如 224^2 和 4482)中,并将每个子图像拆分为与默认输入大小相同大小的几个子图像(4482 → 4 × 224^2)。对于每个尺度,所有子图像都被馈送到同一个模型中,输出(例如,4 × 162)合并为整个图像的特征图(322)。不同尺度的特征图被平均池化到原始空间大小 (16^2) 并连接在一起。最终的多尺度特征具有与单尺度特征相同的空间形状,同时具有更高的通道维度(例如,1536对768)。

我们进一步检查了与模型大小缩放相比,S2 是一种首选缩放方法的条件。我们发现,虽然 S2 的较小模型在许多情况下比较大的模型实现了更好的下游性能,但较大的模型仍然可以在困难示例上表现出更好的泛化。这引发了对较小模型是否可以实现与较大模型相同的泛化能力的研究。令人惊讶的是,我们发现通过单个线性变换,通过多尺度较小模型可以很好地逼近较大模型的特征,这意味着较小的模型应该至少有较大模型的学习能力。我们假设它们较弱的泛化源于仅使用单个图像尺度进行预训练。通过对 ViT 的 ImageNet-21k 预训练的实验,我们表明使用 S2scale 进行预训练可以提高较小模型的泛化能力,使它们能够匹配甚至超过较大模型的优势。

2 Related Work

自特征工程时代[20,18,44]以来,多尺度表示一直是以尺度不变的方式识别对象的常用技术,后来被引入到卷积神经网络[70,38,56,68]中,以提取具有高级语义和低级细节的特征。它已经成为检测和分割等任务的默认测试时间增强方法[15,74],尽管以明显较慢的推理速度和通常有限的图像尺度(高达2×)为代价。随着视觉转换器 (ViT) 的最新进展,已经提出了多尺度 ViT [78,24,36,10] 的变体以及分层 ViT [42, 58]。然而,这些研究并没有探索多尺度表示作为一种通用缩放方法,因为它们通常设计特殊的架构,并且不适用于常见的预训练视觉模型。

缩放视觉模型。参数数量不断增加的训练模型是获得更强大的视觉预训练的表示的默认方法[30,43,22,49]。以前的研究已经研究了如何在平衡模型宽度、深度和输入分辨率方面优化扩展视觉模型[64,65,5,72,21],尽管它们通常仅限于卷积网络甚至特定的架构,如ResNet[30]。最近的工作还探索了视觉转换器在各种设置下的模型大小缩放[13,82,19,55,3]。其他人已经将高分辨率图像纳入预训练 [49, 25, 43, 42],尽管由于计算资源的难以承受需求,最大分辨率通常不超过 512^2。Hu等人[33]通过调整掩码自动编码器(MAE)[31]的补丁大小来研究图像尺度的缩放,其中缩放只应用于预训练,而不应用于下游任务。

3 The Power of Scaling on Scales

作为缩放模型大小的传统方法的替代方案,我们展示了缩放 (S2) 的能力,即保持预训练模型的相同大小,同时在越来越多的图像尺度上运行它。从图像分类、语义分割、深度估计、多模态llm以及机器人操作的案例研究来看,我们观察到较小视觉模型(如vitb或vitl)上的S2缩放通常比较大的模型(如vith或vitg)提供相当或更好的性能,这表明S2是一种有竞争力的缩放方法。在下文中,我们首先介绍 S2-Wrapper,这是一种机制,它在没有任何附加参数的情况下将任何预训练的冻结视觉模型扩展到多个图像尺度(第 3.1 节)。然后,我们在第 3.2 - 3.3 节中比较了 S2 缩放和模型大小缩放。

3.1 Scaling Pre-Trained Vision Models to Multiple Image Scales

我们引入了 S2-Wrapper,这是一种无参数机制,可以在任何预训练的视觉模型上实现多尺度特征提取。常规视觉模型通常在单个图像尺度上进行预训练(例如,224^2)。S2-Wrapper 通过将不同尺度的图像拆分为与预训练中看到的相同大小的相同大小,将预训练模型扩展到多个图像尺度(例如 2242、4482)。具体来说,给定 224^2 和 448^2 尺度的图像,S2-Wrapper 首先将 448^2 图像分为四个 224^2 个子图像,以及原始的 2242 图像被馈送到相同的预训练模型。四个子图像的特征被合并回4482张图像的大特征图,然后将其平均池化到与2242张图像的特征图相同的大小。输出是跨尺度特征图的串联。整个过程如图1所示。注意,我们不是直接使用4482分辨率的图像,而是通过插值2242图像来获得448^2图像。这是为了确保没有引入额外的高分辨率信息,因此我们可以与从未见过高分辨率图像的模型大小缩放进行公平比较。对于从业者,建议使用高分辨率图像。

有几个关键的设计使S2-Wrapper高效、有效且易于扩展:(i)将大图像分割成小的子图像,而不是直接在整个大图像上运行,避免了自注意的二次计算复杂度,防止了位置嵌入插值[7]导致的性能下降;(ii)处理单个子图像而不是使用窗口注意允许使用预先训练的模型,该模型不支持窗口注意,并从头开始避免训练额外的参数(如相对位置嵌入),(iii)将大特征映射插值到常规大小,确保输出令牌的数量保持不变,防止MLLM等下游应用中的计算开销。设计的消融可以在附录 D 中找到。请注意,我们不声称提取多尺度特征的新颖性。相反,我们只选择最简单的算法设计并研究了它的缩放特性。

3.2 Scaling on Image Scales Can Beat Scaling on Model Size

S2-Wrapper 支持 S2 缩放,即保持预训练模型的相同大小,同时通过在越来越多的图像尺度上运行来获得更强大特征。在这里,我们将 S2 的缩放曲线与扩大模型大小的常规方法进行比较,并表明 S2 缩放具有竞争力,在某些情况下,首选缩放方法。为了对两种缩放方法进行整体分析,我们在三个具有代表性的任务(图像分类、语义分割和深度估计)上测试了它们的缩放曲线,这些任务对应于视觉模型能力[47]的三个维度,以及反映视觉理解综合能力的MLLM和机器人操作。

Case study: image classification, semantic segmentation, and depth estimation.我们分别为每个任务使用 ImageNet [57]、ADE20k [87] 和 NYUv2[60] 数据集。我们在三个预训练模型家族(ViT[22]、DINOv2[49]和OpenCLIP[13])上进行测试,这些模型使用不同的数据集(ImageNet-21k、LVD-142M、LAION-2B)和不同的训练前对象(监督、无监督和弱监督)进行预训练。

为了了解相同的观察是否适用于卷积网络,我们还在 ConvNeXt [43] 上进行了测试(见附录 C)。为了公平地评估从预训练中学习到的表示,我们冻结主干,并且只为所有实验训练特定于任务的头部。我们分别使用单个线性层 Mask2former [11] 和 VPD 深度解码器 [85] 作为三个任务的解码器头。对于模型大小缩放,我们测试了每个模型在每个任务上的性能,基础、大、巨大或巨大的大小。对于 S2 缩放,我们测试了三组尺度,包括 (1x)、(1x, 2x)、(1x, 2x, 3x)。例如,对于ImageNet分类上的ViT,我们使用三组尺度:(2242)、(2242、4482)和(2242、4482、6722),它们具有与ViT-B、ViT-L和ViT-H相当的GFLOPs。请注意,调整特定模型和任务的规模以匹配相应模型大小的 GFLOPS。每个实验的详细配置可以在附录 A 中找到。

在这里插入图片描述

图 2:三个模型(ViT、DINOv2 和 OpenCLIP)和三个任务(ImageNet 分类、语义分割和深度估计)上的 S2 缩放和模型大小缩放的比较。对于每个模型和每个任务,我们测试了用于模型大小缩放的基础、大型和巨大的/巨型模型(以灰色曲线绘制)。对于 S2 缩放(绘制在绿色曲线中),我们将三组尺度从单尺度 (1x) 测试到多尺度(最多 3x),并调整每组尺度,使其与各自模型大小的 GFLOPs 相匹配。请注意,对于特定的模型和任务,我们在基础模型和大型模型(分别以浅绿色和深绿色曲线绘制)上测试 S2 缩放。我们可以看到,在 (a), (d), (e), (f), (g) 和 (i) 中,具有 S2 缩放的基础模型已经实现了与具有相似 GFLOPs 和小得多模型大小的大型模型相当或更好的性能。对于 (b),(h),来自大型模型的 S2 缩放与巨型模型相当,同样具有相似的 GFLOPs 和更少的参数。唯一的失败案例是 ©,其中基础模型或大型模型上的 S2 缩放与模型大小缩放不竞争。

在这里插入图片描述

图 3:MLLM 上的 S2 缩放和模型大小缩放的比较。S2 缩放在所有三种类型的基准测试中都具有与模型大小缩放相当或更好的缩放曲线。在某些情况下,使用较大的图像尺度始终提供更好的性能,而使用较大的模型会降低模型性能。

缩放曲线如图2所示。我们可以看到,在9种情况((a)、(d)、(e)、(f)、(g)、(i))中的6种中,来自基本模型的S2缩放比模型大小缩放提供了更好的缩放曲线,优于具有相似GFLOPs的大或巨型模型,参数要少得多。在这两种情况下((b) 和 (h)),来自基本模型的 S2 缩放的结果不如大型模型,但来自大型模型的 S2 缩放与巨型模型相对执行。唯一的失败案例是 ©,其中具有 S2 缩放的基础模型和大型模型都无法与巨型模型竞争。请注意,ViT-H 在所有三个任务上都比 ViT-L 差,这可能是由于次优的预训练配方 [62]。我们观察到 S2scale 在分割和深度估计等密集预测任务上具有更多优势,这与多尺度特征可以提供更好详细理解的直觉相匹配,这是这些任务特别需要的。对于图像分类,S2 缩放有时比模型大小缩放差(例如,多尺度 DINOv2-B 与 DINOv2-L)。我们假设这是由于基础模型特征的泛化性较弱,因为我们观察到多尺度基础模型尽管性能较差,但训练损失低于大型模型,这表明过度拟合。在第 4.3 节中,我们展示了这可以通过使用 S2 缩放进行预训练来固定。

Case study: Multimodal LLMs.我们比较了 MLLM 上的 S2 缩放和模型大小缩放。我们使用LLAVA[40]风格的模型,其中LLM是一个Vicuna-7B[14],视觉骨干是OpenCLIP。我们保持相同的LLM,只改变视觉骨干。对于模型大小缩放,我们测试了大、庞大、大 G 的视觉模型大小。对于 S2 缩放,我们保持 (2242)、(2242、4482) 和 (2242、4482、8962) 的大尺寸模型和测试尺度。对于所有实验,我们保持视觉主干冻结,只在视觉特征和LLM输入空间以及LLM上的LoRA[32]之间训练投影仪层。我们遵循与 LlaVA1.5 [39] 中相同的训练配方。我们评估了三种类型的基准:(i)视觉细节理解(V∗[73]),(ii)VQA 基准(VQAv2 [28]、TextVQA [61]、VizWiz [29]),以及(iii)MLLM 基准(MMMU [81]、MathVista [45]、MMBench [41]、SEED-Bench [37]、MM-Vet [80])

两种缩放方法的比较如图3所示。我们报告了每种类型的基准测试的平均准确率。我们可以看到,在所有三种基准测试中,使用相似的 GFLOPs 和更小的模型大小,在大型模型上的 S2 缩放比更大的模型表现更好。特别是,扩展到 896^2 将详细理解的准确性提高了大约 6%。在所有基准测试中,较大的图像尺度不断提高性能,而较大的模型有时无法提高性能甚至会损害性能。这些结果表明 S2 也是 MLLM 中视觉理解的更好缩放方法。

在这里插入图片描述

图4:带有S2缩放的LLAVA-1.5能够识别图像中极其细粒度的细节,例如,只有2250 × 1500图像的23×64像素的水瓶的颜色。

表 1:MLLM 的结果。我们评估了三种类型的基准:视觉细节理解(V *[73])、VQA基准(VQAv2[28]、TextVQA[61]、VizWiz[29])和MLLM基准(MMMU[81]、MathVista[45]、MMBench[41]、SEED-Bench[37]、MM-Vet[80])。值得注意的是,S2显着提高了 V∗ 基准上的详细理解能力,优于 GPT-4V 等商业模型。

我们还观察到,当配备 S2 缩放时,LLAVA-1.5 已经与最先进的开源甚至商业 MLLM 具有竞争力或更好。结果如表1所示。在这里,我们使用OpenAI CLIP[51]作为视觉模型进行公平比较。在视觉细节理解方面,具有 S2 缩放的 LlaVA-1.5 优于所有其他开源 MLLM,以及 Gemini Pro 和 GPT-4V 等商业模型。这归功于我们能够通过将图像分辨率缩放到10082来提取的高度细粒度特征。定性示例如图4所示。我们可以看到,带有S2的LLAVA-1.5能够识别一个非常小的对象,该对象在2250 × 1500图像中只需要23×64像素,并正确回答有关它的问题。同时,GPT-4V 和 LlaVA-1.5 都不能给出正确的答案。更多定性示例见附录 F。在 VQA 和 MLLM 基准测试中,S2 也不断提高模型性能,尤其是在需要理解精细细节的 TextVQA 等基准上。请注意,某些 MLLM 基准(如 MathVista)的改进不如其他基准那么显着,这可能是因为这些基准需要强大的数学或推理能力,而这些能力不仅可以通过改进视觉来实现,而且需要更强的 LLM。与之前的实验相比,这里我们直接使用高分辨率图像而不是从低分辨率图像进行插值,以便与现有技术进行比较。请注意,尽管图像规模很大,但我们保持与基线 LLAAVA-1.5 相同数量的图像标记,因为我们将大规模图像的特征图插值到与原始图像相同的大小(参见第 3.1 节)。这确保了当使用更大的图像尺度时,LLM 的上下文长度(因此计算成本)不会增加,使我们能够使用比基线高得多的分辨率。

Case study: robotic manipulation.我们比较了立方体拾取机器人操作任务的 S2 和模型大小缩放。该任务需要控制机械臂在桌子上拿一个立方体。我们使用行为克隆在 120 个演示上训练基于视觉的端到端策略,并根据 [52] 中的设置评估在 16 个随机选择的立方体位置上拾取的成功率。我们使用MVP[53]作为预先训练的视觉编码器来提取输入到策略的视觉特征。详细设置请参阅附录 A。为了比较 S2 和模型大小缩放,我们评估了单尺度 (2242) 的基础模型和大型模型,以及尺度为 (2242, 4482) 的多尺度基础模型。结果如图5所示。从基本模型扩展到大型模型将成功率提高了约6%,而扩展到更大的图像尺度将成功率提高了约20%。这证明了 S2 相对于机器人操作任务的模型大小缩放的优势。

在这里插入图片描述

图 6:我们应该扩大图像规模,我们应该对哪些模型大小进行扩展。对于不同的预训练模型,答案会有所不同。对于 ViT 和 OpenCLIP,从基础模型或大型模型扩展 S2 在计算预算下提供了相似的性能,而前者在与大尺寸模型相似的 GFLOPS 下表现更好。对于DINOv2,从大尺寸模型缩放的S2比从基本尺寸缩放具有更好的性能,特别是在与巨型模型相同的计算预算水平下。

在这里插入图片描述

图 5:立方体拾取任务的 S2 与模型大小缩放。基于基本尺寸模型的 S2 缩放将成功率提高了约 20%。

3.3 The Sweet Spot Between Model Size Scaling and S2 Scaling

虽然 S2 缩放在广泛的下游任务上优于模型大小缩放,但出现了一个自然的问题:什么大小的模型应该使用S2缩放。我们表明它取决于不同的预训练模型。对于某些模型,当基础模型的 S2 缩放已经击败了更大的模型时,来自大型模型的 S2 缩放给出了更好的缩放曲线。例如,我们比较了ViT、DINOv2和OpenCLIP语义分割的基础模型和大型模型的S2缩放。结果如图6所示。我们可以看到,对于ViT和OpenCLIP,当计算量小于大尺寸模型时,基础模型的S2缩放优于大型模型。在超越巨大模型的 GFLOPs 后,这两个曲线最终收敛。这意味着来自大型模型的 S2 缩放并不比基础模型有显着的好处。另一方面,对于 DINOv2,我们观察到从大型模型扩展 S2 具有明显的优势。当达到与巨型模型相同的 GFLOPs 级别时,来自大型模型的 S2 缩放比基础模型的 S2 缩放高出约 1 mIoU。这些结果表明,对于不同的模型,模型大小缩放和 S2 缩放之间的最佳平衡是不同的。

4 The (Non)Necessity of Scaling Model Size

在这里插入图片描述

图 7:ViT-L 改进除 ViT-B-S2 之外的所有样本类型。(a) 罕见情况。这些样本显然属于类,但由于外观稀少(例如,电视和臀部的雕塑)难以分类。(b) 模棱两可的情况。这些样本有模棱两可的标签。例如,大洋葱也可能是肥皂的,因为它们的相似性很高,或者当这两个物体共存时,标签可以是飞船或红绿灯。

第 3 节的结果表明,S2 是一种优于各种下游场景的模型大小缩放的首选缩放方法。然而,在某些情况下(例如图 2©),较大的视觉模型似乎仍然是必要的,其中 S2 缩放无法与模型大小缩放竞争。在下文中,我们首先研究更大模型的优势,并表明它们通常比多尺度较小模型更好地概括稀有或困难实例(第 4.1 节)。然后,我们探索具有 S2 缩放的较小模型是否可以达到相同的能力。我们发现较大模型的特征可以很好地近似于多尺度较小模型的特征,这意味着较小的模型可以在很大程度上学习更大的模型(第 4.2 节)。基于这一观察,我们验证了多尺度较小模型的容量与较大模型相似,并且使用 S2 缩放进行预训练使较小的模型具有与较大模型相似或更好的泛化能力(第 4.3 节)。

4.1 Larger Models Generalize Better on Hard Examples

我们使用图像分类作为测试平台来理解更大模型的优势。我们对更大的模型可以更好地识别什么样的图像,而不是使用更大的图像尺度进行定性分析。具体来说,我们发现 ImageNet 中的样本,较大的模型 (ViT-L) 在较小的模型 (ViT-B) 上改进了最多,但多尺度模型 (ViT-B-S2) 无法改进,如图 7 所示。对于每个样本,我们还发现来自同一类的两个简单样本(两个模型都正确识别)作为比较。我们可以看到,模型主要有两种类型的图像具有优势。第一种类型是稀有样本。例如,电视或臀部,但以雕塑的形式而不是常规电视的形式(图 7(a))。较大的模型具有更大的学习在预训练期间对这些稀有示例进行分类的能力。第二种类型(图 7(b))是模棱两可的示例,其中对象可以属于类别(例如,彩票和肥皂分配器),或者在同一图像中共存的两个类别,并且两个标签都应该是正确的(例如,航空和红绿灯)。在这种情况下,尽管有多个正确的标签,但大型模型能够在预训练期间记住数据集中呈现的标签。虽然第二种类型是由于 ImageNet 的有缺陷的标记过程,这使得它比较不公平,并不意味着多尺度较小模型的任何缺点 [6 , 48],但第一种类型表明更大的模型可以更好地泛化罕见或困难的情况。

4.2 Can Smaller Models Learn What Larger Models Learn?

大型模型的优势是由于它们学习了一些独特的表征而小型模型无法学习吗?我们设计了实验来研究多尺度小模型学习了多少大模型的表示。令人惊讶的是,我们的初步结果表明,大多数(如果不是全部的话)较大模型的表示也可以由多尺度较小的模型学习。

为了量化更大模型(例如 ViT-L)的表示有多少也由多尺度较小模型(例如 ViT-B-S2)学习,我们采用了基于重建的评估,即我们训练一个线性变换来从多尺度较小模型重建更大模型的表示。直观地说,低重建损失意味着更大模型的表示可以通过多尺度较小模型(通过线性变换)在很大程度上等效地学习。更正式地说,重建损失反映了两组表示之间的互信息。如果我们使用 MSE 损失进行重建,互信息等于 I = - log(l/l0),其中 l 是重建损失,l0 是 vanilla 重建的损失,其中大型模型表示由虚拟向量重建(参见附录 B)。这量化了大规模较小模型中更大模型表示中的信息也包含了多少。我们使用线性变换来重建 (i) 解释保持表示等价(例如通道排列)的操作,(ii) 测量对下游任务有用的信息,考虑到任务解码器通常是轻量级模块,例如单个线性层 [77]。

此外,在实践中,我们发现重建损失通常不是接近零的地方。我们假设这是因为部分特征本质上是不可重构的,即与预训练任务无关的特征,并且由于权重初始化、优化动力学等的随机性而学习,因此无法从另一个模型的特征重建。为此,我们使用更大的(例如 ViT-G)模型来重建大型模型特征作为比较。它的重建损失和相应的互信息用l∗表示,I∗=−log(l∗/l0)。如果我们假设,当对同一任务和同一数据集进行预训练时,较小的模型学习的任何与任务相关的特征也可以通过更大的模型学习,那么大尺寸模型中的所有有用特征也应该由巨大的或巨大的模型重建。这意味着 I∗,从庞大或巨型模型重建的信息量应该作为 I 的上限。我们凭经验发现这确实是这种情况(见下文)。因此,我们使用重建比 I/I∗ 来衡量通过多尺度较小模型学习更大模型中的表示程度。

我们评估了三类模型:(i)在ImageNet-21k上预训练的ViT[22],(ii)在LAION-2B上预训练的OpenCLIP[13],以及(iii)在ImageNet-1k上预训练的MAE[31]。重建损失在所有输出标记上取平均值,并在 ImageNet-1k 上进行评估。结果如表2所示。与基本模型相比,我们观察到多尺度基础模型的损失始终较低,重建了大型模型表示的更多信息(例如,ViT为0.521 vs. 0.440)。更有趣的是,我们发现从多尺度基础模型重建的信息量通常接近巨大或巨型模型的信息量,尽管有时略低,但从未大幅超过。例如,虽然 OpenCLIP-Base 重建了 92.7% 的信息,但多尺度基础模型可以重建 99.9%。对于其他模型,Base-S2 模型的重建率通常接近 100%,而从未超过 0.5%。这意味着 (i) 巨大的/巨型模型确实是特征重建的有效上限,并且 (ii) 更大模型的大部分特征也是通过多尺度较小模型学习的。唯一的例外是当我们重建 OpenCLIP-Huge 特征时,重建率为 88.9%。虽然它在 100% 附近,但它仍然明显优于基本尺寸模型,这意味着至少很大一部分庞大的模型特征仍然是多尺度特征。这些结果表明,具有 S2 缩放的较小模型应该至少具有相似的容量水平来学习更大的模型学习。另一方面,我们还注意到训练集和测试集之间存在差距,即测试集上的重建比可以低于训练集(例如 OpenCLIP-L 上的 96.3% vs. 99.9%)。我们假设这是因为我们只在预训练后应用多尺度,在单个图像尺度上预训练的基础模型特征泛化能力较弱。

4.3 Pre-Training With S2 Makes Smaller Models Better

鉴于大多数表示学习的表示都是通过多尺度较小模型学习的,我们推测 S2 缩放较小的模型的容量至少与较大的模型相似。由于更大的容量允许在给定足够的数据时在预训练期间记住更稀有和非典型的实例,从而提高泛化误差 [26,27,46, 12, 4],我们进一步推测如果使用 S2 缩放进行预训练,较小的模型也可以比较大的模型实现相似甚至更好的泛化能力。我们在下面验证这些。

多尺度较小的模型的容量与较大的模型相似。为了衡量模型容量,我们使用两个代理指标:(i)记忆能力,以及(ii)特定任务的训练损失。对于记忆能力,给定一个数据集(例如 ImageNet),我们将每个图像视为一个单独的类别并训练模型对单个图像进行分类,这需要模型记住每个单独的图像。分类损失反映了每个实例被记忆的程度,从而反映了模型容量[83]。我们采用[75]的训练管道。对于训练损失,我们报告了 Dinov2 和 OpenCLIP 的 ImageNet-1k 训练集的分类损失。较低的损失意味着模型更好地拟合训练数据,这意味着模型容量更大。结果如表3所示。例如记忆,我们可以看到具有S2缩放(2242和4482)的VIT-B具有与VIT-L相似的损失。对于 ImageNet 分类,ViT-B-S2 与 OpenCLIP 的 ViT-L 具有相似的训练损失,Dinov2 的损失更低。这些结果表明,多尺度较小模型具有与较大模型至少可比的模型容量。

在这里插入图片描述

表 2:从常规或多尺度较小模型的表示重建较大模型的表示。我们测试了三类模型(ViT、OpenCLIP 和 MAE),对于我们测试基础、多尺度基础(Base-S2)和巨大或巨型模型的每个类。我们报告了 ImageNet-1k 的训练集和测试集的结果,对于每个我们报告重建损失、重建的信息量以及与巨大或巨型模型相比重建的信息的百分比。

表 3:实例记忆和图像分类的训练损失。S2scaling 的基础模型具有相似的记忆和分类损失,这意味着它的模型容量至少与大型模型相同。

表 4:使用 S2 进行预训练。在已经预训练的模型上应用 S2 具有次优性能,而使用 S2 进行预训练可以使较小的模型更好。

使用 S2 进行预训练可以使较小的模型更好。我们在预训练期间或预训练后评估使用 S2 缩放的基础模型的 ImageNet 分类。我们在ImageNet-21k上预训练模型,使用ViT图像分类或DINOv2作为预训练目标。我们在单尺度基础模型和大型模型的预训练期间比较了有或没有 S2 的模型。结果如表4所示。我们可以看到,当基础模型使用单一图像尺度进行训练,在训练前只缩放到多个图像尺度时,与大型模型相比,它们的性能次优,这与我们在第3.2节中的观察结果一致。然而,在将S2缩放添加到预训练中时,多尺度基础模型能够在ViT上优于大型模型。对于 Dinov2,使用 S2 预训练的基础模型实现了比没有 S2 预训练的基础模型显着提高的性能,并且与大型模型更具可比性。虽然它仍然略微落后于大型模型,但使用 S2 预训练大型模型可能会提供更好的缩放曲线。这些观察结果证实了我们的推测,使用 S2 预训练的较小模型可以匹配更大模型的优势。

5 Discussion

在这项工作中,我们要求问题是一个更大的模型,总是需要更好的视觉理解。我们发现,在图像尺度的维度上进行缩放——我们称之为尺度缩放(S2)——而不是模型大小通常在广泛的下游任务上获得更好的性能。我们进一步表明,具有 S2 的较小模型可以学习更大的模型的大部分学习,并使用 S2 预训练较小的模型可以匹配更大模型的优势,甚至表现更好。S2 对未来的工作有一些影响,包括 (i) 尺度选择性处理,即不是图像中每个位置的每个尺度都包含同样有用的特征,并且取决于图像内容和高级任务,选择某些尺度来处理每个区域更有效,这类似于人类视觉注意中的自下而上和自上而下的选择机制 [86, 59, 34], (ii) 单个图像的并行处理,即与常规 ViT 相比,整个图像一次一起处理,S2 中每个子图像可以实现单个图像的不同子图像的并行处理,这对于处理单个大图像的延迟至关重要的场景特别有用[84]。

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

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

相关文章

Linux入门——11 线程

线程的概念,线程的控制,线程的同步和互斥,队列结构,线程池,锁 1.预备知识 1.1可重入函数 1.1.1链表的头插 main函数调用insert函数向一个链表head中插入节点node1,插入操作分为两步,刚做完第一步的时候,因为硬件中断…

续——网络通信编程

一、网络通信 1、编程 (1)基于UDP c/s通信模型 -------server——服务端——被动角色------- socket 全双工的(可读可写)。同上篇。 bind int bind(int sockfd , struct sockaddr *my_addr(所绑定的地址信息&…

Linux的进程详解(进程创建函数fork和vfork的区别,资源回收函数wait,进程的状态(孤儿进程,僵尸进程),加载进程函数popen)

目录 什么是进程 Linux下操作进程的相关命令 进程的状态(生老病死) 创建进程系统api介绍: fork() 父进程和子进程的区别 vfork() 进程的状态补充: 孤儿进程 僵尸进程 回收进程资源api介绍: wait() waitpid…

编译运行 llama.cpp (vulkan, Intel GPU SYCL)

llama.cpp 是一个运行 AI (神经网络) 语言大模型的推理程序, 支持多种 后端 (backend), 也就是不同的具体的运行方式, 比如 CPU 运行, GPU 运行等. 但是编译运行 llama.cpp 并不是那么容易的, 特别是对于 SYCL 后端 (用于 Intel GPU), 坑那是一大堆. 只有特定版本的 llama.cpp…

【代码随想录训练营第42期 Day38打卡 - 动态规划Part6 - LeetCode 322. 零钱兑换 279.完全平方数 139.单词拆分

目录 一、做题心得 二、题目与题解 题目一:322. 零钱兑换 题目链接 题解:动态规划--完全背包 题目二: 279.完全平方数 题目链接 题解:动态规划--完全背包 题目三:139.单词拆分 题目链接 题解:动…

blender骨骼绑定(让物体动起来)

园哥摸索了两天了,骨骼做好就是不能带动物体,点击时候要选中那个骨骼点圆圈,点中间骨骼没用。终于动起来了。虽然有点奇怪。 点击图二那个点,貌似我的骨骼生长反了。做游戏是真麻烦。本来想搞个简单的2d游戏,结果那个瓦…

一起学Java(4)-[起步篇]教你掌握本协作项目中的Gralde相关配置文件(上)

将思绪拉回java-all-in-one项目,如果你fork并下载了代码,你会看到在项目中除了HelloWorldMain代码外,还存在很多文件。如果你并不了解他们的作用并有足够的好奇心,那你应该想要知道他们的作用。带着好奇,今天我也来研究…

网络抓包测试

利用fgets遇到\n停止的特性,给流数据直接加间隔,fgets读的时候会把soket缓冲区里面的数据全部放到fgets的缓冲区内,再读的时候就不能从套接字fd描述符读而是从fgets的fq里面读 行为1. 读取行为:•fgets 读取字符直到遇到换行符 \n…

下载ncurses操作步骤

https://invisible-island.net/ncurses/announce.htmlncurses-6.5.官网下载链接 选择下载版本

信刻离线文件单向导入系统

信刻针对不同数据单向导入的需求,按需推出的离线文件单向导入系统采用软硬件相结合的技术,支持信息导入申请、身份认证、光盘读取、病毒查杀、光盘复刻、光盘数据信息导入、审查审批、用户管理、日志管理、三权管理、数据加密、数据检查、校验、安全审计…

pd虚拟机 Parallels Desktop 19 for Mac安装教程【支持Intel和M芯片】

pd虚拟机 Parallels Desktop 19 for Mac安装教程【支持Intel和M芯片】 一、准备工作 二、开始安装 安装包内有三个软件 Parallels Desktop是一款广受好评的Mac虚拟机软件,本文来讲述一下Parallels Desktop是如何下载、安装、激活与换机的。 Parallels Desktop 下…

外排序之文件归并排序实现

外排序介绍 外排序是指能够处理极大量数据的排序算法。通常来说,外排序处理的数据不能一次装入内存,只能放在读写较慢的外存储器(通常是硬盘)上。外排序通常采用的是⼀种“排序-归并”的策略。在排序阶段,先读入能放在内存中的数据量&#x…

【Kafka源码走读】消息生产者与服务端的连接过程

说明:以下描述的源码都是基于最新版,老版本可能会有所不同。 一. 查找源码入口 kafka-console-producer.sh是消息生产者的脚本,我们从这里入手,可以看到源码的入口: if [ "x$KAFKA_HEAP_OPTS" "x&qu…

Vue处理表格长字段显示问题

背景 有些单元个中会有比较长的内容&#xff0c;如果使用默认格式&#xff0c;会导致单元格的高度比较怪异&#xff0c;需要将超长的内容进行省略。 当前效果&#xff1a; 优化效果&#xff1a; 优化代码&#xff1a; 在内容多的单元格增加下面代码 <el-table-columnprop…

SAP成本核算-事前控制(标准成本核算)

一、BOM清单 1、BOM清单抬头 BOM用途:决定成本核算控制的依据 物料清单状态:决定成本核算控制的依据 基本数量:用于计算标准的用量 有效期:决定生产工单开单的日期范围,以及成本核算的日期范围 物料清单状态默认值后台配置:事务代码OS21 2、BOM清单行项目 有效期:决…

Java框架Shiro、漏洞工具利用、复现以及流量特征分析

Shiro流量分析 前言 博客主页&#xff1a; 靶场&#xff1a;Vulfocus 漏洞威胁分析平台 Shiro&#xff08;Apache Shiro&#xff09;是一个强大且灵活的开源安全框架&#xff0c;专为Java应用程序提供安全性解决方案。它由Apache基金会开发和维护&#xff0c;广泛应用于企业级…

Anolis os系统进入单用户模式重置密码

Anolis os系统进入单用户模式重置密码 1、重启计算机。 2、在启动时&#xff0c;当GRUB菜单出现时&#xff0c;按下任意键停止自动倒计时。 3、选择要启动的内核版本&#xff0c;然后按e键编辑启动参数。 4、找到以linux或linux16开头的行&#xff0c;通常这行包含了启动内核…

keepalived与lvs

1 lvs Linux服务器集群系统(一) -- LVS项目介绍 LVS&#xff08;Linux Virtual Server&#xff09;即Linux虚拟服务器,是一个基于Linux操作系统的虚拟服务器技术&#xff0c;用于实现负载均衡和高可用性。章文嵩&#xff0c;是中国国内最早出现的自由软件项目之一。 2 lvs发展…

Circuitjs 快捷键完全列表

对于常见组件, 反复通过菜单去选择也是比较繁琐的, 系统考虑到这一点, 也为那些常用组件添加了快捷键. 通过 菜单--选项--快捷键... 可以查看所有快捷键, 分配新的快捷键或调整现有的快捷键. 点开菜单时, 位于菜单右侧的那些字母即是对应的快捷键, 如下图所示: 注: 旧版本有, …

Debug-022-el-upload照片上传-整体实现回顾

前情概要&#xff1a; 最近业务里通过el-upload实现一个上传图片的功能&#xff0c;有一些小小的心得分享给各位。一方面是review一下&#xff0c;毕竟实现了很多细小的功能&#xff0c;还有这么多属性、方法&#xff08;钩子&#xff09;和碰到的问题&#xff0c;感觉小有成就…