SDC
Semantic Drift Compensation for Class-Incremental Learning
0. 摘要
深度网络的类增量学习(Class-Incremental Learning)旨在通过连续增加需要分类的类别数量来实现持续学习。在训练过程中,网络每次仅能访问一个任务的数据,其中每个任务包含若干类别。在这种情况下,网络会遭遇“灾难性遗忘”(Catastrophic Forgetting),即对先前任务的性能显著下降。
大多数方法针对分类网络研究了这一情景,其中每当新任务到来时,网络的分类层必须添加额外的权重以适应新类别。
嵌入网络具有天然的优势,可以在无需添加新权重的情况下包含新类别。因此,我们研究了嵌入网络的增量学习。此外,我们提出了一种新的方法,用于估计特征的漂移(称为语义漂移,Semantic Drift),并在无需任何样本的情况下对其进行补偿。我们基于当前任务数据经历的漂移,近似估计先前任务的漂移。
我们在细粒度数据集、CIFAR100 和 ImageNet-Subset 上进行了实验,证明嵌入网络对灾难性遗忘的影响显著较小。我们的方法超越了现有无需样本的方法,并与存储样本的方法相比取得了有竞争力的结果。此外,当我们将提出的 SDC 与现有的防遗忘方法结合使用时,结果得到了持续改进。
1. 引言
未来的学习机器应该能够适应不断变化的世界。它们应当能够在不遗忘先前任务的前提下,持续学习新任务。然而,与普遍采用的设定(训练数据同时可用于所有任务)不同,持续学习(Continual Learning)需要在连续的方式中完成任务学习。在每一时刻,算法仅能访问单个任务的数据。对于深度神经网络,可以通过微调(Fine-tuning)使其适应最新任务的数据。然而,在缺乏先前任务数据的情况下,网络会遭遇灾难性遗忘(Catastrophic Forgetting)【26】。这指的是网络对先前任务的性能显著下降。持续学习研究致力于缓解灾难性遗忘的影响【17, 19, 30】。
持续学习探索了多种防止网络遗忘先前任务的策略。Li 等人【19】提出了一种名为“无遗忘学习”(Learning without Forgetting, LwF)的方法。他们使用相同的数据来监督新任务的学习,同时为旧任务提供无监督的输出指导以防止遗忘。弹性权重合并(Elastic Weight Consolidation, EWC)【17】通过估计 Fisher 矩阵来加权一个正则化项,从而偏向于改变在先前任务中被认为不重要的神经元权重,并防止相关神经元适应新任务。进一步的研究包括引入正则化项【1, 20】、通过掩码学习选择子网络【22, 23, 35】,以及使用样本【21, 30】。
许多早期工作针对任务增量学习(Task-Incremental Learning, Task-IL)场景展开研究【38】,在该场景下,网络在推理时能够访问任务 ID【1, 17, 19, 25, 35】。近年来,更多的研究聚焦于更困难的类别增量学习(Class-Incremental Learning, Class-IL)【2, 10, 15, 20】,其中推理时无法获得任务 ID。对于 Class-IL 来说,主要的额外挑战是旧任务与新任务之间的类别不平衡问题。这一问题通常通过存储先前任务的数据来解决【5, 15, 44】。在本文中,我们提出了一种用于 Class-Incremental Learning 的新方法。我们考虑了一种更困难的场景,即无法存储先前任务的数据。在如今数据隐私和安全对用户日益重要的情况下,许多政府法规对数据的管理提出了更高的要求,因而无需存储数据的持续学习算法的重要性日益增加。
上述研究都集中在分类网络的持续学习中。对于分类网络,需要添加新的权重来适应新增的类别。而我们选择对嵌入网络进行类别增量学习,嵌入网络可以自然地包含新类别,而无需对网络结构进行调整。嵌入网络将数据映射到嵌入空间中,在该空间中,数据点之间的距离反映了语义上的差异【8】。它们通常用于图像检索【40】、人脸识别【33】等任务。然而,结合最近类均值分类器(Nearest Class Mean Classifier, NCM)【27】,它们也可以用于分类。
本文中,我们表明嵌入网络比分类网络更不容易遭受灾难性遗忘的影响。此外,我们提出了一种新的方法,称为语义漂移补偿(Semantic Drift Compensation, SDC)。与现有方法旨在防止漂移不同,我们的方法通过估计新任务训练过程中发生的先前任务语义漂移(参见图 1)来进行补偿。我们展示了如何使用 NCM 分类器评估嵌入网络在图像分类任务中的表现,并将类别嵌入均值称为“原型”。我们还展示了如何仅使用当前任务的数据,近似估计先前任务中学习到的原型的漂移。此外,该方法可以轻松与现有的防遗忘方法(如 EWC【17】、LwF【19】或 MAS【1】)结合,以进一步提升性能。

2. 相关工作
持续学习。 基于正则化的方法通过在当前任务上优化网络参数,同时防止已经巩固的权重发生漂移来实现持续学习。“无遗忘学习”(Learning without Forgetting, LwF)【19】利用一个关于概率的正则化项来调整已学习模型以适应新任务,同时保留之前的知识。弹性权重合并(EWC)【17】及其变体 R-EWC【20】在网络权重中引入一个正则化项,强制当前网络的参数保持接近于先前任务训练得出的参数。Zenke 等人【47】提出了一种在线计算突触(由网络权重表示)巩固强度的方法,并通过记忆积累任务相关信息进行了扩展。Aljundi 等人【1】则采用无监督方式计算权重的重要性。
基于重演(Rehearsal)的方法通过存储先前任务的小部分训练数据来防止灾难性遗忘。这些样本与当前任务的数据结合(即重演)以联合优化网络参数。一些现有工作使用蒸馏损失(Distillation Loss)来防止遗忘【6, 21, 30, 15】。在【44】中,提出了偏差校正方法,旨在解决旧类别与新类别之间数据不平衡的问题,尤其是在大规模数据集上。另一种替代方法是学习先前任务的生成模型,并生成合成样本(即伪重演)【43, 36】。
我们在具有挑战性的类别增量学习(Class-Incremental Learning, Class-IL)场景中研究持续学习。一些上述方法可以直接应用于 Class-IL 场景,例如通过调整网络架构【2, 32】。然而,这些方法并不适用于大规模类别数量,因为网络需要不断扩展。在【10】中,提出了一种使用注意力蒸馏损失(Attention Distillation Loss)的方法,通过惩罚注意力图的变化,帮助保留新类别添加时的旧类别信息。在【15】中,引入了三种策略来防止遗忘:交叉归一化(Cross Normalization)、减少遗忘约束(Less-Forgetting Constraint)和使用保存的样本进行类间分离(Inter-Class Separation)。【20】提出了一种适用于 Class-IL 的方法,该方法将 EWC 与网络重参数化(以分解旋转的形式)相结合,从而在先前任务上的性能得到了提升。【44】讨论了大量类别以及新旧类别之间视觉相似性的问题,并通过线性模型校正网络对新类别的输出偏差。在【5】中,通过结合样本集和蒸馏损失来防止 Class-IL 中的遗忘。最后,Belouadah 和 Popescu【3】提出了通过双内存减少灾难性遗忘影响的方法,而 Rajasegaran 等人【29】则提出了一种结合知识蒸馏和回顾的路径选择策略来克服遗忘。
我们的方法与上述工作有两点主要不同:
- 为了训练新任务,我们使用嵌入网络,并以度量学习损失(Metric Learning Loss)而非分类损失为目标。
- 上述方法大多关注在学习新任务的过程中防止遗忘,而我们的方法并不专注于防止遗忘,而是提出估计由于学习新任务导致的特征漂移的方式。有了对漂移的近似,我们可以对先前任务的原型进行补偿。
深度度量学习。 Siamese 网络【8】最初被提出用于人脸验证的嵌入学习。最初,它们使用对比损失(Contrastive Loss),确保同类样本之间的距离更近,而不同类样本之间的距离大于一个特定的阈值。为了解决对比损失的局限性,提出了三元组网络(Triplet Networks)【13, 39】,输入包括锚点图像(Anchor)、正样本(Positive)和负样本(Negative)。三元组网络的目标是学习使相似样本的嵌入距离小于非相似样本嵌入距离的方法(加上一个边界 m):
其中
后续研究对嵌入学习进行了进一步改进,包括在三元组三角形的负点处施加角度约束【40】,以及在多相似性损失函数中利用所有选择的对信息【41】。
嵌入网络相比于分类网络的优势一直是一个讨论热点。近期研究指出,分类网络存在一些显著的不足,大多归因于基于 softmax 操作的交叉熵损失。研究发现,嵌入网络在处理对抗样本和分布外样本检测方面表现更为鲁棒【24, 31】。此外,在迁移学习中,深度嵌入被证明优于分类网络【34】,并且初步研究表明它们可能不易遭受灾难性遗忘【45】。
3. 用于嵌入的持续学习
我们研究了一个类增量学习的设置,其中网络学习多个任务,每个任务包含若干新类别。在任务
完成所有
3.1 嵌入网络
我们首先解释嵌入网络在单个任务中的训练过程。嵌入网络将数据映射到低维输出空间,其中距离表示图像之间的语义差异【4, 8】。它们同时执行特征提取和度量学习。在学习到的嵌入空间中,可以通过简单的度量(如 L2 距离)确定原始图像之间的相似性。
Chopra 等人【8】提出使用 Siamese 网络并采用对比损失作为目标函数。这种损失需要关联图像对和非关联图像对,确保关联对之间的距离较小,而非关联对之间的距离大于一个边界。由于对比损失难以训练,提出了其他损失函数。例如,Hoffer 等人【13】基于 Wang 等人【39】的工作,提出了三元组损失。目标函数迫使负样本到锚点的距离大于正样本的距离(加上边界
其中
训练嵌入网络后,我们可以在嵌入空间中使用最近类均值分类器(NCM)进行分类,其定义为:
其中
3.2 Softmax 分类器与嵌入学习
图像分类的传统方法是通过交叉熵损失训练 Softmax 分类器。由于其成功的表现,它成为研究图像分类持续学习方法的自然起点。然而,Softmax 分类器存在几个基本缺陷,这可能限制其在持续学习中的应用:
- 网络的输出与预测类别紧密耦合。当新增对象类别时,需要对架构进行结构性更改,例如新增神经元来适应新类别。这在类增量学习场景中通常意味着为每个任务创建一个新的输出层(头部)【5】。
- 为了从多头网络中获得最终预测,需要对输出进行聚合。
- 更新后的模型可能在预测时对新类别存在偏差【15, 44】。
上述问题可以在一定程度上缓解,但对于长任务序列来说,适配基于 Softmax 的分类器进行类增量学习是具有挑战性的。
相比之下,使用嵌入网络进行持续学习具有以下优势:
- 新类别可以自然地添加,无需对网络架构进行更改。
- 在学习新任务时,网络可以针对新的数据分布进行微调。然而,度量学习方法不需要直接获取类别信息,仅用于准备输入数据(即正负样本对),因此网络结构保持不变。
为比较持续学习场景下的分类网络和嵌入网络,我们对两者进行微调,以适应新任务。这种方法对分类网络已知会导致灾难性遗忘。Softmax 分类器为增量分类使用新头部。在测试中,我们计算每个头部的概率,并选择最大值作为真实预测(称为 FT)。作为另一种方法,我们考虑对 ResNet 网络第 5 层的平均池化输出执行 NCM,该输出与嵌入网络具有相同的维度(记为 FT*)。这种技术也在 iCaRL【30】中使用。嵌入网络(通过三元组损失训练【13】)使用原型表示类别,并通过 NCM 进行分类,记为 E-FT。
图 2 展示了在三个数据集上的对比结果,进一步验证了嵌入网络在持续学习中的显著优势。
3.3 正则化嵌入网络
灾难性遗忘问题在分类网络的持续学习中已被广泛研究【6, 17, 19, 20, 30, 36, 43】。据我们所知,目前尚无针对嵌入网络防止遗忘的研究。在本节中,我们将几种现有的针对分类网络的技术适配到嵌入网络上。我们将这些技术的嵌入变体以 "E" 为前缀命名,例如,将适配到嵌入网络的 LwF 称为 E-LwF(Learning without Forgetting)。
微调(E-FT)
已在第 3.2 节中描述,并作为基线方法。所有实验均采用三元组损失【13】进行训练。
对齐损失(E-LwF)【19】
此方法最初在分类网络中提出,其目的是匹配网络的 Softmax 输出以保留先前模型的知识。对于嵌入网络,我们通过最小化当前任务训练期间图像
其中
E-EWC【17】
该方法最初在分类网络中提出,通过将网络参数保持在先前任务的最优参数附近来减少遗忘。这同样可以应用于嵌入网络。在 EWC 中,我们最小化以下函数:
其中
E-MAS【1】
此方法基于网络输出对参数变化的敏感性来累积每个参数的重要性测量,并可直接应用于嵌入网络。在 MAS 中,我们最小化以下函数:
其中
上述损失可以与度量学习损失结合,以在训练嵌入网络时防止遗忘:
其中
4. 语义漂移补偿
在嵌入网络中,当以连续方式学习时,会出现漂移现象。当无法获取先前任务的数据时,使用 NCM 分类器中的原始原型通常会导致性能下降。我们旨在减少漂移引起的误差,并提出了一种漂移补偿方法,用于更新先前计算的原型。主要思想是根据当前任务训练时观测到的漂移来估计未知的漂移,从而进行补偿。
4.1 语义漂移的计算
在第 3.1 节中,我们讨论了如何在单个任务中计算类别的原型。这里,我们将这一理论扩展到持续学习的设置中。我们将类别
由于无法直接计算
在任务
这里
我们提出通过稀疏向量场
其中
总结来说,如图 3 所示,任务
即总补偿为所有先前步骤中测量的漂移补偿的总和。通常,这一过程采用递归方案,即在每个新任务中更新所有先前任务的原型:
4.2 正则化的语义漂移补偿
许多持续学习方法专注于防止网络使用被认为对先前任务重要的参数【1, 17, 19】。我们的方法基于完全不同的思路:如果我们在任务之间共享参数,并希望所有任务都能通过这些参数改进(即进行反向传播),这将导致先前任务发生漂移。通过近似这一漂移,我们可以对其进行补偿。
由于我们的方法采用了不同的防遗忘策略,值得研究它是否与其他方法互补。因此,我们提出将现有方法(如 E-LwF、E-EWC 和 E-MAS)与语义漂移补偿结合使用,并在实验结果中进行评估。
为了说明 SDC 的效果,我们在 MNIST 数据集上进行了二维嵌入实验。我们将 10 个类别随机分成两个任务。在图 4 中,我们展示了 E-FT 和 E-EWC 情况下由 SDC 估计的漂移向量的例子。结果表明,近似的漂移向量能够将原型的位置调整得更接近真实均值,从而提升整体方法的准确性。
5. 实验
本节遵循增量学习的评估协议【1, 20, 30】。对于多类数据集,类别以固定的随机顺序排列。每种方法均以类增量的方式在可用数据上进行训练,并在测试集上评估。评估指标包括:
- 平均增量准确率(Average Incremental Accuracy),即仅针对已经训练过的类别计算的平均准确率。
- 平均遗忘率(Average Forgetting),用于衡量在 CIFAR100 和 ImageNet-Subset 数据集上先前任务的遗忘情况【6】。
5.1 数据集
我们使用了以下数据集:
- CUB-200-2011【42】:包含 200 个鸟类类别,共计 11,788 张图像。
- Flowers-102【28】:包含 102 个花卉类别,其中随机选择了 100 类,共计 8,189 张图像。
- CIFAR100【18】:每类包含 600 张图像。
- ImageNet-Subset【9】:随机选择自 ImageNet 的 100 类,共计 129,156 张图像。
- Caltech-101【11】:由属于 101 个类别的对象图像组成。
这些数据集均按类别随机分成若干任务。
5.2 实现细节
所有模型均使用 PyTorch 实现,优化器采用 Adam【16】。以下是每个数据集的配置:
- CUB-200-2011 和 Flowers-102:使用 ResNet-18【12】作为主干网络,从 ImageNet 预训练模型初始化。
- CIFAR100 和 ImageNet-Subset:分别使用 ResNet-32 和 ResNet-18,未进行预训练,与【15】一致。
训练使用三元组损失【13】,并对所有数据集采用以下通用预处理:
- 图像大小调整为
(CIFAR100 调整为 ),并随机裁剪和翻转。 - 小批量大小为 32。
- 学习率及训练轮次:
- CUB-200-2011:学习率
,50 轮; - Flowers-102:学习率
,20 轮; - CIFAR100 和 ImageNet-Subset:学习率
,50 轮。
- CUB-200-2011:学习率
最终嵌入维度为 512,并进行归一化。对正则化方法(E-LwF、E-EWC、E-MAS)的权衡参数分别设置为 1、
5.3 嵌入网络分类性能
我们在两个细粒度数据集(CUB-200-2011 和 Flowers-102)的六任务场景中评估了方法的有效性。表 1 展示了实验结果,并分析了训练完成最后一个任务(T6)后的平均结果。
结果分析:
嵌入网络的防遗忘效果:
将 Softmax 分类网络上的方法(LwF/EWC/MAS)与嵌入网络的变体(E-LwF/E-EWC/E-MAS)进行对比,可以观察到巨大的性能提升,表明嵌入网络对灾难性遗忘的抵抗能力更强。与基线对比:
我们加入了预训练模型(E-Pre)和固定模型(E-Fix)的 NME 结果作为基线。所有方法结合 SDC 后的性能均超越了这些基线。SDC 的改进效果:
SDC 提升了所有方法的结果,尤其是对 E-FT,分别在 CUB-200-2011 和 Flowers-102 上带来了 11.9% 和 6.2% 的增益。嵌入网络的潜力:
简单的嵌入网络微调(E-FT)在 CUB-200-2011 上的结果甚至优于 Softmax 网络方法(LwF、EWC 和 MAS)。结合 SDC 后的进一步提升进一步验证了嵌入网络的潜力。
漂移补偿验证:
为了进一步分析 SDC 是否有效减少了原型的漂移,我们测量了真实类别均值与原型之间的平均距离(SDC 应用前后)。如图 5 所示,SDC 减少了原型的漂移,显著改善了分类性能。
5.4 与最新方法的对比
十任务增量学习(CUB-200 和 Caltech-101)
为了评估 SDC 在更长任务序列中的表现,并与无记忆学习(LwM)方法进行对比,我们按照【10】中的设定,在 CUB-200(100 个类别)和 Caltech-101 数据集上进行了实验,将类别随机分为十个任务。
实验结果:
图 6 展示了与以下方法的对比结果:
- FT(Softmax 微调);
- LwM【10】;
- Expert Gate【2】;
- 联合训练(Joint Training)的上限;
- 我们的最佳方法 E-MAS 和 E-MAS+SDC。
在这两个数据集上,我们的方法取得了显著优势:
- E-MAS 相比近期方法 LwM,在 CUB-200 和 Caltech-101 上分别高出 21.2% 和 29.0%。
- 应用 SDC 后,分别进一步提高了 6.4% 和 1.4%。
CIFAR100 和 ImageNet-Subset 的实验
在【15】中,为类增量学习提出了十一任务评估协议:第一个任务包含一半的类别,其余类别均分为 10 个任务。我们使用以下两个指标进行评估:
- 平均增量准确率:仅计算当前任务之前所有任务的平均准确率。
- 平均遗忘率【6】:定义为先前任务的最大遗忘量:
其中
实验结果:
CIFAR100 的结果如图 7 所示,包含三组方法:
非样本存储方法:FT、LwF、EWC、MAS、E-MAS+SDC;
样本存储方法:iCaRL-CNN【30】、iCaRL-NME【30】、Rebalance【15】;
联合训练方法:作为上限基线。
平均增量准确率:
- 我们的最佳方法 E-EWC+SDC 在非样本存储方法中表现最优,领先 EWC 至少 27.6%。
- 同时,它也优于两种样本存储方法 iCaRL-CNN 和 iCaRL-NME,分别高出 7.1% 和 1.1%。
平均遗忘率:
- 我们的方法相比所有样本存储方法(如 Rebalance【15】)的遗忘率更低,相较最佳的 Rebalance 方法有 13.9% 的改进。
ImageNet-Subset 的结果:
- 我们的方法同样超越了所有非样本存储方法和两种样本存储方法(iCaRL-CNN 和 iCaRL-NME)。
- 平均增量准确率相比 LwF 提高了 35.0%,比 iCaRL-CNN 高出 15.5%,比 iCaRL-NME 高出 2.5%。
- 在平均遗忘率上,我们的方法比 Rebalance 方法减少了 3.5%。
此外,我们还对固定网络(在任务一微调后不再更新)进行了实验,CIFAR100 和 ImageNet-Subset 的准确率分别为 46.3% 和 50.5%。这表明,在多任务场景中,即使是最先进的非样本存储方法也未显著超越这一基线;而某些样本存储方法(如 iCaRL-CNN 和 iCaRL-NME)也未能表现更优。这部分归因于任务一类别数量较多,但若聚焦于后续任务(任务 2 到任务终)的性能,这些方法仍然展现出明确的优势(具体见补充材料)。
6. 结论
在分类网络上应用微调时,灾难性遗忘的严重性在嵌入网络中要小得多。这表明,当前基于 Softmax 的方法在持续学习中的主导地位需要重新审视。我们的研究结果主张采用嵌入网络作为持续学习的基础。此外,我们提出了一种方法来近似在新任务训练过程中发生的原型语义漂移。这种方法可以与原本设计用于分类网络的增量学习方法互补。
实验表明,当与现有方法结合使用时,我们的方法能够持续改善结果。在未来工作中,我们计划探索更复杂的漂移建模和更大规模的增量学习场景。