移除ImageNet标签错误,模型排名发生大变化
此前,ImageNet 因为存在标签错误的问题而成为热门话题,这个数字说出来你可能会大吃一惊,至少有十万个标签是存在问题的。那些基于错误标签做的研究,很可能要推翻重来一遍。
由此看来管理数据集质量还是很重要的。
很多人会使用 ImageNet 数据集作为 benchmark,不过基于 ImageNet 预训练的模型,最终结果可能会因为数据质量而变化。
本文中,来自 Adansons 公司的工程师 Kenichi Higuchi 对《 Are we done with ImageNet? 》一文中的 ImageNet 数据集进行重新研究,在去除错误标签数据后,重新评估 torchvision 上发布的模型。
从 ImageNet 中删除错误数据并重新评估模型
本文将 ImageNet 中的标签错误分为三类,如下所示。
(1) 标注错误的数据
(2) 对应多个标签的数据
(3) 不属于任何标签的数据
总结来看,错误数据大约有 14000 多个,考虑评估数据的数量为 50000,可以看出错误数据占比极高。下图是一些有代表性的错误数据。
方法
在不重新训练模型的情况下,该研究通过只排除标注错误的数据,也就是上述(1)类错误数据,以及从评估数据中排除所有错误数据,也就是 (1)-(3) 错误数据,来重新检查模型的准确率。
为了删除错误数据,需要使用一个描述标签错误信息的元数据文件。在这个元数据文件中,如果包含 (1)-(3) 类错误,信息将在「correction」属性中描述。
该研究使用一款名为 Adansons Base 的工具,Adansons Base 通过将数据集链接到元数据来过滤数据。这里测试了 10 个模型,如下所示。
10 个用于测试的图像分类模型
结果
结果如下表所示(数值是以 % 为单位的精度,括号中的数字是排名)
10 个分类模型的结果
以 All Eval 数据为基线,排除错误数据类型(1),准确率平均提高 3.122 分;排除所有错误数据 (1)~(3) ,准确率平均提高 11.743 分。
和预想的一样,排除错误数据,准确率全面提高,这一点毫无疑问,因为与干净数据相比,存在错误数据很容易出错。
当在不排除错误数据的情况下进行评估,以及错误数据(1)~(3) 都被排除时,模型的准确率排名发生了变化。
本文中,错误数据 (1) 有 3670 个,占全部 50000 条数据的 7.34%,移除后准确率平均提高了 3.22 点左右。当移除错误数据后,数据规模发生了变化,单纯的比较准确率可能存在偏差。
结论
尽管并未特别强调,但是在做评估训练时,使用准确标记的数据很重要。
在比较模型之间的准确率时,以前的研究可能得出错误的结论。所以应该先对数据进行评估,但这真的可以用来评估模型的性能吗?
许多使用深度学习的模型往往不屑于对数据进行反思,而是渴望通过模型的表现性能来提高准确性和其他评估指标,即使是评价数据中包含错误数据,也没进行准确的处理。
当创建自有的数据集时,比如在业务中应用 AI 时,创建高质量的数据集直接关系到提高 AI 的准确率和可靠性。本文的实验结果表明,仅仅提高数据质量就可以将准确率提高约 10 个百分点,这表明在开发 AI 系统时不仅要改进模型,还要改善数据集。
然而,保证数据集的质量并不容易。虽然增加元数据的数量以正确评估 AI 模型和数据的质量很重要,但管理起来可能很麻烦,尤其是对于非结构化数据。
以上是移除ImageNet标签错误,模型排名发生大变化的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

在Debian系统中,readdir函数用于读取目录内容,但其返回的顺序并非预先定义的。要对目录中的文件进行排序,需要先读取所有文件,再利用qsort函数进行排序。以下代码演示了如何在Debian系统中使用readdir和qsort对目录文件进行排序:#include#include#include#include//自定义比较函数,用于qsortintcompare(constvoid*a,constvoid*b){returnstrcmp(*(

在Debian系统中,readdir系统调用用于读取目录内容。如果其性能表现不佳,可尝试以下优化策略:精简目录文件数量:尽可能将大型目录拆分成多个小型目录,降低每次readdir调用处理的项目数量。启用目录内容缓存:构建缓存机制,定期或在目录内容变更时更新缓存,减少对readdir的频繁调用。内存缓存(如Memcached或Redis)或本地缓存(如文件或数据库)均可考虑。采用高效数据结构:如果自行实现目录遍历,选择更高效的数据结构(例如哈希表而非线性搜索)存储和访问目录信

Debian系统中的readdir函数是用于读取目录内容的系统调用,常用于C语言编程。本文将介绍如何将readdir与其他工具集成,以增强其功能。方法一:C语言程序与管道结合首先,编写一个C程序调用readdir函数并输出结果:#include#include#includeintmain(intargc,char*argv[]){DIR*dir;structdirent*entry;if(argc!=2){

本指南将指导您学习如何在Debian系统中使用Syslog。Syslog是Linux系统中用于记录系统和应用程序日志消息的关键服务,它帮助管理员监控和分析系统活动,从而快速识别并解决问题。一、Syslog基础知识Syslog的核心功能包括:集中收集和管理日志消息;支持多种日志输出格式和目标位置(例如文件或网络);提供实时日志查看和过滤功能。二、安装和配置Syslog(使用Rsyslog)Debian系统默认使用Rsyslog。您可以通过以下命令安装:sudoaptupdatesud

本文介绍如何在Debian系统中使用iptables或ufw配置防火墙规则,并利用Syslog记录防火墙活动。方法一:使用iptablesiptables是Debian系统中功能强大的命令行防火墙工具。查看现有规则:使用以下命令查看当前的iptables规则:sudoiptables-L-n-v允许特定IP访问:例如,允许IP地址192.168.1.100访问80端口:sudoiptables-AINPUT-ptcp--dport80-s192.16

配置Debian邮件服务器的防火墙是确保服务器安全性的重要步骤。以下是几种常用的防火墙配置方法,包括iptables和firewalld的使用。使用iptables配置防火墙安装iptables(如果尚未安装):sudoapt-getupdatesudoapt-getinstalliptables查看当前iptables规则:sudoiptables-L配置

本文介绍如何在Debian系统中调整ApacheWeb服务器的日志记录级别。通过修改配置文件,您可以控制Apache记录的日志信息的详细程度。方法一:修改主配置文件定位配置文件:Apache2.x的配置文件通常位于/etc/apache2/目录下,文件名可能是apache2.conf或httpd.conf,具体取决于您的安装方式。编辑配置文件:使用文本编辑器(例如nano)以root权限打开配置文件:sudonano/etc/apache2/apache2.conf

在Debian系统中,OpenSSL是一个重要的库,用于加密、解密和证书管理。为了防止中间人攻击(MITM),可以采取以下措施:使用HTTPS:确保所有网络请求使用HTTPS协议,而不是HTTP。HTTPS使用TLS(传输层安全协议)加密通信数据,确保数据在传输过程中不会被窃取或篡改。验证服务器证书:在客户端手动验证服务器证书,确保其可信。可以通过URLSession的委托方法来手动验证服务器
