1. Contribution
- 提出了一种新的训练策略,iCaRL:允许以增量方式学习:只需要同时存在一小部分类别的训练数据,新类别可以逐步添加。
- 同时学习分类器和数据表示:iCaRL能够同时学习强大的分类器和数据表示,这与早期的工作不同,早期工作基本上限制在固定数据表示,因此与深度学习架构不兼容。
- 在CIFAR-100 和ImageNet ILSVRC 2012 data 数据集上做了实验
2. Challenge/ Issues
- 增量学习挑战:传统的机器学习系统通常是批量训练的,这意味着所有类别在训练开始前就已知,并且所有类别的训练数据可以同时访问。然而,现实世界中,新的视觉信息是连续不断被接收的,这就要求系统能够增量地学习新类别,同时保留现有知识。
- 灾难性遗忘:当训练数据流包含新类别时,现有类别的分类准确度会迅速下降,这种现象称为灾难性遗忘。
3. 论文设定的scenario----class-incremental learning
随着计算机视觉领域向人工智能靠拢,很明显需要更灵活的策略来处理现实世界对象分类情况的大规模和动态特性。至少,当新类的训练数据可用时,视觉对象分类系统应该能够逐步学习新类。
- 它应该可以从数据流中进行训练,其中不同类别的示例在不同时间出现
- 它应该随时为迄今为止观察到的类别提供竞争性多类别分类器
- 相对于迄今为止看到的类数量,其计算要求和内存占用应该保持有限,或者至少增长非常缓慢。
4. Technical Contribution
4.1 最近均值样本分类
这个方法的优点:每当特征表示发生变化时,类原型就会自动改变,从而使分类器对特征表示的变化具有鲁棒性。
4.2 使用知识蒸馏和原型演练的表示学习
- 构建增强训练集:iCaRL 将当前可用的训练样本和存储的示例集结合起来,构建一个增强的训练集。
- 评估当前网络:对每个样本评估当前网络,存储所有旧类别的网络输出结果(因为网络尚未对新类别进行训练,所以不存储新类别的输出)。
- 更新网络参数:通过最小化损失函数来更新网络参数。损失函数包含两部分:
- 对新类别:鼓励网络输出正确的类别(分类损失)。
- 对旧类别:鼓励网络再现上一步中存储的输出分数(蒸馏损失)。
4.3 样本选择策略
所有类别都受到同等对待,即,当到目前为止已观察到 t 个类别且 K 是可存储的样本总数时,iCaRL 将为每个类别使用 m = K/t 样本(向上舍入)。这样就确保了 K 个样本的可用内存预算始终被充分利用,但从未超出。
在为新类别选择示例时,iCaRL 按照迭代方式逐个选择示例,直到达到目标数量 m。每一步都会从当前的训练集中选择一个样本,将其加入到该类别的示例集中。
选择过程的关键在于:每次加入的新样本应该让整个示例集的特征向量均值最接近该类别训练集中所有样本的特征向量均值。这意味着,示例集不仅仅是一个随机选择的集合,而是一个优先级列表。列表中的顺序很重要,排在前面的示例更为关键。