细节满满 | 详细分析ViT的局部表征,更了解模型,设计更好算法!

754次阅读
没有评论

点击下方卡片,关注AI视界引擎」公众号

细节满满 | 详细分析ViT的局部表征,更了解模型,设计更好算法!

在本文中提出了一种比较分析各种自监督视觉 Transformer (ViTs),重点关注它们的局部代表性。受大型语言模型的启发,作者研究了ViTs在几乎不需要微调的情况下执行各种计算机视觉任务的能力。作者设计了一个评估框架,用于分析在稀疏语义分割、实例识别、目标检索和跟踪等背景下,局部(即块级)表示的质量。作者发现,对比学习方法如DINO生成的通用块表示可以立即应用于下游任务,而无需参数调优,相比之下,Mask图像建模方法。后者方法,例如在Mask自动编码器中学习的嵌入,具有高方差特征,这些特征会损害基于距离的算法,如k-NN,并且对大多数下游任务不包含有用信息。

此外,作者证明了通过移除这些高方差特征可以提高k-NN,并对本文中的基准和Scale-MAE,这是Mask自动编码器的最新扩展,进行了分析。最后,作者发现一个目标实例检索设置,在这个设置中,预训练在两个数量级更多的数据上的DINOv2模型,其性能不如计算量较小的DINO模型。

1 Introduction

自然语言处理领域的最新进展催生出了通用模型,这些模型在经过大规模预训练后,可以在没有针对特定任务的微调的情况下执行各种与语言相关的任务。基于自监督 Transformer 的语言模型在提示或通过在上下文中学习的方式(只需几个例子)上,实现了在翻译、问答和常识推理等任务上的竞争性能。

自监督 Transformer 在计算机视觉领域也变得越来越受欢迎。两种截然不同的自监督学习范式已经证明在视觉 Transformer (ViTs)上具有良好的性能:基于对比学习的(例如MOCO或DINO)和基于Mask图像建模的(例如MAE或SimMIM)。这些模型是否具有计算机视觉任务的通用能力,类似于自然语言处理模型中观察到的能力,仍然是一个未回答的问题。

由于ViTs没有文本输入,因此评估它们在下游任务上的零样本能力具有挑战性。大多数ViTs为整个图像(通常为[CLS]Token)生成一个嵌入向量,并为每个局部块生成一个嵌入向量。在本论文中关注的是需要局部意识的视觉任务,如图像分割和目标跟踪。作者提出了利用块表示的少量样本评估方法。

为了最小化特定任务的参数调优,作者采用了两种方法:无需调整参数的k最近邻(k-NN)和具有单层可训练参数的线性检测。预训练ViTs对于图像 Level 的任务(如图像分类)的全图像表示在文献中得到了相对较好的探索。

除了相对较大的任务特定”head”之外,对整个backbone进行微调仍然可以获得优越的分割和跟踪性能。对这些模型的分析超出了本文的范围,因为它们的出色性能不仅来自自监督预训练,而且还受到head架构和用于fine-tuning的数据的影响。本文的重点在于通过使用仅有的几个Token样本暴露出自监督ViTs的固有能力。

作者发现,尽管Mask图像建模产生的backbone具有较好的fine-tuning性能,但预训练的块嵌入却远不如对比学习方法学习的近邻方法的好。作者深入研究了这一现象,并确定了大约200个与作者的下游任务相关的无关数据集特征。这些特征与直觉相反,不包含作者考虑的下游任务所需的有用信息,但在所有特征中具有最高的方差。移除这些特征可以提高大多数任务上的k-NN性能。

作者进一步探索了块嵌入在多个图像中识别同一目标实例的有用性。在一个卫星图像数据集上进行了实验,并在几种图像变换下测量块嵌入的质量。作者发现,DINO意外地超过了其新兄弟DINOv2。此外,在区分细粒度目标类别方面测量了块嵌入的质量。最后,在多目标跟踪数据集上进行了目标关联实验。作者发现,DINO和DINOv2显著优于Mask图像模型和监督ViTs,使其成为视频中最适合的目标检索。

主要贡献如下:

  1. 设计了一个评估框架和少样本数据集,来分析预训练视觉 Transformer 在局部意识任务中的内在能力。作者在作者的框架上,使用五个代表性的ViTs在三个任务:块分类、实例和细粒度检索以及视频帧中的目标关联上进行分析比较。

  2. 作者发现,与Mask图像建模相比,对比预训练可以产生显著更多的通用块嵌入,这些嵌入可以在不需要微调的情况下直接应用于下游任务。作者识别出基于k-NN的方法中MAE类似模型性能不佳的原因。在移除高方差特征(在作者的实验中为200个)后,MAE类似模型在k-NN上的性能显著提高。

  3. 作者证明,移除这些特征不仅对作者所提出的基准有益,还对其他研究中提出的基准有益。例如,Scale-MAE [25],它评估了一个在航空图像上训练的类似MAE的网络,在不同的分辨率和使用k-NN在计算出的表示(无论是所有块的平均值,还是[CLS]Token)上,与其他最先进的算法进行比较。作者观察到同样的高方差特征问题,并在移除200个这样的特征后,展示了优越的性能。

  4. 作者发现,在20倍 未标注 数据的训练下,DINOv2在大多数场景中超过了所有其他ViTs,包括在图像腐败的块分类的鲁棒性方面。令人惊讶的是,它在识别变换图像中覆盖相同目标实例的块时,表现不如大多数ViTs,这表明盲目增加更多的数据可能并不能普遍提高所有结果。

2 Related work

视觉 Transformer (ViT)的出现及其在许多下游任务中的应用,为计算机视觉开辟了新的方向,包括图像分割、图像分类和目标检测。与语言模型不同,ViT的大小没有达到175B参数,因此扩展ViTs并不容易。两项工作DINOv2和ViT-22B声称,他们的核心技术贡献在于稳定训练大规模ViTs在数百万张图像上的训练。

Park和Kim 分析了多头自注意力(MSA)和ViTs的几个属性。他们发现MSAs将损失函数平坦化,从而减轻了其非凸性问题的影响。他们还观察到MSAs和卷积层互补,表明MSAs可以作为低通滤波器,而卷积层则可以作为高通滤波器。Park等人[21]分析了基于对比学习(CL)和Mask图像建模(MIM)的ViT方法之间的差异,并比较了它们在下游任务上的性能。他们证明CL方法比MIM方法更有效地捕获长程全局模式,例如物体形状。其次,他们证明基于CL的方法更倾向于形状,而基于MIM的方法更倾向于纹理。Raghu等人[24]对ViTs和CNNs在几个图像分类基准上的内部表示结构进行了分析。他们证明ViTs的网络层具有比CNN更均匀的表示,这主要是由于自注意力的作用,它可以使信息在早期聚合,以及ViT的残差连接,它们也可以将特征从较低 Level 传播到较高 Level 。

其他工作专注于分析ViTs的鲁棒性。Bhojanapalli等人[2]研究了ViT模型对输入和模型扰动的鲁棒性,用于图像分类。Bhojanapalli等人[2]表明, Transformer 对几乎任何单个层的删除都具有鲁棒性,并且当预训练在足够大的数据集上时,ViTs在各种扰动下表现出不逊于ResNet对应物的好结果。Paul和Chen[22]分析了ViTs对几种常见的破坏、扰动、分布转移和自然对抗样本的鲁棒性。他们还分析和演示了ViTs在各种方面的优越鲁棒性,例如遮蔽、能量/损失函数分析和在鲁棒分类数据集上的对高频伪迹的敏感性。[17]研究了Transformers在分类任务中对严重遮挡、扰动和域转移的鲁棒性。他们的发现表明,ViTs与CNNs相比,对局部纹理的偏见显著较小。

另一种有助于模型普遍性的研究,并使零样本图像分类(可能还有其他视觉任务)成为可能,涉及视觉语言模型,包括对比模型如CLIP和自回归模型如CM3Leon。对这些模型的分析超出了本文的范围。

虽然不是完全相同的现象,但[8]中也分析了一种类似的现象,即在特征图中出现伪迹。该研究表明,在监督和自监督的视觉 Transformer (ViTs)中,推理过程中会在图像的低信息背景区域出现一些伪迹。值得注意的是,作者对MAE的观察是特征方差较大的特征的存在,而[8]观察到某些Token出现了伪迹。

作者的工作分析了并比较了不同ViTs,关于它们在局部表示图像的能力。作者探索并比较了从使用不同自监督或监督策略训练的ViTs中获得的局部块表示。为此,作者在少量样本设置下探究了块级特征的质量,用于密集块分类、细粒度检索和跟踪。

3 Can Transformers Recognize Semantics of Patches?

在本文中,作者使用了五个ViT模型。MAE和SimMIM被用作Mask图像建模的代表模型。对比模型由DINO 和其对应模型DINOv2表示,与本工作中使用的所有其他ViTs不同,DINOv2是在比ImageNet更大的数据集上进行预训练的。作者使用监督ViT作为 Baseline ,并在一个设置中使用iBOT,它像DINO一样在ImageNet上进行训练,但使用类似于DINOv2的损失项。这些模型在附录A.1中详细描述。

为了分析ViT模型的局部表示,作者首先研究了它们在块级分类方面的能力。为此,在Cityscapes数据集上设置了一个少样本块级分类实验。

城市景观(Cityscapes)[6]的训练集包括18个城市中的2975张图像。除非另有说明,作者使用每个城市4张图像的训练数据集(总共72张图像)。后来作者还探索了通过增加或减少这个数量的训练样本对性能的影响。城市景观数据集的原验证集包含500张图像,这些图像来自3个不同的城市。对于作者进行分析,作者选择了每个城市的10张图像,总共30张图像。作者将城市景观数据集的像素密集分割标签转换为块级类别,通过在每个块中选择最常见类别。作者通过测量像素准确率和分割mIoU来评估表示的质量。

由于作者在分析中使用的ViT模型作为输入图像大小为224×224,作者将大小为1024×2048的图像分割成256×256的块,并将每个块视为单独的图像。这些块被重新缩放到224×224,并传递给预训练的 Transformer 。作者提取并存储所有图像(训练和验证)以及所有ViTs的对应块的表示。

作者使用两个简单的分类器来分析潜在的表示:k-NN(k=1)和拟合线性softmax分类器。这两种方法都在少量训练集的块表示上进行训练。选择这两个基本方法的动机是了解给定物体类别的块是否在表示空间中与其他物体类别线性可分或聚类。在MAE的情况下,作者遵循[15](它反过来引用了[10])的建议,在线性层之前对提取的特征进行批归一化。作者注意到,使用批归一化进行线性检测可以获得几乎2.5倍更好的结果。作者没有在SimMIM中使用批归一化,因为添加它会使性能变差。

细节满满 | 详细分析ViT的局部表征,更了解模型,设计更好算法!

对于线性模型,训练集的大小很重要,而对于k-NN,它的重要性较小。在图1中展示了不同训练集大小时,k-NN和线性分类器的性能。作者首先发现,线性模型通常比k-NN获得更好的结果,尤其是在有更多的训练数据时。然而,对于DINO版本和监督ViT,k-NN和线性分类器之间的性能相当。相反,MAE表示获得的k-NN性能令人惊讶地差。虽然它的线性结果只略低于其DINO对应物,但k-NN分类器导致大约4倍更差的表现。

细节满满 | 详细分析ViT的局部表征,更了解模型,设计更好算法!

接下来对图2中网络不同层上提取的表示进行详细分析,以了解k-NN块分类性能。在有监督ViT和DINO之间,表现非常相似。从第一层到第八层,性能逐渐提高,然后趋于饱和。最后两层性能稍微下降,这在有监督ViT中更为明显。

DINOv2的行为相当不同。在第一层,它的性能比DINO差。对于最容易的五种目标类别(_road_, vegetation, sky, car, _building_),其性能在最后层赶上。对于其他更难的目标类别,DINOv2在第十层与DINO和有监督ViT持平,然后在第十一层和第十二层显著超过它们。特别是,_bus_类别的IoU从第九层的0.059跳到第十二层的0.729。因此,DINOv2的优势主要来自更难的类别。

再次,作者观察到在MAE的情况下,k-NN性能较差。SimMIM,另一个用于重构图像的ViT,在中间层表现比MAE好,但只在中间层。对于更容易的目标类别,这个差异更加显著。最后三层的质量与MAE相似。

根据[19],DINOv2在与其他预训练视觉 Transformer (ViTs)的比较中,通过在ImageNet的域转移版本上的性能,被认为是非常鲁棒的。在本小节中,作者将这种分析扩展到图像块表示层面。

作者对同一小部分验证集的Cityscapes数据集应用了三组退化。首先,通过应用四个大小不同的模糊 Kernel ()对图像进行模糊。其次,向图像中添加了四种不同 Level 的高斯噪声(均值为0,标准差为)。最后,将基于频率的随机噪声(标准差为40)添加到图像上,方法如下:生成与源图像相同形状的高斯噪声,转换为频域,只保留四个窄带中的频率,将噪声图像转换回图像像素,并将其添加到原始图像中。图10在附录中可视化了此过程。作者将这些退化图像输入到ViTs中,并检查了不同类型和退化 Level 的退化对这些方法的影响。图3的第一行展示了针对模糊、加性高斯噪声和添加频率随机噪声的每个颜色,kNN的结果。

有人可以声称,对各种退化的鲁棒性可能归因于训练过程中使用的增强。具体来说,使用颜色增强增强的模型被假设表现出更高的对那些退化的抵抗力(模糊、高斯噪声等)。然而,根据[15],基于颜色抖动的增强会降低其性能。这表明性能和对退化的鲁棒性之间可能存在权衡。由于计算限制,进一步研究这个假设留给了未来的工作。

图3表明,与DINO和监督ViT相比,DINOv2在最小模糊半径下相对更具鲁棒性。对于更强的模糊版本,这三个模型降级几乎相同。MAE降级相对较快。kNN的结果与线性检测的结果相似,除了MAE,对于MAE,即使是最小的降级也会导致预测崩溃:kNN预测所有块(通常为_vegetation_或_sky_)的同一类别。

根据[21],基于Mask的方法(如MAE)更依赖于高频特征,而基于对比训练的方法(包括DINO)更依赖于低频特征。这意味着DINO表示相对于高频噪声应该更鲁棒,而MAE表示在低频噪声下应该表现更好。在作者的实验中,MAE在所有噪声频率下表现都更差。相反,监督ViT对高频噪声具有100%的鲁棒性。这可以解释为其目标学习整个图像的目标类别,使其最后层忘记无关的高频信息。类似的现象在[16]中也有报道。

作者在ADE20K上得到了类似的结果。作者创建了一个类似的小样本ADE20K训练数据子集,它由训练集(每个类别4张图像,总共600张)和验证集(300张)中的600张图像组成,大小为672×448。对于k-NN和线性检测,作者在作者测试的ViTs(见附录A.3中的表2)之间得到了相似的相对性能。

4 Enhancing k-NN Accuracy in Masked Image Modeling

在这个部分,作者解决了一个与基于MIM的k-NN任务相关的挑战。问题在于,与其它特征相比,某些特征具有显著更高的方差。作者提出了一种解决方案,然后更深入地研究了这些特征所包含的信息。

Why MIM-based models have poor k-NN performance.

在作者的实验中,作者发现MAE的块嵌入在线性检测上表现得相当好,但在k-NN上却失败了。作者假设MAE的块嵌入在某些维度上可能具有很高的方差,这可能会极大地增加同一类别块之间的距离,从而损害k-NN,而不会影响(可能是小边缘)线性模型的性能。

MAE和SimMIM的特征方差非常多样化。 作者计算了所有模型的每个特征的方差。在图4(a)中,作者按降序排列所有768个特征的方差。作者观察到,监督ViT(和DINO)的所有特征的方差相对均匀。然而,对于MAE和SimMIM,有多个特征具有非常高的方差,并且存在接近零方差特征的长尾巴。

细节满满 | 详细分析ViT的局部表征,更了解模型,设计更好算法!

Simple Remedy

作者删除了具有最高方差的前m个特征,并使用缩短的嵌入进行了k-NN和线性检测的少量样本分割性能测量。如图4(b)所示,仅删除m=10个特征,MAE的k-NN性能从0.058跃升到0.170,而线性检测的性能并未受到影响。当m=200时,k-NN性能进一步增加到0.295。之后,k-NN和线性检测的得分开始下降。这一发现表明,对于线性模型和k-NN,大约四分之一MAE嵌入特征对于块级图像分割是不利的。另一方面,这些特征构成了嵌入特征的近似所有方差。

作者选择了一个最近基于MIM的算法,它采用k-NN进行性能比较,与最先进的算法进行比较。作者通过删除其个高方差特征进行了实验。

Scale-MAE的训练方式是具有一个有意义的[CLS]Token,可以与块Token的平均值一起用作图像表示。作者使用[CLS]Token表示进行图像分类,使用k-NN并显示它超过了MAE。作者复制了结果并确认块向量的平均值确实比[CLS]差。然而,在从[CLS]中删除200个高方差特征后,在UCMerced和RESISC数据集的几乎所有地面采样距离(GSD)值下,平均块表示超过了利用[CLS]表示的方法。结果如图4所示。作者观察到,从[CLS]中删除200个高方差特征并不显著改变结果;然而,一旦作者使用图像块的平均向量,并在块表示中删除200个高方差特征,它们就超过了利用[CLS]表示的方法。

What information do these features hold?

一个假设是,这些特征对于在同一类别中识别特定实例的物体或区分细粒度的物体类别是必要的。在第五节中,作者提供了对此假设的否定证据:删除高方差特征可以大大改善检索性能,以至于失去一些实例特定信息的负面影响,如果这是真的,是无法检测到的。

图像重构质量是另一个受到影响的指标。另一个假设是,这些信息对于像素级的块重构是有用的。为了验证这一点,作者用零替换了具有个特征的MAE嵌入,并使用预训练解码器来重构图像。替换后的特征确实会导致重构误差增加(附录中的表4)。然而,这些特征的方差仍然很高,原因尚不清楚。

高方差特征不包含与当前块的语义类别直接相关的全局上下文信息。一个全局信息的例子是整个图像中每个类别的像素数。为了测试块表示是否包含这样的全局信息,作者使用L2正则化的线性回归从中央块的代表中预测这三个最常见类别的像素数(归一化为单位像素总数)。作者报告每个类的,并求平均。作者发现,去掉前200个高方差特征的MAE嵌入与完整的MAE嵌入具有相同的预测能力(0.672),这意味着高方差特征不包含除其他特征之外的不包含全局上下文信息的额外信息。此外,最高方差特征的预测能力(0.550)比200个特征子集(0.666)更差;见附录中的表6。

细节满满 | 详细分析ViT的局部表征,更了解模型,设计更好算法!

作者对所有其他ViTs进行了类似的分析,并将其结果可视化在图4(c)上。当删除高方差特征时,提高k-NN性能的现象仅存在于使用像素级重建目标的模型中。对于其他ViTs,删除高方差特征不会提高k-NN性能,但也不会损害它。线性检测性能在这些删除中也保持稳健。

对于MAE,特征归一化具有类似的效果,但对于SimMIM却不是这样。作者通过将线性模型的预训练批归一化层应用到MAE嵌入中,并在将其传递给k-NN分类器之前,创建了另一个版本的MAE嵌入。它通过删除个特征的方式,几乎同样地提高了k-NN性能。它还提高了SimMIM的k-NN性能,但线性检测却严重恶化。作者得出的结论是,特征归一化是减少高方差特征负面影响的一种替代策略,但不是完全相同的方法。

作者确定了从Cityscapes、ADE20K和FAIR1M数据集中提取的块表示的200个高方差特征。其中196个特征在Cityscapes和ADE20K之间共享,而在Cityscapes和FAIR1M之间共享192个特征。

总之,高方差特征不包含语义或全局信息,它们存储了一些有用的像素级细节,这些细节在图像重构中是有益的,并且在所有基于MIM的方法和数据集中都被一致检测到。

5 At Which Granularity Transformers Detect Objects?

在第3节中分析了ViTs在目标 Level 的少样本语义分割任务上的性能。这涉及将预定义的目标(如飞机和汽车)分配给每个包含这些目标的块。这导致了下一个问题,即ViTs是否可以学习区分同一类别但不同类型的目标(如汽车类型或飞机类型)或者当有其他实例可用时,ViTs是否可以很好地区分同一确切的目标。

方法论。 作者使用FAIR1M,这是一个设计用于细粒度目标检测的大型卫星图像数据集。请注意,作者测试的ViTs中没有一个是在卫星图像上预训练的(甚至DINOv2,据作者所知,它也没有在卫星图像上预训练)。FAIR1M中的物体根据5个超级类别进行标注:飞机、船、车辆、法院和公路,以及37个细粒度类别(飞机类型、船舶类型等)。标注形式为旋转边界框(不具有像素精度)。然而,据作者所知,所有物体实例都出现在同一张图像上。对于这些实验,包括最近的一个MAE的扩展,即Scale-MAE,它专门针对卫星图像进行了训练。为了测试作者的假设,即高方差特征会影响基于距离的指标,作者还将使用MAE-200和Scale-MAE-200。这些变体从表示向量中删除了200个高方差特征。

这些图像的大小各不相同,通常比1000×1000像素大。作者将所有图像都裁剪到224×224像素的块,并保留每个细粒度类别中的每个块的8个实例。这确保了作者的数据集包含每个类别中的至少8个实例,但实际上它包含更多常见物体的实例。附录中的表3列出了数据集统计信息。作者有196个图像,每个ViT-B/16模型有196个块,而DINOv2有256个块。

接下来,作者创建了所有图像的变换版本。对于第一组实验,作者应用了水平位移1,2,3和4像素。对于第二组实验,作者将图像逆时针旋转5,10,15和20度。对于第三组实验,作者按0.8,0.9,1.1和1.2的比例缩放图像。对于第四和第五组实验,作者应用了模糊和高斯噪声降质。作者计算了所有这些图像的块表示。这创建了许多具有相同物体实例的图像。

对于每个覆盖有标注目标的变换图像的块,作者从原始图像块的完整集合中检索最近的块。理想情况下,最近的块应该是未经过模糊、噪声或位移的原始块。否则,最佳选择应该是同一细粒度类别的另一个实例,第三好的选择是同一超级类别的物体块。最坏的情况是,最近的块属于另一个类别或背景块。对于每个模型和图像变换 Level ,作者计算了哪些块的最近块属于所提到的类别。

图像降级会导致所有指标降低。 结果如6所示。当目标块变换较小(例如具有10像素标准差的高斯噪声)时,对于所有模型,最接近的块几乎总是原始块。对于MAE,在约40-50%的块中,最接近的块是正确的,但对于剩下的块,最接近的块是背景块。随着变换的增强,所有模型的正确块比例降低,剩余块中有超过一半是与同一细粒度目标类别的块(再次,除了MAE)。

对于涉及图像平移、旋转和缩放等实验,第一级评估,称为’相同块’,并不简单,因为立即不清楚哪个块对应原始块。作者定义相应的块为包含旋转块中心点的块。作者还注意到,几个靠近旋转块角落的块可能没有对应的块,这限制了相同块检索的准确度。

细节满满 | 详细分析ViT的局部表征,更了解模型,设计更好算法!

结果和上限一起显示在图6中。作者观察到,对于旋转和缩放,所有模型在5度旋转和少量缩放下表现出显著的较低鲁棒性,与尝试的最高模糊半径或噪声水平相比。模型性能的顺序与其他图像变换一致:DINO表现最好,其次是MAE(以及去除了200个高方差特征的Scale-MAE),然后是DINOv2和监督ViT,其中MAE作为远离突出物。值得注意的是,Scale-MAE显著优于MAE;然而,删除其200个高方差特征也显著提高了其性能。

DINO是最鲁棒的一个。 在测试的所有ViTs中,DINO在所有变换下都是最鲁棒的。令人惊讶的是,DINOv2在所有指标下都不如DINO鲁棒,且与监督ViT类似。为了验证DINOv2的这种劣势是否来自块级损失项或者模型和数据集的规模,对iBOT嵌入进行了相同的分析。iBOT比DINO执行得更好(附录中的图11),这意味着块级损失不能成为借口。

作者注意到,大多数检索到的块来自同一图像块。一个可能的解释是,块嵌入包含图像级信息。作者重复这个实验,将原始图像的块从可用块的集合中删除。在这种设置下,最近的块可以是同一细粒度类别、同一超类别、错误的超类别,也可以是背景块。在这里,DINOv2处于领先地位,监督ViT和DINO稍逊一筹,而MAE表现不佳(图7)。

细节满满 | 详细分析ViT的局部表征,更了解模型,设计更好算法!

改进MAE的性能。作者重复了这个实验,使用了缩短的MAE和Scale-MAE(去掉了200个最高方差特征)。这个版本的MAE和Scale-MAE的性能显著优于原始的(MAE和Scale-MAE)版本,并超过了DINOv2和监督ViT,仅次于DINO。这个结果表明,删除MAE嵌入的高方差特征不仅有助于语义分割,而且有助于在变换图像中识别特定目标实例。另一方面,这也增加了高方差特征不能提供识别实例所需任何独特信息的证据,因为几乎在所有小变形块上(图6)都表现出了理想性能。

6 How Well ViTs Track Objects?

目标跟踪需要在一个视频中识别同一目标实例在不同帧之间。在本节中分析了块嵌入的鲁棒性,因为目标会经历外观变化。

作者的方法是:从BDD-100K数据集的MOT 2020图像子集的track-validation集中提取每个帧的块表示。作者使用ROIAlign根据每个目标的 GT 边界框对特征进行池化。对于两个帧之间的时间差和每个时间步的帧,作者从时间步的帧中检索具有最近嵌入向量的目标。作者报告正确检索实例的比例作为主要指标。作者还报告了检索到的实例与目标类别相同的目标的百分比。结果如图8所示。

细节满满 | 详细分析ViT的局部表征,更了解模型,设计更好算法!

DINO类似的模型在跟踪方面表现最好。所有模型的准确性随着时间间隔的增加而降低,因为目标的外观在平均上是随着时间的推移而变化的。检索性能对于大于一秒的时间间隔(即约30帧)相对恒定。DINO和DINOv2表现最好,DINO在时稍微优于DINOv2,这与第5节中的块检索实验一致。

令人惊讶的是,监督ViT在DINO之上表现较差,而且比MAE稍微好一些。作者还注意到,去掉MAE特征向量中的200个高方差特征后,MAE在所有值上都优于MAE,始终超过监督ViT,并在较小时与DINO和DINOv2达到可比的准确性。这表明,从MAE特征向量中删除200个高方差特征可以提高跟踪性能。

当实例匹配失败时,最接近的物体通常属于相同的物体类别。 对于DINOv2,在95%以上的情况下,实例匹配失败的物体属于相同的物体类别;对于DINO和监督ViT,这个比例稍微低一些。对于MAE,表现明显不如监督ViT。这些结果与第3节中的块分类指标一致。

作者在MOT17数据集上重复实验,并看到类似的行为。对比学习方法在基于Mask图像建模的ViTs上明显优于ViTs。结果见附录A.3。

7 Conclusion and Limitations

作者对自监督ViT模型提取的局部块嵌入的质量及其属性进行了全面的分析和比较。作者观察到,对比学习基础的DINO系列在监督和Mask图像建模方法上都优于其他方法。此外,作者识别并研究了MAE的低kNN分类性能,限制了其在没有微调的情况下的使用。作者发现,具有相对较高方差的特征对块分类或检索任务不具有信息量,而它们的删除可以提高kNN性能,同时不影响线性检测。

局限性。 由于计算成本高,作者无法重新训练网络,从而无法分析在讨论的视觉 Transformer (ViTs)中的架构选择或损失组成部分。因此,作者的比较仅限于现有的预训练网络。

The Choice of Self-supervised Vision Transformers

作者使用了以下预训练视觉 Transformer 进行作者的分析。

DINO是一个自监督的视觉 Transformer ,它利用一个自蒸馏(学生-老师)框架。相同图像的不同增强版本通过老师网络和学生网络,学生网络被优化为产生与老师相同的[CLS]向量。然后,老师权重从学生的权重中使用指数移动平均进行更新。

Mask自动编码器(MAE)是一种用于重建原始图像的模型,它利用部分观测进行训练。在训练过程中,输入图像的大随机部分被遮挡。只有可见的块被编码器应用。一个相对轻量级的解码器将编码器的输出作为输入,并将[MASK]Token作为被遮挡的块的输入,并尝试重建原始图像。作者使用预训练的编码器作为块的特征提取器。

SimMIM是另一个使用Mask图像建模的视觉 Transformer 框架。与MAE的主要区别在于,SimMIM在编码器输出之上使用了一个简单的线性解码器。

在一个实验中,作者分析了iBOT,这是另一个老师-学生框架,它还针对学生网络遮挡了一些块。除了DINO的目标之外,它还有一个损失项,强迫学生网络在未遮挡图像上生成与老师相似的被遮挡块的块表示。

DINOv2是iBOT的一个较新的扩展,它在一个更大的数据集上进行训练。该数据集包括来自ImageNet-2,Mapillary SLS和Google Landmarks v2的1700万张图像,以及从大量网络爬取图像中检索的1250万张相似于预选的27个公开可用数据集的图像。主模型具有超过10亿参数,这迫使作者使用多种正则化技术来稳定训练。他们还提供了主模型的精馏版本,这是作者工作中使用的版本。

最后,作者使用一个在ImageNet-1k上训练的带有图像级标签的监督 Baseline 。在[CLS]Token之上训练了一个线性层。在本论文中,它将被称为监督ViT

所有方法都应用于多种大小的ViTs。在本工作中只关注一个对所有方法都可用的大小:ViT-B/16,它有8600万个参数。DINOv2是唯一没有ViT-B/16版本的模型。相反,作者使用了最接近的一个:ViT-B/14,它是从ViT-g/14模型中提炼出来的。这是DINOv2与其他方法之间的另一个区别:块稍小,图像大小为224x224px的图像有更大的DINOv2块数量。

这些模型在预训练期间使用的数据增强类型也有所不同。MAE只使用了简单的缩放和翻转。DINO还额外使用了颜色抖动和模糊,并且在老师和学生网络之间存在一些差异。监督ViT使用RandAugment的一部分技巧,并使用了Mixup。DINOv2的增强方法类似于DINO。更多信息可以在表1中找到。

细节满满 | 详细分析ViT的局部表征,更了解模型,设计更好算法!

作者将图像传递给这些ViTs,并从第12层提取所有块嵌入。所有ViTs在这些嵌入之上应用层归一化[1]。为了保持一致性,作者在提取ViTs内部层的嵌入时也应用层归一化。

Data Augmentations used in ViTs

作者测试的所有ViTs在预训练阶段都使用了数据增强。在本节中,作者将讨论使用的不同增强策略之间的差异。

DINODINOv2中,一张图像被裁剪成两个全局裁剪或视图,用于老师网络,多个局部视图用于学生网络。它们为不同的视图应用不同的增强。MAE只应用裁剪增强。请参阅表1以获取更多信息。对于缩放裁剪,所有模型都选择224作为输出大小。

监督ViT采用了以下技术进行数据增强。

Mixup与,其中意味着没有Mixup。

TensorFlow实现RandAugment的magnitude参数和augmentation layers的数量的版本。

在表1中,作者总结了增强的详细信息。

Results on more datasets

细节满满 | 详细分析ViT的局部表征,更了解模型,设计更好算法!

作者还在ADE20K上进行了块分类实验。如表2所示,各种ViTs在k-NN和线性检测设置下的排名相似。

细节满满 | 详细分析ViT的局部表征,更了解模型,设计更好算法!

图9显示了在MOT17数据集上进行跟踪实验的结果。

Statistics of the Few-shot Version of FAIR1M Dataset

作者创建了FAIR1M训练集的一个子集,确保每个细粒度目标类别至少出现8张图像。作者将原始图像裁剪成224×224像素的块,并为每个块保留包含的目标类别列表。作者定义类别A在块中存在,如果至少有一个类型为A的旋转边界框,其面积至少为块的1/3。对于每个细粒度类别,作者选择了包含该类别的8张图像。然后作者从队列中删除这些图像,并继续处理下一个目标类别。这样作者收集了37×8-1图像,因为有一个特定的细粒度类别(_bus_)只有7个块。

细节满满 | 详细分析ViT的局部表征,更了解模型,设计更好算法!

表3显示了作者的295张图像的每个类别的块数。请注意,DINOv2每个图像有256个块,而其他所有模型每个图像有196个块。

Reconstruction Error Analysis for MAE

为了理解MAE的高方差特征中存储了什么信息,如果删除它们不会损害块分类或块检索性能,作者进行了图像重建实验。假设被删除的特征在某些重建属性中发挥了作用。使用MAE的预训练解码器在两种设置下进行实验:当没有块被遮挡时,以及当75%的块被遮挡时。

细节满满 | 详细分析ViT的局部表征,更了解模型,设计更好算法!

如表4所示,当高方差特征用零填充时,重建指标略有恶化。这表明这些特征包含关于如何重构图像的知识,但对于大多数其他下游任务并不是必要的。使用均方误差(MSE)、峰值信噪比(PSNR)和结构相似性指数(SSIM)指标评估重建准确性。

Frequency Noise Computation

在图3中展示了一些针对各种降质(包括基于频率的随机噪声)的降解分析及其结果。在本节中将简要介绍这些实验并说明它们的设置。

细节满满 | 详细分析ViT的局部表征,更了解模型,设计更好算法!

为了创建基于频率的随机噪声,首先生成了与图像所有三个颜色通道相同尺寸的2D高斯随机噪声。然后,对噪声应用傅里叶变换,在频率空间中进行遮挡,并应用反傅里叶变换,以获得基于频率的随机噪声。以下公式展示了将基于频率的随机噪声添加到图像中的方法:

其中表示原始图像,表示与图像尺寸相同的随机噪声。噪声中每个像素都遵循均值为0,方差为的高斯分布。表示图10中的频率Mask,还把零频分量移到频谱的中心,然后应用反移。最后,分别对应傅里叶变换和反傅里叶变换。在图10中展示了四种不同频率的加性频率随机噪声、相应的Mask和四种不同噪声水平的噪声图像的详细信息。

细节满满 | 详细分析ViT的局部表征,更了解模型,设计更好算法!

Additional Experiments on FAIR1M

a.7.1 DINO vs. iBOT vs. DINOv2

第5节中最令人惊讶的结果是,与DINOv2相比,DINO表示在给定一个损坏的块时,检索最接近的块方面表现更好。DINOv2与DINO之间存在一系列差异,这些差异可以分为两类:与损失项相关的差异和与模型和数据集规模的差异相关的差异。DINOv2的新的块级损失项首次出现在iBOT中。

细节满满 | 详细分析ViT的局部表征,更了解模型,设计更好算法!

在这里在iBOT上进行了与DINO和DINOv2相同的实验,以比较它们。如图11所示,iBOT至少与DINO一样好。这意味着新的损失项不能归因于DINOv2的检索性能较差。

Discussion on Tiling

由于大多数ViTs是在小型图像上进行训练的,并且它们的原始权重是针对图像提供的,没有插值位置嵌入,因此在处理较大图像时,预处理变得必要。例如,在FAIR1M数据集的情况下,图像大小为,而在CityScapes数据集的情况下,图像大小为

有许多处理这种图像的方法,包括将它们缩放到较小的尺寸,将它们分割成较小的块进行实验(然后将这些块组合在一起以重构原始图像大小),或者强迫ViT处理完整的图像,通过插值位置嵌入。将图像分割成较小的块的风险是,较小的块可能会失去图像的全局上下文,这在 Transformer 架构中是一个重要因素。在本文的所有实验中,作者选择了块化方法。在这里,作者探索使用完整尺寸图像的影响。

a.8.1 Cityscapes

作者进行了两个实验。对于第一个实验,作者将图像分割成的块,并将它们缩放到,然后分别计算相应的ViTs的嵌入(仅针对DINO和MAE)。对于第二个实验,作者计算了完整图像的块嵌入。作者在CityScapes数据集的30张图像的验证集上检查语义分割的准确性。令人惊讶的是,在块化设置下,无论是线性检测还是k-NN,MAE和DINO都实现了更高的mIoU值。结果总结在表5中。

总之,尽管预期图像的全局上下文会包含更多的信息,但输入大小对性能的降解太强了。

细节满满 | 详细分析ViT的局部表征,更了解模型,设计更好算法!

a.8.2 Tracking

作者还进行了类似的实验来研究目标跟踪设置。请注意,在这个设置中将所有边界框内的块表示进行平均。如果目标被分成多个相同图像的块,则平均发生在来自不同块的块表示上。

细节满满 | 详细分析ViT的局部表征,更了解模型,设计更好算法!

如图12所示,作者看到了DINO和DINOv2对于分块图像的上述现象,块化图像表现更好。对于MAE,作者看到了一个令人惊讶的结果,从完整图像的块表示中提取的目标表示表现更好。请注意,本文中所有目标跟踪实验的结果都是在BDD-100k数据集中的4个视频中报告的。

Sample Predictions on Cityscapes

细节满满 | 详细分析ViT的局部表征,更了解模型,设计更好算法!

在图13中展示了基于本文中使用的ViTs进行语义分割的结果。作者固定了Cityscapes数据集中的两个图像。第一和第三张图展示了原始图像及其对应的原始Mask,第二和第四张图分别展示了ViTs对于对应实例的语义分割Mask。第一行第一列到第三列和第五列到第七列分别对应k-NN预测和线性检测预测的语义分割Mask。

在这些图中可以定性确认作者的观察结果,即MAE几乎完全无法正确分割k-NN预测的块。然而,它的性能与线性检测相当。作者还观察到,去掉MAE中最大方差前200个特征后的MAE在k-NN预测方面的性能超过MAE,并且与线性检测预测的MAE几乎相同。正如作者所预期的,DINO和DINOv2在定性上优于所有其他方法。

参考

[1]. Analyzing Local Representations of Self-supervised Vision Transformers

细节满满 | 详细分析ViT的局部表征,更了解模型,设计更好算法!

点击上方卡片,关注「AI视界引擎」公众号

 

Read More 

正文完
可以使用微信扫码关注公众号(ID:xzluomor)
post-qrcode
 
评论(没有评论)
Generated by Feedzy