一、简介
题目: Few-Shot Class-Incremental Learning from an Open-Set Perspective
会议: ECCV 2022
任务: 数据/任务依次到来,新的数据/任务到来后旧的就不再可获取,并且新的数据相比旧数据可能是稀缺的(例如,旧的类别每类可能有100个样本,但新的类别每类可能只有5个样本),要求模型在学习新数据/任务的同时不要忘记旧数据/任务。
Idea:
(1)利用初始样本充足的训练数据训练一个强大的特征提取器: 首先,通过类增强策略(取自Mixup)创造大量新类;其次,通过数据增强策略(取自SimCLR)创造两个不同的增强样本;最后,通过Angular Penalty Loss(APL,取自cosFace)训练特征提取器。
(2)根据余弦相似度以最近类均值(Nearest Class Mean, NCM)规则进行分类: 以
k
k
k-shot为例,首先,确定支撑集(Support Set),计算各类特征均值,取与特征均值的余弦相似度最大的
k
k
k个特征作为原型组成支撑集;其次,确定类特征均值,根据支撑集计算各类特征均值;最后,计算查询特征与各类特征均值的余弦相似度,分类为相似度最大的类。
Note: 该工作是纯粹的少样本类增量学习(Few-Shot Class-Incremental Learning),不执行开放集识别(Open Set Recognition, OSR),但用到了OSR的数据增强策略,详情可参考Mixup in NeurIPS 2019。
如图,作者用类增强和数据增量以及APL训练特征提取器,然后根据最近类均值规则进行分类。
二、详情
1. 特征提取器
特征提取器的训练仅使用有充足样本的初始训练集,它所包含的类与后续出现的增量类无重叠。如上图所示,其结构包括Backbone(ResNet18)+ 映射层(两层全连接)+ 分类头(一层全连接)。当训练结束进行特征提取时,映射层和分类头会被移除,Backbone会被冻结。
1.1 类增强
原始Mixup通过合并两个随机图像及它们的标签实现增强,公式如下:
x
~
=
λ
x
i
+
(
1
−
λ
)
x
j
y
~
=
λ
y
i
+
(
1
−
λ
)
y
j
\tilde{x}=\lambda x_i+(1-\lambda)x_j \\ \tilde{y}=\lambda y_i+(1-\lambda)y_j
x~=λxi+(1−λ)xjy~=λyi+(1−λ)yj 其中,
x
~
\tilde x
x~和
y
~
\tilde y
y~为生成的组合样本和组合标签,
x
i
x_i
xi和
x
j
x_j
xj为两个原始训练数据,
y
i
y_i
yi和
y
j
y_j
yj是它们的one-hot硬标签,
λ
\lambda
λ采样自
B
e
t
a
(
α
,
α
)
Beta(\alpha,\alpha)
Beta(α,α)。
α
=
0
\alpha=0
α=0时,生成的样本就是
x
i
x_i
xi或
x
j
x_j
xj;
α
=
1
\alpha=1
α=1时,生成的样本就是
x
i
x_i
xi和
x
j
x_j
xj的平均。合并结果如下图所示:
![](https://img-blog.csdnimg.cn/direct/9080d3c60fd547e9ab22912d82c5027b.png#pic_center)
原始Mixup是通过上述操作软化one-hot硬标签以解决分类器过分自信的问题的,这里被作者用来生成新类。 所以,作者不进行标签软化,而是将两个图像组合后作为一个新类。假设原本有 C C C个初始类,两两组合就可以形成 C × ( C − 1 ) 2 \frac{C\times (C-1)}{2} 2C×(C−1)个新类,得到总共 C × ( C + 1 ) 2 \frac{C\times (C+1)}{2} 2C×(C+1)个类,这就是分类头的单元数。
1.2 数据增强
原始SimCLR使用自监督对比损失进行训练(不需要标签),公式如下:
![](https://img-blog.csdnimg.cn/direct/6d453b3742584359b35333ba9ca9c3bf.png#pic_center)
其中, N N N是样本数量,每个样本都进行两次随机增强所以有 2 N 2N 2N个增强样本。 z i \boldsymbol{z}_i zi和 z j \boldsymbol{z}_j zj是同一样本两次随机增强后提取的特征, z k \boldsymbol{z}_k zk是剩余的 2 ( N − 1 ) 2(N-1) 2(N−1)个特征(未增强的样本不再使用)。
原始SimCLR使用该公式使来自同一样本的特征彼此靠近,并远离来自其它样本的特征。 这里作者仅使用其样本增强策略,并且增强操作也同样作用于组合而成的新类样本。每次进行特征提取器的训练时,都会输入两次随机增强的样本,并计算它们的APL损失和,而不是自监督对比损失。
1.3 APL
APL是有监督损失(需要标签)。标准交叉熵(Cross-Entropy, CE)公式如下:
![](https://img-blog.csdnimg.cn/direct/d7dc7f78fe6e4c339919f2d94f1d9926.png#pic_center)
其中, p j p_j pj为SoftMax输出的在第 j j j个图像真实类上的预测概率; N N N为样本个数。而APL将 y j y_j yj替换为了余弦相似度,计算公式如下:
![](https://img-blog.csdnimg.cn/direct/823f1c3300364918804d0ab7edaf7df5.png#pic_center)
其中, f f f为分类头的归一化后的输出, W i T W_i^T WiT为分类头中关于第 i i i类的归一化后的权重(它可以视为第 i i i类的中心)。输出 f f f与中心 W i T W_i^T WiT的余弦相似度越高,则 y i y_i yi越大。于是损失函数变成如下形式:
![](https://img-blog.csdnimg.cn/direct/d6468f3d10b4495888140bad8787084f.png#pic_center)
APL为了使类内特征余弦相似度更高,类间余弦相似度更低,给上式增加了一个缩放因子 s = 30 s=30 s=30和间距系数 m = 0.4 m=0.4 m=0.4,公式如下:
![](https://img-blog.csdnimg.cn/direct/ef8b7d7a4dc54bde9d3178f4bbe89b3b.png#pic_center)
简单来说, m m m类似一个裕量, − m -m −m可以使 y j y_j yj降低。具体来说,如果有三个类,某样本的相似度计算结果为 [ 0.9 , − 0.5 , − 0.8 ] [0.9,-0.5,-0.8] [0.9,−0.5,−0.8],则通过SoftMax所得在各类上的预测分数就是 [ 0.7 , 0.17 , 0.13 ] [0.7,0.17,0.13] [0.7,0.17,0.13],如果在 cos ( θ 1 ) \cos(\theta_1) cos(θ1)上减去 m m m,则预测分数变为 [ 0.61 , 0.22 , 0.17 ] [0.61,0.22,0.17] [0.61,0.22,0.17]。显然,最大的分数降低了,其余的分数增加了,降低与增加的部分即为 m m m所产生的裕量。这样,在 − m -m −m的情况下训练出来的模型,样本与所属类中心的相似度就会更高,从而达到类内紧缩,类间远离的目标。作者达到该目标是为了使当前类所占的特征空间更小,从而为未来的增量类留下更多空间。 s s s则是用来调整 − m -m −m的影响程度。
最终达到的效果如下图,类内更加紧缩,类间更加远离了:
![](https://img-blog.csdnimg.cn/direct/ef400d928ee142fda5a1cd12f7d7ec79.png#pic_center)
2. 查询分类
分类根据特征进行,采取NCM规则并以余弦相似度为度量。
2.1 确定支撑集
根据木桶效应,取最小的类别样本数作为 k k k,形成 k k k-shot支撑集。例如,三个类各有15,5,10个样本,则最少类别样本数为5,则 k = 5 k=5 k=5,每个类取5个样本组成支撑集。
对于样本数多于5的类别来说,样本的选取需要先计算类别特征均值,然后计算各样本特征与特征均值的余弦相似度,保留前 k k k个相似度较高的特征。
2.2 分类
计算支撑集各类别特征的均值,查询样本到来输入特征提取器得到特征,计算该特征与各类别特征均值的余弦相似度,根据相似度进行分类(归为相似度最高的对应类)。
3. 评估指标
在少样本增量学习中,要求模型能够同时识别初始类和此前的增量类,但初始类较多,增量类较少。该场景下,常用的类平均准确率便不再合适。例如,初始类有60个,增量类每次5个,在第一次增量后的评估时假设增量类预测全错,初始类全对,则类平均准确率约为92.3%,这显然是不合适的。于是,作者提出谐波准确率:
![](https://img-blog.csdnimg.cn/direct/4f771a47dca845b8b063964eb6fd71fc.png#pic_center)
其中, A b A_b Ab为初始类的平均准确率, A i A_i Ai为增量类的平均准确率,最后调和两者得到 A h A_h Ah。
总的来说,该工作重心在特征提取上,类增强和数据增强结合APL得到一个强大的特征提取器是关键。