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

近两年,基于拓扑图模型的方法开始得到应用。这种方法也是将模型分为特征提取模型和分类器模型,特征提取模型用于对特征进行提取。拓扑图模型多用于特征分类阶段,用于学习不同类别之间的关系。因为增量任务和拓扑结构有一定的类似,即有的任务之间联系紧密,有的任务之间联系不紧密,这种对应的关系可以通过拓扑图模型进行学习,从而应用在分类器上,提升模型性能。

本文将基于拓扑图的增量学习方法进行归纳。

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博客

目录

1.FSCIL,Neural Gas Network

1.1 贡献点

1.2 NG网络

1.3 AL loss与MML loss

1.4 实验

2.  topology preserving CIL

2.1 方法思路

2.2 总结与对比

3. CEC,Continually Evolved Classifier

3.1 贡献点

3.2 模型框架

3.3 CEC

3.4 算法流程:

3.5 实验


1.FSCIL,Neural Gas Network

 

1.1 贡献点

本篇论文由西交大发表于CVPR2020上,作者定义了,小样本增量学习问题few-shot class-incremental learning (FSCIL)

小样本增量学习面临下面这些问题:

  • 灾难性遗忘,也是增量学习普遍存在的问题。学习新类会改变旧类在特征空间中的拓扑关系。
  • 异质数据差异。此前多种方法采用知识蒸馏来保存旧特征的拓扑结构,但是对于异质性数据而言,知识蒸馏并不能很好的适应。
  • 过拟合,因为新增样本过少,导致网络过拟合。

为了解决以上问题,作者贡献点分三个:

  • NG网络,Neural Gas network,此网络不是作者提出的,但是作者把这种拓扑结构的网络用在了增量学习之中
  • AL loss(ancher loss),用于解决灾难性遗忘的问题,避免网络经过了增量任务训练之后在base上变化过大
  • MML loss (min-max loss),让同类别的样本在拓扑空间中的距离尽可能接近,不同类别样本在拓扑空间距离尽可能远离。

 

1.2 NG网络

本文分为特征提取模块和分类器模块,NG网络主要运用于分类器阶段上。NG网络最早在1991年提出,被作者应用于此任务之中。用拓扑关系来模拟特征空间上的关系。本文将特征提取后的特征空间上的位置做为NG网络的输入。

NG网络由图模型构成,具有节点和边。节点定义为vj,它会有一个质量中心mj, 用来描述该节点在特征空间中的位置。如果节点j和节点i之间的关系是邻接的,那么对应的边eij就是1,不邻接eij相当于0,每个边带有一个年龄参数aij 初始化为0,当年龄参数aij大于某一个阈值之后,该节点就会断开,对应的eij被置为0。

f-mri前面的系数是衰减系数,即输入f与其他节点的距离越近,则更新量越多,离其他节点距离越远,则更新越少。接下来更新所有节点之间的边与年龄参数。

给定一个输入f,则根据输入到各个节点的距离d(f,mj)分配给最近的节点vj,然后更新其到所有节点的特征质心m上。

 

每一次更新,节点之间的年龄aij增加1,如果年龄大于某个阈值,就断掉该连接。

通过NG网络,即相当于增量样本到来之后,feature空间上越近,则在NG网络中的拓扑关系越近,随着增量样本越来越多,联接关系随之更新。

1.3 AL loss与MML loss

AL loss(ancher loss),用于解决灾难性遗忘的问题,让更新后的特征空间上的样本之间的距离尽可能接近,避免网络经过了增量任务训练之后在原始任务上变化过大。

MML loss (min-max loss),让同类别的样本在拓扑空间中的距离尽可能接近,不同样本的距离尽可能远离。

AL用于解决灾难性遗忘的问题,使得旧模型与新模型尽可能的接近。

AL loss使得模型旧结构与新结构的距离越近越好,减少节点v在特征空间之中的变动。

例如图a,不加AL loss训练之后特征空间的关系为图b,节点之间位置关系变化距离。加入AL loss之后变化为图c,节点与节点之间距离更近。

MML用于使得模型更具有区分性,即使得相同类别的样本尽可能接近,不同类别样本尽可能远离。

假定新样本x到来,它是y类的,经过特征提取后位置是f(x;Θ(t)),网络希望它与同类样本的距离越近越好,与非同类样本的距离越远越好。就按照上面的MML loss的形式,拉近同类样本之间的距离,拉远不同类样本之间的距离。

加入MML loss之后的效果如上图,如果不加入MML loss,则f会被误分配给节点v5,但是实际上它与节点v7是同类,因此MML loss会拉近fv7的距离,同时让非同类的距离v5v7的距离更远。

最终的loss是交叉熵+AL +MML

 

1.4 实验

通过论文实验可以看出,本文的方法能够达到SOTA,NG网络的效果比常见的NCM分类器效果更好。但是值得注意的一点是,本文的NG网络,每提取一个样本的特征之后,都会通过扩充节点的方式对图拓扑结构进行增扩,导致图模型越来越大,所以存储占用一定比其他的方法更高。

 

2.  topology preserving CIL

2.1 方法思路

此篇论文和上篇论文一样,也是西交大同一个作者发表的,发表在ECCV2020上,与上篇论文的思路非常类似。依然通过特征提取模块之后的拓扑图模型进行特征学习。这里的特征图模型由上文的NG网络换成了Elastic Hebbian Graph (EHG)。运用 Elastic Hebbian Graph (EHG)来进行特征域的建模;运用competitive Hebbian learning (CHL)进行EHG的训练;运用Topology-preserving loss(TPL)促进EHG的学习。

关于拓扑图的公式推证较为复杂,因此这里只选取较为重要的公式进行解析。

直观来看,TPL对于学习的促进:

经过40个epoch的训练,本文的TPCIL比LUCIR样本的feature获得了更高的收敛程度。

本文总体框架较为简单,相当于一个CNN加一个图模型GG就是本文贡献点的Graph模型EHG(Elastic Hebbian Graph). Loss运用交叉熵和TPL相结合,TPL(Topology-Preserving)即用于训练G的loss,

交叉熵CE用于根据增量任务t的样本X训练CNN参数和图模型G,TPL用于训练图模型G和CNN。

对于EHG和CHL的作用粗略如下图所示:

  • a表示N个点的初始化的EHG,
  • b通过CHL,图形成了节点与节点之间的连接关系
  • c对CNN进行finetune,改变了特征空间上的点的位置
  • d但是由于TPL的存在,EHG依然保持着之前的拓扑关系
  • e学习新类,则EHG会增加新的拓扑节点与链接关系

本文为了建模方便,将feture space的特征转化到cosine空间。上划线表示正则化操作,转化为单位向量。EHG的公式如下:

此公式跟FSCIL的公式(Few-Shot Class-Incremental Learning,CVPR2020的公式一模一样。)意义就是新样本到来之后,用新样本更新所有的节点,越近的节点更新越多,越远的节点更新越少。

文中所提的TPL(Topology-preserving Loss)经过推导后如下:

其中

sij可以理解为样本i和样本j经过模型特征提取后在特征空间的余弦距离。sij表示初始的余弦距离,sij表示增量任务t到来之后的余弦距离。TPL可以粗略的理解为,旧的ij之间的关系和新的ij之间的关系尽可能接近。从而保持拓扑结构的稳定。

2.2 总结与对比

本文TPCIL与上文的FSCIL思路非常类似,均是采用拓扑图模型模拟增量样本特征之间的关系。每个节点作为一个样本提取出的特征的话,相当于变相的通过拓扑图模型把所有的样本的特征进行了存储,拓扑图模型只是对特征的变化进行一个预测与评估。可以看作基于特征回放的方法和基于模型结构的方法的结合。

 

3. CEC,Continually Evolved Classifier

3.1 贡献点

本文由新加坡南洋理工大学发表于CVPR2021,本文利用Graph即图模型图注意力网络GAT(Graph attention network, ICLR 2018)与分类器相结合,相当于利用注意力机制和拓扑结构与增量模型向结合。本文思路与上两篇不一样,上两篇思路是针对样本特征进行拓扑建模,本文思路是直接对类别之间的关系进行建模。

各任务类别关系——分类器的关系——通过GAT进行建模

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

  • 特征提取模块与分类器解耦,每次增量任务只更新分类器。特征提取模块是pretrain好的backbone, 分类器是non-parameter的class mean classifier(个人猜测类似于NCM)
  • 为了使得分类器适用于所有类别,本文提出Continually Evolved Classifier (CEC),将graph模型应用于分类器。

多个数据集上SOTA

下图可以看出,随着新任务的到来和类别的增多,分类器之中的拓扑关系在不断的完善,这就是题目CEC(Continually Evolved Classifier)的含义。

 

3.2 模型框架

对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}

3.3 CEC

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

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

作者把GAT运用于其中。

GAT的节点是基于注意力机制进行集合,利用拓扑关系,节点间的连接关系具有不变的特性,利于保持旧知识

GAT模型可以增加节点,且不改变其他的节点,新任务可以利用旧任务训练好的GAT

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

 

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

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

 

3.4 算法流程:

输入:

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

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

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

作者通过旋转的样本增扩(PIL),然后将样本分为了support set和query set,(类似于训练集和验证集,借鉴了meta-training的思想),support set用于训练分类器,训练好的分类器用query set训练GAT网络。

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

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

3.5 实验

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

与同类方法相比,性能达到SOTA

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

祥瑞Coding

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

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

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

打赏作者

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

抵扣说明:

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

余额充值