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

Few Shot Incremental Learning with Continually Evolved Classifiers

 

CVPR2021,由新加坡南洋理工大学

本文利用Graph即图模型,将拓扑结构与增量模型向结合,从而取得不错的效果。

类似论文,均是基于双阶段的增量模型,一个是特征提取模块,另一个是分类器模块。

对于Rehearsal的方法而言,特征提取模块可能一起更新。

对于本文的方法而言,特征提取模块一旦初始训练好,就固定下来,只更新分类器模块。本文的分类器模块与GAT(Graph Attention Network)相结合。

基于拓扑结构的增量学习:

CVPR2020 ,FSCIL Few-shot Class Incremental Learning。将NG网络运用到增量学习之中。

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

ECCV2020,TPCIL,本篇,Topology Preserving Class-Incremental learning,同样的框架,即CNN+拓扑结构,部分内容换了一个写法。

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

CVPR2021与本篇非常类似,Few-Shot Incremental Learning with Continually Evolved Classifiers,南洋理工大学提出,也是运用Graph的知识,将GAT(Graph Attention Network)用于增量学习。

Few Shot Incremental Learning with Continually Evolved Classifiers论文详解 基于持续进化分类器的小样本类别增量学习CVPR2021_祥瑞的技术博客-CSDN博客

本文地址:

[2104.03047] Few-Shot Incremental Learning with Continually Evolved Classifiers (arxiv.org)

另一篇论文地址:

[2103.16788] DER: Dynamically Expandable Representation for Class Incremental Learning (arxiv.org)

 

目录

1.贡献点

2. 方法

2.1 模型框架

2.1 CEC(continually evolved classifier)

2.2 算法流程

2.3 Pseudo Incremental Learning

3.实验

3.1 可视化

3.2 方法对比

4.总结


1.贡献点

本文依然解决Few-shot class incremental learning(FSCIL)问题,从两个方面来进行解决:

特征提取模块与分类器解耦,每次增量任务只更新分类器。特征提取模块是pretrain好的backbone, 分类器是non-parameter的class mean classifier(个人猜测类似于NCM)

为了使得分类器适用于所有类别,本文提出Continually Evolved Classifier (CEC),将graph模型应用于分类器。

多个数据集上SOTA

 

 

2. 方法

2.1 模型框架

对FSCIL问题,base数据大量,inc数据较少,因此用base数据训练backbone即可。用calssfier来试应增量任务的变化。

即使对旧任务,学到了很好的分类边界,但是因为新任务的到来,旧模型的决策边界可能不好用了。因此本文引入新的Continually Evolved Classifier (CEC)来进行适应。将Graph Attention Network(GAT,ICML2018)图注意力模型。引入到此模型之中。从而实现了

 

先用base数据D0train训练获得backbone R的权重,

然后利用base数据作为伪增量,训练Graph模型获得权重{W0},

随着增量任务的到来,Graph模型的节点和权重随之增加,权重增加为{W0,W1},再增加到{W0,W1,…,Wi}

 

2.1 CEC(continually evolved classifier)

NI个任务,模型分类器学到的权重为:

对于CNN模型而言:上标从1到NI分别表示增量任务,下标从0到NI分别表示类别。wic表示第i个增量任务中区分类别c的权重。这里采用CNN的模型权重W是为了后面与Graph模型进行区分。模型总权重W权重由w即每个增量任务中每个类别的权重构成,意味着每个增量任务从1到NI,每个类别都会有一个权重。

作者把GAT运用于其中。

  • GAT的节点是基于注意力机制进行集合,利用拓扑关系,节点间的连接关系具有不变的特性,利于保持旧知识
  • GAT模型可以增加节点,且不改变其他的节点,新任务可以利用旧任务训练好的GAT

 

关于GAT的知识,因为涉及到Graph的知识,因此较为繁琐,作者也适当进行了规避,这里不多做介绍,这里只介绍GAT如何对权重进行处理:

这里只介绍GAT如何对权重进行处理:

U表示线性变换矩阵,wk示对所有的k分类的任务,都可以通过线性变换和一个注意力系数的线性相加,更新获得第j个任务权重wj'.

GAT的作用就是获得线性变换矩阵U和注意力系数ajk。通过此公式我们可以看出,分类器的权重其实经过了更新,这个更新过程是新权重除了新训练所得的权重之外,分类器旧权重也进行了线性变换和注意力机制的更新。

 

2.2 算法流程

输入:

根据基础任务数据D0train训练所得的backbone模型R,以及一个随机初始化的GAT模型

增量任务到来之后,只需要对新增任务训练分类器W, 然后训练GAT模型,用GAT模型的输出平衡分类器各个类别之间的关系。

2.3 Pseudo Incremental Learning

见算法流程中步骤5-8,本文将旋转这个数据增强的手段当作了贡献点之一,起名叫做Pseudo Incremental Learning.(PIL)

作者通过旋转的样本增扩(PIL),然后将样本分为了support set和query set,(类似于训练集和验证集,在Graph神经网络之中,这两个集合的作用可能不太一样),support set用于训练分类器,训练好的分类器用query set训练GAT网络。

关于PIL这个流程的作用,效果巨大,通过后续实验可见图6,可能与GAT的某些特性有关:

加入了PIL之后,网络准确率提升巨大。

 

3.实验

3.1 可视化

通过t-SNE可视化,新类的学习过程,特征空间上的点分的更开。

 

3.2 方法对比

性能达到SOTA

4.总结

A+B, A是小样本增量学习FSCIL,B是图注意力网络GAT,本文将两个结合起来凑贡献点。

中间加入了一些trick提升准确率,以使得模型达到SOTA,例如旋转的样本增扩,起名为Pseudo Incremental Learning。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 2
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

祥瑞Coding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值