基于模型结构增扩的增量学习方法 归纳和详解

基于模型结构增扩的方法,本文对近两年基于模型结构扩张的增量学习方法进行归纳总结和详解。

文章链接如下:

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

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

目录

1. RKR, Rectification-based Knowledge Retention

1.1 概览与贡献点

1.2 权重矫正

1.3 RG和SFG网络的具体实现

1.4 实验

2.  DER,Dynamically Expandable Representation

2.1 概览与贡献点

2.2 特征提取与分类器

2.3 模型结构与loss设计

2.4 实验


1. RKR, Rectification-based Knowledge Retention

1.1 概览与贡献点

本文发表于CVPR2021,将新的类别的信息存储在额外的网络结构之中,文中称为rectification generator (RG)生成器和scaling factor generator (SFG)生成器。从而解决Few-shot和zero-shot增量学习的问题。

本文贡献点如下:

网络针对每个任务只需要学习额外的两个参数weight rectifications and scaling factors,这两个参数分别由rectification generator (RG)生成器和scaling factor generator (SFG)生成器生成。

因为rectification generator (RG)生成器和scaling factor generator (SFG)生成器的存在,网络结构的新增相比其他方法少了很多,相对节省了网络资源。

与现有的任务相比达到了State-of-the-art (甚至与一些基于特征回放的增量学习方法也达到了State-of-the-art)

1.2 权重矫正

本文的核心只有两个,rectification generator (RG)生成器和scaling factor generator (SFG)生成器。

rectification generator (RG)生成器用于针对具体的增量任务,针对权重生成相应的矫正权重R,对权重weight进行矫正(element-wise的相加)。

scaling factor generator (SFG)生成器针对具体的增量任务,针对feature-map生成feature-map的缩放F,用于对feature-map进行缩放(element-wise的相乘)

这也是题目rectification(矫正)的含义所在。即网络在保持原有权重的基础之上,通过矫正矩阵的矫正来适应新的增量任务。

假定网络第l层具有权重Θl,在增量任务中,学到了新的权重Θl*,那么这两个权重之间就存在误差,因为增量任务学到的Θl*与旧权重Θl并不匹配,这也就是增量学习中灾难性遗忘的来源。

针对增量任务t,本文希望通过Rlt对原始权重进行矫正,从而在保持原有网络权重Θl的基础上,针对具体的增量任务t生成Rlt来保持增量的知识。公式如下:

即base权重Θl加上针对t任务的矫正矩阵Rlt,生成了针对t任务的矩阵Θlt

  • t表示具体的增量任务
  • 小写字母l表示第l
  • 圆圈加号表示element-wise的相加。
  • 生成矫正矩阵Rlt的任务就是rectification generator (RG)生成器来完成。

同理,对于featuremap而言,公式如下:

即第l层的输出featuremap Olt,由缩放矩阵Flt进行缩放,从而试应增量任务t

  • t表示具体的增量任务
  • 小写字母l表示第l层
  • 圆圈乘号表示element-wise的相乘
  • 生成缩放矩阵Flt的任务就是scaling factor generator (SFG)生成器来完成。

 

模型结构表示如下:

卷积层如上图所示,很容易理解,RG网络生成Rlt,用于对权重进行相加矫正,SFG网络生成Flt,用于对featuremap进行相乘矫正。

全连接层与卷积层类似:

Fc层仅仅是权重和featuremap的尺寸与conv层不同。

1.3 RG和SFG网络的具体实现

假定网络第l层的权重Θl具有尺寸W*H*Ci*Co (宽*高*输入通道*输出通道),则对应的变换矩阵Rlt也应该与其具有相同的尺寸。因此RG网络的任务就是生成一个W*H*Ci*Co (宽*高*输入通道*输出通道)尺寸的变换矩阵Rlt

作者为了网络容量,rectification generator (RG) 需要学习比变换矩阵R更小尺寸的东西,因此作者将R变换为了两个矩阵相乘,这两个矩阵分别是K*H*CoK*W*Ci维度,这两个矩阵进行矩阵乘,就能得到尺寸为W*H*Ci*Co的矫正矩阵Rlt。其中K≪CoK≪Ci,这就保证了RG网络存储这两个张量花费很少的开销。

即变换矩阵R通过两个更小的矩阵相乘得来,RG网络只需要针对增量任务t学会这两个尺寸更小的矩阵即可。

  • Scaling factor generator (SFG)生成器的作用与RG生成器类似。
  • RG是针对权重,SFG是针对feature-map,
  • RG是与权重相加,SFG是与feature-map相乘
  • SFG依然通过两个更小的张量相乘获得缩放矩阵Flt

新增内存占用如下:那么每一个增量任务需要多存RG网络和SFG网络的网络容量。每层增加的网络权重百分比如下:

 

分母即新增的网络权重,分子为原来网络的的权重。

1.4 实验

本文在CIFAR-100和ImageNet-1k的多次增量任务上均取得比较好的效果。可以看出本文与其他方法对比是最优的,抵抗遗忘能力较强。本文方法甚至优于基于样本回放的iCaRL方法。

 

2.  DER,Dynamically Expandable Representation

2.1 概览与贡献点

本文上海科技大学和中国科学院大学共同发表,发表在CVPR2021。本文是通过增加模型权值来适应增量任务。也运用了Memory,相当于基于样本回放的方法和基于模型的方法的结合。本文主要的改进在于模型层面。

本文提出了一个双阶段的训练方法,特征提取阶段和分类器阶段。在模型稳定性和灵活性之间需要进行平衡,提出了DER(dynamically expandable representation),针对增量任务对特征通道数进行增扩。本文贡献点如下:

在每个增量任务时候,都将上一个阶段提取出的特征进行固定,并且运用新的特征提取器再对新任务特征进行新特征提取。这就使得模型在保持旧任务知识的同时可以获得适用于新增量任务的新知识。

用了基于通道的特征裁剪(Channel-Level Mask-Based Pruning Strategy)减少存储占用。

通过设计辅助loss使得网络获取更加具有判别性的特征。

性能与同类型方法相比达到SOTA,见下图。

 

通过此图可以看出,本文重要的是在模型权重数量和模型准确率之间寻找一个平衡。即相同参数量的情况下,平均准确率越高越好。

2.2 特征提取与分类器

假定对于任务t的数据集{Dt}, 样本{xit, yit}, xit是输入图片,yitYt标签,Yt是标签的集合。本文模型分为两个阶段,一个是特征提取阶段,另一个是分类器阶段。特征提取阶段用于通过增量学习得到针对任务t特征提取模型为Φt(),特征分类阶段设置辅助loss用于使得特征提取模块获得更加分散和具有判别性的特征,特征分类阶段的模型是Ht()

特征提取阶段表示为:

公式含义:新任务的特征提取网络Φt()相当于旧任务的特征提取网络Φt-1()和新训练的特征提取网络Ft()合并,

  • 输入样本为x,提取出的特征为u
  • Φt()表示针对增量任务t的特征提取网络
  • Φt-1()表示增量任务t到来之前的特征提取网络
  • 增量任务t到来之后,新学习的特征提取网络Ft(x)与上一个特征提取网络Φt-1(x)共同提取的特征作为Φt(x)

分类器阶段的公式为:

公式很容易理解,将上阶段提取出的特征输出作为分类器的输入

2.3 模型结构与loss设计

每新来一个增量任务t,就新训练一个特征提取网络Ft和分类器Hta,然后并入上一个特征提取网络中作为新的特征提取网络。其中,Mask Parameter即前文提及的Channel-Level Mask-Based Pruning Strategy,对特征进行采样,从而降低特征维度,减少存储和运算负担。

训练loss即交叉熵,用于对整个分类器进行训练(这里的分类器Ht相当于原始分类器Ht和新增分类器Hta的合并),其中D是训练样本与memory中样本的并集。

除此自外,作者引入了LHta辅助loss,只对分类器的新增部分Hta进行训练,

2.4 实验

消融实验结果如下:E.R.代表模型结构增扩,即本文的DER方法,Aux表示辅助loss,即对新增分类器的训练。

 

作者在cifar100上进行实验如下,Ours(w/o)表示没有pruning(即前文提及的基于通道的特征裁剪),channel-wise mask相当于对channel加一个mask,从而减少feature的尺寸,降低存储和运算消耗。

 

本文方法基于模型增扩,同时使用了基于样本的特征回放,因此不难取得较好的效果。

 

 

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
基于生成模型的类增量学习算法是一种利用生成模型来实现类增量学习方法。这种方法的主要思想是通过生成模型学习数据分布,并使用生成模型生成新类别的样本来进行增量学习。 以下是几种基于生成模型的类增量学习算法: 1. Variational Generative Replay(VGR):VGR算法使用变分自编码器(Variational Autoencoder,VAE)作为生成模型,通过最大化重构损失和 KL 散度来学习数据分布。在遇到新类别时,VGR算法使用VAE生成新类别的样本,并将这些样本与原有的训练数据一起用于模型更新。 2. Generative Adversarial Networks for Incremental Learning(iGAN):iGAN算法使用生成对抗网络(Generative Adversarial Networks,GAN)作为生成模型。在遇到新类别时,iGAN算法使用GAN生成新类别的样本,并通过对抗训练的方式来更新模型。 3. Memory Aware Synapses for Incremental Learning(MASI):MASI算法使用记忆增强型生成模型,可以记忆并生成之前已学习过的类别的样本。在遇到新类别时,MASI算法使用生成模型生成新类别的样本,并利用记忆增强的方式来更新模型。 这些基于生成模型的类增量学习算法利用生成模型的能力来生成新类别的样本,从而扩充训练数据集并进行增量学习。它们在解决类增量学习问题中具有一定的优势,但也需要注意生成模型的稳定性和生成样本的质量。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

祥瑞Coding

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

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

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

打赏作者

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

抵扣说明:

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

余额充值