论文地址:

https://arxiv.org/abs/2103.17230

代码地址:

https://github.com/clovaai/rainbow-memory

目录

1.贡献点

2.方法

2.1问题定义

2.2 uncertainty衡量标准

2.3算法流程

2.4 数据增强

3.实验

4.结论


本文基于样本回放的方法,本文某种意义上借鉴了主动学习中找难样本的方法,将找到的难样本作为Memory中用于回放的样本。

本文的意义在于如何寻找难样本。

1.贡献点

因为本文涉及memory,因此可以看作基于样本回放的增量学习方法。本文解决的问题是,如何选取更好的样本来放置在Memory之中。

基于增量学习的任务,旧任务和新任务之间界限分明。但是实际上很多时候旧任务和新任务的边界并不清晰,因此本文基于‘blurry’的task boundary来优化问题。(这里的blurry在后面又详细的定义,意思是不同的增量task之间是否有共有类,其实相当于广义的类别增量问题。)

为了让memory中的样本保持多样性,本文提出了Rainbow Memory(RM),

 

随时根据新样本更新Episodic Memory,然后根据Mmory进行DA(Data augmentation)来进行多样化。

2.方法

2.1问题定义

  • C表示所有的类别,
  • Tt表示task t之中的类别,相当于C的子集
  • D上标C下标c表示所有类别C中子类c的样本
  • D上标T下标t表示task t中类别c的样本

  • 对于disjoint 类别增量问题,不同task之间没有共有类,这是狭义的类别增量。
  • 对于Blurry的类别增量问题,不同的task之间有共有类,这是广义的类别增量。

2.2 uncertainty衡量标准

在feature space中越接近decision boundary的样本越好,即diverse的样本。如果想要知道样本是否diverse, 需要计算与其他样本之间的相对位置,因此复杂度是O(N*N), 计算开销巨大。因此,本文考虑的是相对位置,通过uncertainty来确定,即模型对于样本的确定性越强,则样本的divese越弱。

 

即样本经过变换之后,比如遮挡、平移、旋转等等,如果在模型中的输出的结果方差越大,样本越难,则说明此样本越diverse. (这里作者的解释并不清晰,逻辑关系有点模糊,因为模型经过变换之后在网络中的输出结果不确定,并不能说明这个样本就靠近decision boundary)

假定样本为x,经过perturbed(这里意思是变换和扰动)的样本为x^hat, 则x^hat在模型预测出的不确定性越高,说明这样本越diverse.(这里借鉴了主动学习的思想,相当于保留难样本)

derivation可以被表示为下面这样:

 

  1. x表示原始样本
  2. x^hat表示经过perturbed的样本
  3. A表示样本标签
  4. D^hat表示所有x^hat的分布

perturbed样本被定义为如下格式:

fr()表示随机函数,用于对原始样本x进行随机变换

最终的样本的uncerterainty定义为如下:

u(x)表示样本x的uncertainty, Sc表示第c类的被预测为top1的次数。

总体而言,标签为c的样本,经过perturbed后,被网络预测为c类的次数越多,则不确定性越弱。

2.3算法流程

核心算法就是Memory如何更新,算法流程如下:

Memory size被限定在M,Nt表示总类别

因此每个任务到达之后,分配给每个类别的Memory大小为 kc=floor(K/Nt)

相当于每次任务到来之后,模型将新的增量任务数据与Memory中数据,按照上面的diverse的计算方法进行排序,最终只取最具diversity的样本。

2.4 数据增强

作者借鉴了CutMix的方法(相当于MixUp的一个改进),对Memory之中的样本进行增强:

m表示randomly selected pixel region

根据后面的实验,这个数据增强时而有效时而无效,比较鸡肋,是作者凑贡献点用的。

3.实验

A5: Last Accuracy

F5: Last Forgetting

I5: Instransigence

实验结果:

RM w/o DA表示没有数据增强,A5,F5,I5表示几个数据集的划分方法。

可以看出本文方法RM(Rainbow Memory)可以达到SOTA的效果。

4.结论

本文其中一个贡献点,就是如何选取用于回放的样本,但是选取的时候有一个逻辑缺陷:

难样本=靠近决策边界的样本≠样本经过变换后在模型中结果方差大,三者并不能完全划等号,论文绕过后一个等号直接进行了运用,逻辑有缺陷。但是论文通过实验验证了这个假设具有一定的有效性,说明了这种样本选取方法有一定的可取性。

另一个贡献点,数据增强,参考了MixCut的方法对回放样本进行数据增强,其实相当于A+B,但是实验效果差强人意。

不过论文的回放样本选取方式确实取得了不错的效果,与已有方法相比达到SOTA,方法值得参考。

 

 

 

 

 

 

 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐