SDC论文详解Semantic Drift Compensation for Class-Incremental Learning. CVPR 2020

论文地址:

https://arxiv.org/abs/2004.00440

目录

一、贡献点

二、方法

2.1 triple loss

2.2 NCM(nearest class mean)分类器

2.3 Semantic Drift Compensation

三、实验及验证

3.1 SDC的作用

3.2 NCM及triple-loss

3.3 准确率

四、总结


一、贡献点

文章发表于CVPR2020,用于解决增量学习中类别增量的问题。贡献点有下面几个:

  • 不同于以往的交叉熵loss, 本文的embedding network提出了triple loss,关于triple loss会在后面进行介绍,triple loss简单理解为基于特征空间质心的loss,样本提取特征后,距离特征空间的离质心越近,则loss越小,反之则越大。
  • 本文的SDC(Semantic Drift Compensation)方法,无需要存储样本。个人理解:Semantic可以理解为提取出的语义特征;Drift指随着增量样本的增多,语义特征在特征空间中的质心会随之移动;Compensation是指通过对漂移的补偿,从而完成增量学习的过程。
  • 在不存储图片的前提下,利用设计的Semantic Drift Compensation算法估计各类别中心,通过NCM分类器(iCaRL分类器)进行分类预测

二、方法

SDC基于两个基础方法,一个是triple loss,一个是 NCM(nearest class mean (NCM))分类器。理解SDC之前需要先理解Triple loss和NCM

2.1 triple loss

Triple loss最早由这两篇文论提出:

J. Wang, Y. Song, T. Leung, C. Rosenberg, J. Wang, J. Philbin, B. Chen, and Y. Wu. Learning fine-grained image similarity with deep ranking. In CVPR, pages 1386–1393,2014. 3

E. Hoffer and N. Ailon. Deep metric learning using triplet network. In International Workshop on Similarity-Based Pattern Recognition, pages 84–92. Springer, 2015. 3, 4, 7

Triple loss看公式很容易理解:

SDC论文详解Semantic Drift Compensation for Class-Incremental Learning. CVPR 2020

表示的样本在网络中提取出特征和正样本和负样本的距离关系

  1. 假设样本为xi,经过网络提取特征之后为zi=f(xi)
  2. d+是样本特征zi离所有正样本提取出特征zp的距离
  3. d-是样本特征zi离所有负样本提取出特征zn的距离

2.2 NCM(nearest class mean)分类器

NCM分类器也容易理解:看公式:

SDC论文详解Semantic Drift Compensation for Class-Incremental Learning. CVPR 2020

假设样本是j,样本提取出的特征是zj,

  • 类别是小写c,
  • μc是类别c所提取出的特征的质心
  • 分类器就是离某类别c的质心越近,则将该样本归为该类

2.3 Semantic Drift Compensation

在理解了上面两个公式之后,我们就更能理解SDC(Semantic Drift Compensation)的作用了。

因为本文的方法不是基于样本回放的方法,无法存储旧样本,也无法存储旧样本的特征。因此新样本到来后,与旧样本之间就无法计算新的特征的质心,导致NCM分类器与triple-loss中的特征空间中总的特征无法计算。

  1. 不是基于特征回放的增量学习方法,无法存储旧样本,也无法存储旧样本的特征,只能存储旧样本的特征在之前网络中的质心
  2. 网络在训练中权重会发生变化,样本特征经过网络提取之后会发生漂移

SDC(Semantic Drift Compensation)的提出就是为了进行这个估算,即如何在不存储样本特征的情况下估算出新样本到来后,所有样本的特征在特征空间中的质心。

假定新任务为t,在任务t训练之前,第i个数据的特征为Zt-1,i,训练之后的特征为Zt,i

漂移量就是:

SDC论文详解Semantic Drift Compensation for Class-Incremental Learning. CVPR 2020

估算出类别C在经历了task t的训练后的漂移量为:

SDC论文详解Semantic Drift Compensation for Class-Incremental Learning. CVPR 2020

从任务s到任务t,总的漂移量就是每一个任务漂移的和:

SDC论文详解Semantic Drift Compensation for Class-Incremental Learning. CVPR 2020

此图是一个比较直观的说明:

SDC论文详解Semantic Drift Compensation for Class-Incremental Learning. CVPR 2020

a表示原始数据,在task 1训练好多网络的特征空间上的分布,大三角是质心,小三角是每个数据的样本

b表示task 2的任务的数据样本在task 1结束的模型上的数据分布

c表示task 2的任务的数据经过训练,在特征空间上的移动,也就是semantic draft

d表示按照SDC的方法,估算出来task 1(旧质心)在经过了训练之后可能的移动。

三、实验及验证

实验较多,此处摘几个比较重要的,需要可参考原论文。

3.1 SDC的作用

SDC预估出来的样本漂移后的质心离真实的质心的距离到底会变大吗?作者通过实验进行了验证:

SDC论文详解Semantic Drift Compensation for Class-Incremental Learning. CVPR 2020

实线表示预估的特征质心和真实的特征质心的距离。可以看出,曲线从左下偏向右上,表示:

随着增量任务的到来和样本数据量的增多,预估的质心与实际的质心距离越来越大。

但是我们可以看出,每种方法在加入了SDC之后(红线),偏离量明显减少。

3.2 NCM及triple-loss

SDC论文详解Semantic Drift Compensation for Class-Incremental Learning. CVPR 2020

可以看出triple-loss+NCM分类器性能最佳(甚至某些数据上好于联合训练)。性能从差到好依次为:

  1. 蓝线FT表示采用增量fine-tune
  2. 黄线FT*表示softmax-loss,但是分类器用NCM分类器
  3. 红线E-FT表示metric-learning loss(即本文所讲的triple loss)+NCM分类器
  4. joint即联合训练,也是性能上限

3.3 准确率

作者在CUB和caltech这两个增量数据集上进行验证。本文方法与其他方法相比具有明显优势。

SDC论文详解Semantic Drift Compensation for Class-Incremental Learning. CVPR 2020

四、总结

亮点有两个,

采用数形结合,将增量任务转换为特征空间中的空间关系

网络随着增量任务权重会更新,对新任务在特征空间中的位置变化提出估算。

缺点:依然没有一个solid的解释,为什么SDC的估算就能够接近真实样本的draft ?

上一篇:网易云ncm文件转换器


下一篇:ASP.net解决CSS与JS的缓存问题