自我监督模型在下游任务中的成功率如何?
三个要点
✔️ 比较各种自我监督的学习方法
✔️ 比较下游任务的性能,如Few-Shot图像识别、物体检测和密集预测任务
✔️ 发现各种信息,包括与ImageNet上性能的相关性
How Well Do Self-Supervised Models Transfer?
written by Linus Ericsson, Henry Gouk, Timothy M. Hospedales
(Submitted on 26 Nov 2020 (v1), last revised 29 Mar 2021 (this version, v2))
Comments: CVPR 2021.
Subjects: Computer Vision and Pattern Recognition (cs.CV)
code:![]()
![]()
本文所使用的图片要么来自论文、介绍性幻灯片,要么是参考这些图片制作的 。
简介
近年来,计算机视觉中的自监督学习模型取得了显著的进展,表现出与监督学习模型(包括SimCLR和MoCo)相当甚至更优的性能。
那么,在ImageNet上使用各种监督和自我监督学习方法的预训练模型在各种下游任务中的表现如何?自我监督学习是否总是比监督学习表现得更好,或者自我监督学习在某些任务上会落后?而不同的自我监督学习方法的优势或劣势是否因任务和数据集的不同而不同?
为了回答这些关于自我监督学习方法的问题,本文提出的论文评估了迄今为止在各种下游任务上提出的自我监督和监督学习方法。让我们来看看我们获得的一些结果。
关于该实验
评价的方法
实验中要评估的自监督学习方法如下
对比学习法
聚类方法
对于这些方法,我们使用预先训练好的ResNet50(1x)模型作为下游任务的骨干特征提取器。我们还将使用PyTorch提供的ResNet50预训练模型,作为监督学习的基线进行比较。
至于模型,骨干有23.5M的参数,并在由128万张图像组成的ImageNet训练集上进行了训练。
在预学习阶段,关于学习时间和数据增强的设置有一些差异,具体如下
当在下游任务上进行评估时,特定任务的头被添加到主干上,并对目标任务进行标签预测。
这可以通过只优化头部,或微调整个网络来实现。
关于实验中的下游任务
实验中使用的任务可以分为四个主要类别
- 多镜头识别(在目标领域有足够数量的标记数据)。
- 寥寥无几的识别(在目标域上只有少数例子的标记数据可供选择(
- 物体检测
- 密集预测任务(表面法线估计和语义分割)。
请注意,对于前两项任务,与源数据ImageNet相比,存在较大的领域偏移的基准,而对于后两项任务,由于任务与训练时间不同,最佳特征可能与图像识别不同。
关于多镜头识别
实验设置
实验中使用的数据集如下
这些数据集在两种不同的设置下进行评估:线性和微调。
在Linear中,我们对在骨干网中提取的特征进行了多指标逻辑回归。
在微调中,学生使用SGD与Nesterov动量法进行5000步学习。
实验结果
结果如下。黑体字表示第一名的结果,下划线文字表示第二名的结果。
线性
在线性设置下,得到了以下结果
- 对于除Pets任务以外的所有下游任务,最好的自我监督学习方法都超过了ImageNet中监督预训练模型的结果。
- 在ImageNet上的结果显示,监督学习的表现最好,这表明自监督学习方法学习了更多的通用特征表示。
- DeepCluster-v2、BYOL和SwAV通常被排在榜首。
微调
- 监督学习在三个下游任务中名列前茅,与线性设置相比显示出良好的结果。
- 总的来说,最好的自监督学习方法优于监督学习,DeepCluster0v2、SwAC和SimCLR普遍表现出最佳效果。
关于Few-Shot Recognition
实验设置
实验中使用的数据集如下
CD-FSL中包含的四个数据集由与自然图像相似度低的图像组成。
在我们的实验中,我们使用原型网络作为骨干提取的特征。
实验结果
5路20发配置(不包括CD-FSL)的实验结果如下表所示。
- 对于除DTD/Flowers以外的所有数据集,监督学习模型显示了最好的结果。
- 在飞机/汽车领域,监督学习以特别大的优势成为最重要的结果。
- 在自监督学习方法中,BYOL和DeepCluster-v2是最好的,其次是SwAV/SimCLR-v2。
另一方面,CD-FSL的结果如下
- 对于所有四个数据集,几个自我监督学习模型的表现都优于监督学习模型。
- 对于与ImageNet最相似的CropDiseases,与Many-Shot相同的模型表现良好。
- PCL-v1一直是表现最差的。
- 来自ISIC的结果显示,与其他数据集相比,每种方法的排名非常不同。
关于物体检测
实验设置
我们使用Pascal VOC作为数据集,使用带有特征金字塔网络的Faster R-CNN作为预训练模型的主干。
我们还试验了两种不同的设置:冻结主干网(除最后一个剩余块外的所有网)(冻结)和微调所有层的端到端(微调)。
实验结果
结果如下
- 最好的自我监督学习方法的表现超过了监督学习模型的结果。
- 然而,与 "多/少镜头 "识别任务相比,显示出优越结果的模型有很大不同。
- 在冻结设置下的SimCLR和Finetune设置下的BYOL获得了最佳结果。
关于密集的预测任务
实验设置
NYUv2被用作表面法线估计的数据集,PSPNet以ResNet50为骨架进行训练。
我们还使用ADE20K作为语义分割的数据集,并使用UPerNet进行训练。
实验结果
结果如下
- 对于这两项任务,最好的自我监督学习方法的表现超过了监督学习模型的结果。
- SimCLR-v2和BYOL在表面法线估计方面表现更好,而PCL-v1在语义分割方面表现更好。
- 我们发现自监督学习在语义分割上的表现与它在ImageNet上的表现之间几乎没有关联。
ImageNet的性能改进是否会导致下游任务的性能改进?
ImageNet上的表现是评估自我监督学习的主要基准。那么,ImageNet上的表现与下游任务的表现是否有明显的关联?
对于这个问题,ImageNet和目标任务的表现之间的关联性如下
(图中的Kornblith是Many-Shot期间使用的数据集)。)
下面还显示了每种方法在每个数据集上的性能图。
从这些结果我们可以看出
- 对于多镜头识别,ImageNet和下游任务之间的关联性更高。
- 在Few-Shot识别中,当领域转移较小时,相关性较高,当领域转移较大时,相关性较弱。
- 对于物体检测,AP50显示出最高的相关性,冻结设置显示出比Finetune更强的相关性。
- 在表面法线估计中一直发现有弱的关联性。
- 对于语义分割来说,相关性普遍较弱,而且在不同方法的排名中没有发现相关性。
总的来说,实际的调查结果可以总结为以下几点
- 对于来自ImageNet的领域转变不大的识别任务,使用在ImageNet上显示出良好结果的方法来完成下游任务是很有用的,不管是Many/Few-Shot,自我监督学习可能超过监督学习。
- 对于物体检测和密集预测任务,有一些自监督学习方法,如SimCLR-v2和BYOL,可以显示出良好的效果,但ImageNet和下游任务之间的相关性并不总是很高,所以ImageNet中的最佳模型可能对下游任务无效。
- 对于与ImageNet有较大领域转变的数据集(包括非结构化图像和纹理),选择自监督学习方法没有明确的理由,应该进行特定任务的比较。
不同方法在各种下游任务中的排名如下
可以看出,虽然有一些方法在整体上给出了相对较好的结果,但对于所有的下游任务来说,一个能给出最佳结果的通用方法还没有被实现。
摘要
在这篇文章中,我们提出了一些论文,在这些论文中,我们对各种自我监督学习方法进行了实验,在各种下游任务中对它们进行了评估。
结果清楚地表明,目前最好的自监督表征学习方法可以胜过监督学习。ImageNet上的表现与一系列下游任务的表现之间的相关性也被确定下来,根据任务和数据集的分布情况,没有明显的或微弱的相关关系。
然而,它不包括在每个目标数据集上训练的特定领域自我监督学习方法的评估实验,这为未来的工作留下了空间。
与本文相关的类别