何恺明重提十年之争——模型表现好是源于能力提升还是捕获数据集偏见

2011年,知名学者Antonio Torralba和Alyosha Efros提出了“数据集偏差之战”,他们发现机器学习模型很容易“过拟合”到特定的数据集上,导致在其他数据集上表现不佳。过去十年,随着深度学习革命的到来,建立多样化、大规模、全面且尽可能无偏的数据集一直是推动这场革命的引擎。

与此同时,算法的进步,特别是神经网络架构的进步,已经在发现数据中的概念、抽象和模式——包括偏见——方面取得了前所未有的能力。

所以,为了研究此问题,何恺明团队设计了一个虚构的”数据集分类”任务。在本篇论文中,研究者们在十年的战斗之后重新审视了数据集偏差问题。本研究基于一个被称之为数据集分类的虚构任务(例如其中一个研究的典型组合被称为“YCD”,呈现了一个三向数据集分类问题),由构建更少偏见的数据集与开发更强大的模型之间的张力驱动。

令研究者和许多最初读者惊讶的是,现代神经网络在这样的数据集分类任务上可以取得极高的准确率,且这一观察结果非常稳健。进一步的实验表明,通过分类数据集学到的表示携带了一些可转移到图像分类任务的语义信息。

总之,报告显示,现代神经网络惊人地有能力从不同的数据集中发现隐藏的偏见。与十年前Torralba和Efros的论文中的 “命名该数据集”游戏 相比,鉴于今天能力强大的神经网络,这个游戏甚至变得更加容易。从这个意义上说,涉及数据集偏见的问题尚未得到缓解。

图为2024年的“命名该数据集”游戏

论文标题:
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%的准确率。这表明神经网络结构在学习数据集特有的偏差方面非常有效。同时,更大的模型能够获得更好的性能,尽管收益逐渐减少。

图为ConvNeXt模型的变体,其“微小”的尺寸有2700万个参数

模型行为分析:发现数据集偏差

通过对模型行为的深入分析,研究者们发现了一些关于数据集偏差的有趣现象。

1. 排除低级特征签名的可能性

研究者通过在训练和验证集上应用图像损坏来排除模型仅依赖低级特征签名(如JPEG压缩伪影和颜色量化伪影)的可能性。即使在这些损坏的数据上,模型仍然能够达到较高的分类准确率,这表明模型在解决数据集分类任务时不仅仅依赖于低级偏差。

图为抑制低级签名的不同破坏

2. 与语义分类任务的对比

研究者通过与伪数据集分类任务的对比,进一步证明了模型在真实数据集分类任务中学到的是共享的、可泛化的模式,而不是简单地记忆训练数据。在伪数据集分类任务中,由于所有伪数据集都是从同一源数据集中抽样得到,模型在验证集上的准确率仅为随机水平,这与真实数据集分类任务的表现形成了鲜明对比。

3. 自监督学习在数据集分类中的表现

即使在自监督学习协议下,模型也能够捕捉到不同数据集之间的某些偏差。通过在不同数据集的联合上预训练一个自监督模型,然后在冻结的特征上训练线性分类器,模型仍然能够达到令人惊讶的高准确率(例如,78%)。

4. 数据集分类学到的特征在语义分类任务中的迁移能力

研究者还研究了数据集分类模型在语义分类任务(如ImageNet-1K分类)上的迁移能力。结果表明,数据集分类模型在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. 解决数据集偏差的途径

为了减少数据集偏差对模型性能的影响,社区已经开发了多种方法,如多数据集训练、测试时对数据集偏差的适应性调整,以及针对数据集偏差的自动分析工具。

因此,何恺明和刘壮等为我们提了一个醒,研究表明,即使是最新的数据集和模型,也无法完全避免偏差问题。所以未来的研究需要进一步探索如何更有效地识别和减轻数据集中的偏差,以及如何设计更加公平和道德的数据集。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/759344.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

应急响应-Web2

应急响应-Web2 1.攻击者的IP地址(两个)? 192.168.126.135 192.168.126.129 通过phpstudy查看日志,发现192.168.126.135这个IP一直在404访问 , 并且在日志的最后几条一直在访问system.php ,从这可以推断 …

机器学习_聚类(Clustering)

文章目录 简介K-均值算法(K_Means) 简介 你经常跟哪些人联系,而这些人又经常给哪些人发邮件,由此找到关系密切的人群。因此,这可能需要另一个聚类算法,你希望用它发现社交网络中关系密切的朋友。 K-均值算法(K_Means) K-均值是…

查看angular版本的问题The Angular CLI requires a minimum Node.js version of v18.13.

angular版本与node.js版本不匹配的问题 下载安装angular 查看版本,发现不匹配 安装指定版本即可 查看版本并运行

stm32f103c8t6学习笔记(学习B站up江科大自化协)-ADC

ADC简介 ADC,英文全称是Analog to Digital Convert,意为模拟数字转换器,简称模数转换器,或者叫AD转换器,STM32主要是数字电路,数字电路只有高低电平,没有几V电压的概念,如果想读取电…

Android 优化 - 数据结构

一、概念 数据结构:数据存储在内存中的顺序和位置关系,选择合适的数据结构能提高内存的利用率。 线性结构链表结构树形结构 二、线性结构 结构优点缺点数组数据呈线性排列,初始化时就要指定长度且无法更改,会开辟一块连续的内…

使用ansible批量修改操作系统管理员账号密码

一、ansible server端配置 1、对于Linux主机配置免密登录ssh-copy-id -i ~/.ssh/id_rsa.pub rootremote_ip 2、在/etc/ansible/hosts文件中添加相应主机IP 3、对于Windows主机需要在/etc/ansible/hosts文件中进行以下配置 192.168.83.132 ansible_ssh_useradministrator an…

神经网络(深度学习,计算机视觉,得分函数,损失函数,前向传播,反向传播,激活函数)

目录 一、神经网络简介 二、深度学习要解决的问题 三、深度学习的应用 四、计算机视觉 五、计算机视觉面临的挑战 六、得分函数 七、损失函数 八、前向传播 九、反向传播 十、神经元的个数对结果的影响 十一、正则化与激活函数 一、神经网络简介 神经网络是一种有监督…

在vue项目中封装并使用WebSocket(2)

创建一个websocket组件 <script> export default {name: "index",props: {wsUrl: {type: String,require: true,},},data() {return {socket: "",};},watch: {wsUrl: {immediate: true,handler() {this.init();},},},methods: {init() {console.log…

RocketMq 顺序消费、分区消息、延迟发送消息、Topic、tag分类 实战 (延迟发送消息) (四)

延迟发送消息生产者配置 如下所示&#xff1a;Bean注解向Spring容器注入一个名字叫delayOrderProducerBean、类型为OrderProducerBean 的对象&#xff08;下文需要用到&#xff09; Configuration public class DelayProducerClient {Autowiredprivate RocketMqDelayPropertie…

打开打包好的.APK文件,使用Android Studio

1. 没有android studio的 下载安装 Android 开发者 | Android Developers 2. 打开file下面的 “Profile or debug apk” 选择想要打开的.apk文件 3. 打开AndroidManifest.xml就可以看到想要看到版本号等基本信息

晶圆制造过程中常用载具的类型

晶圆载具用于硅片生产、晶圆制造以及工厂之间晶圆的储存、传送、运输以及防护。晶圆载具种类很多,如FOUP用于晶圆制造工厂中晶圆的传送;FOSB用于硅片生产与晶圆制造工厂之间的运输;CASSETTE载具可用于工序间运送以及配合工艺使用。 OPEN CASSETTE OPEN CASSETTE主要在晶圆…

VB.NET 中的属性(Properties)和字段(Fields)有什么区别?请举例说明。

VB.NET 中的属性&#xff08;Properties&#xff09;和字段&#xff08;Fields&#xff09;有什么区别&#xff1f;请举例说明。 在VB.NET中&#xff0c;属性&#xff08;Properties&#xff09;和字段&#xff08;Fields&#xff09;是用于封装数据的两种主要方式。它们之间的…

vue3 导航守卫

Vue 3 的导航守卫与 Vue 2 相比&#xff0c;在 API 和使用方式上并没有太大的变化&#xff0c;但 Vue 3 的响应式系统和 Composition API 为导航守卫提供了更多的灵活性。 以下是 Vue 3 中常见的几种导航守卫&#xff1a; 1. 全局前置守卫 全局前置守卫在路由跳转前执行。你可…

智慧公园:AI智能分析网关V4城市公园视频智能监管方案

一、背景分析 随着天气渐渐转暖&#xff0c;城市公园的花卉也逐渐盛开&#xff0c;春暖花开时节&#xff0c;前往公园赏花游玩的城市居民也渐渐多起来&#xff0c;因此安全问题也成为相关监管部门的重要管理任务之一。随着科技的不断进步&#xff0c;智能监控技术已经成为现代…

小程序SSL证书

小程序已成为我们日常生活中不可或缺的一部分。为了让用户的每一次点击、每一次交互都安全无忧&#xff0c;我们引入了专业级的SSL证书服务&#xff0c;为您的小程序构筑坚不可摧的信息安全壁垒。 SSL证书&#xff0c;如同一把无形的加密锁&#xff0c;它将小程序中的所有数据流…

.net 8 使用学习小记

单例模式 public class Singleton {private static Singleton instance null;private static readonly object syncRoot new object();private Singleton() { }public static Singleton Instance{get{if (instance null){lock (syncRoot){if (instance null){instance ne…

使用vue的element组件上传excel文件

在Vue.js项目中&#xff0c;如果你想要上传Excel文件&#xff0c;并且正在使用Element UI组件库&#xff0c;你可以利用 ​<el-upload>​组件来实现上传功能。以下是一个简单的例子&#xff0c;演示了如何使用Element UI上传Excel文件。 首先&#xff0c;在你的Vue组件模…

npm淘宝镜像registry.npmmirror.com设置无效的解决办法

一、问题描述 [17:08:51] npm ERR! code CERT_HAS_EXPIRED [17:08:51] npm ERR! errno CERT_HAS_EXPIRED [17:08:51] npm ERR! request to https://registry.npm.taobao.org/yorkie/download/yorkie-2.0.0.tgz failed, reason: certificate has expired由于原来的淘宝镜像 reg…

gateway网关指定路由响应超时时间

gateway网关指定路由响应超时时间 spring:cloud:gateway:httpclient:responseTimeout: 10000这个配置用于设置HttpClient的响应超时时间&#xff0c;单位是毫秒。具体来说&#xff0c;这个配置表示当Gateway向后端服务发出请求后&#xff0c;如果在10秒内没有收到后端服务的响…

拥抱DevOps,开启数字化转型的加速器

在数字化浪潮席卷全球的今天&#xff0c;企业面临着前所未有的挑战与机遇。为了保持竞争力并适应快速变化的市场需求&#xff0c;数字化转型已成为企业发展的必由之路。而在这一过程中&#xff0c;DevOps作为一种全新的开发与运维理念&#xff0c;正逐渐成为推动企业数字化转型…