专栏名称: 极市平台
极市平台是由深圳极视角推出的专业的视觉算法开发与分发平台,为视觉开发者提供多领域实景训练数据库等开发工具和规模化销售渠道。本公众号将会分享视觉相关的技术资讯,行业动态,在线分享信息,线下活动等。 网站: http://cvmart.net/
目录
相关文章推荐
新疆949交通广播  ·  新疆一地出租车起步价将调整! ·  4 小时前  
新疆949交通广播  ·  “比价神器”来了! ·  昨天  
新疆949交通广播  ·  利好来了!名单公布 ·  昨天  
新疆是个好地方  ·  🥂住腻了酒店,来住酒庄啊! ·  2 天前  
新疆是个好地方  ·  🥂住腻了酒店,来住酒庄啊! ·  2 天前  
新疆949交通广播  ·  时间定了!事关高考! ·  2 天前  
51好读  ›  专栏  ›  极市平台

与数据集偏差的十年之战:到底应该改进数据,还是改进模型?

极市平台  · 公众号  ·  · 2024-03-24 22:00

正文

↑ 点击 蓝字 关注极市平台
作者丨科技猛兽
编辑丨极市平台

极市导读

如今十年过去了,虽然我们能够构建偏差更少的数据集,但是神经网络也变得更加高级了,它们又可以更好地利用数据集中的偏差。所以数据集分类的问题到今天发展到哪一步了? >> 加入极市CV技术交流群,走在计算机视觉的最前沿

本文目录

1 与数据集偏差的十年之战:我们成功了吗?
(来自 Meta AI Research, FAIR,刘壮,何恺明新作)
1 Bias 论文解读
1.1 与数据集偏差的十年之战:到底应该改进数据,还是改进模型?
1.2 本文的结论是什么?
1.3 数据集分类实验
1.4 分析实验一:数据集分类实验可否归因于 Low-level Signature?
1.5 分析实验二:数据集分类实验源于记忆还是泛化?
1.6 分析实验三:自监督学习可以做数据集分类吗?
1.7 分析实验四:数据集分类实验学到的特征能做什么?
1.8 用户研究

太长不看版

本文作者重新审视了十年前 Torralba 和 Efros 提出的 "数据集分类 (Dataset Classification)" 实验[1],即对图像所来自的数据集进行分类。如果数据集分类的精度很容易很高,那么说明数据集偏差的问题广泛存在。反之,如果这个精度很难提升,那么说明今天数据集偏差的问题解决得还不错。

在今天这样一个研究人员拥有着大规模,多样化,以及有可能是偏差更少的数据集,以及能力更强的诸如 ViT 和 ConvNeXt 的新的神经网络架构的新时代,这个实验发展到什么地步了?

出人意料的是,本文实验发现现代神经网络在完成数据集分类问题时可以达到非常高的准确率:比如在这样一个3数据集分类问题 (YFCC、CC 和 DataComp 数据集) 中,现代神经网络可以实现 84.7% 的精度。

而且,本文还发现了,这样学习到的数据集分类器可以学习到具有通用的,可迁移的的语义特征,而这些特征不能简单地用记忆来解释。

作者希望本文的发现可以启发整个社区重新思考关于数据集偏差和模型能力的问题。

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

论文名称:A Decade's Battle on Dataset Bias: Are We There Yet?

论文地址:

https//arxiv.org/pdf/2403.08632.pdf

代码地址:

https//github.com/liuzhuang13/bias

  • 1 Bias 论文解读:

1.1 与数据集偏差的十年之战:到底应该改进数据,还是改进模型?

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 万) 的图像,并在它们的联合上训练一个神经网络来对图像取自哪个数据集进行分类。

图1:数据集分类问题 Name That Dataset。图片随机来自 YFCC, CC 和 DataComp 这三个数据集,你能指定每个图像来自哪个数据集吗?答案:YFCC: 1, 4, 7, 10, 13; CC: 2, 5, 8, 11, 14; DataComp: 3, 6, 9, 12, 15

令人惊讶的是,现代神经网络可以在这样的数据集分类任务上达到非常出色的精度。比如在上面的对人类十分具有挑战性的 YCD 数据集上训练,模型的分类准确度 >84%,而瞎猜的准确度只有 33.3%。这一观察结果非常稳健,在各种数据集组合和几代的神经网络架构 (AlexNet, VGG, ResNet, ViT, ConvNeXt) 上,在大多数情况下实现了非常高的准确度 (比如超过了 80%)。

有趣的是,就是对于这样的数据集分类任务,也可以观察到很多在类似于在语义分类任务 (比如图像分类) 中观察到的观察结果。比如,作者观察到即使训练任务变得更加困难,在更多样本上训练数据集分类器或使用更强的数据增强可以提高验证集的精度。这类似于语义分类任务中的泛化行为。这种行为表明神经网络在试图发现特定于数据集的模式,即:神经网络在试图学到一种特定的偏差形式来解决数据集分类任务。而且,也可以观察到,通过数据集分类任务训练的模型也展示出迁移性,即带有一些可以迁移到图像分类任务上面的语义信息。

相比之下,如果不同数据集的样本都无偏地来自相同的分布,则模型就没法学到任何数据集特定的偏差。为了验证这一点,作者研究了一个伪数据集分类任务,其中不同的 "数据集" 是从单个数据集中统一采样的。作者观察到这个分类任务很快变得很难处理,因为分类器处理此任务的唯一方法是记住每个单独的示例及其来自那个数据集的子集。因此,增加样本数量或使用更强的数据增强没有任何额外作用,反而使得记忆这些数据集的子集变得更加困难。而且,也观察不到迁移性。这些行为与真实数据集分类任务表现的行为截然不同。

更令人惊讶的是,作者观察到即使是自监督学习训练出来的模型,也能够捕获到不同数据集之间的偏差。具体而言,作者在在不同数据集的联合上预训练自监督模型,且不使用任何数据集身份作为标签。然后类似于传统自监督学习的做法,冻结预训练的特征,单独训练一个分类头。那这样得到的模型在数据集分类任务上仍然可以实现令人惊讶的超高精度 (比如 78%)。这样的表现十分类似于典型的自监督学习模型。

所以,总体而言,现代神经网络的架构也变得越来越高级和先进,它们出人意料地更加能够从不同的数据集中发现隐藏偏差。即使现代的数据集规模越来越大,越来越多样化,越来越可能包含更少的偏差,这个观察仍然成立。神经网络能够发现一些特定的模式来完成数据集分类的任务,这一行为十分类似于在语义分类任务中观察到的行为。Torralba 和 Efros 在十年之前呼吁 "数据集分类" 问题[1]在今天先进神经网络的加持下竟然变得比之前更容易了,这意味着今天数据集偏差的问题不仅没有被很好解决,反而变得更加严重。作者希望本文的发现将激发社区中关于数据集偏差和不断改进模型之间关系的新讨论。

1.2 本文的结论是什么?

本文通过在 YCD 数据集上做了 2024 版的 "数据集分类 (Dataset Classification)" 实验[1],也就是 "Name That Dataset" 实验,得到了以下结论:

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

1.3 数据集分类实验

数据集分类任务类似于图像分类,只是标签是数据集自己。比如分类 个数据集,就相当于是个 分类任务。分类精度在验证集上进行评估,验证集通过每个数据集的保留集组成。

1.3.1 使用的数据集

作者有意选择可以使数据集分类任务具有挑战性的数据集,基于的考虑是:

  1. 它们的规模大:较小的数据集可能涵盖的概念范围更窄,它们可能没有足够的训练图像进行数据集分类。
  2. 它们足够通用且多样化:作者避免使用特定场景的数据集 (比如 cities[7],scenes[8]等),或者一些特定元类别的数据集 (比如 flowers[9]和 pets[10]等)。
  3. 它们收集的动机就是为了训练泛化性强的特征。
图2:本文实验作者有意选择可以使数据集分类任务具有挑战性的数据集

因此,作者最终使用的数据集如下图3所示。

图3:本文数据集分类任务使用的数据集

尽管这些数据集看起来是更加多样化的,但它们的收集过程仍然存在差异。这可能也是导致其出现偏差的原因。比如:Flickr 是一个网站,用户可以上传和分享照片;Wikipedia 是一个专注于知识和信息的网站;Common Crawl 是一个抓取网络数据的组织。此外,数据收集过程中还涉及不同级别的管理:LAION[11]是通过逆向工程 CLIP 模型[12]收集的。

尽管我们会对数据集的偏差有预期,但是神经网络出色的捕捉 bias 的能力依然超出预期。在测试的时候,是单张图片进行测试的,这样可以确保神经网络没有机会利用到图像的潜在的统计信息。

1.4.2 主要实验结果

用一句话概括就是:神经网络做数据集分类任务的精度惊人,而且这个精度跨越了不同的数据集设置。作者从每个数据集中随机抽取 1M 和 10K 图像作为训练集和验证集,并训练了一个 ConvNeXt-T[13]模型。主要结论如下:

1) 不同数据集组合的精度都很高。

在下图4中,作者列举了从这 6 个数据集中取出 3 个的所有可能的 20 种组合,来实验数据集分类的精度。在所有情况下,网络都达到了 >62% 的数据集分类精度;在所有 20 种组合中的 16 种中,它甚至达到了 >80% 的准确率。在 YFCC、CC 和 ImageNet 的组合中,它达到了 92.7% 的最高准确率。而瞎猜的精度只有 33.3%。

图4:数据集分类在所有组合中都有很高的精度

作者又研究了涉及 3、4、5 和所有 6 个数据集的组合。正如预期的那样,使用更多数据集会导致精度变低。但即使是分类全部6个数据集,网络的精度仍然有 69.2%。

2) 不同架构的模型精度都很高。

作者在各种代表性的模型架构上报告了 YCD 组合的结果:AlexNet[14]、VGG[15]、ResNet[16]、ViT[17]和 ConvNeXt[13]模型。结果如图5所示,可以观察到所有的架构都可以非常出色地解决任务:5 个网络中的 4 个达到了 >80% 的出色准确率,即使是现在的经典 AlexNet 也取得了 77.8% 的不错结果。

图5:不同架构的模型精度都很高

这些结果表明,无论神经网络的具体架构如何,都非常擅于捕捉数据集的偏差。AlexNet 之后后网络架构设计取得了重大进展,包括归一化层,残差链接,自注意力机制等。但是这些东西在数据集分类任务里面似乎都不是不可或缺的 (比如 VGG 里面就没有这些组件)。这意味着捕获数据集偏差的能力可能是神经网络所固有的,而不是特定组件相关的。

3) 不同尺寸的模型精度都很高。

默认情况使用的是 ConvNeXt-Tiny 模型,大小约 25M 参数量。作者也报告了不同的宽度和深度模型的结果,如下图6所示。

图6:不同尺寸的模型精度都很高

更出人意料的是,即使是非常小的模型也可以达到很高的数据集分类的精度,比如参数量仅为 7K 的 ConvNeXt 模型 (ResNet-50 的 3/10000) 也有 72.4% 的精度。这表明神经网络的结构在学习底层数据集偏差方面非常有效。数据集分类可以在没有大量参数的情况下完成,这通常归功于深度学习在传统的视觉识别任务中的成功。

同时,更大的模型,做数据集分类时的精度也会越来越好,尽管这个提升的幅度是递减的。这与对传统视觉识别任务的观察一致。此外,并没有观察到对于模型尺寸和数据集规模的过拟合现象,这说明 可能存在一些可以泛化的模式来帮助模型确定每张图片所属的数据集,而非模型简单记住这个训练数据。 这个现象十分有趣。

4) 数据集分类的精度受益于更多的训练数据。

作者改变了 YCD 分类的训练图像数量,结果如下图7所示。有趣的是,模型数据集分类的精度也随着数据集规模的上升而上升了。而且,这个趋势在现代架构 ConvNeXt 和经典架构 AlexNet 中都观察到了。虽然这种行为在语义分类任务中似乎是很自然的,但是在数据集分类任务中却不是必然的。因为如果模型完成这个任务靠的是记忆训练数据,那么随着训练数据的增加,性能就可能会下降。但现在观察到的行为确是刚好相反,说明模型在学习某些可迁移的,看不见的语义模式,而不是简单地迁移数据。

图7:数据集分类的精度受益于更多的训练数据
5) 数据集分类的精度受益于数据增强。

数据增强有和增加数据集类似的效果。本文默认的训练设置使用 Random cropping[18]、RandAug[19]、MixUp[20]和 CutMix[21]作为数据增强。图8所示是使用减少的或者无数据增强的实验结果。使用数据增强会使得模型记忆图像变得十分困难,但是结果却是使用了更强的数据增强以后,数据集分类精度也随之提高了。这种行为与图像分类任务代表的语义分类任务现象又一致了,再次说明数据集分类任务不是靠记忆训练数据完成,而是从训练集中学习到了一些有泛化性的模式。

小结

以上所有实验的结论是: 神经网络能够很高地完成数据集分类的任务 ,且这一点在不同的数据集组合,不同的模型架构,不同的模型尺寸,不同的数据集大小,以及是否使用数据增强方案下都成立。

除了上述结论之外,作者还进行了下面四个精彩的分析性实验。

1.4 分析实验一:数据集分类实验可否归因于 Low-level Signature?

有一种可能是:数据集分类的高精度是来自某些人类看不出来的低级特征 (Low-level Signature),而这些低级特征又很容易被神经网络识别出来。一些潜在的特征可能是:JPEG 压缩伪影 (不同的数据集可能有不同的质量因子),或者色彩量化伪影 (根据单个数据集修剪或量化颜色)。作者设计了一组实验来帮助我们排除这种可能性。

作者对训练集和验证集应用了某种类型的图像损坏,对损坏的数据执行数据集分类任务。作者考虑四种类型的图像损坏:(i) 颜色抖动;(ii) 添加具有固定标准差的高斯噪声;(iii) 通过固定大小的高斯核对图像进行模糊;(iv) 降低图像分辨率。这四种损坏的样例如图8所示。每次使用一种类型的损坏。

图8:抑制低级特征的不同损坏样例

实验的结果如图9所示。正如预期的那样,数据集的损坏降低了分类准确性,因为训练和验证集被影响了。但是尽管如此,神经网络仍然可以得到很高的精度,尤其是当损坏的程度较弱时。为数据集引入应能够有效破坏低级特征,比如 JPEG 压缩或者颜色量化伪影。这说明神经网络在解决数据集分类任务时,没有使用低级偏差。

图9:不同损坏版本的数据集分类任务都取得了很高的精度

1.5 分析实验二:数据集分类实验源于记忆还是泛化?

1.3 小节中提到,模型在做数据集分类任务时,表现出类似于语义分类的行为。从某种意义上说,它们表现出泛化行为。这与简单的记忆行为截然相反。那么数据集分类实验源于记忆还是泛化?

为此作者做了一个 伪数据集分类实验 :构建很多伪数据集,每个伪数据集都是不替换地从同一源数据集的情况下采样的。这些伪数据集是真正无偏差的,因为是从同一个数据集中采样得到的。

如下图10所示是每组使用不同数量的训练图像,使用或者不使用数据增强的伪数据集分类训练精度的实验结果。当任务相对简单时,模型达到了 100% 的训练精度;然而,当任务变得更加困难 (更多的训练图像或更强的增强) 时,模型无法收敛了。这个现象意味着模型在试图记忆单个图像及其标签来完成伪数据集分类任务。因为这些伪数据集是无偏差的,所以找不出来一些共享的模式来区分不同的数据集。结果是模型就必须记住每张图以及对应的标签,类似于[22]的场景。但是记忆是很困难的,一旦数据量增加,或者使用数据增强,模型就没法完成任务了。

图10:伪数据集分类的训练精度

这个实验再次表明前面真实数据集分类实验的成功,靠的是模型试图捕捉到数据集中一些共享的,可泛化的模式,而非简单地记住图片来自哪个数据集。

而且,作者注意到上面的训练集精度结论不适合验证集,即使训练集精度到达了 100%,验证集的精度仍然和瞎猜 (~33%) 相似。

1.6 分析实验三:自监督学习可以做数据集分类吗?

以上结论都是在有监督学习下得到 (数据集 id 作为标签)。接下来,作者探索了 MAE[23]自监督训练策略,看看这种方法能否完成数据集分类的任务。作者首先使用自监督学习 MAE 策略,然后冻结住从预训练模型中提取的特征,并使用数据集分类任务训练一个分类头,也称为 Linear Protocol。在这个过程里,只有分类头的参数是可以训练的。如下图11所示是 MAE 实验结果。即使是在标准 ImageNet (不涉及 YCD 图像) 上预训练的 MAE 主干,也可以在 YCD 数据集分类任务上实现了 76.2% 的线性探测精度。

如果使用 YCD 数据上做 MAE 自监督训练,模型的 Linear Probing 精度会继续上升到 78.4%。注意,尽管这次的数据集是 YCD,但是却没有任何关于数据集分类的先验知识。但是,所得到的模型比 ImageNet 上面预训练的模型更有判别力,这也与语义分类任务的结果类似。

图11:自监督训练以及 Linear Probing 设置在 YCD 数据集分类任务中取得了极高精度

1.7 分析实验四:数据集分类实验学到的特征能做什么?

数据集分类任务训练集上得到的模型可以泛化到验证集。作者进一步探索了这些模型能否泛化到语义分类任务上。为此,作者在语义分类任务 (比如 ImageNet-1K 分类任务) 上做了 Linear Probing。如图12所示展示了数据集分类预训练过程使用不同数据集组合的实验结果。

与使用随机权重的基线模型相比,数据集分类任务训练之后的模型可以实现不错的 ImageNet-1K Linear Probing 精度。而且,使用更多数据集组合可以提高精度,这表明通过学习更多数据集中的偏差可以学习到更好的特征。

图12:数据集分类实验学到的权重可以在 Linear Probing 的设置下,在语义分类任务中取得不错的结果

虽然数据集分类预训练的权重得到的 Linear Probing 结果远不如 MAE,MoCo v3 等专业自监督学习算法,但是这依然符合预期。这些实验表明了神经网络模型发现的数据集偏差与对图像分类有用的语义特征相关。

1.8 用户研究

作者甚至还进行了一项 User Study,来评估人类完成这个任务的情况如何并学习他们的体验。具体的做法请读者参阅原始论文呢,实验结果如图13所示。在所有的 20 个用户中,有 11 个的精度为 40%-45%,7 个用户的精度为 45%-50%,只有 2 个用户达到 50% 以上。平均值为 45.4%,中位数为 44%。

人类表现高于瞎猜的 33.3%,这表明人类可以发现一些能够区分这些数据集的模式。但是,人类的表现远低于神经网络的 84.7%。

图13:User Study 实验结果

参考

1.Unbiased look at dataset bias

2.Microsoft COCO: Common Objects in Context

3.LAION-5B: An open large-scale dataset for training next generation image-text models

4.YFCC100M: The New Data in Multimedia Research

5.Conceptual 12M: Pushing Web-Scale Image-Text Pre-Training To Recognize Long-Tail Visual Concepts

6.DataComp: In search of the next generation of multimodal datasets

7.The Cityscapes Dataset for Semantic Urban Scene Understanding

8.Places: A 10 million image database for scene recognition

9.Automated Flower Classification over a Large Number of Classes

10.Cats and dogs

11.LAION-5B: An open large-scale dataset for training next generation image-text models

12.Learning Transferable Visual Models From Natural Language Supervision 13.A ConvNet for the 2020s

14.ImageNet Classification with Deep Convolutional Neural Networks

15.Very Deep Convolutional Networks for Large-Scale Image Recognition

16.Deep Residual Learning for Image Recognition

17.An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale

18.Going Deeper with Convolutions

19.Randaugment: Practical automated data augmentation with a reduced search space

20.mixup: BEYOND EMPIRICAL RISK MINIMIZATION

21.CutMix: Regularization Strategy to Train Strong Classifiers with Localizable Features

22.Understanding deep learning requires rethinking generalization

23.Masked Autoencoders Are Scalable Vision Learners

公众号后台回复“ 数据集 ”获取100+深度学习各方向资源整理

极市干货







请到「今天看啥」查看全文


推荐文章
新疆949交通广播  ·  新疆一地出租车起步价将调整!
4 小时前
新疆949交通广播  ·  “比价神器”来了!
昨天
新疆949交通广播  ·  利好来了!名单公布
昨天
新疆是个好地方  ·  🥂住腻了酒店,来住酒庄啊!
2 天前
新疆是个好地方  ·  🥂住腻了酒店,来住酒庄啊!
2 天前
新疆949交通广播  ·  时间定了!事关高考!
2 天前
苏米的星座馆  ·  图片测试,你第一眼看到的是什么?
7 年前
南周知道  ·  熬夜的人究竟在熬什么?
7 年前