SDC论文详解Semantic Drift Compensation for Class-Incremental Learning. CVPR 2020
作者:互联网
论文地址:
https://arxiv.org/abs/2004.00440
目录
2.2 NCM(nearest class mean)分类器
2.3 Semantic Drift Compensation
一、贡献点
文章发表于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看公式很容易理解:
表示的样本在网络中提取出特征和正样本和负样本的距离关系
- 假设样本为xi,经过网络提取特征之后为zi=f(xi)
- d+是样本特征zi离所有正样本提取出特征zp的距离
- d-是样本特征zi离所有负样本提取出特征zn的距离
2.2 NCM(nearest class mean)分类器
NCM分类器也容易理解:看公式:
假设样本是j,样本提取出的特征是zj,
- 类别是小写c,
- μc是类别c所提取出的特征的质心
- 分类器就是离某类别c的质心越近,则将该样本归为该类
2.3 Semantic Drift Compensation
在理解了上面两个公式之后,我们就更能理解SDC(Semantic Drift Compensation)的作用了。
因为本文的方法不是基于样本回放的方法,无法存储旧样本,也无法存储旧样本的特征。因此新样本到来后,与旧样本之间就无法计算新的特征的质心,导致NCM分类器与triple-loss中的特征空间中总的特征无法计算。
- 不是基于特征回放的增量学习方法,无法存储旧样本,也无法存储旧样本的特征,只能存储旧样本的特征在之前网络中的质心
- 网络在训练中权重会发生变化,样本特征经过网络提取之后会发生漂移
SDC(Semantic Drift Compensation)的提出就是为了进行这个估算,即如何在不存储样本特征的情况下估算出新样本到来后,所有样本的特征在特征空间中的质心。
假定新任务为t,在任务t训练之前,第i个数据的特征为Zt-1,i,训练之后的特征为Zt,i
漂移量就是:
估算出类别C在经历了task t的训练后的漂移量为:
从任务s到任务t,总的漂移量就是每一个任务漂移的和:
此图是一个比较直观的说明:
a表示原始数据,在task 1训练好多网络的特征空间上的分布,大三角是质心,小三角是每个数据的样本
b表示task 2的任务的数据样本在task 1结束的模型上的数据分布
c表示task 2的任务的数据经过训练,在特征空间上的移动,也就是semantic draft
d表示按照SDC的方法,估算出来task 1(旧质心)在经过了训练之后可能的移动。
三、实验及验证
实验较多,此处摘几个比较重要的,需要可参考原论文。
3.1 SDC的作用
SDC预估出来的样本漂移后的质心离真实的质心的距离到底会变大吗?作者通过实验进行了验证:
实线表示预估的特征质心和真实的特征质心的距离。可以看出,曲线从左下偏向右上,表示:
随着增量任务的到来和样本数据量的增多,预估的质心与实际的质心距离越来越大。
但是我们可以看出,每种方法在加入了SDC之后(红线),偏离量明显减少。
3.2 NCM及triple-loss
可以看出triple-loss+NCM分类器性能最佳(甚至某些数据上好于联合训练)。性能从差到好依次为:
- 蓝线FT表示采用增量fine-tune
- 黄线FT*表示softmax-loss,但是分类器用NCM分类器
- 红线E-FT表示metric-learning loss(即本文所讲的triple loss)+NCM分类器
- joint即联合训练,也是性能上限
3.3 准确率
作者在CUB和caltech这两个增量数据集上进行验证。本文方法与其他方法相比具有明显优势。
四、总结
亮点有两个,
采用数形结合,将增量任务转换为特征空间中的空间关系
网络随着增量任务权重会更新,对新任务在特征空间中的位置变化提出估算。
缺点:依然没有一个solid的解释,为什么SDC的估算就能够接近真实样本的draft ?
标签:loss,Semantic,特征,样本,Drift,分类器,Incremental,NCM,质心 来源: https://blog.csdn.net/weixin_36474809/article/details/115839720