Incremental learning

“iCaRL: Incremental Classifier and Representation Learning”(CVPR 2017)

Motivation
Methods
  • 数据集构建
    • 从上述算法流程图可以看出来,作者设计了一个memory set来存放旧任务的数据。假定memory set的容量为K,当前模型已经见过的类别数目为m,那么在memory set中,每个类别存放的样本个数为K/m,在这里值得注意的一点是,m是动态变化的。经由上述分析可知,该memory set至少满足以下两条属性:
      • 能够随时添加新任务的数据(保证样本集的类别质心尽可能靠近训练集的类别质心)
      • 能够动态丢弃旧任务所保存的数据,并尽可能保留旧任务中比较重要的信息
        在这里插入图片描述
        如何向exampler set扩充新样本?
        在这里插入图片描述
        如何删除exampler set中的旧样本?
        在这里插入图片描述
  • 损失函数设计
    损失函数主要包括了两个部分:一个是calssification loss,一个是distillation loss.其中,classification loss主要是针对当前新任务下的训练样本设计的,也就是我们常提到的交叉熵损失函数,另一个的ditillation loss,主要是为了让模型保存其在旧任务中学到的知识
    在这里插入图片描述
  • 模型的预测
    查找距离当前样本最近的类别中心来给样本分配标签,类似于聚类的做法。细节如下:
    在这里插入图片描述

“Leanring without forgetting”(ECCV 2018, TPAMI 2019)

Motivation

现有的关于continual learning的方法主要分为以下三大类:

  • Feature Extraction
    • 这类方法通常会固定住共享网络以及old task head分支的参数,单独训练new task head分支
  • Fine-tuning
    • 这类方法主要微调共享网络的参数,固定old task head分支的参数,并重新训练new task head上的参数
  • Joint training
    • 这类方法会同时给网络输入所有的训练数据,并从头到尾训练整个模型

上述三种方式的缺陷在于:

  • 基于Feature extraction的方法,通常在新任务上的表现会比较差,旧任务上表现性能则比较好,原因是共享网络的参数被固定住了,并没有很好地学习到对于新任务而言更加具有鉴别力的特征;
  • 基于Fine-tuning的方法在新任务上的表现性能相对好一些,但是在旧任务上的表现性能则相对差一些,这是因为每次在训练新任务的过程中,并没有旧任务的数据加以引导;
  • 基于joint-training的方法通常是continuing learning方法的上界,但是这类方法通常会用到旧任务的数据,此外,其训练的难度也会随着任务数量的增加而增大。
Methods


LwF与前人方法相比,一方面,其在学习新任务的过程中,始终没有用到旧任务的数据;另外一方面,其借鉴了知识蒸馏的思想,通过对齐新任务分支和旧任务分支的输出,来尽可能保留旧任务上学到的知识。
具体算法思想如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值