论文: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]),科学家们已经认识到“测试样本”的必要性,当时通常被称为“刺激”,以检验他们关于人类视觉系统的计算模型。刺激通常由合成的图案组成,如线条、条