热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

重新标注ImageNet:多标签,全面提升模型性能

本文转载自机器之心。作者:杜伟、魔王自发布以来,ImageNet数据集逐渐成为机器学习社区最流行的图像分类基准,但ImageNet自身存在

本文转载自机器之心。

作者:杜伟、魔王

自发布以来,ImageNet 数据集逐渐成为机器学习社区最流行的图像分类基准,但 ImageNet 自身存在着标签噪声,以及单标签标注属性与多类别样本之间的不匹配。所以在本文中,韩国 Naver AI 实验室提出了一种新颖的重新标注策略以及一个基于额外源数据的强大图像分类器,通过该策略训练的 ResNet 等多种架构都实现了性能提升。

ImageNet 是机器学习社区最流行的图像分类基准数据集,包含超过 1400 万张标注图像。该数据集由斯坦福教授李飞飞等人于 2006 年开始创建,后成为评估计算机视觉模型在下游视觉任务中能力的试金石。

然而 ImageNet 并不完美,其标签存在大量噪声。近期多项研究表明,该数据集中许多样本包含多个类别,而 ImageNet 本身是一个单标签基准数据集。一些研究者提出将 ImageNet 转换为多标签任务评估基准,但是可能是由于标注成本过高,他们并未修复训练集

在近日发布的一篇论文中,来自韩国 NAVER AI LAB 的研究者认为,在应用了随机剪裁的训练设置下,单标签标注和高效多标签图像之间的不匹配带来了同等问题。在使用单标签标注时,图像随机剪裁可能包含与真值完全不同的对象,为训练带来噪声甚至不准确的监督信号。

为此,这些研究者决定使用多标签对 ImageNet 训练集进行重新标注:他们在额外的数据源上训练了一个强大的图像分类器,使用其生成多标签,解决了标注成本问题;在最终池化层之前使用像素级多标签预测,以充分利用额外的位置特定监督信号。

原始 ImageNet 标签(左上)与本文 ReLabel 标注器的效果对比。

基于重新标注样本的训练可以全面提升模型性能。例如,使用该研究提出的局部多标签后,ResNet-50 在 ImageNet 上的 top-1 分类准确率达到 78.9%,使用 CutMix 正则化后还可以进一步提升至 80.2%。实验表明,使用局部多标签训练的模型在迁移至目标检测和实例分割任务以及多种稳健性基准时,性能优于基线方法。

此外,研究者还开源了重新标注的 ImageNet 训练集、预训练权重和源代码。

  • 论文地址:https://arxiv.org/pdf/2101.05022.pdf

  • GitHub 地址:https://github.com/naver-ai/relabel_imagenet

方法

这项研究提出了一种重新标注(re-labelling)策略 ReLabel,以在 ImageNet 训练集上获得像素级真值标签。标签映射((label map))具有两个特征:多类别标签和局部标签。研究者使用机器标注器(machine annotator)获得标签映射,该标注器是在额外源数据上训练的 SOTA 图像分类器。研究者介绍了如何获得标签映射,并提出了一个新颖的训练框架 LabelPooling,以使用这类局部多标签训练图像分类器。

重新标注 ImageNet

研究者从机器标注器中获得密集真值标签,从这类模型中获得的预测可能接近于人类预测。由于训练机器标注器需要访问专有训练数据并在 GPU 或 TPU 上训练数百天,所以研究者采用开源训练权重作为机器标注器。

机器标注器如下图 4 所示:

研究者注意到,尽管机器标注器在 ImageNet 上使用单标签监督(softmax 交叉熵损失)进行训练,但它们仍然倾向于对多类别图像进行多标签预测。所以,如果数据集中存在大量的标签噪声,则利用单标签交叉熵损失训练的模型倾向于预测多标签输出。

此外,利用分类器获取标签还有一个好处:提取位置特定的标签。研究者移除了分类器的全局平均池化层,并将接下来的线性层转化为 1×1 的卷积层,从而将该分类器转化为一个全卷积网络。然后,模型的输出成为 f(x) ∈ R^W×H×C。研究者将该输出 f(x) 作为标签映射标注 L ∈ R^W×H×C。

利用密集多标签训练分类器

在获得上述密集多标签 L ∈ R^W×H×C 之后,接下来需要考虑如何利用它们训练分类器。对此,研究者提出了一种新颖的训练方案 LabelPooling,它将局部真值考虑了进来。下图 3 展示了 LabelPooling 和原始 ImageNet 训练之间的区别:

在标准 ImageNet 训练设置下,随机剪裁的监督信号来自于每张图像的单标签真值。另一方面,LabelPooling 会加载预计算的标签映射,并在标签映射上执行与随机剪裁坐标相对应的区域池化操作。研究者采用了 RoIAlign 区域池化方法。

此外,研究者在池化预测图上执行全局平均池化和 softmax 操作,以获得多标签真值向量。最后,研究者使用了交叉熵损失。

ReLabel 的伪代码。

实验

ImageNet 分类

为了验证 ReLabel 的效果,研究者使用不同的网络架构和评估指标(包括近期提出的多标签评估指标)执行 ImageNet 分类任务。他们在包含 128 万训练图像和 5 万验证图像的 ImageNet-1K 基准上评估 ReLabel 策略。对于所有模型,他们均使用标准数据增强技术,如随机剪裁、翻转、色彩抖动。

与其他标签操纵方法的对比:研究者对比了 ReLabel 与之前那些直接调整 ImageNet 标签的方法,使用的模型是 ResNet50。结果参见下表 3:

在不同网络架构上的结果:研究者使用 ReLabel 训练了多个不同架构(包括 ResNet-18、ResNet101、EfficientNet-{B0,B1,B2,B3}、ReXNet),表明 ReLabel 可用于具备不同训练机制的多种网络。下表 4 展示了实验结果,从中可以看出,ReLabel 持续提升不同网络架构的性能,例如将 EfficientNet-B3 的准确率从 81.7% 提升至 82.5%。

SOTA 性能:ReLabel 对实现最优性能的其他训练技巧起到补充作用,例如将 CutMix 正则化与 ReLabel 结合起来。研究者在随机剪裁图像上执行 CutMix,然后根据 CutMix 算法将池化标签进行混合。实验结果参见下表 5:ReLabel + CutMix 在以 ResNet-50 和 ResNet-101 作为主干模型的情况下,均取得了 SOTA ImageNet top-1 准确率。

迁移学习

研究者还检验了 ReLabel 带来的 ImageNet 性能改进能否迁移至不同的下游任务,展示了在五个细粒度分类任务、目标检测与实例分割任务上的结果。

细粒度分类任务:研究者在五个细粒度分类任务(Food-101、Stanford Cars、DTD、FGVC Aircraft 和 Oxford Pets)上评估了使用 ReLabel 预训练的 ResNet-50 的性能。实验结果参见下表 8:

目标检测与实例分割:研究者分别使用具备特征金字塔网络的 Faster-RCNN 和 Mask-RCNN 作为目标检测和实例分割任务的 base 模型。Faster-RCNN 和 Mask-RCNN 的主干网络基于 ReLabel 预训练的 ResNet-50 模型进行初始化,然后使用原始训练策略在 COCO 数据集上进行微调。实验结果参见下表 9:

多标签分类

多标签训练常用随机剪裁作为数据增强方式,在这种情况下,ReLabel 和 LabelPooling 可以提供额外的局部监督信号,帮助改善原始多标签训练集。研究者使用多标签分类数据集 COCO 进行实验,然后使用基于标签映射的 LabelPooling 训练多标签分类器。

下表 10 展示了实验结果:使用 ReLabel 和机器生成的标签地图后,ResNet-50 和 ResNet-101 的 mAP 分别增长了 3.7 pp 和 2.4 pp;使用 oracle 标签地图后,二者的 mAP 分别增长了 4.2 pp 和 4.3 pp。

END

注明:数据

数据标注与增广交流群

研究数据,就是挖掘富矿!这里讨论标注与增广的一切。

我爱计算机视觉

微信号 : aicvml

QQ群:805388940

微博/知乎:@我爱计算机视觉

投稿:amos@52cv.net

网站:www.52cv.net

在看,让更多人看到  



推荐阅读
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • Python 工具推荐 | PyHubWeekly 第二十一期:提升命令行体验的五大工具
    本期 PyHubWeekly 为大家精选了 GitHub 上五个优秀的 Python 工具,涵盖金融数据可视化、终端美化、国际化支持、图像增强和远程 Shell 环境配置。欢迎关注并参与项目。 ... [详细]
  • LambdaMART算法详解
    本文详细介绍了LambdaMART算法的背景、原理及其在信息检索中的应用。首先回顾了LambdaMART的发展历程,包括其前身RankNet和LambdaRank,然后深入探讨了LambdaMART如何结合梯度提升决策树(GBDT)和LambdaRank来优化排序问题。 ... [详细]
  • 本文旨在探讨如何利用决策树算法实现对男女性别的分类。通过引入信息熵和信息增益的概念,结合具体的数据集,详细介绍了决策树的构建过程,并展示了其在实际应用中的效果。 ... [详细]
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • 深入浅出TensorFlow数据读写机制
    本文详细介绍TensorFlow中的数据读写操作,包括TFRecord文件的创建与读取,以及数据集(dataset)的相关概念和使用方法。 ... [详细]
  • Spring Cloud Config 使用 Vault 作为配置存储
    本文探讨了如何在Spring Cloud Config中集成HashiCorp Vault作为配置存储解决方案,基于Spring Cloud Hoxton.RELEASE及Spring Boot 2.2.1.RELEASE版本。文章还提供了详细的配置示例和实践建议。 ... [详细]
  • 本教程详细介绍了如何使用 TensorFlow 2.0 构建和训练多层感知机(MLP)网络,涵盖回归和分类任务。通过具体示例和代码实现,帮助初学者快速掌握 TensorFlow 的核心概念和操作。 ... [详细]
  • 深入理解K近邻分类算法:机器学习100天系列(26)
    本文详细介绍了K近邻分类算法的理论基础,探讨其工作原理、应用场景以及潜在的局限性。作为机器学习100天系列的一部分,旨在为读者提供全面且深入的理解。 ... [详细]
  • 本文深入分析了 USDC 的稳定性和可能的救援措施,探讨了在硅谷银行破产后 USDC 面临的风险以及行业内的反应。 ... [详细]
  • Redux入门指南
    本文介绍Redux的基本概念和工作原理,帮助初学者理解如何使用Redux管理应用程序的状态。Redux是一个用于JavaScript应用的状态管理库,特别适用于React项目。 ... [详细]
  • 机器学习核心概念与技术
    本文系统梳理了机器学习的关键知识点,涵盖模型评估、正则化、线性模型、支持向量机、决策树及集成学习等内容,并深入探讨了各算法的原理和应用场景。 ... [详细]
  • yikesnews第11期:微软Office两个0day和一个提权0day
    点击阅读原文可点击链接根据法国大选被黑客干扰,发送了带漏洞的文档Trumps_Attack_on_Syria_English.docx而此漏洞与ESET&FireEy ... [详细]
  • 深入解析:OpenShift Origin环境下的Kubernetes Spark Operator
    本文探讨了如何在OpenShift Origin平台上利用Kubernetes Spark Operator来管理和部署Apache Spark集群与应用。作为Radanalytics.io项目的一部分,这一开源工具为大数据处理提供了强大的支持。 ... [详细]
  • 在互联网信息爆炸的时代,当用户需求模糊或难以通过精确查询表达时,推荐系统成为解决信息过载的有效手段。美团作为国内领先的O2O平台,通过深入分析用户行为,运用先进的机器学习技术优化推荐算法,提升用户体验。 ... [详细]
author-avatar
无梗啦_671
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有