基于模型结构增扩的方法,本文对近两年基于模型结构扩张的增量学习方法进行归纳总结和详解。
文章链接如下:
目录
1. RKR, Rectification-based Knowledge Retention
2. DER,Dynamically Expandable Representation
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*Co和K*W*Ci维度,这两个矩阵进行矩阵乘,就能得到尺寸为W*H*Ci*Co
的矫正矩阵Rlt
。其中K≪Co
且K≪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
是输入图片,yit∈Yt标签,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的尺寸,降低存储和运算消耗。
本文方法基于模型增扩,同时使用了基于样本的特征回放,因此不难取得较好的效果。