Class-Incremental Learining related work
1 iCaRL: Incremental Classifier and Representation Learning (cvpr 2017)
目前来看应该是CIL的(AI阶段)开山作,里边提到了许多CIL相关实验研究的配置和标准。
Abstract:
引出问题,介绍iCaRL,“iCaRL learns strong classifiers and a data representation simultaneously.”。
1 introduction:
· 定义增量学习:Formally, we demand the following three properties of an algorithm to qualify as class-incremental:
i) it should be trainable from a stream of data in which examples of different classes occur at different times,
ii) it should at any time provide a competitive multi-class classifier for the classes observed so far, # 意思就是任何时候你的模型对旧类和新类都要保持很高的准确率;
iii) its computational requirements and memory footprint should remain bounded, or at least grow very slowly, with respect to the number of classes seen so far.
· 文中介绍目前满足以上三点的方法有,但是都是过去的基于“fixed data representation”,无法拓展至深度学习可以“learn classifiers and feature representations at the same time”,所以在准确率方面不再具有优势。(详见Sect 3 - related work)
· 引出iCaRL:“In this work, we introduce iCaRL (incremental classifier and representation learning), a practical strategy for simultaneously learning classifiers and a feature representation in the class-incremental setting.” 针对上述的三点要求提出了3个模块来解决现有方法存在的shortcomings:
• classification by a nearest-mean-of-exemplars rule,
• prioritized exemplar selection based on herding,
• representation learning using knowledge distillation and prototype rehearsal
2 Method
2.1. Class-Incremental Classifier Learning
· Algorithm 1 介绍了分类的方法:针对每个类计算prototype,再衡量一个新数据和这些prototype的距离,离的最近的视为同一类。
· Algorithm 2 介绍了训练的流程:更新参数,限制每个旧类别保留的example的数量,构建当前轮次新类别的examplar set。中间用到了Algorithm 3,5,4模块。
· 文中提到:“All feature vectors are L2-normalized, and the results of any operation on feature vectors, e.g. averages, are also re-normalized”,为了后边方便计算prototype相似度。
· 并且在iCaRL中,“iCaRL uses the network only for representation learning, not for the actual classification step”,意思iCaRL中的网络它只是用于学习更好的特征表示,并不和分类层结合直接用于分类。(特征提取器部分参数量不变,“分类层”对应的参数会随着类别增加增加。
2.2. Nearest-Mean-of-Exemplars Classification
2.3. Representation Learning
Algorithm 3 介绍了更新参数的流程,这里我有一点疑问:相比金标准,network outputs用于loss就算有什么优势???(虽然用金标准肯定是炸了,因为examplar的数量太少了)
这里和finetuning很像,也可以end-to-end正常训练。为了catastrophic forgetting,这里做了两点修改:1)“the training set is augmented”,除了新数据,还有保存的旧类数据(问题同上,这么少怎么起到作用???).2)除了分类loss,还用到了distillation loss,我怎么感觉这里就是简单地over sample了一下old data。。。???
2.4. Exemplar Management
· Two routines shown below,分别用于管理当前新来的类和旧类。新类别构建examplars set,旧类要删掉一些由于budget的原因。
· 新类构建examplars set时候,力争用一些emamplars的特征去逼近所有case的特征平均值。最后会提取出a prioritized list。
3 Related work
“iCaRL builds on the insights of multiple earlier attempts to address class-incremental learning.”
主要从两点阐述:“fixed data representations” 和 “also learn the data representation”。
3.1 Learning with a fixed data representation.
· “NCM has been shown to work well and be more robust than standard parametric classifiers in an incremental learning setting [23, 24, 31]”