论文精翻:在数据集偏差上的十年斗争:我们取得胜利了吗?

论文:A Decade’s Battle on Dataset Bias: Are We There Yet?刘壮(DenseNet,ConvNeXt),何恺明

论文链接:https://arxiv.org/abs/2403.08632

论文翻译:

摘要

        在这个拥有大规模、多样化、希望较少偏差的数据集,以及更强大的神经网络体系结构的新时代,我们回顾了Torralba和EFros在十年前提出的“数据集分类”实验[51]。令人惊讶的是,现代神经网络在分类图像所属数据集方面取得了出色的准确性:例如,在包含YFCC、CC和DataComp数据集的三分类问题的保留验证数据上,我们报告了84.7%的准确性。我们进一步的实验表明,这种数据集分类器能够学习可泛化和可转移的语义特征,而这不能简单地通过记忆解释。我们希望我们的发现能激励社区重新思考涉及数据集偏差和模型功能的问题。

引言

        2011年,Torralba和EFros呼吁在度学习革命来临之前,在社区中与数据集偏差作斗争。在接下来十年里,在构建多样化、大规模、全面、希望较少偏差的数据集方面取得的进展(例如,[27,30,40,42,49])一直是推动深度学习革命的引擎。与此同时,算法的进步,特别是神经网络结构的进步,在从数据中发现概念、抽象和模式——包括偏差——方面的能力达到了前所未有的水平。

        在这项工作中,经过长达十年的斗争,我们重新“公正地看待数据集偏差”。我们的研究是由构建偏差较小的数据集和开发更强大的模型之间的紧张关系推动的--后者在Torralba和EFros的论文发表时还不那么突出。虽然减少数据偏差的努力可能会带来进展,但先进模型的开发可能会更好地利用数据集偏差,从而抵消这一前景。

重新审视如何平衡这两个方面,以更好地理解和利用数据集偏差,以及开发更具能力的模型来应对这一挑战

        我们的研究基于一项虚构的任务,我们称之为数据集分类,这是在[51]中设计的“命名数据集”实验(图1)。具体地说,我们从几个数据集中的每个数据集中随机抽样大量(例如,多达一百万)图像,并训练神经网络关于它们的联合来分类图像来自哪个数据集。我们实验的数据集大概是从互联网上收集的最多样化、最大和最原始的数据集之一。例如,我们研究的一个典型的组合,称为“YCD”,由来自YFCC[49]、CC[4]和DataComp[15]的图像组成,并提出了一个3向数据集分类问题。

        令我们(和我们许多最初的读者)惊讶的是,现代神经网络在这样的数据集分类任务中可以达到极高的准确率。在前面提到的对人类具有挑战性的YCD集合(图1)中进行训练,一个模型可以在保留的验证数据集上达到84%以上的分类准确率,而随机猜测的分类准确率为33.3%。这一观察结果在大量数据集组合和不同代体系结构[11、20、26、31、44]上具有高度的鲁棒性,在大多数情况下实现了非常高的准确率(例如,超过80%)。

        有趣的是,对于这样的数据集分类任务,我们有一系列类似于在语义分类任务(例如,对象分类)中观察到的观察结果。例如,我们观察到,在更多的样本上训练数据集分类器,或者使用更强大的数据增强,可以提高在保留验证数据上的准确性,即使训练任务变得更加困难。这类似于语义分类任务中的泛化行为。这种行为表明,神经网络试图发现特定于数据集的模式--一种偏差的形式--来解决数据集分类任务。进一步的实验表明,通过对数据集进行分类而学习到的表示携带了一些语义信息,而这些语义信息可以转移到图像分类任务中。

        作为比较,如果不同数据集的样本是从相同分布中无偏地抽取的,那么模型就不应该发现任何特定于数据集的偏差。为了验证这一点,我们研究了一个伪数据集分类任务,在该任务中,从单个数据集中均匀采样不同的“数据集”。我们注意到,这个分类任务很快就变得很难处理,因为分类器处理这个任务的唯一方法是记住每个单独的实例及其子集身份。因此,增加样本数量或使用更强的数据增强,会使记忆在实验中变得更难或更难处理。没有观察到可迁移性。这些行为与实际数据集分类任务的行为惊人地相反。

        (在这种情况下,虽然不同“数据集”的标签可能有所不同,但它们的特征分布是相同的,因为它们都是从同一个数据集中采样得到的。这是因为在这个伪数据集分类任务中,虽然标签可能不同,但数据集的特征分布并没有真正改变。例如,如果我们考虑一个猫的数据集,尽管不同的图片可能显示不同颜色、姿势或背景的猫,但它们共享的特征(如猫的身体形状、眼睛、耳朵等)仍然是相似的。因此,即使从同一个数据集中抽样得到的不同“数据集”可能在标签上有所不同,但它们的实际特征分布是相似的,因为它们都来自同一个数据源。

        更令人惊讶的是,我们观察到,即使是自监督的学习模型也能够捕获不同数据集之间的某些偏差。具体来讲,我们在不同数据集的联合上预先训练一个自监督模型,而不使用任何数据集身份作为标签。然后,在冻结预先训练的表示的情况下,我们训练一个线性分类器来完成数据集分类任务。尽管该线性层是数据集身份标签唯一可调的层,但该模型仍然可以实现令人惊讶的高精度(例如,78%)用于数据集分类。这种迁移学习行为类似于典型的自监督学习方法的行为(例如,图像分类)。

        总而言之,我们报告了现代神经网络惊人地能够从不同的数据集中发现隐藏的偏差。即使对于非常庞大、多样化、不那么精选、大概也不那么偏差的现代数据集来说,这种观察也是正确的。神经网络可以通过发现可泛化的模式(即,从训练数据到验证数据或到下游任务的泛化)来解决这一任务,表现出类似于在语义分类任务中观察到的行为。

        与十年前Torralba和EFros的论文中的“命名数据集”游戏相比,考虑到当今强大的神经网络,这个游戏甚至变得更加容易。从这个意义上说,涉及数据集偏差的问题并没有得到缓解。我们希望我们的发现将在社区中引发关于数据集偏差与不断改进的模型之间的关系的新讨论。

(从这个意义上来看,即使今天的神经网络能够更有效地学习和利用数据集中的特征和模式,也并不意味着数据集偏差的问题得到了缓解。数据集偏差指的是数据集中存在的特定模式或特征,这些模式或特征可能反映了数据收集过程中的偏见或限制。尽管现代神经网络能够更好地发现和利用这些特定模式,但这并不意味着模型能够真正理解这些模式的根本原因或解决数据集偏差的问题。实际上,神经网络可能会过度拟合这些数据集偏差,导致在其他数据集上的泛化能力下降,甚至在实际应用中产生不良影响。因此,尽管神经网络的性能在特定任务上可能会提高,但数据集偏差的问题仍然存在,并且可能需要额外的努力和注意力来解决。)

数据集简史

前数据集时代。

        在计算机视觉研究的历史上,“数据集”的概念并不是直接出现的。在计算机出现之前(例如,参见Helmholtz在19世纪60年代的著作[57]),科学家们已经认识到“测试样本”的必要性,当时通常被称为“刺激”,以检验他们关于人类视觉系统的计算模型。刺激通常由合成的图案组成,如线条、条纹和斑点。使用合成图案的做法在计算机视觉的早期工作中得到了延续。

        在引入数字化照片设备后,研究人员立即能够在一张或几张真实世界的图像上验证和证明他们的算法是正确的[39]。例如,自1978年以来,摄影师图像[41]一直用作图像处理研究的标准测试图像。使用数据(通常不被称为“数据集”)来评估计算机视觉算法的概念逐渐由社区形成。

任务定义的数据集。

        随着机器学习方法被引入计算机视觉领域,“数据集”的概念变得更加清晰。除了用于验证目的的数据外,机器学习的应用还引入了训练数据的概念,算法可以从训练数据中优化其模型参数。

        因此,放在一起的训练数据和验证数据本质上定义了感兴趣的任务。例如,MNIST数据集[29]定义了10数字分类任务;Caltech-101数据集[14]定义了101个对象类别的图像分类任务;PASCAL VOC数据集[13]定义了20个对象类别的分类、检测和分割任务系列。

        为了激励更强大的算法,定义了更具挑战性的任务,尽管不一定对日常生活有更大的兴趣。其中最著名的例子是ImageNet数据集[8],这可能会让今天的读者感到惊讶。ImageNet有1000个类别的100多万张图片(其中许多是细粒度的动物物种),即使是普通人也无法识别[24]。在ImageNet提出的时候,解决这一任务的算法似乎很麻烦--例如,组织者提供了预先计算的SIFT特征[32],以方便人们研究这个问题,而当时的典型方法可能会训练1000个支持向量机分类器,这本身就是一个不平凡的问题[56]。如果 ImageNet 仅仅作为一项任务存在,我们就无法见证深度学习革命。

        但一种范式的转变正在等待着。

用于表征学习的数据集。

        在2012年的深度学习革命之后[26],社区很快发现,在像ImageNet这样的大规模数据集上学习的神经网络表示是可迁移的(例如,[10,17,62])。这一发现带来了计算机视觉的范式转变:预先训练ImageNet上的表示并将它们转移到下游任务成为一种常见的做法。

        因此,ImageNet数据集不再是它自己的任务;它成为我们想要表示的通用视觉世界的一个针孔。因此,过去的繁琐方面成为了这个数据集的优势:它比当时大多数(如果不是所有的)其他数据集具有更多的图像数量和更多样化的类别,从经验上证明,这些属性对于学习良好的表示非常重要。

        在ImageNet巨大成功的鼓舞下,社区开始追求更一般、更理想的通用视觉表示。已经付出了巨大的努力来构建更大、更多样化、有望更少偏差的数据集。示例包括YFCC100M[49]、CC12M[4]和DataComp-1B[15]--本文研究的主要数据集--以及其他许多数据集[9,42,45,46]。有趣的是,这些数据集的构建并不总是定义要解决的感兴趣的任务;实际上,这些大规模数据集中的许多甚至没有提供训练/验证集的拆分。这些数据集的建立是以预训练为目标的。

关于数据集偏差。

        鉴于数据集的重要性与日俱增,数据集带来的偏差已经引起了社区的关注。Torralba和EFros[51]提出了数据集分类问题,并在使用支持向量机分类器的手工特征的背景下检查了数据集偏差。Tommasi等人[50]利用神经网络对数据集分类问题进行了研究,特别是针对具有预先训练的ConvNet特征的线性分类器[10]。他们研究的数据集规模更小,与今天的网络规模数据相比也更简单。

        对不同数据集进行分类的概念在领域自适应方法中得到了进一步发展[16,53]。这些方法学习分类器来相反地区分来自不同领域的特征,其中每个领域可以被认为是一个数据集。众所周知,用这些方法研究的问题有很大的domain gaps。相反,我们研究的数据集大概不太容易区分,至少对人类来说是这样。

        研究数据集偏差的另一个方向是复制数据集的收集过程,并检查复制的数据。ImageNetV2[38]复制了ImageNet验证集的协议。它注意到,这种复制的数据仍然明显表现出偏差,这反映在准确性的下降上。在[12]中对偏差进行了进一步的分析。

        已经创建了许多基准[21,22,25,64]来测试模型在各种形式的偏差下的泛化,例如常见的腐败和危险的条件。在减轻数据集偏差方面也有很多工作要做。对多个数据集[28,33]进行训练可以潜在地减轻数据集偏差。使模型适应测试时具有不同偏差的数据的方法[47,59]最近也变得流行起来。

        数据集的偏差也具有重大的社会影响。几个著名的数据集已经被发现在人口统计学[3,61]和地理[43]方面存在偏差。它们还包含有害的社会成见[36、54、68]。解决这些偏见对于公平和伦理考量至关重要。像REVISE[58]和Know Your Data[18]这样的工具可以自动分析数据集中的潜在偏差。去偏差方法,如对抗性学习[65]和领域独立训练[60],在减少数据集偏差的影响方面也有很大前景。

数据集分类

        数据集分类任务[51]被定义为类似于图像分类任务,但是每个数据集形成其自己的类。它产生了N路分类问题,其中N是数据集的数量。在由从这些数据集中采样的保持图像组成的验证集上评估分类精度。

关于我们使用的数据集

        我们有意识地选择可能使数据集分类任务具有挑战性的数据集。我们基于以下考虑来选择我们的数据集:(1)它们的规模很大。较小的数据集可能覆盖的概念范围较窄,并且它们可能没有足够的训练图像用于数据集分类。(2)具有普遍性和多样性。我们避免使用关于特定场景(例如,城市[6]、场景[69])或特定元对象类别(例如,花[34]、宠物[35])的数据集。(3)它们是以预先训练可泛化表示的目的收集的,或以此目的使用的。根据这些标准,我们选择了表1中列出的数据集。

        尽管这些数据集应该更加多样化,但它们在收集过程中仍然存在差异,这可能会导致它们个体上的偏差。例如,它们的来源是不同的:Flickr是用户上传和分享照片的网站,Wikipedia是专注于知识和信息的网站,Common Crawl是爬取网络数据的组织,而更广泛的互联网包含比这些特定网站更广泛的内容(与像Flickr、Wikipedia和Common Crawl这样的特定网站相比,整个互联网上的内容更加多样化和广泛)。此外,数据收集过程涉及不同级别的策划(有些数据集可能经过了严格的策划和管理,而另一些可能没有经过同样程度的处理):例如,LAION是通过对CLIP模型[37]进行逆向工程并重现其零样本准确性[42]来收集的。

        尽管我们意识到了这些潜在的偏差,但神经网络捕捉它们的出色能力超出了我们的预期。特别是,我们注意到,我们通过将网络单独应用于每个验证图像来评估网络的数据集分类精度,这确保了网络没有机会利用几个图像的潜在统计数据。(评估过程确保了网络不能通过观察多个图像的统计信息来提高其分类准确性。)

主要观察

        我们观察到神经网络在这个数据集分类任务中取得了令人惊讶的高准确度。这一观察结果在不同的设置下都是鲁棒的。默认情况下,我们分别从每个数据集中随机抽取100万张和1万图像作为训练集和验证集。我们使用ConvNeXt-T模型[31]进行训练,按照监督训练的常规做法进行操作(实现细节见附录)。我们在实验中观察到以下行为:

不同的数据集组合中观察到了高准确率

        在表2(顶部面板)中,我们列举了从表1列出的6个数据集中选择3个的所有20个(C36)可能的组合。总而言之,在所有情况下,网络实现了62%的数据集分类准确率;在所有20个组合中的16个组合中,它甚至达到了80%的准确率。在YFCC、CC和ImageNet的组合中,准确率最高达到92.7%。请注意,随机猜测的准确率为33.3%。在表2(底部面板)中,我们研究了涉及3、4、5和所有6个数据集的组合。正如预期的那样,使用更多的数据集会导致更困难的任务,这反映在准确度的下降上。然而,当包含所有6个数据集时,网络仍然达到69.2%的准确率。

在模型体系结构中观察到了高准确率

        在表3中,我们报告了使用不同代的代表性模型体系结构:AlexNet[26]、VGG[44]、ResNet[20]、Vit[11]和ConvNeXt[31]在YCD组合的结果。

        我们观察到,所有的体系结构都可以很好地解决这个问题:5个网络中有4个网络的准确率超过了80%,即使是现在经典的AlexNet也达到了77.8%的强势结果。

        这一结果表明,无论其具体结构如何,神经网络在捕获数据集偏差方面的效果都非常好。在AlexNet的论文发表后,网络体系结构设计取得了重大进展,包括归一化层normalization layers[2,23]、残差连接residual connections[20]、自注意力self-attention[11,55]。网络架构中的“归纳偏差”也可能不同[11]("归纳偏差"指的是网络架构中的偏好或倾向,它可能基于经验或先验知识,影响网络在学习任务中的表现。)。然而,它们似乎都不是数据集分类所必需的(例如,VGG[44]没有这些组件):捕获数据集偏差的能力可能是深层神经网络固有的特性,而不是由特定组件实现的。

在不同的模型大小上观察到了高准确率

        默认情况下,我们使用ConvNeXt-Tiny(27M参数)[31]。“微小”一词参照了现代对ViT大小的定义[11,52],与ResNet-50(25m)[20]相当。在图2中,我们通过不同的宽度和深度报告了不同大小的模型的结果。更令我们惊讶的是,即使是非常小的模型也可以达到很强的数据集分类任务的准确性。仅用7K个参数(Resnet-50的3/10000)的ConvNeXt就能达到72.4%的分类正确率。这表明神经网络的结构在学习潜在的数据集偏差方面非常有效。数据集分类可以在没有大量参数的情况下完成,这通常被认为是深度学习在传统视觉识别任务中取得成功的原因。

        我们还观察到,较大的模型变得越来越好,尽管收益变得越来越小。这与传统视觉识别任务的观察结果一致。

        此外,我们没有观察到过拟合行为达到我们所研究的模型大小和数据集规模的程度。这意味着可能存在可泛化的模式,帮助模型确定数据集身份,并且模型不试图记忆训练数据(这暗示着模型可能在学习时捕捉到了一般化的模式,而不是简单地记住了训练数据的细节)。接下来我们将介绍更多关于泛化和记忆的研究。

        "generalization" 指的是模型在从训练数据中学到的知识在新的、未见过的数据上的适用性能力。一个具有良好泛化能力的模型能够对新数据做出准确的预测,而不仅仅是对训练数据中的样本表现良好。

        "memorization" 指的是模型仅仅记住了训练数据的特定细节,而没有真正学到数据背后的一般规律。一个过度记忆训练数据的模型可能在训练集上表现很好,但在未见过的数据上表现不佳。

数据集分类准确度得益于更多的训练数据。

        我们改变了用于YCD分类的训练图像的数量,并在图3中给出了结果。

        有趣的是,训练数据越多的模型获得了更高的验证精度。这一趋势在现代的ConvNeXt和经典的AlexNet中都得到了一致的观察。虽然这种行为在语义分类任务中似乎是自然的,但我们注意到,在数据集分类中并不一定成立:事实上,如果模型在记忆训练数据方面遇到困难,它们在验证数据上的泛化性能可能会下降。观察到的行为——即更多的训练数据提高了验证准确率——表明该模型正在学习某些语义模式,这些模式可以推广到未见过的数据,而不是仅仅记忆和过拟合训练数据。

(这段话的原理是在讨论模型在处理训练数据时是否只是简单地记住了数据,而没有真正学到泛化模式。如果模型只是试图记住训练数据,而没有学到泛化模式,那么在验证数据上的泛化性能可能会下降,因为模型没有真正理解数据背后的潜在规律,而只是记住了训练数据的特定细节。然而,作者观察到的现象是,随着训练数据的增加,模型在验证数据上的性能提高了。这暗示着模型并不是简单地记住了训练数据,而是在学习某些语义模式,这些模式可以推广到未见过的数据。换句话说,模型正在学习一般化的特征和规律,而不是仅仅记忆和过拟合训练数据。因此,更多的训练数据提高了验证准确率,表明模型正在进行有效的泛化学习,而不是简单地记忆训练数据。)

数据集分类准确率得益于数据增强。

        数据增强[26]预期具有与增加数据集大小(这也是其命名背后的原理)类似的效果。我们的默认训练设置使用了随机裁剪[48]、RandAug[7]、Mixup[67]和CutMix[63]数据增强方法。表4显示了使用(减少或不使用)数据增强的结果。

        添加数据增强使得记住训练图像变得更加困难。然而,使用更强的数据增强始终可以提高数据集的分类准确度。这种行为在每个数据集的训练图像数量不同的情况下都保持基本一致。同样,这种行为与语义分类任务中观察到的情况相似,表明数据集分类不是通过记忆实现的,而是通过学习可以从训练集泛化到未见验证集的模式。

总结。

        综上所述,我们观察到神经网络具有很高的解决数据集分类任务的能力和良好的准确性。这一观察结果在各种情况下都成立,包括不同数据集的组合、各种模型架构、不同的模型大小、数据集大小和数据增强策略。

分析

在本部分中,我们将分析涉及数据集分类任务的不同修改版本中的模型行为。这揭示了神经网络用于数据集分类的更耐人寻味的特性。

低级特征?

        高准确率可能仅仅是由于低级别特征,这些特征对人类来说不太明显,但很容易被神经网络识别。这些潜在特征可能涉及JPEG压缩伪像(例如,不同的数据集可能具有不同压缩质量的因子)和颜色量化伪像(例如,根据各个数据集对颜色进行修剪或量化)。我们设计了一系列实验来帮助我们排除这种可能性。

        具体而言,我们将某种特定类型的图像损坏应用于训练集和验证集,在此基础上对我们的模型进行训练和评估。换言之,我们对损坏的数据进行数据集分类任务。我们考虑了四种类型的图像损坏:(I)颜色抖动[26],(II)添加固定标准差的高斯噪声(STD);(III)通过固定大小的高斯核来模糊图像;以及(IV)降低图像分辨率。图4显示了每种损坏的一些示例图像。我们注意到,我们一次应用一种类型的损坏,从而产生一种明显不同的数据集分类数据。

        (作者之所以进行这样的实验设计,是为了验证高准确率是否仅仅是因为模型学习了低级别的特征,而不是真正理解了数据中的语义内容。通过在损坏的图像上进行数据集分类任务,作者可以观察到模型在面对不同类型的图像损坏时的表现,从而更好地了解模型的泛化能力和对数据的理解程度。

        这种实验设计的原理在于,通过引入不同类型的图像损坏,可以模拟真实世界中数据的多样性和复杂性,从而更全面地评估模型的性能。如果模型仍然能够在损坏的数据上实现高准确率,那么就表明模型不仅仅是学习了低级别的特征,而是真正理解了数据中的语义内容,具有更强的泛化能力。)

        表5显示了每种图像损坏对数据集分类结果的影响。正如预期的那样,损坏降低了分类准确率,因为训练集和验证集都会受到影响。尽管纯在降级,但仍然可以达到很高的分类准确率,特别是当损坏程度较弱时。引入这些不同类型的损坏应该会有效地破坏低级别特征,例如JPEG或颜色量化伪像。结果表明,模型试图在解决数据集分类任务时超越了使用低级偏差。

记忆还是泛化?

        在3.2节中,我们已经证明了为数据集分类学习的模型的行为类似于为语义分类任务学习的模型(图3和表4),在某种意义上,它们表现出泛化行为。这种行为与记忆行为形成鲜明对比,我们将在接下来的比较中讨论这一点。

        我们考虑了一个伪数据集分类任务。在此场景中,我们手动创建多个伪数据集,所有这些伪数据集都是从相同的源数据集进行不重复采样的。我们期望这一过程将给我们带来多个真正没有偏差的伪数据集。

        表6报告了针对该伪数据集分类任务而训练的模型的训练准确率,该训练模型使用不同数目的训练图像集,有无数据增强。当任务相对简单时,模型可以达到100%的训练精度;然而,当任务变得更加困难时(更多的训练图像或更强的增强)。模型不能收敛,表现为不稳定的、不减小的损失曲线。

        这一现象意味着该模型试图记忆单个图像及其标签来完成这一伪数据集分类任务。因为这些伪数据集中的图像是无偏差的,所以不应该有可以发现的共享模式来区分这些不同的集合。结果,模型被迫记住图像及其随机标签,类似于[66]中的场景。但是,当给予更多的训练图像或更强的增强时,记忆变得更加困难,这将使训练过程在一定时间点后失败。

        这种现象与我们在实际数据集分类任务中观察到的情况不同(图3和表4)。这再次表明该模型试图在实际数据集分类任务中捕获共享的、可泛化的模式。

        虽然这似乎是显而易见的,但我们注意到,针对伪数据集分类任务训练的模型并不适用于验证数据(验证数据是保留并从每个伪数据集中进行采样的)。即使在训练准确率为100%的情况下,我们在验证集中也报告了~33%的随机水平准确率。

        (作者进行这样的分析与实验设计的原因在于,他们想要确定模型在面对伪数据集分类任务时是否表现出记忆性行为还是泛化性行为。通过人为创建的伪数据集,作者可以控制数据集的特征,确保其中不存在真实数据集中存在的可泛化的模式。通过控制伪数据集的构成,作者可以排除真实数据集中的共享模式,从而使得模型无法依靠这些模式进行泛化。这样一来,如果模型在伪数据集上表现出记忆性行为,即使训练准确率很高,也不能将所学到的模式泛化到验证数据上。当模型在这种伪数据集上表现出记忆性行为时,即使训练准确率很高,也无法将所学到的模式泛化到验证数据上,表明模型仅仅是记住了训练数据,而没有真正理解数据中的语义内容。这与作者之前观察到的真实数据集分类任务中的泛化行为形成对比,从而强调了模型在真实任务中学习到的是可泛化的模式而不仅仅是记忆性的特征,是因为在真实任务中,模型需要能够处理未见过的数据,并且具有一定的泛化能力。如果模型只是简单地记住了训练数据中的特征和标签,而没有学习到数据背后的真实规律和语义信息,那么它在面对新数据时很可能会表现不佳。)

自监督学习

        到目前为止,我们所有的数据集分类结果都是在完全监督的协议下呈现的:模型在完全监督下进行端到端训练(使用数据集身份作为标签)。接下来,我们探索了一种自监督协议,遵循在自监督学习场景中用于语义分类任务的通用协议。

        在形式上,我们预先训练了一个自监督的学习模型MAE[19],而不使用任何标签。然后,我们冻结从这个预训练模型中提取的特征,并使用监督训练一个线性分类器来完成数据集分类任务。这称为线性探测协议。我们注意到,在该协议中,只有线性分类器层在数据集分类标签的监督下是可调的。线性探测呈现了一个更具挑战性的场景。

        表7显示了自监督协议下的结果。即使使用了在标准ImageNet(不涉及YCD图像)上进行预训练的MAE模型,该模型在数据集分类任务中也达到了76.2%的线性探测正确率。在这种情况下,只有线性分类器层暴露于数据集分类数据。

        而使用在相同YCD训练数据上预训练的MAE模型,该模型在线性探测中实现了更高的准确率,达到了78.4%。请注意,尽管该MAE针对相同的目标数据进行了预训练,但它并不事先知道其目标是数据集分类。然而,预训练模型可以学习到比在ImageNet等不同数据集上预训练的模型更具有判别性的特征(针对这个任务)。这种迁移学习行为再次类似于在语义分类任务中观察到的行为。

通过对数据集进行分类而学习的特征

        我们已经证明,针对数据集分类而训练的模型可以很好地推广到看不见的验证数据。接下来,我们研究这些模型如何很好地迁移到语义分类任务中。为此,我们现在将数据集分类作为一种预训练任务,并在语义分类任务(ImageNet-1K分类)上对冻结的特征执行线性探测。表8显示了使用不同的数据集组合预先训练的数据集分类模型的结果。

        与使用随机权重的基线相比,数据集分类模型可以达到非凡的ImageNet-1K线性探测准确率。重要的是,使用更多数据集的组合可以提高线性探测准确率,这表明通过发现更多数据集之间的偏差可以学习到更好的特征。

        作为参考,应该注意到,通过数据集分类学习的特征比通过专门的自监督学习方法学习的特征要差得多,如MAE[19]、MoCov3[5]等,这与预期不谋而合。然而,我们的实验表明,神经网络模型发现的数据集偏差与对图像分类有用的语义特征相关。

用户研究

        为了更好地了解数据集分类任务,我们进一步进行了用户研究,以评估人类可以多好地完成这项任务,并学习他们的经验。

设置。

        我们要求我们的用户对从YCD组合中采样的单个图像进行分类。因为用户可能不熟悉这些数据集,所以当他们尝试预测每一幅验证图像时,我们为他们提供了一个界面,让他们可以无限地浏览训练图像(带有他们数据集身份的GT标签)。我们要求每个用户对100个与提供给他们的训练集不重叠的验证图像进行分类。我们不限制每个图像或整个测试所允许的时间。

用户。

        一组20名志愿者参与了我们的用户研究。他们都是具有机器学习背景的研究人员,其中14人具有计算机视觉研究经验。

用户研究结果。

        图5显示了关于数据集分类任务的用户研究结果的统计信息。总而言之,在所有20个用户中,11个用户的准确率在40%-45%之间,7个用户的准确率在45%-50%之间,只有2个用户的准确率超过50%。平均值为45.4%,中位数为44%。

        人类的表现高于随机猜测水平(33.3%),这表明人类可以发现一些模式来区分这些数据集。然而,人类的表现远远低于神经网络的84.7%。

        我们还报告说,拥有计算机视觉研究经验的14名用户的平均表现并不比其他用户好。在这14名用户中,我们还提出了这样一个问题:对于这项任务,你期望一个神经网络能达到多高的精度?来自2个用户的估计为60%,来自6个用户的估计为80%,来自1个用户的估计为90%;有5个用户选择不回答。用户在意识到我们的工作之前做出了这些估计。

        有15名参与者将这项任务的难度描述为“困难”。没有参与者将这项任务描述为“容易”。2名参与者评论说,他们觉得这项任务“很有趣”。我们进一步询问用户,他们发现并使用了哪些特定于数据集的模式来解决这项任务。我们将他们的回复汇总如下,括号中的括号表示有多少用户提到了相同的模式:

YFCC:人物(6),风景(3),自然光线,植物,生活方式(2),现实世界,运动,婚礼,高分辨率(2),更暗,最具体,最新,杂乱;

CC:卡通(2),动画,服装样本,产品,标志,概念,解释性文本,地理,家具,动物,低分辨率,多彩,更亮,日常图像,本地图像,单人,现实,干净的背景;

DataComp:白色背景(3)、白色空间、透明背景、更干净的背景、单品(2)、产品(2)、商品、LOGO风格、产品展示、文字(2)、大量文字、艺术文字、广告、贴纸、动画(2)、截图、特写、单人、人物、非现实图标、卡通、复古;

(这些模式反映了每个数据集中存在的多样性和特异性,表明模型可以利用这些潜在线索在数据集特定任务上表现更好)

        在这些用户响应中,有一些简单类型的偏差可以被利用(例如,DataComp的“白色背景”),这可以帮助提高用户预测的准确性,而不是随机猜测水平。然而,许多类型的偏见,如在图像中包括“人”,对于识别图像既不充分也不具意义(例如,所有数据集都包含有人的图像)。

结论

        在现代神经网络和大规模数据集的背景下,我们重新讨论了数据集分类问题。我们观察到,数据集的偏差仍然可以很容易地被现代神经网络捕获。这种现象在模型、数据集组合和许多其他设置中都很稳定。值得指出的是,神经网络捕捉到的偏差的具体形式在很大程度上仍不清楚。我们发现,这种偏差可能包含一些可泛化和可迁移的模式,而且它可能不容易被人类注意到。我们希望将进一步的努力投入到这个问题上,这也将有助于在未来建立更少偏差的数据集。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值