一篇2017年的经典文章,iCaRL: Incremental Classifier and Representaion Learning。作者提出了一种增量学习实现方法简称iCaRL,这是一种增加识别种类的学习算法。想法是构建并管理一个exemplar set(旧数据的代表性样本集合),在增量学习阶段,把新数据和该exemplar set混合作为输入数据,模型训练结束后,再把部分新数据添加到exemplar set,并剔除部分旧数据(因为内存有限)。
在未增量的模型中,执行以下算法:
x是输入数据,P是代表性样本集合,t是样本种类的总数。求解当前exemplar中,每个样本种类的均值Uy。比较输入数据与哪个样本种类的均值Uy差值最小(最接近),即把输入数据分为该样本类型。
在增量过程中,执行以下算法:
增量的训练过程中使用旧知识的代表性样本集合P,输入数据Xs...Xt及当前模型的参数,三者共同更新当前模型的参数。
接下来,对exemplar set进行更新,因内存有效,该集合需要删除部分旧知识,以添加新知识进入集合。
对于更新操作,分为Reduce和Construct两个操作。伪代码分别如下:
其中,进出集合的规则是按每个样本离该样本种类均值的远近。
来源:oschina
链接:https://my.oschina.net/u/4406496/blog/4710519