小样本增量学习之多粒度慢快框架
用于小样本类别增量学习的多粒度慢快框架。论文主要 受频率解耦相关工作的启发,讨论了特征的不同频率分量的不同特性。即,按照高、低频信息来处理特征,来解决小样本增量学习的一些问题。
1. 什么是小样本增量学习?
增量学习,也叫在线学习(online learning),目的是模仿人类持续学习的能力。我们把模型对一组数据的学习,叫做一个session。(论文定义,从当前任务到达到下一个任务到达的时间间隔。)其中,
D
(
1
)
D^{(1)}
D(1)是base task的数据集,
D
(
2
)
D^{(2)}
D(2),
D
(
3
)
,
.
.
.
D^{(3)}, ...
D(3),...是novel task的数据集。
D
(
t
)
D^{(t)}
D(t)是第t个任务的训练集。
C
(
t
)
C^{(t)}
C(t)是第t个任务的类别。两两任务类别不相交。
D
(
t
)
=
{
b
a
s
e
t
a
s
k
,
大量样本
,
t
=
1
n
o
v
e
l
t
a
s
k
,
少量样本
,
t
≥
2
D^{(t)}= \left\{ \begin{aligned} base \ task, 大量样本, t=1 \\ novel \ task, 少量样本, t \ge 2\\ \end{aligned} \right.
D(t)={base task,大量样本,t=1novel task,少量样本,t≥2
小样本类别增量学习(FSCIL),就是小样本场景下的增量学习。之所以叫类别增量学习,是因为每个session中的任务类别没有交集,呈现递增的态势。和增量学习相比,FSCIL的难点有两个:
1)如何保存旧知识?
2)如何快速适应新知识?(样本量太少)
2. 现有方法的流程和缺点
FSCIL有两种框架:1) feature extractor + softmax classifier; 2) embedding network + NCM classifier
【NCM: nearest class mean】 本文基于第二种框架,参考SDC方法。
分类过程如下:
其中,
z
j
\rm z_j
zj表示第j的样本的嵌入,
u
c
\rm u_c
uc是第c类的所有样本嵌入的均值。
训练嵌入模型,包含两个loss,度量学习损失和正则项。度量损失用来保证同类样本近,不同类样本远。正则项损失是为了保持过去的知识提出来的。
在一个统一的空间上蒸馏,例如,直接优化第5次的嵌入和第t-1嵌入的F范数
首先说,正则化策略通过正则化损失项来缓解遗忘,使更新后的网络参数保留过去的知识。增量学习中保存旧知识的常用手段,还有架构策略,通过操作网络结构,如参数屏蔽,网络剪枝,保持以前任务中学到的知识,并从当前任务中获取新知识。排练策略,在学习新任务时重演旧任务的信息,而通过存储旧任务的样例或者基于生成模型的旧任务的数据分布来记忆过去的知识。
缺点是:在统一的特征空间中,同时实现旧知识的慢遗忘和新知识的快适应难以平衡。论文给出一个示意图。
a表示主要关注旧知识慢遗忘,新任务样本难识别,b表示主要关注新知识快适应,旧任务样本混合,c是旧知识慢遗忘和新知识快适应的均衡状态,效果最好。
3. 论文动机
3.1 空间内的慢快学习——频率感知的正则项
受频率解耦工作的启发,作者提出对知识进行解耦。对特征进行频率解耦,观察高频信息和低频信息,在增量学习当中的作用。作者发现,低频信息可能对保存旧知识贡献更多。如下图所示:
1-4表示特征空间的4种频率分量,从低频到高频。分别对其中一种频率分量做正则化,对模型进行评估。发现,随着频率增高,平均遗忘也在增高,即对旧知识的遗忘变多。
插入讲一下增量学习的评价指标,平均精度和平均遗忘。
总之,哈哈,那个平均精度,确实不好解释,尤其是公式3里的l如果比j小,怎么解释。
既然,低频分量对保存旧知识贡献更多,那低频分量可能就代表旧知识。作者通过将嵌入转换到频率空间,对低频分量加强蒸馏。这就是所谓的频率感知的蒸馏。
这里的T是DCT,离散余弦变换。
变换后的特征
z
ˉ
j
\bar z_j
zˉj和
z
j
z_j
zj大小相同,共有Q个频率分量。
新的正则化项也变成了公式7。其中
γ
q
\gamma_q
γq表示每个频率分量的权值,但是论文并没有给出,这Q个分量中,多少算是低频。
3.2 跨空间的慢快学习——不同学习率
只修改上面的正则项,显然效果不够好。不知道作者怎么想出来的,又加了一个单独学习的空间。而这个空间和另一个空间的区别可能只是学习率不一样。fast fassion 就是学习率大,slow fassion就是学习率小。作者给出的解释呢,也并不是很完美。
作者用图(a)说明了,旧知识的遗忘。有10个类,在前一个session分得开,到了下一个session就分不开了。而他提出的组合空间,就可以做到旧知识不遗忘,那如图(b)所示还能分得开。然而,他并没有解释很清楚,为什么又增加了一个新的空间。
While the one updated in a fast fashion (e.g., training with a larger learning rate) is prone to new knowledge adaptation, the slowly updated one can better preserve the old knowledge throughout the learning process.
但是,看这句话,快空间学习新知识,慢空间学习旧知识。我理解,应该是慢空间上新知识学得不够好,最起码不如快空间学得好。为了学习新知识,我的快空间上就加大学习率, 甚至去掉频率感知正则项。我理解是这样的。
到这里才和论文的框架图有一点一致。
论文给出了跨空间组合的简单策略,就是把特征拼接在一起,实验中还有一个复杂一点的策略。这种空间组合和零样本里显示属性和隐含属性的组合很像,可以想一下。
4. 实验
4.1 数据集
数据集 | 类别数 | 每类图片数(train/test) | 图片分辨率 |
---|---|---|---|
CIFAR100 | 100 | 600(500/100) | 32x32 |
CUB200-2011 | 200 | 60 | 256x256 |
miniImageNet | 100 | 600(500/100) | 84x84 |
4.2 评价指标
Evaluation protocal:
| 数据集| base/novel类|novel task| session数量|
|:--------😐 -------------😐-------------😐-------------😐-------------😐-------------😐-------------😐
| CIFAR100 | 60/40|5-way 5-shot|9|
| CUB200-2011| 100/100|10-way 5-shot|11|
| miniImageNet| 60/40|5-way 5-shot|9|
4.3 对比实验
精度对比实验
平均遗忘对比实验
在三个数据集上的平均遗忘实验。这里的值明显比图1小,是因为在所有频率分量上做了正则化。
4.4 消融实验
空间内和跨空间策略均有效。CUB因为细粒度数据集而表现不同。
不同空间组合方式的效果。PCA效果更好。
4.5 超参实验
说明跨空间组合重要性
两个空间的特征组合比例a,在一样多的时候,精度最高。
快空间比慢空间性能高。
低频比高频对保存旧知识更重要。
训练样本数量的影响实验
5. 总结
- 第一个将多粒度SVF慢快学习引入FSCIL中的工作
- 提出两种SVF学习策略。针对空间内和空间间,使用了频率感知的正则化,和特征空间组合操作。
疑问
- 跨空间的策略是快更新一个空间, 慢更新一个空间。举例时,提到了快速的方式可能是用大学习率训练。那么实验具体的策略是什么呢?
- 快空间和慢空间的loss相同吗?还是只有学习率不同?
6. 参考文献
- [CVPR 2020 Semantic Drift Compensation for Class-Incremental Learning] [code]
- [ECCV 2018 Riemannian Walk for Incremental Learning: Understanding Forgetting and Intransigence]
- [TPAMI 2021 MgSvF: Multi-Grained Slow vs. Fast Framework for Few-Shot Class-Incremental Learning]
- 2020年12月25日 老师在微信群里推荐论文截图
英文写作
confront 面对
delimma 困境
cope with 处理
frequency-aware 频率感知
frequency components 频率分量
w.r.t. 关于 with respect to; with regard to; with reference to
past knowledge 过去的知识
old knowledge 旧知识
old-task knowledge 旧任务知识
frequency components 频率分量
decouple the entangled information 解耦纠缠信息
contains limited new-task knowledge 包含有限的新任务知识
leads to underfitting on new tasks 导致在新任务上欠拟合
the forgetting rate of old tasks increase along with the frequency. 旧任务遗忘率随着频率升高而增加。
小技巧,在bing.com里搜索“cvpr 2020 Few-shot class-incremental learning”第一个是论文的下载地址。