论文地址:[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.贡献点
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(这个限制可能利于网络训练,但是现实世界中的任务可能不会这么容易)
本文总结,增量学习主要有三种方式(这个总结倒是公认):
- replay based
- regularization based
- 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跑了一遍(没有提出自己的方法)