基于Knowledge Distillation的增量学习论文学习(之五)——Large Scale Incremental Learning

 

这是CVPR 2019的论文。旨在解决大规模增量学习的问题。

       显然,作者在论文中主要解决的问题是大规模数据,首先理解下作者说的“大规模”增量学习是多大?从下图作者的实验结果可以看出,作者考量的,是在类别数发生几十甚至上百个的增加时算法的性能,事实上,作者展示的例子也显示,在类别总数100以内时,作者的方法相比原始LwF提升有限,但在类别总数达到上千甚至上万时,作者的方法显著优于现有算法。

基于Knowledge Distillation的增量学习论文学习(之五)——Large Scale Incremental Learning_第1张图片

基于Knowledge Distillation的增量学习论文学习(之五)——Large Scale Incremental Learning_第2张图片

      作者总结增量学习主要包括三种形式:

(1)完全不用旧样本数据训练

(2)使用GAN生成的旧样本数据

(3)使用具有代表性的少量旧数据

       作者认为第(3)种思路可以在代价消耗与学习结果之间取得最好的平衡,因此也采用这种方法。并将增量模型建立在LwF基础上,(参考之前的博文LwF)经过试验,作者发现,面对大规模增量问题,LwF随着新类别的增加,表现越来越差,这其中的主要原因是,网络的最后一层FC层对于新类别数据具有明显的倾向性。为了确认这一现象的存在,作者做了如下对比试验:

基于Knowledge Distillation的增量学习论文学习(之五)——Large Scale Incremental Learning_第3张图片

         从图4(a)中可以看出,FC层不经偏置矫正的结果最差;FC层经过偏置矫正后的结果与使用全部数据训练FC层(不做偏置矫正)结果接近。这说明在利用少量旧数据加全量新样本数据训练模型,事实上是对FC层的识别倾向性做了偏置。这个倾向性,在图(b)中可以看的很清楚,完全倾向于新类别数据(80-100类颜色最深)。为了处理这种倾向性,作者提出了Bias Correction (BiC)方法,即对最后一个FC层的输出偏置进行纠正。

基于Knowledge Distillation的增量学习论文学习(之五)——Large Scale Incremental Learning_第4张图片

       作者思路如上图所示,总结如下:

(1)挑选代表性旧类别数据与全部新数据混合,形成DATA集合,并划分成训练集train_old/train_new和验证集val_old/val_new

(2)套用如下式子实现FC层的纠正,其中1至n表示旧样本,即对于LwF中的输出不变,不进行纠正;n+1至m代表新样本数据,需要做线性偏置矫正。这里参数ok的获取同LwF中一致,即对于旧样本做蒸馏处理,对于新样本则不作二次处理,直接输出。

基于Knowledge Distillation的增量学习论文学习(之五)——Large Scale Incremental Learning_第5张图片

(3)FC经过矫正后,再通过一个常规的交叉熵损失即可以完成对alpha和beta的训练。

总体说来,作者的方法很巧妙,但是在大规模增量学习中,效果却很好。算是对LwF、end-to-end、iCaRL等典型增量学习的一个有效改进手段。

 

 

 

你可能感兴趣的:(增量学习)