RKR论文详解 Rectification-based Knowledge Retention for Continual Learning. CVPR 2021 基于知识矫正的持续学习

概览:RKR这篇文章,基于网络结构进行增量学习。将新的类别的信息存储在额外的网络结构之中,文中称为rectification generator (RG)生成器和scaling factor generator (SFG)生成器。从而解决Few-shot和zero-shot增量学习的问题.

论文地址:

https://arxiv.org/abs/2103.16597

目录

一、贡献点概览

二、方法

2.1 方法综述

2.2 权重矫正

2.3 RG和SFG网络的具体实现

2.4 新增内存占用

三、实验

3.1准确率

3.2 内存占用

四、总结


  • 一、贡献点概览

贡献点如下

  • 不仅可以用于zero-shot 任务,也可以用于non 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)

二、方法

2.1 方法综述

本文的核心只有两个,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(矫正)的含义所在。即网络在保持原有权重的基础之上,通过矫正矩阵的矫正来适应新的增量任务。

2.2 权重矫正

假定网络第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网络生成R,用于对权重进行相加矫正,SFG网络生成F,用于对featuremap进行相乘矫正。

全连接层与卷积层类似:

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

2.3 RG和SFG网络的具体实现

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

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

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

Scaling factor generator (SFG)生成器的作用与RG生成器类似。

  • RG是针对权重,SFG是针对feature-map,
  • RG是与权重相加,SFG是与feature-map相乘
  • SFG依然通过两个更小的张量相乘获得缩放矩阵F

Conv是这样的,fc就不详细推了,很接近,想详细了解的去看论文。

2.4 新增内存占用

相当于本文的方法针对每个增量任务t多一个RG网络和SFG网络。那么每一个增量任务需要多存RG网络和SFG网络的网络容量。每层增加的网络权重百分比如下:

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

(贡献点里面声称此新增的权重相比其他方法少很多,但是后面的实验验证貌似并不充分,到底是不是这样,有没有其他更好的新增的网络开销的方法,有待考证)

作者不充分的实验见实验部分

三、实验

3.1准确率

作者实验较多,这里不做详细解析,需要的话参考原论文,原论文链接在文章顶部。

这里随便摘几个比较重要的

多次增量准确率下降情况。可以看出本文与其他方法对比是最优的,抵抗遗忘能力较强。

在imageNet数据集上准确率较高。

本文方法RKR的准确率甚至好过基于特征回放的增量学习方法的准确率。

多次增量准确率下降情况。可以看出本文与其他方法对比是最优的,抵抗遗忘能力较强。

在imageNet-1k数据集上准确率依然较高。

本文方法RKR的准确率甚至好过基于特征回放的增量学习方法的准确率。

3.2 内存占用

前面说过论文的内存占用见2.4,这里作者新增的内存容量只与自己进行了对比。

通过参数量和运算量FLOPS来对比。

四、总结

针对增量新增两个矫正网络,存储增量的信息,同时保留了原有的base信息,避免了灾难性遗忘。

 

 

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

祥瑞Coding

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

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

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

打赏作者

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

抵扣说明:

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

余额充值