全球最大的图像识别数据库ImageNet不行了?谷歌DeepMind新方法提升精度

本文涉及的产品
视觉智能开放平台,图像通用资源包5000点
视觉智能开放平台,分割抠图1万点
视觉智能开放平台,视频通用资源包5000点
简介: 来自苏黎世谷歌大脑和DeepMind London的研究人员认为,世界上最受欢迎的图像数据库之一ImageNet需要改造。ImageNet是一个无与伦比的计算机视觉数据集,拥有超过1400万张标记图像。它是为对象识别研究而设计的,并按照WordNet的层次结构进行组织。层次结构的每个节点都由成百上千的图像描述,目前每个节点平均有超过500个图像。

微信图片_20220109122650.jpg


将时间倒回15年前,2005年,还是一个被算法统治的年代。
 刚刚拿到加州理工电子工程学博士学位,到伊利诺伊州香槟分校担任教职的李飞飞敏锐的发现了「算法为王」的局限性,开始研究算法的基石:数据集。 


此后,全世界最大的图像识别数据集「ImageNet」诞生。 


ImageNet的出现,伴随着一个非常宏大的野心。


完整版ImageNet拥有超过1400多万幅图片,涉及2万多个类别标注,超百万边界标注。 2010年到2017年期间,围绕ImageNet共举办了8届 Large Scale Visual Recognition Challenge,包括图像分类,目标检测,目标定位单元。

   微信图片_20220109122653.png  

2017年,挑战赛完结。八年来,参赛选手将算法正确识别率从71.8%提升到97.3%,这样的精度甚至已经将我们人类自己都远远的甩在后面。


同时,也证明了数据集越大、效果越好。 近十年来,ImageNet一直是人工感知研究的核心测试平台,它的规模和难度凸显了机器学习领域的里程碑式成就。 


但Google和DeepMind的科学家却认为,已有的ImageNet有些落伍了。他们发现,原始的ImageNet标签不再是新标注的最佳预测者,已经被最近的高绩效模型系统性地超越了。


ImageNet标签出了哪些问题?


 每幅图像只有单一标签 


现实世界中的图像通常包含很多标签,但是ImageNet对每幅图像只分配了一个标签,这就导致图像内容的严重表达不足。比如下图第一行,每幅图只标记了一个物体,图中很多物体都被遗漏了。


  微信图片_20220109122655.png 

标签建议限制性过强 


ImageNet注释流程是在互联网上查询制定类的图像,然后询问人工评审员该类是否确实存在于当前图像中。 虽然这个过程会产生合理的图像描述,但也会导致不准确的情况。当单独考虑时,一个特定的标签建议,看起来可能是对图像的合理描述;然而当与其他ImageNet类一起考虑时,这种描述马上就显得不那么合适了。 比如上图中间一行第二个更准确的标注应该是「水瓶」,然而从单张图片来看,你说它是水桶也说得过去。最后一个其实是「校车」,但校车上的人,不论是学生还是老师,也都是passenger呀。 


分类时的消歧义 


例如最下一行中间,laptop的分类虽然是没错,但却忽略了notebook、Computor也同样可以指代同一个对象。如果我们能够将这些标签都用上,显然可以更精准的描述一个物体。 



新方法如何改进ImageNet的缺陷


 知道了症结所在,接下来就对症下药了。 


考虑到孤立地分配一个标签所产生的偏差,Google和DeepMind的研究团队设计了一个标签程序,它能捕获ImageNet数据集中内容的多样性和多重性。 并寻求一种范式,允许人类注释者同时评估一组不同的候选标签,又能保持proposal的数量足够小,以实现稳健的注释。


        微信图片_20220109122657.png      


在模型子集上进行穷尽式搜索,以找到一组能达到最高精度,同时保持97%以上的召回率的模型子集。 


在此基础上,科学家找到了一个6个模型的子集,它生成的标签proposal具有97.1%的召回率和28.3%的精度,将每个图像的平均proposal标签数从13个降低到7.4个。


从这个子集中,使用上述相同的规则,为整个验证集生成proposal标签。 在获得了整个验证集的新的候选标签集后,首先评估哪些图像需要由人工进行评估。


在所有模型都与原始ImageNet标签一致的情况下,就可以安全地保留原始标签而不需要人工重新评估,这样就将需要标注的图像数量就从50000张减少到24889张。 


进一步根据WordNet的层次结构,将超过8个标签建议的图像分成多个标签任务。


这就导致了37988个标签任务。 使用众包平台,将每个任务分配给5个独立的真人工标注者执行。 


实验效果


 下图是在ImageNet上,由Google和DeepMind科学家提出的sigmoid loss和clean label set的Top-1精度(百分比)。


微信图片_20220109122659.png    


可以看出,无论是sigmoid loss还是clean label set都比Benchmark优秀,而同时使用这两种方法获得了最好的性能。新方法在较长的训练计划下,其改进更为明显。 


但是在存在噪声数据的情况下,较长的训练计划可能是有害的,科学加期望清洗 ImageNet 训练集(或使用 sigmoid 损失)能在这种情况下产生额外的好处。 


在后续的实验中,科学家发现ReaL标签可以更正超过一半的ImageNet标签错误,这意味着ReaL标签提供了对模型准确性的更优越估计。


论文地址:https://arxiv.org/pdf/2006.07159.pdf

相关文章
|
4月前
|
人工智能 运维 关系型数据库
数据库运维:mysql 数据库迁移方法-mysqldump
本文介绍了MySQL数据库迁移的方法与技巧,重点探讨了数据量大小对迁移方式的影响。对于10GB以下的小型数据库,推荐使用mysqldump进行逻辑导出和source导入;10GB以上可考虑mydumper与myloader工具;100GB以上则建议物理迁移。文中还提供了统计数据库及表空间大小的SQL语句,并讲解了如何使用mysqldump导出存储过程、函数和数据结构。通过结合实际应用场景选择合适的工具与方法,可实现高效的数据迁移。
710 1
|
2月前
|
存储 关系型数据库 MySQL
MySQL数据库中进行日期比较的多种方法介绍。
以上方法提供了灵活多样地处理和对比MySQL数据库中存储地不同格式地日子信息方式。根据实际需求选择适当方式能够有效执行所需操作并保证性能优化。
235 10
|
7月前
|
数据库
【YashanDB知识库】数据库一主一备部署及一主两备部署时,主备手动切换方法及自动切换配置
【YashanDB知识库】数据库一主一备部署及一主两备部署时,主备手动切换方法及自动切换配置
【YashanDB知识库】数据库一主一备部署及一主两备部署时,主备手动切换方法及自动切换配置
|
3月前
|
SQL Oracle 关系型数据库
比较MySQL和Oracle数据库系统,特别是在进行分页查询的方法上的不同
两者的性能差异将取决于数据量大小、索引优化、查询设计以及具体版本的数据库服务器。考虑硬件资源、数据库设计和具体需求对于实现优化的分页查询至关重要。开发者和数据库管理员需要根据自身使用的具体数据库系统版本和环境,选择最合适的分页机制,并进行必要的性能调优来满足应用需求。
130 11
|
5月前
|
存储 算法 Java
实现不同数据库的表间的 JOIN 运算的极简方法
跨库计算是数据分析中的常见难题,尤其涉及多数据库系统时,表间 JOIN 操作复杂度显著提升。esProc 提供了一种高效解决方案,能够简化跨库 JOIN 的实现。例如,在车辆管理、交管和公民信息系统中,通过 esProc 可轻松完成如下任务:按城市统计有车公民事件数量、找出近一年获表彰的车主信息,以及按年份和品牌统计车辆违章次数。esProc 支持不同关联场景(如维表关联与主子表关联)的优化算法,如内存索引、游标处理和有序归并,从而大幅提升编码和运算效率。无论是同构还是异构数据源,esProc 均能灵活应对,为复杂数据分析提供强大支持。
|
6月前
|
Oracle 安全 关系型数据库
【Oracle】使用Navicat Premium连接Oracle数据库两种方法
以上就是两种使用Navicat Premium连接Oracle数据库的方法介绍,希望对你有所帮助!
1188 28
|
11月前
|
存储 监控 安全
数据库多实例的部署与配置方法
【10月更文挑战第23天】数据库多实例的部署和配置需要综合考虑多个因素,包括硬件资源、软件设置、性能优化、安全保障等。通过合理的部署和配置,可以充分发挥多实例的优势,提高数据库系统的运行效率和可靠性。在实际操作中,要不断总结经验,根据实际情况进行调整和优化,以适应不断变化的业务需求。
|
6月前
|
SQL 关系型数据库 MySQL
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL 数据库 SQL 语句调优方法详解(2-1)
本文深入介绍 MySQL 数据库 SQL 语句调优方法。涵盖分析查询执行计划,如使用 EXPLAIN 命令及理解关键指标;优化查询语句结构,包括避免子查询、减少函数使用、合理用索引列及避免 “OR”。还介绍了索引类型知识,如 B 树索引、哈希索引等。结合与 MySQL 数据库课程设计相关文章,强调 SQL 语句调优重要性。为提升数据库性能提供实用方法,适合数据库管理员和开发人员。
|
9月前
|
数据采集 数据库 Python
有哪些方法可以验证用户输入数据的格式是否符合数据库的要求?
有哪些方法可以验证用户输入数据的格式是否符合数据库的要求?
394 75
|
7月前
|
SQL 数据库连接 Linux
数据库编程:在PHP环境下使用SQL Server的方法。
看看你吧,就像一个调皮的小丑鱼在一片广阔的数据库海洋中游弋,一路上吞下大小数据如同海中的珍珠。不管有多少难关,只要记住这个流程,剩下的就只是探索未知的乐趣,沉浸在这个充满挑战的数据库海洋中。
148 16