iCaRL: Incremental Classifier and Representation Learning

iCaRL: Incremental Classifier and Representation Learning

2017 CVPR

Sylvestre-Alvise Rebuffi

from Oxford University

abstract

介绍了一种新的训练策略,即iCaRL,它允许以类增量的方式进行学习:只需要保留少量的旧数据,可以逐步学习新类。iCaRL同时学习强分类器和数据表示法。

introduction
  • 类增量学习:随着计算机视觉领域向人工智能的发展,需要更灵活的策略来处理现实世界物体分类情况的大规模和动态特性。至少,一个视觉对象分类系统应该能够在有训练数据的情况下,逐步学习新的类别。我们称这种情况为类增量学习。图1. 类增量学习:一个算法从出现新类的连续数据流中不断学习。在任何时候,学习器都能够对迄今为止观察到的所有类别进行多类分类
    图1. 类增量学习:一个算法从出现新类的连续数据流中不断学习。学习器在任何时候都能够对迄今为止观察到的所有类别进行多分类。
  • 类增量学习的特性/要求
    • 1)可以从在不同时间出现不同类的样本的数据流中进行训练(it should be trainable from a stream of data in which examples of different classes occur at different times)
    • 2)在任何时候为目前已观察到的类提供一个有竞争力的多分类器(it should at any time provide a competitive multi-class classifier for the classes observed so far)
    • 3)训练成本应该保持在一定范围内,或者至少基于目前已有的类的数量增长非常缓慢(its computational requirements and memory footprint should remain bounded, or at least grow very slowly, with respect to the number of classes seen so far)
  • 灾难性遗忘的来源
    尝试通过从类增量的数据流中训练分类器来类增量场景的问题,例如使用随机梯度下降优化。然而,这将导致分类精度迅速恶化,这种效应被称为灾难性遗忘。
  • 灾难性遗忘的解决策略
    • 1)冻结当前神经网络的部分权重,并且增加神经网络的深度,让神经网络能够保留学习新知识的能力。
    • 2)利用旧数据与新数据对网络进行训练。
related work

最近关于神经网络增量学习的工作主要遵循冻结/增长策略,然而这需要随着时间的推移为网络分配越来越多的资源,因此违反了对类增量学习定义的原则。例如,Xiao等人学习了一个树状结构的模型,该模型随着观察到更多的类而递增。

对于iCaRL,作者采用了复述的原则:为了更新学习表征的模型参数,作者不仅使用当前可用的类的训练数据,而且还使用早期类的示范样本,这些示范样本无论如何都是可用的,因为它们是基于原型的分类规则所需要的。此外,iCaRL还使用蒸馏法来防止网络中的信息随着时间的推移而过度恶化。Hinton等人最初提出蒸馏法是为了在不同的神经网络之间转移信息,而在iCaRL中,作者在不同的时间点之间在单个网络中使用蒸馏法。最近,Li和Hoiem以无遗忘学习(LwF)的名义提出了同样的原则,以逐步训练一个网络来学习多个任务,例如多个物体识别数据集。与类增量多类情况的主要区别在于预测步骤:多类学习器必须挑选一个能正确预测任何观察到的类的分类器。多任务(多数据集)学习者可以利用多个分类器,每个分类器只在其自身数据集的数据上进行评估。

method
总体流程

在这里插入图片描述

基于最近示例样本平均规则的分类(classification by a nearest-mean-of-exemplars rule)

在这里插入图片描述
神经网络的通常分类规则是
选择平均向量作为原型的灵感来自于最近类平均分类器(nearest-class-mean classifier),用于固定特征表示的增量学习。在类增量设置中,不能使用真正的类平均,因为在这种情况下所有的训练数据都必须被储存起来,以便在表征改变后重新计算。然而作者使用灵活数量的示例均值,这些示例的选择方式可以很好地拟合真正的类均值。
在这里插入图片描述

基于群的优先示例选择(prioritized exemplar selection based on herding)

每当iCaRL遇到新的类别时,它就会调整其示例样本集。在这个过程中,所有的类都被平等对待,也就是说,当到目前为止已经观察到了t个类,而K是可以存储的示范样本总数时,iCaRL将为每个类使用m = K / t 个示范样本(可四舍五入)。这样就可以确保K个样本的可用内存预算总是被充分使用,而不会被超出。
有两个程序负责示范管理:一个是为新类选择示范样本,一个是减少以前类的示范样本集的大小。算法4描述了示范选择步骤。示范样本被反复选择和存储,直到达到目标数量m 。在迭代的每一步中,选择使得所有示例样本的平均特征向量最接近所有训练样本的平均特征向量的那个样本作为示范样本添加到示范样本集中。因此,示例样本"集"实际上是一个优先级的列表。其元素的顺序很重要,列表中较早的示例样本更重要。算法5中规定了删除示例的程序。它特别简单:为了将示例的数量从任何m′ 减少到m,要丢弃示例样本末尾的m’-m个样本,只保留示例样本前m个即可。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

基于知识蒸馏和原型复述的表征学习(representation learning using knowledge distillation and prototype rehearsal)

在这里插入图片描述
表征学习步骤类似于普通的网络微调,但是有两个修改,目的是防止或减轻灾难性遗忘。首先,训练集被增强了。它不仅包括新的训练实例,而且还包括存储了的示范样本。这样就可以保证至少有一些关于以前所有类别的数据分布的信息进入到训练过程中。注意,在这一步骤中,重要的是将样本以图像的形式存储,而不是存储在会随着时间推移而过时的特征表示中。第二,损失函数也被增强了。除了标准的分类损失,即鼓励改进特征表示,以便对新观察到的类别进行良好的分类,它还包含蒸馏损失,以确保在新的学习步骤中不会丢失之前学到的鉴别性信息。
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值