基于Knowledge Distillation的增量学习论文学习(之三)——End-to-End Incremental Learning

这是ECCV2018的一个工作,提出了端到端的增量学习。

  1. 动机:目前深度学习在处理增量学习问题时面临着“灾难遗忘”的问题,作者认为其主要原因是对新类别数据训练师,无法使用旧数据。为此,作者提出端到端增量学习,其思路是,选出一部分具有代表性的旧数据,与新类别数据组成训练集对模型进行更新训练。训练的损失函数包括两部分,对旧类别数据的蒸馏交叉损失,对新数据的交叉熵损失。
  2. 作者的认识:一个真正的增量深度学习分类方法应具备以下特点:(1)可以对流数据以及任何顺序、任何时间出现的类别数据进行训练;(2)对新旧数据表现都好;(3)模型的参数和内存消耗在一定范围内;(4)特征表示和分类器是端到端的。基于这四点认识,作者认为包括LwF在内的方法均没有达到这四点要求,而LwF的问题,就在于训练新数据时完全舍弃了旧数据。
  3. 作者思路
基于Knowledge Distillation的增量学习论文学习(之三)——End-to-End Incremental Learning
End-to-end增量学习思路

端到端增量学习的框架建立在深度网络基础上,损失函数是一个交叉熵蒸馏损失函数。网络包括一个分类层和一个分类损失函数,分类层利用特征提取器产生一系列logits集(基于softmax生成的类别概率值)。可以看出,损失函数的设计形式与前文中LwF接近。但不同于LwF,作者挑选了一部分旧数据参与训练,为了使模型更好利用这部分数据,开辟一个专有存储空间存储这部分数据。同时为了使样本数目均衡,采用增广扩充方法生成一部分数据。具体步骤包括:

  • 开辟专有存储空间:
  •