增量学习综述

  • Post author:
  • Post category:其他



目录


一、数据增量与类别增量


二、常见增量学习结构


三、增量学习方法分类


四、总结及论文链接


4.1 总结


4.2 相关论文链接


相关论文链接


无监督增量学习 Unsupervised Class-Incremental Learning Through Confusion.论文详解ICLR 2021


基于拓扑图的增量学习方法 论文归纳与详解


Few Shot Incremental Learning with Continually Evolved Classifiers论文详解 基于持续进化分类器的小样本类别增量学习CVPR2021


TPCIL论文详解,基于持续改进分类器的增量学习Topology-Preserving Class-Incremental Learning,ECCV2020_祥瑞的技术博客-CSDN博客


论文详解Memory Efficient Incremental learning through feature adaptation. CVPR2020 基于增量特征映射


Supervised Contrastive Replay 论文详解 通过NCM分类器和图片回放实现增量学习_祥瑞的技术博客-CSDN博客


差文解析 IIRC: Incremental Implicitly-Refined Classification_祥瑞的技术博客-CSDN博客


FSCIL论文详解 Few-Shot Class-Incremental Learning, CVPR2020_祥瑞的技术博客-CSDN博客


DER论文详解DER: Dynamically Expandable Representation for Class Incremental Learning, CVPR 2021_祥瑞的技术博客-CSDN博客


CEC论文详解Few Shot Incremental Learning with Continually Evolved Classifiers. CVPR2021_祥瑞的技术博客-CSDN博客


PODNet: Pooled Outputs Distillation for Small-Tasks Incremental Learning论文详解ECCV2020_祥瑞的技术博客-CSDN博客


CVPR2021论文详解Rainbow Memory: Continual Learning with a Memory of Diverse Samples_祥瑞的技术博客-CSDN博客


SDC论文详解Semantic Drift Compensation for Class-Incremental Learning. CVPR 2020_祥瑞的技术博客-CSDN博客


RKR论文详解 Rectification-based Knowledge Retention for Continual Learning. CVPR 2021 基于知识矫正的持续学习_祥瑞的技术博客-CSDN博客


基于拓扑的增量学习Topology Preserving Class-Incremental learning论文详解ECCV2020_祥瑞的技术博客-CSDN博客

一、数据增量与类别增量

增量学习任务分为,数据增量和类别增量。数据增量过程中,增量任务和原始任务之间没有新类别出现,两者具有相同的类别。

本文对广义和狭义的类别增量进行了明确的定义,对于增量任务,具有如下的定义:


  • C

    表示所有的类别

  • Tt

    表示增量任务

    t

    之中的类别,相当于

    C

    的子集

  • D


    cC

    表示所有类别

    C


    中子类

    c


    的样本

  • D


    tT

    表示增量任务

    t

    中类别

    c

    的样本

广义于狭义的类别增量定义如下:

  • 对于狭义类别增量问题,不同task之间没有共有类,这是狭义的类别增量。
  • 对于广义的类别增量问题,不同的task之间有共有类,这是广义的类别增量。

二、常见增量学习结构

增量学习中最常见的结构,也是近两年被广泛采用的结构是,特征提取模块加上分类器模块。假定特征提取模块是

h


θ()

, 分类器模块是

g


W()

, 非常常见的结构就是:

这个结构对于目标检测任务同样适用,例如对于CentreNet,它的特征提取模块

h


θ()


提取出特征之后,对应的目标检测模块可以看作

g


W()


输入经过特征提取后送入分类器。同时,为了维持旧知识,避免灾难性遗忘,多种方式可以在此过程中被选择性加入。

  • 扩张模型结构:增量训练中,改变特征提取模块

    h


    θ()

    或者分类器模块

    g


    W()


    的结构,或者引入额外的模型结构。
  • 知识蒸馏:基于模型输出结果的知识蒸馏(多采用交叉熵)、基于feature-map的知识蒸馏(L2范数或者余弦距离)、基于所有中间结果feature-map的知识蒸馏(本文中PodNet池化蒸馏的方法)。基于知识蒸馏的方法需要保存旧模型的权重。
  • Memory:用于存储原始样本,或者存储已提取特征,在增量训练过程中进行回放。

三、增量学习方法分类

按照近两年的论文情况,增量学习方法可以粗略分为三大类:基于模型结构的方法、基于回放的方法、基于正则化的方法。

基于模型结构的方法随着增量学习不断地对网络结构进行修改。例如对于增量任务增加新的模型结构,这样旧任务可以通过旧的模型权重进行保持,同时新增的模型结构适应了增量任务,从而达到了既适应旧任务,也适应新任务的目的。基于模型结构的方法可以分为两种:

  • 基于模型结构增扩的方法:如本文的RKR(CVPR, 2021), DER(CVPR 2021),通过扩张模型结构的方式提升模型性能,这样旧的模型结构有利于保持原始任务的性能,新的模型结构可以适应新的增量任务性能。但是此过程中,模型结构增加必然造成任务存储负担和运算负担的加剧,如何通过更优的模型增扩方式,降低此消耗的同时,达到较好的效果,是此方法改进的方向。
  • 基于拓扑图结构的方法:本文的FSCIL(CVPR,2020)、TPCIL(ECCV, 2020)、CEC(CVPR, 2021),增量任务中,不同的类别之间具有一定的相关性,这种相关性可以通过拓扑结构进行建模和分析。此方向较新,方法的有效性也得到了一定的验证,是未来发展的一个趋势之一。
  • 基于元学习的方法:本文的ONCE(CVPR,2020)目标检测框架。将元学习与目标检测网络相结合,通过元学习引入了特征编码生成器。但是元学习对于小量样本的Few-Shot时候较为适用,且实验性能较差。

基于回放的方法可以分为:基于样本回放的方法和基于特征回放的方法。基于样本回放的方法能够将旧任务的样本进行存储,这类方法的缺点在于直接存储样本比直接存储特征需要耗费更多的存储空间,同时需要考虑如何选取用于回放的样本。基于特征回放的方法需要将旧任务提取出的特征进行存储,同样面临考虑样本选取的问题。同时特征回放的模型结构进行了更新,那么就需要考虑特征漂移的问题。

  • Non-rehearsal: 即不需要rehearsal, 例如LwF直接用新旧网络之间进行知识蒸馏,不需要存储旧样本。这种方法的存储负担最小,但是效果往往不如基于特征回放的方法效果好,对灾难性遗忘的抵抗能力较弱。
  • Exemplars: 直接存储原始图片,例如最经典的iCARL(CVPR2017),直接将原始图片存储在Memory之中。如本文的Rainbow Memory(CVPR 2021)、SCR(2021)。原始图片存储在训练时需要重新训练Memory之中的图片,存储和运算开销较大,但是性能往往最好。此方法优化的方向是,如何选取对任务更有益的样本存储于Memory之中、如何根据已有的Memory提取出更具判别性的特征。如果模型对性能要求较高,则多采用此方法。
  • Generated images: 利用GANs生成伪装图片。这种方法受到GAN的影响较大,如果GAN生成的图片质量不高,很容易造成增量模型性能不佳。难点在于如何使得GAN模型生成对模型训练更有益的图片,主要改进点在GAN模型上。
  • Feature based methods: 基于特征存储的方法,直接利用memory存储网络特征。特征在原始图片的基础上经过了提取,所以占用的存储和运算负担相对较小。但是特征如果与增量模型进行绑定,特征提取模型不更新,则模型灵活性较差。如果不固定特征提取模块,新模型的特征就会发生变化,叫做特征漂移。本文SDC(CVPR,2020),Feature Adaptation就是解决特征漂移情况。

基于正则化的方法,即知识蒸馏项作为正则化项来约束模型。此过程往往需要存储旧模型的权重,以取得知识蒸馏的来源。这种方法可以与基于回放的方法结合使用。蒸馏算法与增量学习之间面临一种天然矛盾,如果知识蒸馏的约束过强,则模型不够灵活,被限制在旧任务上;如果知识蒸馏约束较弱,模型可能发生灾难性遗忘。因此,如何设计更好的蒸馏的方法,是本方向改进的重点。目前的主流方法是:基于模型输出结果的蒸馏多采用交叉熵;基于feature和中间结果的蒸馏多采用L2范数或者余弦相似度;PodNet被提出后,一种新的基于池化蒸馏的方法值得关注。

四、总结及论文链接

4.1 总结

4.2 相关论文链接


无监督增量学习 Unsupervised Class-Incremental Learning Through Confusion.论文详解ICLR 2021


基于拓扑图的增量学习方法 论文归纳与详解


Few Shot Incremental Learning with Continually Evolved Classifiers论文详解 基于持续进化分类器的小样本类别增量学习CVPR2021


TPCIL论文详解,基于持续改进分类器的增量学习Topology-Preserving Class-Incremental Learning,ECCV2020_祥瑞的技术博客-CSDN博客


论文详解Memory Efficient Incremental learning through feature adaptation. CVPR2020 基于增量特征映射


Supervised Contrastive Replay 论文详解 通过NCM分类器和图片回放实现增量学习_祥瑞的技术博客-CSDN博客


差文解析 IIRC: Incremental Implicitly-Refined Classification_祥瑞的技术博客-CSDN博客


FSCIL论文详解 Few-Shot Class-Incremental Learning, CVPR2020_祥瑞的技术博客-CSDN博客


DER论文详解DER: Dynamically Expandable Representation for Class Incremental Learning, CVPR 2021_祥瑞的技术博客-CSDN博客


CEC论文详解Few Shot Incremental Learning with Continually Evolved Classifiers. CVPR2021_祥瑞的技术博客-CSDN博客


PODNet: Pooled Outputs Distillation for Small-Tasks Incremental Learning论文详解ECCV2020_祥瑞的技术博客-CSDN博客


CVPR2021论文详解Rainbow Memory: Continual Learning with a Memory of Diverse Samples_祥瑞的技术博客-CSDN博客


SDC论文详解Semantic Drift Compensation for Class-Incremental Learning. CVPR 2020_祥瑞的技术博客-CSDN博客


RKR论文详解 Rectification-based Knowledge Retention for Continual Learning. CVPR 2021 基于知识矫正的持续学习_祥瑞的技术博客-CSDN博客


基于拓扑的增量学习Topology Preserving Class-Incremental learning论文详解ECCV2020_祥瑞的技术博客-CSDN博客