增量学习分享

增量学习主要应用于判别性任务。在这个场景中,分类任务是按顺序学习的。在序列的最后,判别模型应该能够记住所有的任务。从一个任务到下一个任务的简单的微调方法会导致灾难性遗忘,也就是说,无法在之前的任务上保持初始性能。之前提出的方法可以分为四种类型。

第一种方法,称为排练,是保留以前任务的样本。这些样本可以用不同的方式来克服遗忘。该方法不能用于以前任务的数据不可用的场景。此外,这种方法的可扩展也会受到质疑,因为存储样本所需的内存会随着任务的数量线性增长。

第二种方法采用正则化。正则化约束权重的更新,以保持之前任务中的知识,从而避免遗忘。弹性权重增强(EWC)已成为这类正则化的标准方法。它估计权重的重要性,并对正则化进行相应的调整。另一种众所周知的正则化方法是蒸馏,它将之前学到的知识转移到一个新的模型中。它使模型能够同时了解先前的任务和当前的任务。

第三种方法是使用动态架构来维护过去的知识并学习新的信息。实现这种方法的显著方法是渐进网络(PNN)、不遗忘学习(LWF)和PathNet。

第四种,也是最近的一种方法是生成重放,它使用生成模型从之前的任务中生成样本。这种方法也被称为伪排练。

增量学习方法通常是通过在每个任务结束时计算一个度量来评估的。能够保持最高性能的方法是最好的。在判别设置中,分类精度是最常用的度量指标。

损失函数


K是当前任务,增量学习分享是第k个任务训练结束后的网络参数。EWC利用二阶信息来选择重要的参数,在任务A的似然函数的性能曲面上优先沿着平坦的区域搜索任务B的参数。

CWR

  • 在第一个任务中,以标准方式对基础神经网络进行训练。
  • 第一个任务完成后,除输出层的参数外,网络的所有参数都被冻结。对于输出层的参数,保留了两个副本:一个临时版本表示为tw, 另一个“合并”版本表示为cw。
  • 训练由tw完成。在开始每项任务的训练之前,tw会被随机重新初始化。完成每项任务的训练后,对应于该任务类别的tw参数被复制到cw中。
  • 对于测试,使用cw

CWR+
与CWR相比,CWR+有两个不同之处。

  1. 首先,在每个任务之前,tw中的参数被设置为零,而不是随机(重新)初始化。
  2. 其次,在每项任务完成后,首先通过减去其平均值来标准化tw中的参数(在该点之前,所有类别均采用平均值,权重和偏差采用单独的平均值),然后将对应于该任务类别的标准化参数复制到cw中。

Memory-Efficient Incremental Learning Through
ECCV20

特征蒸馏,余弦损失

训练自适应网络

Can we gain more from orthogonality regularizations in training deep networks
NIPS18

特征层的正交损失

一些方法的代码地址
PASS:https://github.com/Impression2805/CVPR21_PASS
EEC: https://github.com/aliayub7/EEC
PCL: https://github.com/morning-dews/PCL
CLIP zero-shot: https://github.com/openai/CLIP

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2022年5月23日 下午2:01
下一篇 2022年5月23日

相关推荐