【博士每天一篇文献-算法】iCaRL_ Incremental Classifier and Representation Learning

简介: 本文介绍了iCaRL算法,一种增量分类器和表示学习系统,它能够逐步从数据流中学习新概念,通过使用最近均值示例规则、基于牧羊的样本选择和知识蒸馏等方法,在CIFAR-100和ImageNet数据集上展示了其优越的逐步学习能力和对灾难性遗忘的有效抵抗。

阅读时间:2023-10-27

1 介绍

年份:2017
作者:Sylvestre-Alvise Rebuffi; Alexander Kolesnikov; Georg Sperl; Christoph H. Lampert ,牛津大学
期刊:Proceedings of the IEEE conference on Computer Vision and Pattern Recognition
引用量:2892
提出了一种名为iCaRL(增量分类器和表示学习)的学习系统的开发,它可以从数据流中随着时间学习新的概念。论文讨论了现有增量学习方法的局限性,并提出了一种训练策略,可以实现类增量学习,只需要同时存在少量类的训练数据,并且可以逐步添加新的类别。iCaRL同时学习强大的分类器和数据表示,这与以前的工作不同,以前的工作只能使用固定的数据表示,并且与深度学习架构不兼容。论文解释了iCaRL的主要组成部分,包括基于最近均值示例规则的分类、基于牧羊的优先选择例子和使用知识蒸馏和原型重演进行表示学习。对CIFAR-100和ImageNet数据集的实验证明,iCaRL可以在很长一段时间内逐步学习许多类别,而其他策略很快失败。
iCaRL(增量分类器和表示学习)是一种学习系统,通过处理数据流,可以随着时间的推移学习新的概念。iCaRL的主要组成部分包括分类器学习、样本管理和表示学习。分类器学习使用最接近均值的例子规则进行分类,样本管理使用基于聚集的方法选择重要的样本,表示学习使用知识蒸馏和原型演奏来提高性能。

2 创新点

(1)提出了一种名为iCaRL的学习系统,可以从数据流中逐步学习新概念。这种系统可以在只有少数几个类别的训练数据同时存在的情况下进行增量学习,并能够逐步添加新的类别。
(2)iCaRL同时学习强大的分类器和数据表示,这与之前的方法不同。之前的方法只能使用固定的数据表示,并且不适用于深度学习架构。
(3)iCaRL的主要组成部分包括使用最近样本均值规则进行分类、基于套牛算法的优先选择样本、使用知识蒸馏和原型回放进行表示学习等。
(4)在CIFAR-100和ImageNet数据集上的实验证明,iCaRL可以在很长时间内逐步学习许多类别,而其他策略很快失败。

3 算法

(1)使用特征提取器 φ ( ⋅ ) \varphi (\cdot) φ(⋅)对新旧数据(旧数据只取一部分)提取特征向量,并计算出各自的平均特征向量
把某一类的图像的特征向量都计算出来,然后求均值,注意本文对于旧数据,只需要计算一部分的数据的特征向量。
截屏2023-10-27 下午4.42.11.png
(2)通过最近均值分类算法(Nearest-Mean-of-Examplars) 计算出新旧数据的预测值

截屏2023-10-27 下午4.42.45.png
(3)在上面得到的预测值代入如下loss函数进行优化,最终得到模型。
image.png

4 实验结果分析

iCaRL的实现,对于iCIFAR-100,我们依赖于theano包,并训练了一个具有32层的ResNet 。
对于iILSVRC,最大样本数为K = 20000,我们使用tensorflow框架训练一个具有18层的ResNet 。
iCIFAR-100基准:使用CIFAR-100[16]数据,并以每次2、5、10、20或50个类的批次进行训练。评估指标是测试集上的标准多类准确率。由于数据集规模适中,我们使用不同的类别顺序运行了该基准测试十次,并报告结果的平均值和标准差。
iILSVRC基准:使用ImageNet ILSVRC 2012[34]数据集的两个设置:只使用100个类的子集,按照每次10个类的批次进行训练(iILSVRC-small)或使用全部1000个类,按照每次100个类的批次进行训练(iILSVRC-full)。评估指标是数据集的val部分的top-5准确率。
(1)准确率评价
截屏2023-10-27 下午3.49.27.png
iCaRL明显优于其他方法。在训练完第一批数据后固定数据表示(fixed repr.)的结果比基于蒸馏的LwF.MC差,除了iILSVRC-full。在没有防止灾难性遗忘的情况下对网络进行微调(finetuning)获得最差的结果。作为对比,使用所有可用数据训练的相同网络的多类准确率为68.6%。
(2)混淆矩阵评价
截屏2023-10-27 下午3.54.53.png
iCaRL的预测在所有类别上分布均匀,而LwF.MC倾向于更频繁地预测最近批次的类别。具有固定表示的分类器对于来自第一批次的类别有偏向性,而通过微调训练的网络仅预测来自最后一批次的类别标签。
(3)消融实验,差异性分析
从三个角度:用基于示例均值的分类规则、使用示例进行表示学习、使用蒸馏损失

  • hybrid1:以与iCaRL相同的方式学习表示,但直接使用网络的输出进行分类,而不是使用基于示例均值的分类器。
  • hybrid2:使用示例进行分类,但在训练过程中不使用蒸馏损失。
  • hybrid3:在分类和表示学习过程中都不使用蒸馏损失和示例,但在表示学习过程中使用示例。

截屏2023-10-27 下午4.07.34.png
混合设置主要在iCaRL和LwF.MC之间取得了结果,表明确实iCaRL的所有新组成部分都对其性能有所贡献。特别是与hybrid 1相比,iCaRL的比较显示基于示例均值的分类器在较小批量大小(即执行更多表示更新时)特别有优势。比较iCaRL和hybrid 2可以看出,在非常小的类别批量大小情况下,与仅使用原型相比,蒸馏甚至可能降低分类准确率。对于更大的批量大小和较少的更新次数,使用蒸馏损失显然是有优势的。最后,将hybrid 3的结果与LwF.MC进行比较清楚地显示了示例在防止灾难性遗忘方面的有效性。

5 思考

(1)蒸馏思想来源于论文【. Distilling the knowledge in a neural network】,最初提出了蒸馏方法来在不同的神经网络之间传递信息,在iCaRL中将其用于单个网络在不同时间点之间的信息传递 。
(2)本文启发于Lwf论文【. Learning without forgetting】
(3)“iCaRL会为每个类别使用m = K/t个样例(向上取整)。通过这样做,可以确保可用的K个样例的内存限额始终被充分利用,但不会超过”。这个算法思想,在GEM算法中所沿用。但具体是如何实现的,还不清楚。
(4)算法2、4、5具体的用处,还不清楚,需要结合代码理解
截屏2023-10-27 下午5.02.17.png
截屏2023-10-27 下午5.02.55.png

6 代码

https://github.com/srebuffi/iCaRL

目录
相关文章
|
3月前
|
机器学习/深度学习 人工智能 资源调度
【博士每天一篇文献-算法】连续学习算法之HAT: Overcoming catastrophic forgetting with hard attention to the task
本文介绍了一种名为Hard Attention to the Task (HAT)的连续学习算法,通过学习几乎二值的注意力向量来克服灾难性遗忘问题,同时不影响当前任务的学习,并通过实验验证了其在减少遗忘方面的有效性。
67 12
|
3月前
|
机器学习/深度学习 算法 计算机视觉
【博士每天一篇文献-算法】持续学习经典算法之LwF: Learning without forgetting
LwF(Learning without Forgetting)是一种机器学习方法,通过知识蒸馏损失来在训练新任务时保留旧任务的知识,无需旧任务数据,有效解决了神经网络学习新任务时可能发生的灾难性遗忘问题。
194 9
|
3月前
|
存储 机器学习/深度学习 算法
【博士每天一篇文献-算法】连续学习算法之RWalk:Riemannian Walk for Incremental Learning Understanding
RWalk算法是一种增量学习框架,通过结合EWC++和修改版的Path Integral算法,并采用不同的采样策略存储先前任务的代表性子集,以量化和平衡遗忘和固执,实现在学习新任务的同时保留旧任务的知识。
84 3
|
13天前
|
算法 安全 数据安全/隐私保护
基于game-based算法的动态频谱访问matlab仿真
本算法展示了在认知无线电网络中,通过游戏理论优化动态频谱访问,提高频谱利用率和物理层安全性。程序运行效果包括负载因子、传输功率、信噪比对用户效用和保密率的影响分析。软件版本:Matlab 2022a。完整代码包含详细中文注释和操作视频。
|
1月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于MSER和HOG特征提取的SVM交通标志检测和识别算法matlab仿真
### 算法简介 1. **算法运行效果图预览**:展示算法效果,完整程序运行后无水印。 2. **算法运行软件版本**:Matlab 2017b。 3. **部分核心程序**:完整版代码包含中文注释及操作步骤视频。 4. **算法理论概述**: - **MSER**:用于检测显著区域,提取图像中稳定区域,适用于光照变化下的交通标志检测。 - **HOG特征提取**:通过计算图像小区域的梯度直方图捕捉局部纹理信息,用于物体检测。 - **SVM**:寻找最大化间隔的超平面以分类样本。 整个算法流程图见下图。
|
10天前
|
人工智能 算法 数据安全/隐私保护
基于遗传优化的SVD水印嵌入提取算法matlab仿真
该算法基于遗传优化的SVD水印嵌入与提取技术,通过遗传算法优化水印嵌入参数,提高水印的鲁棒性和隐蔽性。在MATLAB2022a环境下测试,展示了优化前后的性能对比及不同干扰下的水印提取效果。核心程序实现了SVD分解、遗传算法流程及其参数优化,有效提升了水印技术的应用价值。
|
11天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于贝叶斯优化CNN-LSTM网络的数据分类识别算法matlab仿真
本项目展示了基于贝叶斯优化(BO)的CNN-LSTM网络在数据分类中的应用。通过MATLAB 2022a实现,优化前后效果对比明显。核心代码附带中文注释和操作视频,涵盖BO、CNN、LSTM理论,特别是BO优化CNN-LSTM网络的batchsize和学习率,显著提升模型性能。
|
16天前
|
存储
基于遗传算法的智能天线最佳阵列因子计算matlab仿真
本课题探讨基于遗传算法优化智能天线阵列因子,以提升无线通信系统性能,包括信号质量、干扰抑制及定位精度。通过MATLAB2022a实现的核心程序,展示了遗传算法在寻找最优阵列因子上的应用,显著改善了天线接收功率。
|
18天前
|
监控 算法 数据安全/隐私保护
基于三帧差算法的运动目标检测系统FPGA实现,包含testbench和MATLAB辅助验证程序
本项目展示了基于FPGA与MATLAB实现的三帧差算法运动目标检测。使用Vivado 2019.2和MATLAB 2022a开发环境,通过对比连续三帧图像的像素值变化,有效识别运动区域。项目包括完整无水印的运行效果预览、详细中文注释的代码及操作步骤视频,适合学习和研究。
|
26天前
|
算法
基于粒子群算法的分布式电源配电网重构优化matlab仿真
本研究利用粒子群算法(PSO)优化分布式电源配电网重构,通过Matlab仿真验证优化效果,对比重构前后的节点电压、网损、负荷均衡度、电压偏离及线路传输功率,并记录开关状态变化。PSO算法通过迭代更新粒子位置寻找最优解,旨在最小化网络损耗并提升供电可靠性。仿真结果显示优化后各项指标均有显著改善。