前言 本文提出了一种新的弱监督多标签分类(WSML)方法,该方法拒绝或纠正大损失样本,以防止模型记忆有噪声的标签。由于没有繁重和复杂的组件,提出的方法在几个部分标签设置(包括Pascal VOC 2012、MS COCO、NUSWIDE、CUB和OpenImages V3数据集)上优于以前最先进的WSML方法。各种分析还表明,方法的实际效果很好,验证了在弱监督的多标签分类中正确处理损失很重要。

欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。

论文:Large Loss Matters in Weakly Supervised Multi-Label Classification

论文:http://arxiv.org/pdf/2206.03740

代码:https://github.com/snucml/LargeLossMatters

背景

弱监督多标签分类(WSML)任务是利用每幅图像的部分观察标签来学习多标签分类,由于其巨大的标注成本,变得越来越重要。

目前,有两种简单的方法可以使用部分标签来训练模型。一种是只使用观察到的标签来训练模型,而忽略未观察到的标签。另一种是假设所有未观察到的标签都是负面的,并将其纳入训练,因为在多标签设置中,大多数标签都是负面的。

但第二种方法有一个局限性,即这种假设会在标签中产生一些噪声,从而妨碍模型学习,因此之前的工作大多遵循第一种方法,并尝试使用各种技术(如引导或正则化)探索未观察标签的线索。然而,这些方法包括大量计算或复杂的优化管道。

基于以上思路,作者假设,如果标签噪声能够得到妥善处理,第二种方法可能是一个很好的起点,因为它具有将许多真正的负面标签纳入模型训练的优势。因此,作者就从噪声标签学习的角度来看待WSML问题。

众所周知,当训练带有噪声标签的模型时,该模型首先适应干净的标签,然后开始记忆噪声标签。虽然之前的研究表明记忆效应仅在有噪声的多类别分类场景中存在,但作者发现,在有噪声的多标签分类场景中也存在同样的效应。如图1所示,在训练期间,来自干净标签(真负样本)的损失值从一开始就减小,而来自噪声标签(假负样本)的损失从中间减小。

图1 WSML中的记忆效应

基于这一发现,作者开发了三种不同的方案,通过在训练过程中拒绝或纠正大损失样本,防止误报标签被记忆到多标签分类模型中。

贡献

1) 首次通过实验证明,记忆效应发生在有噪声的多标签分类过程中。

2) 提出了一种新的弱监督多标签分类方案,该方案明确利用了带噪声标签的学习技术。

3)提出的方法轻巧且简单,在各种部分标签数据集上实现了最先进的分类性能。

方法

在本文中,作者提出了新的WSML方法,其动机是基于噪声多类学习的思想,它忽略了模型训练过程中的巨大损失。通过在损失函数中进一步引入了权重项λi:

作者提出了三种提供权重λi的不同方案,示意图描述如图2所示。

图2 提出的方法的总体管道

1.损失拒绝

处理大损耗样本的一种方法是通过设置λi=0来拒绝它。在有噪声的多类任务中,B.Han等人提出了一种在训练过程中逐渐增加拒绝率的方法。作者同样设置函数λi,

由于模型在初始阶段学习干净的模式,因此在t=1时不拒绝任何损失值。在每次迭代中使用小批量而不是完整批量D′来组成损失集。作者将此方法称为LL-R。

2. 损失纠正(临时)

处理大损失样本的另一种方法是纠正而不是拒绝它。在多标签设置中,可以通过将相应的注释从负值切换到正值来轻松实现这一点。“临时”一词的意思是,它不改变实际标签,而只使用根据修改后的标签计算的损失,将函数λi定义为

作者将此方法命名为LL-Ct。这种方法的优点是,它从未观察到的标签中增加了真实阳性标签的数量。

3. 损失纠正(永久)

通过永久更正标签来更积极地处理较大的损失值。直接将标签从阴性改为阳性,并在下一个训练过程中使用修改后的标签。为此,为每种情况定义λi=1,并修改标签如下:

作者将此方法命名为LL-Cp。

实验

表2 人为创建的部分标签数据集的定量结果

表3 OpenImages V3数据集中的定量结果

图3 人为生成COCO部分标签数据集的定性结果

图4 COCO数据集上建议的方法的精度分析

图5 LL-Ct对COCO数据集的超参数效应

图6 使用较少数量的图像进行训练

表4 Pointing Game

结论

在本文中,作者提出了损失修改方案,该方案拒绝或纠正了在训练带有部分标记注释的多标签分类模型时出现的大损失样本。这源于经验观察,即记忆效应也发生在嘈杂的多标签分类场景中。

虽然不包括繁重的和复杂的组件,但作者的方案成功地防止了多标签分类模型记忆有噪声的假阴性标签,在各种部分标记的多标签数据集上实现了最先进的性能。

---------------------------------------------------------------------------------

 

CV技术指南创建了一个计算机视觉技术交流群和免费版的知识星球,目前星球内人数已经700+,主题数量达到200+。

知识星球内将会每天发布一些作业,用于引导大家去学一些东西,大家可根据作业来持续打卡学习。CV技术群内每天都会发最近几天出来的顶会论文,大家可以选择感兴趣的论文去阅读,持续follow最新技术,若是看完后写个解读给我们投稿,还可以收到稿费。 另外,技术群内和本人朋友圈内也将发布各个期刊、会议的征稿通知,若有需要的请扫描加好友,并及时关注。

加群加星球方式:关注公众号CV技术指南,获取编辑微信,邀请加入。

欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。

欢迎可以写以下内容的朋友联系我(关注公众号后获取联系方式)。

  1. 最新顶会的解读。例如最近的CVPR2022论文。
  2. 各个方向的系统性综述、主要模型发展演变、各个模型的创新思路和优缺点、代码解析等。如目标检测大总结:对目标检测从传统方法到深度学习的所有大总结,主要包括传统方法检测、RCNN系列、YOLO系列、anchor-free系列、小目标检测方法总结、小样本目标检测方法总结、视频中的目标检测方法总结、目标检测使用的损失函数总结等内容。支持边学边写
  3. TVM入门到实践的教程
  4. MNN入门到实践的教程
  5. OpenVINO入门到实践的教程
  6. libtorch入门到实践的教程
  7. Oneflow入门到实践的教程
  8. Detectron入门到实践的教程
  9. caffe源码阅读
  10. 深度学习从入门到精通(从卷积神经网络开始讲起)
  11. 若自己有想写的且这上面没提到的,可以跟我联系。声明:有报酬,具体请联系详谈。

公众号其它文章

计算机视觉入门路线

计算机视觉中的论文常见单词总结

YOLO系列梳理(四)关于YOLO的部署

YOLO系列梳理(三)YOLOv5

YOLO系列梳理(二)YOLOv4

YOLO系列梳理(一)YOLOv1-YOLOv3

CVPR2022 | 基于自我中心数据的OCR评估

CVPR 2022 | 使用对比正则化方法应对噪声标签

CVPR2022 | 弱监督多标签分类中的损失问题

CVPR2022 | iFS-RCNN:一种增量小样本实例分割器

CVPR2022 | Time 3D:用于自动驾驶的端到端联合单目三维物体检测与跟踪

CVPR2022 | A ConvNet for the 2020s & 如何设计神经网络总结

CVPR2022 | PanopticDepth:深度感知全景分割的统一框架

CVPR2022 | 重新审视池化:你的感受野不是最理想的

CVPR2022 | 未知目标检测模块STUD:学习视频中的未知目标

CVPR2022 | 基于排名的siamese视觉跟踪

从零搭建Pytorch模型教程(六)编写训练过程和推理过程

从零搭建Pytorch模型教程(五)编写训练过程--一些基本的配置

从零搭建Pytorch模型教程(四)编写训练过程--参数解析

从零搭建Pytorch模型教程(三)搭建Transformer网络

从零搭建Pytorch模型教程(二)搭建网络

从零搭建Pytorch模型教程(一)数据读取

关于快速学习一项新技术或新领域的一些个人思维习惯与思想总结

CVPR2022 | 弱监督多标签分类中的损失问题的更多相关文章

  1. CVPR2020:点云弱监督三维语义分割的多路径区域挖掘

    CVPR2020:点云弱监督三维语义分割的多路径区域挖掘 Multi-Path Region Mining for Weakly Supervised 3D Semantic Segmentation ...

  2. Valse2019笔记——弱监督视觉理解

    程明明(南开大学):面向开放环境的自适应视觉感知 (图片来自valse2019程明明老师ppt) 面向识别与理解的神经网络共性技术 深度神经网络通用架构 -- VggNet(ICLR'15).ResN ...

  3. 化繁为简,弱监督目标定位领域的新SOTA - 伪监督目标定位方法(PSOL) | CVPR 2020

    论文提出伪监督目标定位方法(PSOL)来解决目前弱监督目标定位方法的问题,该方法将定位与分类分开成两个独立的网络,然后在训练集上使用Deep descriptor transformation(DDT ...

  4. scikit-learn一般实例之八:多标签分类

    本例模拟一个多标签文档分类问题.数据集基于下面的处理随机生成: 选取标签的数目:泊松(n~Poisson,n_labels) n次,选取类别C:多项式(c~Multinomial,theta) 选取文 ...

  5. 移动前端不得不了解的HTML5 head 头标签(中上篇)

    Meta 标签 meta标签是HTML中head头部的一个辅助性标签,它位于HTML文档头部的 <head> 和 <title> 标记之间,它提供用户不可见的信息.虽然这部分信 ...

  6. html(常用标签,标签分类),页面模板, CSS(css的三种引入方式),三种引入方式优先级

    HTML 标记语言为非编程语言负责完成页面的结构 组成: 标签:被<>包裹的由字母开头,可以结合合法字符( -|数字 ),能被浏览器解析的特殊符号,标签有头有尾 指令:被<>包 ...

  7. 前端 HTML 标签分类

    三种: 1.块级标签: 独占一行,可设置宽度,高度.如果设置了宽度和高度,则就是当前的宽高.如果宽度和高度没有设置,宽度是父盒子的宽度,高度根据内容填充. 2.行内标签:在一行内显示,不能设置宽度,高 ...

  8. 带监督的文本分类算法FastText

    该算法由facebook在2016年开源,典型应用场景是“带监督的文本分类问题”.   模型 模型的优化目标如下:   其中,$<x_n,y_n>$是一条训练样本,$y_n$是训练目标,$ ...

  9. 如何用softmax和sigmoid来做多分类和多标签分类

    首先,说下多类分类和多标签分类的区别 多标签分类:一个样本可以属于多个类别(或标签),不同类之间是有关联的,比如一个文本被被划分成“人物”和“体育人物”两个标签.很显然这两个标签不是互斥的,而是有关联 ...

  10. 前端入门html(常用标签及标签分类)

    day47 参考:https://www.cnblogs.com/liwenzhou/p/7988087.html 任何标签都有有三个属性:ID,class.style <!DOCTYPE ht ...

随机推荐

  1. ASP.NET 5 使用 TestServer 进行单元测试

    之前如果对 ASP.NET WebAPI 进行单元测试(HttpClient 发起请求,并且可调试 WebAPI),一般采用 Owin 的方式,具体参考:<开发笔记:用 Owin Host 实现 ...

  2. .split()函数使用方法

    split说明 split():拆分字符串.通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list) split语法 str.split('type',num)[n] 整个语法的意思是:以 ...

  3. [Effective JavaScript 笔记]第64条:对异步循环使用递归

    假设需要有这样一个函数,接收一个URL的数组并尝试依次下载每个文件直到有一个文件被成功下载.如果API是同步的,使用循环很简单实现. function downloadOneSync(urls){ f ...

  4. const修饰

    const int A() //const // ====>int A(const this) { //观点1:const是修饰a,但是通过测试,我们发现,b++也不能编译通过 //这说明:co ...

  5. SQL Server聚合函数

    聚合函数对一组值计算后返回单个值.除了count(统计项数)函数以外,其他的聚合函数在计算式都会忽略空值(null).所有的聚合函数均为确定性函数.即任何时候使用一组相同的输入值调用聚合函数执行后的返 ...

  6. jQ实现的一个轮播图

    众所周知,轮播图是被广泛的运用的. 轮播图我们在很多的网站上都可以看到,例如淘宝.京东这些网站都很常见. 下面开始我们的轮播之旅: 搭建我们的骨架: <!DOCTYPE html> < ...

  7. [PHP] PHP服务器接口SAPI中的结构体

    SAPI:在各个服务器抽象层之间遵守着相同的约定,这里我们称之为SAPI接口.例如命令行程序的实现,Apache的mod_php模块实现以及fastcgi的实现等等 1.结构体:使用结构体(Struc ...

  8. logrotate-日志切割示例

    logrotate是linux系统自带的工具,它可以自动对日志进行截断(或轮循).压缩以及删除旧的日志文件. 1)配置文件示例# cat /wls/wls81/bin/weblogic/wls/app ...

  9. sql 某字段存储另一个表的多个id值并以逗号分隔,现根据id去中文并拼接同样以逗号分隔

    首先介绍用到的两个函数 charindex(要查找的表达式1,表达式2),返回值为表达式1在表达式2中的下标,未找到则返回0.(sql的下标是从1开始的),例如 select charindex('s ...

  10. json转换工具类:json&lt;===&gt;list或者对象

    public class JsonTools { /** * POJO 转 JSON */ public static String createJsonString(Object object) { ...