基于Knowledge Distillation的增量学习论文学习(之二)——Learning without forgetting

本博客重点解析《Learning without forgetting》

     Learning without forgetting(LwF)方法是比较早期(2017年PAMI的论文,说起来也不算早)将Knowledge Distillation与深度学习结合起来解决增量学习的工作,在该方法中,深度网络完全舍弃旧数据,而在新数据上进行训练。

       作者将可能具有增量学习性能的方法分类如下:

不同增量式学习的框架

(a)图介绍了一个基础网络,\theta _{\rm{S}}\theta _O分别代表卷积层和输出层,以AlexNet为例,\theta _O代表最后一个全连接层,\theta _{\rm{S}}代表前面所有的卷积层和后两个全连接层。作为一个基础网络,(a)的输出包括旧类别从1到m的训练任务。

(b)图代表一种朴素的基于微调的增量学习思路,即训练好AlexNet后,固定原类别1到m的输出层参数,微调卷积层\theta _{\rm{S}}和新类别new task的输出层参数。

(c)图思路是把卷积层\theta _{\rm{S}}作为特征提取的手段,参数不变,\theta _O参数也不变,只训练新类别的输出层参数。

(d)图思路是联合训练,即把新旧类别数据全部送进网络,参数全部微调,效果最好。

(e)图思路即本文的LwF,微调全部参数,但是不使用旧类别数据。具体训练过程如下所示:

这里,\theta _{\rm{n}}代表适用于新类别的输出层参数,具体训练过程如下:

初始化:

1)、将训练好的CNN网络在新数据Xn上跑一边,得到输出YO

2)、将\theta _{\rm{n}}参数随机初始化

训练:

定义旧任务输出YO',输入数据为Xn,微调\theta _{\rm{S}}\theta _O

定义新任务输出Yn',输入数据为Xn,微调\theta _{\rm{S}}\theta _{\rm{n}}

其中,设计损失函数如下:

Lold设计为YO‘与YO之间的差异,采用蒸馏的交叉熵损失

Lnew设计为Yn与Yn‘之间的差异,采用常规的交叉熵损失

这样,就完成了不需任何旧任务数据的增量训练,LwF也成为增量学习的一个算法标杆。

 

下章博客将介绍End-to-End Incremental Learning

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值