原文链接:ConvNet 还是 Transformer?除了 ImageNet 性能之外,还应该关注什么?
导读
现代计算机视觉为从业者提供了各种各样的模型。那么,我们有了这么多的模型,当特定的应用到来时,该选择哪个不该选择哪个?就是一个值得思考的问题,也是个有挑战性的问题。
传统上,大家喜欢通过在大规模图像识别数据集 ImageNet 上的精度来比较模型性能,谁的准确率高就选谁。但是,这个指标过于单一,无法捕捉到对于特定任务很重要的性能的细微差别。
在这个工作中,作者对于 ConvNet 和 Vision Transformer 架构在 ImageNet 精度之外的模型行为进行了深入分析,每个架构都涵盖了有监督训练范式和 CLIP 训练范式。尽管作者选择的模型具有相似的 ImageNet 精度和计算要求,但本文发现它们在许多其他的方面有所不同:
- 错误类型 (types of mistakes)
- 输出校准 (output calibration)
- 迁移性能 (transferability)
- 特征方差 (feature invariance)
等等。
如下图1所示,这些模型特征的差异,是传统的 ImageNet 精度所不能包含的,因此我们在为特定任务选择模型的时候更应该去细微地分析。
图1:模型通常只根据它们的 ImageNet 精度进行比较,而我们通常忽视了其他许多重要的行为
1 ConvNet 还是 Transformer?除了 ImageNet 性能之外,还应该关注什么?
论文名称:ConvNet vs Transformer, Supervised vs CLIP: Beyond ImageNet Accuracy
论文地址:https//arxiv.org/pdf/2311.09215.pdf
1.1 通过 ImageNet 精度选择视觉模型够用吗?
计算机视觉模型的格局正在变得越来越复杂。从早期的 ConvNets 到 Vision Transformers 的进步,可用的模型正在逐步扩展。同样,训练范式已经从 ImageNet 上的监督训练发展到自监督学习以及像 CLIP 这样的图像-文本对训练。这种选择的爆炸式增长对从业者提出了重大挑战:如何选择一个能够达到我们目的的模型?
在传统的视觉任务中,ImageNet 的精度一直是评估模型性能的主要指标。自从 AlexNet[1]的问世以来,这个指标正在被持续地刷新。但是,这个指标的有效性正在变得越来越不够:虽然 ImageNet 可用于衡量模型的一般能力,但它没有捕捉到不同架构、训练范式和数据引起的细微差别。如果仅基于 ImageNet 的精度作判断,具有不同属性的模型可能看起来相似。随着视觉模型越来越大,逐步开始过拟合以后,ImageNet 的精度逐步趋于饱和,这种限制也就变得更加明显。
一个特别值得注意的例子是 CLIP。尽管 ImageNet 精度与 ResNet 相似,但 CLIP 训练得到的视觉编码器显示出明显更好的鲁棒性和可迁移性。这就引发了一系列研究 CLIP 的独特优势的工作[2][3],这种独特的优势仅从 ImageNet 指标中并不能明显地看出来。这也从另一种角度证明了我们需要分析其他的替代属性来发现更好更有用的模型。
此外,传统的指标不能完全捕捉模型处理现实世界视觉挑战的能力,比如不同的相机姿势,照明条件或遮挡。比如,在 ImageNet 等数据集上训练的模型通常难以将其性能迁移到条件和场景显著不同的实际应用中。
1.2 本文做了哪些工作?
本文对 ImageNet 准确性之外的模型行为进行了深入的探索,具体是分析了四个领先模型:
-
ConvNeXt[4]:代表卷积模型。
-
ViT[5]:代表视觉 Transformer。
这两种模型分别评测其监督训练版本和 CLIP 训练版本。
所选模型在参数量上面相似,并且每个训练范式在 ImageNet-1K 上显示出几乎相同的精度,确保了公平比较。
本文深入研究了广泛的模型特征,比如错误类型 (types of mistakes),输出校准 (output calibration),迁移性能 (transferability) 以及特征方差 (feature invariance) 等等。本文不需要额外的训练或微调,直接评测预训练好的模型,为有兴趣直接使用预训练模型的从业者提供了见解。
本文发现不同架构和训练范式之间的模型行为存在很大差异。总结了10条结论如下:
-
CLIP 预训练的模型有相对较低的错误率,这意味着它们相对于监督训练得到的模型会犯更少的错误。但是,值得注意的错误率是相对于整体验证集精度而言的,监督训练的模型的 ImageNet 验证集精度比 CLIP 模型的 Zero-Shot 精度会高出 16% 左右。
-
所有模型都主要受到遮挡等复杂因素的影响。
-
纹理是所有模型中最具挑战性的因素。
-
CLIP 训练的模型比监督训练的模型纹理偏差更小。
-
CLIP 模型过于自信,监督模型有点不自信。
-
有监督的 ConvNeXt 比有监督的 ViT 校准得更好。
-
在大多数鲁棒性基准上,监督训练的模型优于 CLIP 训练的模型。
-
监督训练的 ConvNeXt 具有较好的迁移性能,几乎与 CLIP 模型的性能相匹配。
-
ConvNeXt 在合成数据上优于 ViT。
-
监督训练的 ConvNeXt 是变换不变性最佳的模型。
基于这些发现,很明显各种模型以单个度量无法捕获的独特方式展示了它们的优势。因此,就需要更详细的评估指标来准确、特定于上下文的模型选择以及创建与 ImageNet 无关的新基准。
1.3 本文评测的模型有哪些?
分析了四个领先模型:
-
ConvNeXt[4]:代表卷积模型。
-
ViT[5]:代表视觉 Transformer。
这两种模型分别评测其监督训练版本和 CLIP 训练版本。监督训练的版本在 ImageNet 指标上面比较占优势,而 CLIP 模型在泛化和可迁移性方面表现出色,并且可以连接视觉和语言。
评测的模型在各自的训练范式中具有相似的 ImageNet-1K 精度,以确保公平的比较。对于 CLIP 模型,具有相似的 Zero-Shot ImageNet-1K 精度。这些模型具有相似的大小以及计算量的需求,而且是公开的。由于本文使用的是预训练的模型,因此无法控制训练期间看到的数据样本的数量和质量。
对于监督训练的模型,作者对 ViT 使用预训练的 DeiT3-Base/16[6],它与 ViT-Base/16 共享相同的架构,并且改进了训练的配方。作者对 ConvNeXt[4]使用 ConvNeXt-Base。对于 CLIP 训练的模型,作者使用来自 OpenCLIP[7] 的 ViT-Base/16 和 ConvNeXt-Base。注意这些模型与原始 OpenAI 模型[8]的性能略有不同。
1.4 评测一:模型错误
在图像分类任务中,模型错误是值预测结果不等于正确的标签,比如将猫错误分类为狗。仅仅去识别预测错误的类别可能无法提供对模型的改进有帮助的见解。因此,问题的关键是找到这些错误的具体原因。比如,有的模型可能对数据分布的某些方面特别敏感,比如纹理的变化。在这种情况下,当待识别的图片的纹理与其训练数据的纹理不同时,模型就有可能始终出现错误。
ImageNet-X[9]]数据集为姿势,风格等因素提供了详细的人工注释,这就允许我们对模型的错误类型进行集中分析。这些注释能够独立测量每个因素的模型错误率:
式中,accuracy(overall) 是 ImageNet-1K 的验证集精度,accuracy(factor) 是这个因素的数据上面的精度。这个指标衡量给定因素相对于其整体性能的占比。当 error ratio(factor)比较低时,证明 accuracy(factor) 相对于 accuracy(overall) 更高,意味着这个因素的精度更高。
本文选取的模型的结果如下图2所示:
图2:在 ImageNet-X 上的模型错误结果
结论1: CLIP 预训练的模型有相对较低的 error ratio,这意味着它们相对于监督训练得到的模型会犯更少的错误。但是,值得注意的是 error ratio 是相对于整体验证集精度而言的,监督训练的模型的 ImageNet 验证集精度比 CLIP 模型的 Zero-Shot 精度会高出16% 左右。
而且,CLIP 模型在形状、子类别、纹理、对象阻塞和较暗的因素方面鲁棒性更好。CLIP 模型成功的关键原因可能是用于训练的更多样化的数据。
结论2:所有模型都主要受到遮挡等复杂因素的影响。
对于 CLIP 模型,ConvNeXt 和 ViT 之间有3个因素展示出显著的性能差异,它们分别是 multiple objects, style, 和 darker。前两个 ConvNeXt 的错误率更高,后者 ViT 具有优势。
对于监督训练的模型,ConvNeXt 和 ViT 之间有2个因素不同,它们分别是 style 和 person blocking。除了这些因素外,模型在很大程度上具有相似的错误率。
所有的模型对下面这6个因素都有比较高的错误率:smaller, object blocking, person blocking, shape, subcategory, 和 texture。高误差比因素通常涉及复杂的视觉场景,比如在遮挡场景下,模型经常由于关注可见、模糊的对象而错误分类。
结论3:纹理是所有模型中最具挑战性的因素。
这个指的是对象的纹理与其标准外观不同的图像。这表明当前生成的模型在很大程度上受到纹理偏差的影响。
1.5 评测二:形状及纹理偏差
与人类使用高级语义信息进行感知不同,神经网络一般使用更加脆弱的信息来分类。
形状及纹理偏差 (Shape-Texture Bias)[10]的研究就是针对这个问题的。就是一张图片包含来自一个类的形状,并于另一个类的纹理相叠加,如图3所示。
图3:一个大象纹理,但是卡车内容的形状-纹理细节冲突的图像
有两个关键指标来量化这种偏差:形状和纹理分数。形状分数计算的是该图片分类依据是形状信息的比例,而纹理分数计算的是纹理信息代表类别的比例。这些指标揭示了分类器在遇到冲突时是更加偏爱形状还是纹理。
[10]的研究表明,ConvNets 对的纹理偏差更强,而不是像人类更多地依赖形状。随后的工作[11]得出结论,相比于 ResNet-50,ViT 对纹理的偏差较小。
本文的结果如图4所示,虚线表示所有类别的平均形状偏差。横轴代表形状和纹理分数,纵轴代表不同的类别。
图4:形状和纹理冲突的结果
结论4:CLIP 训练的模型比监督训练的模型纹理偏差更小。
从图3中可以看出,对于监督训练的模型和 CLIP 模型,ViT 都表现了出比 ConvNeXt 更强的形状偏差。这可能是因为 ConvNeXt 由于卷积操作的局部性质,更倾向于学习与纹理相关的局部特征。然而,基于 CLIP 的模型,ViT 和 ConvNeXt 之间的差距要小得多。值得注意的是,两种架构在 CLIP 模型中的形状偏差提高了 7% 和 12%,引发了有关进一步缩放训练数据的好处的问题。与 ViT 相比,ConvNets 通常表现出较低的形状偏差,但是 CLIP 模型的差距很小。
1.6 评测三:模型校准
糟糕的模型性能通常可以归因于错误校准,其中模型对预测的置信度与实际精度不一致。模型校准[12]指的是一种量化模型预测置信水平可靠性的指标。模型对预测的置信度定义为其输出分布中所有类之间的最大概率。我们有兴趣确定模型的预测是否过于自信或过于不确定。例如,如果网络认为一组预测有 80% 的信心,实际准确度是否会徘徊在 80% 左右?
模型的校准率通常可以使用期望校准误差 (Expected Calibration Error, ECE) 来进行量化。为了计算 ECE,预测首先需要根据置信度被分成M 个柱,一个柱可以包括所有置信度在50%到60%之间的预测结果,依此类推。每个柱Bi的置信度和精度预测值的平均置信度和精度,以和 表示。然后,ECE 可以被定义成
模型校准通常通过可视化进行评估,包括可靠性图和置信度直方图。可靠性图绘制了预测置信度与精度的关系;校准良好的模型将显示一个点与对角线紧密对齐的图。置信直方图显示了模型预测中出现不同置信水平的频率。
作者展示了2个不同数据集上的校准指标:分布内数据的 ImageNet- 和分布外数据的 ImageNet- 。在所有实验中,作者将数据划分为M=15个柱。如下图5所示是置信直方图 (1,3 行) 和可靠性图 (2,4 行) 和 ECE。
图5:模型校准结果。置信直方图 (第1行和第3行)、可靠性图 (第2行和第4行)。
结论5:CLIP 模型过于自信,监督模型有点不自信。
在图4中,可以观察到CLIP模型在可靠性图和置信直方图中始终低于对角线的条形,表明对于分布内和分布外的数据过度自信了。[14]这个工作将校准的区别归因于架构的差异,但是本文的结果表明训练数据和目标可能是更大的影响因素。
根据图4第3行,监督训练的模型在低置信度区间有更高的密度。而且,从可靠性图也可以看得出这些模型在初始阶段的精度在逐步提高。这也许意味着监督训练的模型在 ImageNet-R 上往往不太自信。
结论6:有监督的 ConvNeXt 比有监督的 ViT 校准得更好。
与[14]这个工作发现 ViT 比 ConvNets 更好地校准相反,本文的实验表明,监督训练的 ConvNeXt 比 Transformer 的校准度更好。这种差异是因为[14]这个工作专注于旧的 ConvNet 架构,例如 ResNet,而我们使用更现代的架构。对于 CLIP 模型,本文发现 ViT 仅略好于 ConvNeXt。
1.7 评测四:模型鲁棒性
一个模型可能擅长来自其训练分布的数据,但难以推广到分布偏移数据的情况。这些变化可能是由自然扰动引起的,如大气条件 (如雾、雨)、相机噪声或物体位置和方向的变化。模型鲁棒性量化了模型适应数据分布变化的能力。一个鲁棒的模型应该在这些扰动下保持高精度。这对于那些非常需要可靠性的模型就显得格外重要了。
本文评估了几个基准的鲁棒性,这些基准具有许多不同类型的自然变化和损坏:ImageNet-V2、ImageNet-A 、ImageNet-C、ImageNet-R、ImageNet-Sketch、ImageNet-Real 和 ImageNet-Hard。
结论7:在大多数鲁棒性基准上,监督训练的模型优于 CLIP 训练的模型。
如图6所示,我们可以看到监督模型在大多数数据集上的表现都优于 CLIP,除了 ImageNet-R 和 ImageNet-Sketch。CLIP 模型在 ImageNet-R 和 ImageNet-Sketch 上的成功表明,它们比监督模型更好地处理抽象或创造性的视觉。监督训练的模型的优势可能因为要在鲁棒性上面进行微调之后,而鲁棒性数据集和原始 ImageNet-1K 数据集共享相同的类别集合有关。平均而言,ViT 和 ConvNeXt 在监督训练的模型和 CLIP 模型上都具有相似的性能。
图6:鲁棒性 (上) 和可迁移性 (下) 结果
1.8 评测五:迁移性能
模型的迁移学习性能表明它能够适应原始训练域之外的新任务和数据集。好的迁移性能允许以最小的额外努力快速微调,使其更容易将模型扩展到广泛的现实应用中去。模型在不显着降低性能的情况下适应这些变化的能力是其实用性和泛化能力的宝贵指标。例如,考虑一个最初在 ImageNet 上训练的模型,该模型主要由自然图像组成。对其可迁移性的测试是评估该模型在应用于不同领域 (例如医学成像) 时的表现。为了评估模型的迁移性能,作者采用了 VTAB[15] 基准。它包含 19 个不同的数据集,分为3个子类别:自然、专业和结构化。作者遵循 OpenCLIP 中的 linear probing 评测方式,对冻结特征进行线性探测评估。结果如图6所示。
结论8:监督训练的 ConvNeXt 具有较好的迁移性能,几乎与 CLIP 模型的性能相匹配。
作者发现 ConvNeXt 在监督模型方面大大优于 ViT。有趣的是,监督 ConvNeXt 的性能与 CLIP 模型相差不大,这两者都具有相同的平均精度。对于 CLIP 模型,ViT 和 ConvNeXt 表现出相似的性能,许多数据集显示出不到 1% 的性能差距。CLIP 模型通常在所有3个 VTAB 子集上表现出更好的迁移性能,如下图7所示。CLIP 模型的优越性可以归因于更大、更多样化的预训练数据[16]。
图7:VTAB 的迁移性能结果。CLIP 模型在每个数据集子集上都更好
1.8 评测六:合成数据
虽然之前的两个部分侧重于鲁棒性和可迁移性基准,但它们并没有涵盖具有合成数据的训练模型的新且有前途的领域。与人工注释数据不同,合成数据集允许对数据的内容和质量进行精确控制。
PUG-ImageNet[17]是 ImageNet 类的逼真图像的合成数据集,它还为一组因素提供标签。这些图像是使用软件引擎生成的,该引擎允许系统地改变每个对象的姿势、大小、纹理等因素。本文中作者为 PUG-ImageNet 中的10个不同因素及其平均值提供了 top-1 精度。实验结果如图8所示。
图8:PUG-ImageNet 合成数据实验结果
结论9:ConvNeXt 在合成数据上优于 ViT。
有趣的是,ConvNeXt 在 PUG-ImageNet 上除了 Scene Light 的几乎所有因素都优于 ViT。这表明:ConvNeXt 在合成数据上优于 ViT。与监督训练的模型相比,CLIP 训练的模型的精度较低,这可能与它们在原始 ImageNet 上的性能较差有关。
1.9 评测七:变换不变性
在现实世界的场景中的数据并不总是干净的数据,通常会经历一些变化,而在变换的同时保留其语义。这个时候我们就需要确保模型对于这些数据的变换,得到相似的结果,也叫做变换不变性。实现各种类型的变换不变性可以使得网络能够很好地概括不同但语义相似的输入,从而增强其鲁棒性和预测能力。
作者通过实验来评估3种类型的不变性:尺度、移位和分辨率。作者将模型在 ImageNet-1K 验证集上的准确性建模为不同尺度/移位幅度和图像分辨率的函数。
结论10:监督训练的 ConvNeXt 是变换不变性最佳的模型。
如图9所示,可以观察到在监督训练模型下,ConvNeXt 始终优于 ViT。对于 CLIP 模型,这种趋势是相反的,可能是因为 ConvNeXt-clip 训练不足的原因。有趣的是,监督训练的 ConvNeXt 在336的输入分辨率上比在224的原始输入分辨率上得到了更好的性能。总体而言,所有模型对移动的鲁棒性要好于对缩放和输入分辨率的鲁棒性。对于需要变换不变性要求较高的模型来讲,监督训练的 ConvNeXt 是最佳的选择。
图9:尺度、移位和分辨率不变性实验结果
总结
ConvNet vs Transformer 结论:
- 监督训练的 ConvNeXt 优于监督训练的 ViT:它经过更好的校准,对数据转换更不变,具有更好的迁移性能和鲁棒性 (3.3, 3.7, 3.4, 3.5)。
- ConvNeXt 在合成数据上的表现优于 ViT (3.6)。
- ViT 具有更高的形状偏差 (3.2)。
Supervised vs CLIP 结论:
- 尽管 CLIP 训练的模型在迁移性能方面更好,但监督训练的 ConvNeXt 的迁移性能也差不多,展示了监督学习的潜力 (3.5)。
- 监督训练的模型在鲁棒性基准上更好,可能是因为它们是 ImageNet 变体 (3.4)。
- CLIP 模型具有更高的形状偏差,并且相对于 ImageNet 的准确性,分类错误更少 (3.1)。
参考
1.ImageNet classification with deep convolutional neural networks
2.CLIP4Clip: An Empirical Study of CLIP for End to End Video Clip Retrieval and Captioning
3.Robust fine-tuning of zero-shot models
4.A convnet for the 2020s
5.An image is worth 16x16 words: Transformers for image recognition at scale.
6.DeiT III: Revenge of the ViT
7.https://github.com/mlfoundations/open_clip
8.Learning Transferable Visual Models From Natural Language Supervision
9.ImageNet-X: Understanding Model Mistakes with Factor of Variation Annotations
10.ImageNet-trained CNNs are biased towards texture; increasing shape bias improves accuracy and robustness
11.Intriguing Properties of Vision Transformers
12.On calibration of modern neural networks
13.The Many Faces of Robustness: A Critical Analysis of Out-of-Distribution Generalization
14.Revisiting the Calibration of Modern Neural Networks
15.A large-scale study of representation learning with the visual task adaptation benchmark
16.On the Connection between Pre-training Data Diversity and Fine-tuning Robustness
17.PUG: Photorealistic and Semantically Controllable Synthetic Data for Representation Learning