差文解析 IIRC: Incremental Implicitly-Refined Classification

article/2025/9/4 9:56:54

论文地址:[2012.12477] IIRC: Incremental Implicitly-Refined Classification (arxiv.org)

不介意浪费时间的可以把原论文扒出来读一读,见识一下这篇论文的差。(手动狗头)。

不介意浪费时间的可以读一读博主的文章,因为博主已经浪费时间读了一下这个论文,还写了一下。(手动狗头)

本篇论文比较差劲,方法层面相当于提出一个IIRC(Incremental implicitly refined classification),但是这个IIRC其实就相当于一个多分类任务的类别增量。同时,本文模型层面就是把一些base-line模型改为多分类类别增量模型,也没有提出自己的模型和方法。仅仅相当于做了几个多分类类别增量数据集。

论文署名了Facebook AI,有可能先提出方法占着坑,把base-line运行了,暂未提出自己的方法。也有可能仅仅是水了一篇论文。后面会关注一下论文的后续。目前这个论文读起来非常差劲。我们可以来赏析一下一篇差论文是如何构成的。

另外,有博客还将此文链接链接为CVPR的论文,但是本文根本不是CVPR的论文。

这个只代表论文所属的分类是CV类。跟CVPR这个会议没有关系。

有这个才叫CVPR论文。

目录

1.贡献点

2.方法

2.1相关术语

2.2 模型适应

实验

3.1 数据集

3.2 评价标准

3.3 baseline

四、总结


1.贡献点

IIRC(Incremental implicitly refined classification)的图像输入具有两种细粒度:例如两个级别标签,高级(coarse粗粒度)别是bear, 低级别(fine细粒度)为solar-bear。每次只给模型一个标签,随着训练的深入,模型会学会高细粒度的标签。

例如图2所示,模型刚开始学到的标签是粗粒度的标签,到后面逐渐学会了细粒度的标签。画个图来举例子定义一个问题,还是用手写手绘方式画的图。

贡献点:

  • 提出IIRC,IIRC从字面意思理解,就是随着训练的深入,粗粒度的标签会被网络学习为细粒度的标签。(前后细粒度不一样的多分类任务,为啥另立门户叫做IIRC??)
  • 在IIRC环境下,运行了bench mark (这也算贡献点??)
  • 对比了同类的所有的方法(这个贡献点跟上一条有啥区别??为了凑三个??)

2.方法

2.1相关术语

  • subclass:例如北极熊是熊的subclass
  • superclass: 例如狗和牧羊犬,狗就是牧羊犬的super-class
  • incomplete information: 不完备的信息,例如有数据有两个标签,只有一个标签被提供; 对于本文的任务,主要的标签大部分都是incomplete information
  • complete information: 数据所有标签都被提供
  • in-task validation set: 训练初期,标签不完备,因此valid-set只有incomplete information
  • post-task validation set: 训练后期,标签已经完备,此时valid-set标签具有所有标签,是complete information

共有N个task,分别是T1,T2,...Tn, 每个task具有3个数据集合,分别是训练集,验证集,测试集。每个数据具有2个标签,分别是superclass label和subclass label.

开始的任务给出的label是superclass label,后面的任务给出的是subclass label(这个限制可能利于网络训练,但是现实世界中的任务可能不会这么容易

 

本文总结,增量学习主要有三种方式(这个总结倒是公认):

  1. replay based
  2. regularization based
  3. parameter isolation methods

 

2.2 模型适应

本文IIRC的假设,相当于相当于把多分类类别增量运用到了这里。运用binary cross-entropy loss (BCE)来作为分类loss,This loss is averaged by the number of observed classe,即用已有的分类数进行一个平均。

增量学习中广泛采用且效果更好的,nearest-mean-classifier,作者并未使用。将iCaRL的nearest-mean-classifier替换为CNN-classifier (这里被惊到了?iCaRL的一大贡献点就是nearest-mean-classifier,这里作者把iCaRL贡献点删掉,改到原来的CNN分类器,太扯了)

所以,模型适应就是加一个多分类的交叉熵????还把前述经典论文的贡献点阉割了,作为base-line来比???

实验

3.1 数据集

作者方法没讲完,直接开始进行了实验。选用了ImageNet和CIFAR-100数据集。

作者费老大劲,用CIFAR和ImageNet做了几个数据集,appendix做了很多。9页论文,20页appendix ???这个数据集做到真辛苦。

讲几个sub-class共同构造了super-calss。详细的构造后的统计可以参见论文附录,博主这里懒得读了。

例如图3展示了,IIRC-imageNet数据集之中,每个superclass包含的subclass的数量

3.2 评价标准

对于单类别,一般用MR(Exact Match Ratio)进行衡量,即正确预测的占所有样本的比例:

Y hat表示标签,Y表示预测的输出,共有n个样本。

PS: 作者自己定义了Implicitly-Refine, 但是实际上这个问题就是Multi-class类别增量的一个子集,并且Implicitly-Refine问题还比Multi-class问题更加简单。因此这篇文章可以看作各种已有的类别增量方法在multi-class的问题上的一个base-line。作者下面的做法就是把multi-class的metric进行修改,改为本文适用的metric.

对于多分类问题(multi-class),大多采用Jaccard similarity(JS)衡量标准,

 

JS衡量标准中,求和项表示每个样本中,针对多个标签:TruePositive/(TruePositive+FalsePositive)。这样就保证了,如果有一个样本有多个标签,模型如果预测正确其中的一到两个标签,不至于使模型在这个样本上的对准确率的贡献为0.

本文定义了本文的衡量标准,奥不,本文抄了一个衡量标准,即Jaccard similarity作为本文的衡量标准。

(PS,论文中公式不清不楚也没有具体解释)

3.3 baseline

baseline应该是本文的意义所在,因为本文没有提出自己的方法,通篇运用别人的方法。

左边是IIRC-Imagenet-lite数据集,右边是IIRC-Imagenet-full数据集。

性能上限:

  • incremental-joint,表示每次增量任务都会连带之前的所有样本一同训练
  • joint: 一次性用所有样本训练网络
  • ER:vanilla expernence replay: 存储一定数量的旧样本
  • ER-infinite, 具有可以存储的数据量无限制。与incremental-joint的区别在于,ER已有的标签包括incomplete标签,incremental-joint标签是所有标签。

本文相当于只公平对比了三种方法。(单单base-line就有四种???)

文中最好的方法是iCaRL的方法,以及iCaRL-norm的方法。

iCaRL

LUCIR: CVPR2019

A-GEM, replay-based methods ICML 2019

四、总结

有点惊诧这个论文写成这样,3作还署了Facebook AI,可能论文为了避免方法泄露,先把base-line运行了占着坑。

缺点:

  • 本文很多语言比较随意,因为本身任务较为简单,描述清楚并不难。多数用了举例子的方式来进行描述。没有严格按照规范的格式进行书写。
  • 作者定义了一个新问题,其实就是每类有两个标签的类别增量,甚至可以被归结为多标签分类问题,并无新意。
  • 作者在这定义的问题上运行了base-line,相当于挖了一个坑,然后拿其他增量学习方法进行了对比,但是真实的贡献点并不多。

亮点:

作者做了2个数据集,可以理解为每个样本有两个label的类别增量数据集。

作者把所有的base-line跑了一遍(没有提出自己的方法)

 


http://chatgpt.dhexx.cn/article/7tSBNTbN.shtml

相关文章

编译Sophus报错: error: implicitly-declared 的参考解决方法

一、问题描述 自己在编译Sophus时遇到如下错误&#xff1a; /home/wong/Datum/third_party/Sophus-1.0.0-template/Sophus-1.0.0/test/core/test_so2.cpp:82:31: error: implicitly-declared ‘Eigen::Map<const Sophus::SO2<double> >::Map(const Eigen::Map<…

grad can be implicitly created only for scalar outputs

1.Autograd&#xff1a;自动求导 ​ torch.Tensor 是这个包的核心类。如果设置它的属性 .requires_grad 为 True&#xff0c;那么它将会追踪对于该张量的所有操作。当完成计算后可以通过调用 .backward()&#xff0c;来自动计算所有的梯度。这个张量的所有梯度将会自动累加到.…

keil编译时,提示function “xxx“ declared implicitly错误解决办法

当keil编译时&#xff0c;出现function “USART3_Config” declared implicitly错误&#xff0c;意思是存在隐式申明&#xff0c;也就是在申明头文件或者函数名的时候存在一定的问题 通过错误指向的地方可以看到&#xff0c;此句前面也会有黄色感叹号提示&#xff0c;如下图所示…

selenium中三种等待方式:sleep,implicitly_wait,WebDriverWait

三种等待方式&#xff1a;sleep 强制等待&#xff0c; sleep&#xff0c;设置等待多长时间&#xff0c;就要等待多长时间。等待完成后&#xff0c;才会继续下一步&#xff1a; from selenium import webdriver # 导入sleep from time import sleep# 创建谷歌浏览器对象 chrom…

function declared implicitly

标题keil中出现 warning: #223-D: function “xx” declared implicitly 如图1 原因是没有包含xx函数所在的头文件&#xff0c;这虽然只是个警告&#xff0c;而且程序也能成功运行&#xff0c;但是无法点进去看这个函数&#xff08;如图2&#xff09;。count_gezi&#xff08…

【转】-【Python】- 【selenium】 -selenium中的三种等待方式(显示等待WebDriverWait()、隐式等待implicitly()、强制等待sleep())

—— 学习Python自动化测试的菜鸡&#xff0c;现在是selenium库webdriver的学习时间 【问题】 在获取页面元素的文本的时候&#xff0c;总是获取不到&#xff0c;或者显示为空&#xff1b; 【分析】 页面加载不完全&#xff1b; 【解决措施】 等待页面加载完成&#xff1…

ajax之文件上传

表单上传文件 传统的文件上传是通过form表单&#xff0c;俗话说不关注实际问题的解决方法都是假把式&#xff0c;那么我就模拟一个用户注册的功能。 观察如下代码&#xff1a; [HttpPost] public ActionResult Upload(string username, string password, string realName, st…

SpringMVC Ajax上传文件实例

做了一个文件上传模块&#xff0c;因为传统的form提交会有页面刷新&#xff0c;不符合我的使用要求&#xff0c;所以我采用Ajax提交方式&#xff0c;这里说明下&#xff0c;我的应用程序前端为Ajax提交&#xff0c;后端SpringMVC接收处理。 传统form提交文件方式&#xff1a; …

使用ajax上传文件

需求 页面上需要异步上传文件 ajax简单介绍 常用的有.get()&#xff0c; .post()&#xff0c; .load()等等&#xff0c;其中.ajax()是通用方法&#xff0c;前者均可以通过此方法实现。具体可查看https://www.runoob.com/jquery/jquery-ref-ajax.html 上传前端代码 <!DO…

文件上传ajax

因为文章内容和文章标题&#xff0c;文章图片不方便在同一个form中&#xff0c;所以这里通过ajax传输数据 文件上传 html&#xff0c;这里使用的bootstrap <div class"modal fade" id"myModal" tabindex"-1" role"dialog" aria-la…

ajax以及文件上传的几种方式

AJAX准备知识&#xff1a;JSON 什么是 JSON &#xff1f; JSON 指的是 JavaScript 对象表示法&#xff08;JavaScript Object Notation&#xff09;JSON 是轻量级的文本数据交换格式JSON 独立于语言 *JSON 具有自我描述性&#xff0c;更易理解 * JSON 使用 JavaScript 语法来描…

ajax怎么上传文件?注意事项

ajax&#xff0c;即异步处理&#xff0c;相信程序员朋友们都会感觉到亲切吧&#xff0c;因为ajax在软件开发过程中实在是太常用了&#xff0c;还是有不少刚刚入门想学习软件开发的朋友可能不是很熟悉如何使用ajax&#xff0c;今天就一起来看看吧&#xff0c;怎样使用ajax上传文…

上传文件—ajax

目录 一、上传图片文件 1.写基本html 完成页面主框架 2.script部分 2-0 主框架 上传文件按钮被点击触发事件 2-1验证使得否选择文件 2-2 介绍 FormData 2-3 监听onreadystatechange事件 小结 二、实现上传文件进度条 1. 在bootstrap找进度条组件 2.script 完成进度条算法…

使用AJAX实现上传文件

前端代码 <form id"uploadForm" method"post" enctype"multipart/form-data"><label >上传电子书</label><input type"file" name"file" ><button id"upload" type"butto…

计算多边形面积

对于规则多边形&#xff0c;矩形、梯形、平行四边形、三角形&#xff08;根据三边长度&#xff0c;利用公式计算&#xff09;&#xff0c;可以通过公式计算其面积&#xff0c;而对于一般意义的多边形&#xff08;单一多边形、不包含“洞”&#xff09;&#xff0c;怎么计算面积…

C# 多边形面积计算公式

最近在做地图相关面积计算显示工作&#xff0c;百度了很多关于多边形面积计算方面公式和代码&#xff0c;只能说贼费劲&#xff0c;最终完成了把结果展示下 原理&#xff1a;鞋带公式 定义&#xff1a;所述鞋带式或鞋带算法&#xff08;也称为高斯的面积公式和测量员的式&#…

【计算多边形面积】

题目 Input 输入数据包含多个测试实例&#xff0c;每个测试实例占一行&#xff0c;每行的开始是一个整数n(3<n<100)&#xff0c;它表示多边形的边数&#xff08;当然也是顶点数&#xff09;&#xff0c;然后是按照逆时针顺序给出的n个顶点的坐标&#xff08;x1, y1, x2,…

hdu 2036(多边形面积公式)

改革春风吹满地 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 33251 Accepted Submission(s): 17118 Problem Descripti 话说部分学生心态极好&#xff0c;每天就知道游戏&#xff0c;这次考试如此简单的题目…

鞋带公式——多边形面积求和

个人博客&#xff1a;The Blog Of WaiterXiaoYY 欢迎来互相交流学习。 啥是鞋带公式&#xff08;shoelace&#xff09; Shoelace公式&#xff0c;也叫高斯面积公式&#xff0c;是一种数学算法&#xff0c;可求确定区域的一个简单多边形的面积。 该多边形是由它们顶点描述笛卡…