2011年,知名学者Antonio Torralba和Alyosha Efros提出了“数据集偏差之战”,他们发现机器学习模型很容易“过拟合”到特定的数据集上,导致在其他数据集上表现不佳。过去十年,随着深度学习革命的到来,建立多样化、大规模、全面且尽可能无偏的数据集一直是推动这场革命的引擎。
与此同时,算法的进步,特别是神经网络架构的进步,已经在发现数据中的概念、抽象和模式——包括偏见——方面取得了前所未有的能力。
所以,为了研究此问题,何恺明团队设计了一个虚构的”数据集分类”任务。在本篇论文中,研究者们在十年的战斗之后重新审视了数据集偏差问题。本研究基于一个被称之为数据集分类的虚构任务(例如其中一个研究的典型组合被称为“YCD”,呈现了一个三向数据集分类问题),由构建更少偏见的数据集与开发更强大的模型之间的张力驱动。
令研究者和许多最初读者惊讶的是,现代神经网络在这样的数据集分类任务上可以取得极高的准确率,且这一观察结果非常稳健。进一步的实验表明,通过分类数据集学到的表示携带了一些可转移到图像分类任务的语义信息。
总之,报告显示,现代神经网络惊人地有能力从不同的数据集中发现隐藏的偏见。与十年前Torralba和Efros的论文中的 “命名该数据集”游戏 相比,鉴于今天能力强大的神经网络,这个游戏甚至变得更加容易。从这个意义上说,涉及数据集偏见的问题尚未得到缓解。
论文标题:
A Decade’s Battle on Dataset Bias: Are We There Yet?
论文链接:
https://arxiv.org/pdf/2403.08632.pdf
GPT-3.5研究测试:
https://hujiaoai.cn
GPT-4研究测试:
https://higpt4.cn
数据集偏差问题的历史回顾
1. 数据集的早期发展
在计算机视觉研究的早期,数据集的概念并不明确。在计算机出现之前,科学家们已经认识到了测试样本的必要性,以检验他们关于人类视觉系统的计算模型。这些刺激通常由合成图案组成,如线条、条纹和斑点。随着数字化照片设备的引入,研究人员能够在一张或几张真实世界的图像上验证和证明他们的算法,例如自1978年以来一直作为图像处理研究的标准测试图像的“Cameraman”图像。
2. 数据集在任务定义中的角色
随着机器学习方法引入计算机视觉领域,“数据集”的概念变得更加清晰。除了用于验证目的的数据外,机器学习的应用引入了训练数据的概念,算法可以从中优化其模型参数。因此,训练数据和验证数据共同定义了一个感兴趣的任务。
3. 数据集在表示学习中的重要性
在2012年深度学习革命之后,社区很快发现在大规模数据集(如ImageNet)上学习到的神经网络表示具有可迁移性。这一发现引发了计算机视觉领域的范式转变:在ImageNet上预训练表示并将其迁移到下游任务成为常见做法。
因此,ImageNet数据集不再是一个独立的任务,它成为了我们想要表示的通用视觉世界的一个窥视孔。社区开始追求更通用的视觉表示,并努力构建更大、更多样化、希望更少偏见的数据集。
4. 数据集偏差的社会影响
随着数据集的重要性日益增加,社区开始关注由数据集引入的偏差。数据集偏差也具有重要的社会影响。一些知名数据集被发现存在人口统计学和地理位置的偏差,它们还包含有害的社会刻板印象。解决这些偏差对于公平和伦理考虑至关重要。
数据集分类任务的定义与挑战
选择挑战性数据集的标准
在定义数据集分类任务时,研究者有意选择可以使任务具有挑战性的数据集。基于以下考虑选择数据集:
-
它们规模较大,涵盖的概念范围较广,且有足够的训练图像用于数据集分类;
-
它们是通用和多样化的;
-
它们是为了预训练可泛化表示而收集的,或者已经用于这个目的。
神经网络在数据集分类上的高准确率
在对现代神经网络进行的数据集分类任务中,研究者观察到了一些显著的现象,尤其是在不同的数据集组合、模型架构和模型大小方面,神经网络表现出了高准确率。
1. 不同数据集组合的高准确率
实验中,神经网络在多种数据集组合上均展现出了高准确率。例如,在YFCC、CC和DataComp组成的YCD数据集上,模型在保留的验证数据上达到了超过84%的分类准确率,远高于33.3%的随机猜测水平。这种观察在20种可能的3数据集组合中都得到了验证,其中16种组合的准确率甚至超过了80%。
▲图为“不同的模型架构都实现了高精度”的表格
2. 不同模型架构的高准确率
不同代表性模型架构在YCD数据集组合上的表现也被研究了。从最早的AlexNet到最新的ConvNeXt,所有模型架构都能够出色地解决数据集分类任务,其中4种架构的准确率超过了80%,即使是现在看来较为经典的AlexNet也达到了77.8%的强大结果。
3. 不同模型大小的高准确率
在模型大小方面,即使是非常小的模型也能达到强大的准确率。例如,一个只有7K参数的ConvNeXt模型在YCD分类任务上达到了72.4%的准确率。这表明神经网络结构在学习数据集特有的偏差方面非常有效。同时,更大的模型能够获得更好的性能,尽管收益逐渐减少。
模型行为分析:发现数据集偏差
通过对模型行为的深入分析,研究者们发现了一些关于数据集偏差的有趣现象。
1. 排除低级特征签名的可能性
研究者通过在训练和验证集上应用图像损坏来排除模型仅依赖低级特征签名(如JPEG压缩伪影和颜色量化伪影)的可能性。即使在这些损坏的数据上,模型仍然能够达到较高的分类准确率,这表明模型在解决数据集分类任务时不仅仅依赖于低级偏差。
2. 与语义分类任务的对比
研究者通过与伪数据集分类任务的对比,进一步证明了模型在真实数据集分类任务中学到的是共享的、可泛化的模式,而不是简单地记忆训练数据。在伪数据集分类任务中,由于所有伪数据集都是从同一源数据集中抽样得到,模型在验证集上的准确率仅为随机水平,这与真实数据集分类任务的表现形成了鲜明对比。
3. 自监督学习在数据集分类中的表现
即使在自监督学习协议下,模型也能够捕捉到不同数据集之间的某些偏差。通过在不同数据集的联合上预训练一个自监督模型,然后在冻结的特征上训练线性分类器,模型仍然能够达到令人惊讶的高准确率(例如,78%)。
4. 数据集分类学到的特征在语义分类任务中的迁移能力
研究者还研究了数据集分类模型在语义分类任务(如ImageNet-1K分类)上的迁移能力。结果表明,数据集分类模型在ImageNet-1K线性探测任务上能够取得非平凡的准确率。使用更多数据集组合的模型能够获得更高的线性探测准确率,这表明通过发现更多数据集的偏差,模型学到了更好的特征。
总结来说,研究表明,尽管现代数据集非常大、多样化且较少策划,现代神经网络仍然能够轻易地发现隐藏在不同数据集中的偏差。这些偏差包含了一些可泛化和可迁移的模式,这些模式在语义分类任务中也是有用的。
用户研究:人类如何处理数据集分类任务
在数据集分类任务中,人类的表现与现代神经网络的表现形成鲜明对比。为了更好地理解这一任务,研究人员进行了用户研究,以评估人类在此任务上的表现并了解他们的体验。
1、设置 用户被要求对来自YCD组合(YFCC、CC和DataComp)的单个图像进行分类。由于用户可能不熟悉这些数据集,研究人员提供了一个界面,允许用户在尝试预测每个验证图像时无限制地浏览带有数据集身份真实标签的训练图像。每位用户被要求对100张不与他们提供的训练集重叠的验证图像进行分类,没有限制每张图像或整个测试所花费的时间。
2、用户 共有20名自愿参与者参与了用户研究。所有参与者都具有机器学习背景,其中14人有计算机视觉研究经验。
3、用户研究结果 用户在数据集分类任务上的表现统计显示,20名用户中有11名的准确率在40%-45%之间,7名用户的准确率在45%-50%之间,只有2名用户的准确率超过50%。平均准确率为45.4%,中位数为44%。
人类的表现高于随机猜测的水平(33.3%),这表明存在一些人类可以发现的模式来区分这些数据集。然而,人类的表现远低于神经网络的84.7%。
研究还发现,具有计算机视觉研究经验的14名用户的平均表现并不比其他用户好。在这14名用户中,他们在了解研究者的工作之前预估神经网络在此任务上的表现,预估值为60%(2名用户)、80%(6名用户)和90%(1名用户);有5名用户选择不回答。
参与者中有15名描述任务为“困难”,没有人认为任务“容易”。有2名参与者评论说他们发现任务“有趣”。研究者进一步询问用户他们发现并用于解决此任务的数据集特定模式。用户的回应总结包括YFCC、CC、DataComp三方面。
在这些用户反馈中,有一些简单的偏见可以被利用(例如DataComp的“白色背景”),这有助于提高用户预测准确率,超过随机猜测水平。然而,许多偏见类型,如图像中包含的“人”,既不充分也不有意义,因为所有数据集都包含有“人”出现的图像。
结论:现代神经网络对数据集偏差的敏感性
在对现代神经网络和大规模数据集的数据集分类问题的重新审视中,研究者观察到现代神经网络仍然可以轻易地捕捉到数据集偏差。这一现象在模型、数据集组合和许多其他设置中都是稳健的。
值得指出的是,神经网络捕捉到的具体偏差形式仍然不甚清楚。研究者发现这种偏差可能包含一些可泛化和可迁移的模式,并且可能不容易被人类察觉。
讨论与未来工作:数据集偏差问题的深入探讨与解决途径
1. 数据集偏差的本质
数据集偏差的本质可能并非人类容易察觉的低级特征。实验表明,即使在对数据集施加了各种形式的干扰后,神经网络仍能保持较高的分类准确性,这表明网络在解决数据集分类任务时,可能依赖于超越低级特征的某些模式。
2. 数据集偏差与模型泛化能力
研究者们观察到了数据集分类任务中的神经网络表现出与语义分类任务类似的泛化行为。这意味着网络可能在学习某些可泛化到未见数据的语义模式,而非仅仅记忆训练数据。这一点在增加训练数据量和使用数据增强时得到了进一步的证实,因为这些操作提高了模型在验证数据上的准确性。
3. 自监督学习与数据集偏差
即使在没有使用数据集标识作为标签的自监督学习模型中,也观察到了能够捕捉不同数据集之间偏差的能力。这表明,即使在不直接针对数据集分类任务进行训练的情况下,预训练的模型也能学习到一些对数据集分类有用的判别特征。
4. 解决数据集偏差的途径
为了减少数据集偏差对模型性能的影响,社区已经开发了多种方法,如多数据集训练、测试时对数据集偏差的适应性调整,以及针对数据集偏差的自动分析工具。
因此,何恺明和刘壮等为我们提了一个醒,研究表明,即使是最新的数据集和模型,也无法完全避免偏差问题。所以未来的研究需要进一步探索如何更有效地识别和减轻数据集中的偏差,以及如何设计更加公平和道德的数据集。