本博客重点解析《Learning without forgetting》
Learning without forgetting(LwF)方法是比较早期(2017年PAMI的论文,说起来也不算早)将Knowledge Distillation与深度学习结合起来解决增量学习的工作,在该方法中,深度网络完全舍弃旧数据,而在新数据上进行训练。
作者将可能具有增量学习性能的方法分类如下:
(a)图介绍了一个基础网络,和分别代表卷积层和输出层,以AlexNet为例,代表最后一个全连接层,代表前面所有的卷积层和后两个全连接层。作为一个基础网络,(a)的输出包括旧类别从1到m的训练任务。
(b)图代表一种朴素的基于微调的增量学习思路,即训练好AlexNet后,固定原类别1到m的输出层参数,微调卷积层和新类别new task的输出层参数。
(c)图思路是把卷积层作为特征提取的手段,参数不变,参数也不变,只训练新类别的输出层参数。
(d)图思路是联合训练,即把新旧类别数据全部送进网络,参数全部微调,效果最好。
(e)图思路即本文的LwF,微调全部参数,但是不使用旧类别数据。具体训练过程如下所示:
这里,代表适用于新类别的输出层参数,具体训练过程如下:
初始化:
1)、将训练好的CNN网络在新数据Xn上跑一边,得到输出YO
2)、将参数随机初始化
训练:
定义旧任务输出YO',输入数据为Xn,微调,,
定义新任务输出Yn',输入数据为Xn,微调,
其中,设计损失函数如下:
Lold设计为YO‘与YO之间的差异,采用蒸馏的交叉熵损失
Lnew设计为Yn与Yn‘之间的差异,采用常规的交叉熵损失
这样,就完成了不需任何旧任务数据的增量训练,LwF也成为增量学习的一个算法标杆。
下章博客将介绍End-to-End Incremental Learning