COIL
0. 摘要
传统的学习系统在封闭世界中针对固定数量的类别进行训练,并且需要预先收集数据集。然而,在现实世界的应用中,新的类别经常出现并且需要增量学习。例如,在电子商务中,每天都会出现新的产品类型;在社交媒体社区中,新的话题频繁出现。在这种情况下,增量模型应能够一次性学习多个新类别而不忘记旧类别。我们发现增量学习中旧类别和新类别之间存在强相关性,这种相关性可以用于关联和促进不同学习阶段的相互学习。因此,我们提出了类增量学习的协同传输(COIL),它通过学习类别间的语义关系来关联增量任务。具体来说,协同传输包括两个方面:前瞻性传输试图通过最优传输的知识增强旧分类器以实现快速模型适应;回顾性传输旨在将新类别的分类器反向传输为旧分类器以克服遗忘问题。通过这些传输,COIL 能够高效适应新任务,并稳定地抵抗遗忘。在基准和现实世界的多媒体数据集上的实验验证了我们提出方法的有效性。
1. 引言
随着深度学习的发展,当前的深度模型能够以高性能学习固定数量的类别。然而,在不断变化的世界中,数据通常来自开放环境,可能以流的形式出现 [11] 或由于隐私问题而暂时可用 [9]。为了解决这一问题,分类器应能够增量学习新类别,而不是重新启动训练过程 [24]。一个直接的方法是在新数据上微调模型,但这种方法会遭受灾难性遗忘现象 [29]:由于缺乏先前数据,对旧类别的预测急剧下降。类增量学习(CIL)[35] 旨在仅通过新类别扩展已有知识。例如,在在线舆情监测中,随着新闻的发生,新话题经常出现 [28];在电子商务平台上,每天都会出现新的产品类型 [27,49]。在现实世界的人脸识别系统中,随着时间推移,人脸类别不断增加,模型需要增量学习以分类更多类别 [64]。图 1 展示了 CIL 的设置。在第一个任务中,模型需要分类鸟类和狗;之后,模型通过两个新类别(老虎和鱼)进行增量更新,并且需要分类两个旧类别(鸟类和狗)和两个新类别(老虎和鱼)。新类别逐步到达,模型需要在不遗忘旧类别的情况下分类更多类别。
根据是否保存旧类别的实例,CIL 算法可以分为两类。在不保存任何实例的情况下,[1,19,22,61] 通过对重要参数进行正则化以防止遗忘。它们的区别在于参数重要性计算的方式,例如通过 Fisher 信息矩阵或基于损失的重要性权重估计。其他工作选择性地保存旧类别的样本,并在学习新任务时进行回放 [16,35,48]。在增量学习中,模型应具有可转移性,即先前学习的知识应减少学习新类别的难度。相应地,新学习的类别应巩固先前的知识。然而,这些方法仅使用旧模型来防止遗忘,而忽略了促进新类别学习过程。
相应地,我们发现旧类别和新类别之间存在相关性,即语义关系,受益于此,旧类别的线性分类器可以轻松地传输为新类别的分类器。图 2 展示了类间视觉相似性表明其对应的线性分类器之间的关系,并通过最优传输 [18,41] 进行传输。我们考虑两个不同的空间,即特征空间和分类器空间。我们在特征空间中测量类别的相关性,并使用类别间的关系来指导分类器空间中的分类器合成。通过跨类别的传输知识,旧类别的训练过程可以促进新类别的学习,反之亦然。

受语义关系有助于知识转移的启发,我们提出了类增量学习的协同传输(COIL),它通过学习类别间的语义关系来关联增量任务。具体来说,传输发生在两个阶段。面对新类别的到来,模型应快速调整并描述它们。我们提出了前瞻性传输,将旧分类器传输为新类别的初始化,这也有助于在新类别训练中保持内部类别关系。此外,为了消除灾难性遗忘,新分类器应被反向传输为旧分类器,作为蒸馏目标。因此,我们提出了回顾性传输,利用反向传输的知识,防止旧类别的遗忘。前瞻性传输和回顾性传输构成了协同传输框架,并在多个增量类别批次之间传输知识。我们在基准和现实世界的多媒体数据集上进行了广泛的实验,验证了 COIL 的有效性。
我们首先回顾相关工作,接着介绍 COIL 和实验结果,最后总结本文。
2. 相关工作
类增量学习(CIL)目前是机器学习社区中的一个热门话题 [6,9,15,25,39,47,62,68,70]。CIL 主要有两种方法:基于记忆的方法保存旧类别的样本以克服遗忘,而非基于记忆的方法则利用正则化项或考虑动态模型扩展。
非基于记忆的 CIL:一些方法期望在训练新任务时网络输出不会急剧漂移,从而保留先前的知识。EWC[19] 通过 Fisher 信息矩阵衡量参数对任务的重要性,期望重要参数发生小的变化,并正则化它们不要偏移太多。SI[61] 和 MAS[1] 遵循 EWC,通过不同的估计方法对重要参数进行正则化。然而,面对长序列的增量任务,不同阶段的重要性矩阵可能会冲突,导致这些算法表现不佳。另一类工作通过改变网络结构来满足新任务的需求。[50,59] 为新任务重新训练并扩展网络。然而,大多数方法需要一个预言机制来指导在测试过程中激活哪个子网络。此外,随着任务的出现,网络会不断扩展,面对长增量序列时,参数数量会变得非常庞大。
基于记忆的 CIL:这类工作保存先前任务的原型/样本实例或原型表示。在学习新任务时,将通过这些保存的项进行回放。iCaRL[35] 选择样本进行回放,并利用旧模型的知识蒸馏来防止遗忘。[16] 提出选择特征而不是图像,从而减少存储成本。此外,生成模型可以被视为另一种存储样本的方式。在 [48] 中,旧类别的实例被合成以在新任务训练时进行回放,增量训练过程可以转化为离线训练过程。最近的工作集中在补偿增量模型的漂移。[46] 利用样本来构建额外的验证集,并通过该验证集训练额外的偏差校正层。[14] 提出使用不带偏差的余弦线性层来克服遗忘。[5,63] 简单地通过权重裁剪归一化线性层,以保持新旧类别之间的公平性。[60] 通过新类别实例估计旧类别中心的语义漂移。COIL 遵循基于记忆的方法,并利用不同增量阶段之间的类别语义关系来重用旧模型,这是先前方法所忽略的。
多媒体的 CIL:在现实世界的应用中,新类别的出现很常见 [26,32,44,52,53,55,58,65–67]。因此,CIL 在许多多媒体领域中被发现是有用的,例如电子商务产品搜索 [43]、视频动作识别 [54]、自然语言生成 [30]、多媒体检索 [40] 和社交媒体话题挖掘 [49]。
最优传输(OT):OT[34,41] 最初被提出来研究最优运输和资源分配问题 [18,31]。通过地面成本,OT 可以找到两个分布之间的耦合,这可以被视为两个集合之间的映射 [20,41]。原始的 OT 计算涉及线性规划的求解,成本高昂,难以实现。然而,通过熵正则化项的光滑性,OT 可以通过 Sinkhorn 算法 [8,38] 更快地求解。OT 现在被广泛应用于机器学习和计算机视觉领域,例如模型融合 [37]、域适应 [7]、目标检测 [10]、模型重用 [56,57] 和生成模型 [2,4]。
3. 从旧类别到新类别
在本节中,我们首先介绍 CIL 的定义,然后介绍典型的基于记忆的方法。接着,我们讨论当前模型的不足。
3.1 类增量学习
类增量学习旨在从不同类别中增量学习数据流 [35]。假设有一系列训练任务
每次新任务
3.2 通过知识蒸馏的 CIL
如前所述,基于记忆的方法利用旧类别样本的小子集来防止遗忘,记为
其中
其中
其中
3.3 对语义关系的忽视
公式 3 描述了通过回放和知识蒸馏利用样本进行 CIL 的方法。然而,在学习过程中忽略了一些辅助信息。首先,面对新类别,线性分类器
4. 通过最优传输的协同传输
受信息丰富的语义关系启发,我们寻求通过模型重用关联旧类别和新类别。此外,嵌入模块
假设我们已经知道
4.1 前瞻性传输(PT)
面对新任务,模型应快速适应新类别。PT 通过旧类别和新类别之间的语义映射
PT 引导的分类器在两个方面有助于学习新类别:
快速初始化:与随机生成的新分类器相比,传输的
PT 损失:由于
其中
PT 的效果:考虑到类别间的语义关系,PT 重用旧分类器来构建新分类器,避免随机初始化的负面影响。PT 旨在为参数提供更好的初始化。与 [3] 类似,良好的初始化有助于学习更好的嵌入,从而保留先前的知识并抵抗灾难性遗忘。当旧类别和新类别之间存在语义关系时,传输的分类器可以将新类别纳入并校准到当前分类器中。即使旧类别和新类别无关,这种弱初始化也不会比随机初始化的分类器表现更差。快速初始化即使在没有训练新类别的情况下也能正确预测(见第 5.4 节)。在实现中,我们在开始时(例如前五个 epoch)使用 PT 损失进行类别校准。
4.2 回顾性传输(RT)
除了前瞻性传输(通过重用旧分类器来构建新分类器)外,我们提出更新模型中包含的语义关系可以回顾性地传输。新分类器也可以通过新到旧的映射传输为旧分类器,即
RT 损失:类似于 PT 损失,我们通过转换后的分类器构建 RT 损失以防止遗忘:
其中
回顾性传输的效果:RT 利用语义映射将新分类器转换为旧分类器,并通过知识蒸馏限制类别间的关系。因此,对模型施加了更强的正则化,防止遗忘。需要注意的是,当前方法仅在单方向上进行知识传输,而 RT 使两个分类器能够相互监督并进行双向传输。在实现中,我们随着 epoch 的增加逐步增加 RT 损失的权重。
协同传输总结:图 3 展示了 COIL 框架。面对新类别的到来,我们提取类别间的关系并传输知识

4.3 通过最优传输的语义映射
到目前为止,我们已经提出了协同传输框架。剩下的最大问题是:如何将一个分类器转换为另一个分类器,即如何获得语义映射
传输映射:设
公式 7 是 OT 的 Kantorovich 公式,其中
传输成本:在公式 7 中,给定的
特别是,我们从新任务中获得新类别,并从样本集
为了简化,我们从所有已见类别中提取
距离越大,两个类别之间的相似性越低。因此,重用先前训练良好的模型的特定系数的难度也越大。将公式 9 代入公式 7,学习到的传输计划
4.4 实施指南
我们在算法 1 中展示了 COIL 的实施指南。总体损失是公式 3 与协同传输损失的组合:
其中

5. 实验
在本节中,我们将 COIL 与 SOTA 方法在基准和现实世界的增量数据集上进行比较。此外,可视化了前瞻性传输的效果。我们还进行了消融实验,以验证 COIL 中每个部分的改进。我们还将回顾性传输与其他方法结合,并在补充材料中报告结果。
5.1 实验设置
数据集:按照 [35,46,60] 中定义的协议,我们在 CIFAR-100[21]、CUB200-2011[42] 和 ImageNet ILSVRC2012[36] 上评估相关方法的性能。我们还在现实世界的多媒体面部表情识别任务 RAF-DB[23] 上进行了实验。它们列示如下:
- CIFAR-100:包含 50,000 张训练图像和 10,000 张测试图像,共有 100 个类别。
- CUB-200 和 CUB-100:一个细粒度图像数据集,包含 200 种鸟类,共 11,788 张图像。我们还根据 [60] 从 CUB 中随机抽取 100 个类别形成 CUB-100。
- ImageNet-1000 和 ImageNet-100:ImageNet 是一个大规模数据集,包含 1,000 个类别,训练集约 1.28 百万张图像,验证集 50,000 张图像。我们还根据 [46] 从原始 ImageNet-1000 中随机选择 100 个类别形成 ImageNet-100。
- RAF-DB:包含 15,339 张现实世界的面部图像,标注为七种表情之一。按照 [17,51,69],我们选择六种基本表情(不包括中性)作为实验数据。
根据类增量学习的常见设置 [35],所有数据集均使用 NumPy 随机种子 1993 进行打乱。对于子集数据集(如 CUB-100 和 ImageNet-100),子采样类别是在类别打乱后的前 100 个类别 [46,60]。有两种增量设置 [35,60]。第一种设置从总类别的一半开始,其余类别在不同的阶段到达 [14,60],而另一种设置将第一个任务的类别数与后续任务相同 [35,63]。在本文中,我们使用这两种设置进行实验,并验证 COIL 的通用性能改进。
比较方法:在本节中,我们将 COIL 与 SOTA 方法进行比较,包括 iCaRL[35]、BiC[46]、WA[63]。我们还在结果中报告了离线模型,即 Oracle。
- Finetune:使用交叉熵微调增量模型。Finetune 不考虑克服遗忘,面临遗忘现象。
- iCaRL[35]:使用最近中心均值作为分类器,并应用知识蒸馏 [13] 来防止遗忘。iCaRL 的损失函数对应于公式 3。
- BiC[46]:训练一个额外的偏差校正层以消除线性层的偏差。BiC 从样本中分离出一个验证集,验证集不用于训练。
- WA[63]:通过
范数归一化全连接层,使得在学习新类别时该层不会变得不平衡。 - Oracle:以离线方式联合训练所有类别,可以视为 CIL 方法的上限。
实现细节:所有模型均使用 PyTorch[33] 实现。对于 CIFAR-100,我们采用 32 层 ResNet[12] 并训练 160 个 epoch。学习率从 0.1 开始,在 80 和 120 个 epoch 时衰减 0.1。对于 ImageNet、CUB 和 RAF-DB,我们采用 18 层 ResNet,总共训练 90 个 epoch。学习率从 0.1 开始,每 30 个 epoch 衰减 0.1。模型通过 SGD 优化,批量大小为 128,温度
5.2 与 SOTA 方法的比较
我们首先报告每个任务类别数相等的实验结果。对于 CIFAR-100,100 个类别被打乱并分为 2、5、10 和 20 个增量任务。对于 ImageNet 和 CUB,总类别被分为 10 个增量任务。由于所有比较方法都是基于样本的,我们为每个方法固定相同数量的样本,即 CIFAR-100 和 ImageNet-100 为 2,000 个样本,ImageNet-1000 为 20,000 个样本。因此,每个类别选择的样本数为 20,这对于每个类别来说是充足的。相应地,我们还在 CUB-100/200 上进行了稀少样本的实验,即每个类别仅保存三个样本。样本通过 herding 算法 [45] 选择。
性能曲线如图 4 所示,平均准确率如表 1 所示。我们报告 ImageNet 的 top-5 准确率和 CIFAR 及 CUB 的 top-1 准确率。从结果中可以推断,我们提出的 COIL 在最终增量准确率和平均增量准确率方面优于当前的 SOTA 方法。除了 ImageNet-100 外,三个数据集的趋势一致。BiC 在充足样本的情况下表现良好,尤其是在 ImageNet-100 数据集上。然而,它需要构建一个验证集来调整额外的层。对于 CUB-100/200 的稀少样本,每个类别只能保留一个样本用于验证,BiC 的性能因容易过拟合而下降。然而,COIL 在稀少样本的情况下优于它 20%。实验结果表明,我们提出的方法能够很好地处理小规模图像和大规模图像的增量学习,无论是充足样本还是稀少样本。


5.3 具有大量基础类别的实验
在现实世界的应用中,如产品分类或人脸识别,增量学习通常从在预收集数据集上训练的模型开始。为了模拟这一点,我们从训练了总类别的一半的模型开始 [14,60],其余类别在不同的阶段到达。对于 CIFAR-100,总共有 100 个类别,我们使其中 50 个类别作为第一个任务的基础类别,其余 50 个类别分别在 2、5 和 10 个任务中出现。
结果如图 5 所示,平均准确率性能在补充材料中报告。从图中可以推断,我们提出的 COIL 在最终增量准确率和平均增量准确率方面优于当前的 SOTA 方法。此外,由于前瞻性传输利用旧类别和新类别之间的语义关系来初始化新分类器,生成的新分类器的性能与旧类别和新类别之间的关系相关。随着基础类别的增加,我们可以从旧类别中提取更多的语义关系,从而促进新类别的学习,并期望前瞻性传输的更强性能。相应地,我们发现图 5 中相比于第二名方法的性能提升略大于图 4 中的 CIFAR 任务,这种改进与我们的假设一致。

5.4 传输分类器的可视化
在本部分中,我们在 CIFAR-100 数据集上可视化学习到的决策边界。通过将嵌入模块

我们在图 6 中绘制了可视化结果。在每个图中,点表示实例,阴影区域表示模型的分类边界。可以推断,最优传输的分类器很好地捕捉了类别间的关系,并且即使在没有训练新类别的情况下也能描绘和区分旧类别和新类别。它还展示了前瞻性传输的强大能力,传输的分类器可以作为新分类器的良好初始化,避免了随机初始化的负面影响。此外,在这次试验中,旧类别与新类别几乎无关,初始化的分类器也能够描绘旧类别和新类别之间的差异,这比随机初始化表现更好。可以推断,当旧类别和新类别之间的相关性更强时,初始化的分类器会更强大。

5.5 现实世界的面部表情识别
在现实世界的面部表情识别问题中,表情类别变得越来越细粒度和增量。我们还在一个现实世界的多媒体数据集 RAF-DB 上进行了实验。RAF-DB 是一个包含六种类别的面部表情识别数据集,我们将它们分为两个和三个任务以形成一个增量流。类似于 [69],我们将面部图像调整为 100×100 像素,并为每个类别保留 60 个样本。
性能曲线如图 7 所示。Finetuning 在没有先前学习知识限制的情况下学习新的面部图像,随着新类别的加入,性能急剧下降。iCaRL 利用知识蒸馏的力量将新模型与旧模型映射,并保留从灾难性遗忘中学到的知识。WA 和 BiC 通过更多的限制扩展了 iCaRL,即权重归一化和额外的偏差校正层,结果优于普通的 iCaRL。然而,面部表情具有很强的相关性,COIL 善于利用这种关系,并利用最优传输的知识获得最佳性能。结果验证了在现实世界的增量学习场景中,COIL 仍然具有竞争力。

5.6 消融研究
在本节中,我们提供了 COIL 中各个组件的消融研究。更多的消融实验在补充材料中报告。
前瞻性传输的影响:除了决策边界的可视化外,我们还进行了实验,定量地测量前瞻性传输对模型适应的帮助。为了评估这一点,我们比较了不同的分类器扩展策略:
- PT:初始化
,其中 通过解决公式 6 中的 OT 问题获得。 - NCM:丢弃线性分类器,通过最近中心均值 [35] 对新实例进行分类。
- Random:随机初始化
。
我们在 CIFAR-100 上进行十个任务的测试。使用这三种策略,当面对新的增量任务时,我们直接在新类别上进行测试,并在图 8(a) 中报告准确率。与随机分类器相比,随机分类器在新类别上的准确率为 10%,NCM 构建新类别的类别均值,并通过最近类别中心分配标签,表现更好。然而,由于嵌入模块未适应新类别,NCM 无法提取最合适的类别均值。相比之下,PT 利用类别间的关系构建最优传输映射,并通过旧分类器初始化一个良好的分类器,表现最佳。我们还注意到,随着已知类别的增加,测试性能也提高,这与我们的意识一致,即我们知道的类别越多,越容易找到相关类别并进行传输。
语义传输的消融:我们进行了实验以验证 COIL 中每个部分的有效性。比较中包含四种变体:
- 变体 1:使用交叉熵训练(公式 1)。
- 变体 2:使用交叉熵和蒸馏损失训练(公式 3)。
- 变体 3:在变体 2 的基础上增加前瞻性传输。
- 变体 4:在变体 2 的基础上增加回顾性传输。
实验在 CIFAR-100 的五个任务上进行。图 8(b) 报告了结果。由于变体 1 仅学习新概念而没有先前知识的约束,它很快遗忘知识并遭受灾难性遗忘。变体 2 利用蒸馏损失来克服遗忘,并在性能上迈出了一小步。变体 3 和变体 4 在变体 2 的基础上增加了额外的传输步骤,并且都比变体 2 获得了更多的改进。需要注意的是,前瞻性传输在任务的开始时起作用,其效果更多地体现在模型适应上。相比之下,回顾性传输在整个训练过程中起作用,推动模型远离遗忘,并显示出比变体 3 更强的效果。然而,将它们结合起来,我们带来了 COIL,它比每个单独的部分都表现更好。COIL 显著优于基线方法。

6. 结论
在现实世界的应用中,学习系统经常面临新类别的实例。为了在不遗忘旧类别的情况下增量学习所有已见类别的分类器,类增量学习因此被提出。然而,当前方法忽略了旧类别和新类别之间的强相关性,而我们发现它可以帮助促进增量学习过程。在本文中,我们提出了 COIL 以利用类别间的语义关系。一方面,将旧类别的知识传输到新类别有助于快速适应新类别,并避免随机权重初始化的负面影响。另一方面,将新分类器传输为旧分类器可以对增量模型施加额外的正则化项,从而很好地防止灾难性遗忘现象。提出的 COIL 能够高效适应新类别,并在学习新类别时保留旧知识。如何进一步探索类别之间的边际概率和传输成本是有趣的未来工作。