与数据集偏差的十年之战:我们成功了吗?

本文回顾了过去十年深度学习中的数据集偏差问题,通过现代神经网络在数据集分类任务上的出色表现,揭示了模型对数据集特定偏差的学习。研究指出,随着神经网络能力提升,数据集偏差问题并未完全解决,引发了关于构建更少偏差数据集与强化模型能力之间的讨论。
摘要由CSDN通过智能技术生成

在这里插入图片描述
论文地址https://arxiv.org/pdf/2403.08632.pdf
代码地址:https://github.com/liuzhuang13/bias

1. Introduction

    2011年,深度学习革命的黎明之前,Torralba 和 Efros 在十年之前呼吁 “数据集分类 (Dataset Classification)” 问题[1],即对图像所来自的数据集进行分类。如果数据集分类的精度很容易很高,那么说明数据集偏差的问题广泛存在。反之,如果这个精度很难提升,那么说明今天数据集偏差的问题解决得还不错。在过去的十年中,构建多样化、大规模、全面以及可能是偏差更少的数据集[2][3][4]一直是推动深度学习革命的重要引擎。与此同时,算法方面,尤其是神经网络架构,也在从数据中发现概念、抽象和模式 (包括偏差) 等方面取得了前所未有的进步。
    在本文中,作者带我们重新审视了这场浩大的十年之战,力求 “不偏不倚地看待数据集的偏差 (unbiased look at dataset bias)”。本文研究的动机是一种 “紧张关系”,即: “构建具有更少偏差的数据集” 和 “构建更高级的神经网络模型” 之间的一种紧张关系。在 Torralba 和 Efros 发文的 2011 年,神经网络模型能力还相对较弱。如今十年过去了,虽然我们能够构建偏差更少的数据集,但是神经网络也变得更加高级了,它们又可以更好地利用数据集中的偏差。所以数据集分类的问题到今天发展到哪一步了?
    为此,本文研究了这样一个虚构的任务,即 2024 版的 “数据集分类 (Dataset Classification)” 实验[1],也就是 “Name That Dataset” 实验,如下图1所示。具体而言,作者从 YFCC[4], CC[5]和 DataComp[6]这三个数据集 (合在一起叫做 YCD 数据集) 中的每一个中随机抽取大量 (高达 100 万) 的图像,并在它们的联合上训练一个神经网络来对图像取自哪个数据集进行分类。
    令人惊讶的是,现代神经网络可以在这样的数据集分类任务上达到非常出色的精度。比如在上面的对人类十分具有挑战性的 YCD 数据集上训练,模型的分类准确度 >84%,而瞎猜的准确度只有 33.3%。这一观察结果非常稳健,在各种数据集组合和几代的神经网络架构 (AlexNet, VGG, ResNet, ViT, ConvNeXt) 上,在大多数情况下实现了非常高的准确度 (比如超过了 80%)。
    有趣的是,就是对于这样的数据集分类任务,也可以观察到很多在类似于在语义分类任务 (比如图像分类) 中观察到的观察结果。比如,作者观察到即使训练任务变得更加困难,在更多样本上训练数据集分类器或使用更强的数据增强可以提高验证集的精度。这类似于语义分类任务中的泛化行为。这种行为表明神经网络在试图发现特定于数据集的模式,即:神经网络在试图学到一种特定的偏差形式来解决数据集分类任务。而且,也可以观察到,通过数据集分类任务训练的模型也展示出迁移性,即带有一些可以迁移到图像分类任务上面的语义信息。相比之下,如果不同数据集的样本都无偏地来自相同的分布,则模型就没法学到任何数据集特定的偏差。为了验证这一点,作者研究了一个伪数据集分类任务,其中不同的 “数据集” 是从单个数据集中统一采样的。作者观察到这个分类任务很快变得很难处理,因为分类器处理此任务的唯一方法是记住每个单独的示例及其来自那个数据集的子集。因此,增加样本数量或使用更强的数据增强没有任何额外作用,反而使得记忆这些数据集的子集变得更加困难。而且,也观察不到迁移性。这些行为与真实数据集分类任务表现的行为截然不同。更令人惊讶的是,作者观察到即使是自监督学习训练出来的模型,也能够捕获到不同数据集之间的偏差。具体而言,作者在在不同数据集的联合上预训练自监督模型,且不使用任何数据集身份作为标签。然后类似于传统自监督学习的做法,冻结预训练的特征,单独训练一个分类头。那这样得到的模型在数据集分类任务上仍然可以实现令人惊讶的超高精度 (比如 78%)。这样的表现十分类似于典型的自监督学习模型。

2. 本文结论

  • 相比 2011 年,今天新的神经网络架构能够发现数据集中的隐藏偏差,尽管今天的数据集规模更大,类型更多,人工处理程度更低,更可能有偏差。换言之,数据集分类任务有了现代神经网络架构的加持变得更加简单了。从这个意义上讲,数据集偏差的问题仍未解决。
  • 通过有监督学习,或者自监督学习训练得到的模型,都捕获到不同数据集之间的偏差。
  • 呼吁人们探讨到底是应该创造新的偏差更少的数据集,还是应该创建能力更强的神经网络架构。

3.数据集分类实验

数据集分类任务类似于图像分类,只是标签是数据集自己。比如分类 N 个数据集,就相当于是个 N 分类任务。分类精度在验证集上进行评估,验证集通过每个数据集的保留集组成。作者选用的数据集如下图所示:
在这里插入图片描述
尽管这些数据集看起来是更加多样化的,但它们的收集过程仍然存在差异。这可能也是导致其出现偏差的原因。比如:Flickr 是一个网站,用户可以上传和分享照片;Wikipedia 是一个专注于知识和信息的网站;Common Crawl 是一个抓取网络数据的组织。此外,数据收集过程中还涉及不同级别的管理:LAION[11]是通过逆向工程 CLIP 模型[12]收集的。

4. 主要实验结果

用一句话概括就是:神经网络做数据集分类任务的精度惊人,而且这个精度跨越了不同的数据集设置。作者从每个数据集中随机抽取 1M 和 10K 图像作为训练集和验证集,并训练了一个 ConvNeXt-T[13]模型,(这部分如果需要详细内容可自行阅读原paper)得出以下结论:

  • 1) 不同数据集组合的精度都很高
  • 2) 不同架构的模型精度都很高
  • 3) 不同尺寸的模型精度都很高
  • 4) 数据集分类的精度受益于更多的训练数据
  • 5) 数据集分类的精度受益于数据增强

5. 自己反思结论

  • 数据集中存在偏差,这样模型才能更好的区分不同的数据集
  • 分类精度一定程度上取决low-level feature
  • 分类任务模型并不是单纯的记住每一张图片,而是学习到该数据集中一种特定的范式,这种范式恰好可以很好的指导模型进行分类
  • 21
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liiiiiiiiiiiiike

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值