[arxiv 20200628] Few-Shot Class-Incremental Learning via Feature Space Composition

论文下载
[1] CVPR 2020: Semantic Drift Compensation for Class-Incremental Learning
[2] CVPR 2020: Few-Shot Class-Incremental Learning

什么是小样本类别增量学习?

模型首先在一个大规模的基础数据集D(1)D^{(1)} 上进行训练,然后会不断增加新的数据集D(t)D^{(t)}t>1t>1,且数据集中的类别与基础数据集中的不同,样本数量也较少,在学习新的样本过程中,还不能忘记之前学习过的样本。这一过程面临两个难题:灾难性遗忘和新的数据产生过拟合问题。

动机

增量学习过程中,base tasks 学习的是base knowledge,而new tasks学习的是new (lifelong) knowledge。所以,模型包含两个组件,一个base组件,一个life-long learning组件,分别用于保持旧知识和学习新知识。

[arxiv 20200628] Few-Shot Class-Incremental Learning via Feature Space Composition
如上图所示,base就是base组件,而model t就是life-long learning组件。base的参数是保持不变的。

嵌入网络

小样本类别增量学习的图像分类框架主要有两种,特征提取器+softmax分类器,特征提取器+NCM分类器。在[1]中详细讨论了,用softmax分类器的挑战性以及面对很长的任务序列的困难性。

嵌入网络训练

使用度量损失来使得相似实例更近,不相似实例有一定距离。

L=LML+LR(1)\mathcal{L} = \mathcal{L}_{ML} + \mathcal{L}_{R} \tag{1}

其中,LML\mathcal{L}_{ML}是度量损失项,LR\mathcal{L}_{R}是正则化项,用来保持过去的知识。LML\mathcal{L}_{ML}一般使用三元损失。

LML=max(0,d+d+r)(2)\mathcal{L}_{ML} = \max(0, d_{+}-d_{-}+r) \tag{2}

其中,d+d_{+}dd_{-}分别表示anchor xax_a和正例xpx_p以及反例xnx_n的欧氏距离,rr表示间隔。

嵌入空间分类

训练好嵌入网络之后,(nearest class mean)NCM用来分类,定义如下:

y^j=arg minciC(i)dis(zj,uc)(3)\hat{y}_j = \argmin_{c \in \cup_i C^{(i)}} dis(z_j, u_c) \tag{3}

i是什么? C(i)sessionC^{(i)}表示当前session类别的集合吗?

dist(,)dist(\cdot, \cdot)是一个距离度量(比如欧式距离)。zjz_j是实例xjx_j的嵌入表示。ucu_c是类别cc的原型,用类别嵌入均值表示,定义如下:

uc=1ncj[yj=c]zj(4) u_c = \frac{1}{n_c} \sum_j [y_j = c] \cdot z_j \tag{4}

其中 [yj=c][y_j = c]是指示函数。

就写到这。