LwF
Learning without Forgetting
LwF (opens new window)算法是基于深度学习的增量学习的里程碑之作,在介绍LwF算法之前,我们先了解一些最简单的增量学习方法。
上图展示了一个具有多头网络结构的模型学习新任务的不同策略,其中(a)为已经训练好的基于CNN的原始模型,
- 微调(Fine-tuning):没有旧任务参数和样本的指导,因此模型在旧任务上的表现会变差,也就是发生灾难性遗忘。
- 联合训练(Joint Training):联合训练相当于在所有已知数据上重新训练模型,效果最好,因此通常被认为是增量学习的性能上界,但训练成本太高。
- 特征抽取(Feature Extraction):特征抽取只训练
,共享参数 没有得到更新,虽然不影响模型在旧任务上的表现,但不能有效捕获新任务独有的特征表示,在新任务上的表现通常不如人意。
LwF算法是介于联合训练和微调训练之间的训练方式,LwF的特点是它不需要使用旧任务的数据也能够更新
分类loss
: 新数据的标签 :新数据在新模型上的输出(分类器的参数输出包括 , ,这里取的 )
保留旧知识loss
: 新数据在旧模型的输出 :新数据在新模型上的输出(分类器的参数输出包括 , ,这里取的 )
但是,这种方法的缺点是高度依赖于新旧任务之间的相关性,当任务差异太大时会出现任务混淆的现象(inter-task confusion),并且一个任务的训练时间会随着学习任务的数量线性增长,同时引入的正则项常常不能有效地约束模型在新任务上的优化过程。
References
-增量学习(Incremental Learning)小综述 (opens new window)
大模型译 ⬇️
0. 摘要
当构建一个统一的视觉系统或逐步向系统中添加新功能时,通常的假设是所有任务的训练数据始终可用。然而,随着任务数量的增长,存储和重新训练这些数据变得不可行。一个新的问题出现了,即我们向卷积神经网络(CNN)添加新功能,但现有的训练数据无法使用。我们提出了一种“无遗忘学习”方法,该方法仅使用新任务数据来训练网络,同时保留原始功能。我们的方法与常用的特征提取和微调适应技术相比表现良好,并且与我们假设不可用的原始任务数据的多任务学习表现相似。一个更令人惊讶的观察是,无遗忘学习可能能够用类似的旧任务和新任务数据集替换微调,以提高新任务的性能。
1. 引言
许多实际的视觉应用需要在保持现有性能的同时学习新的视觉功能。例如,一个机器人可能被送到某人家中,具备一组默认的目标识别功能,但需要添加新的特定场所的对象模型。或者在建筑安全方面,一个系统可以识别工人是否穿着安全背心或硬帽,但主管可能希望添加检测不当鞋履的能力。理想情况下,新任务可以在不遭受灾难性遗忘 [1]、[2](在旧任务上的性能下降)或无法访问旧训练数据的情况下学习。遗留数据可能是未记录的、专有的,或者在训练新任务时使用起来太麻烦。这个问题在精神上类似于转移、多任务和终身学习。
我们的目标是开发一种简单但有效的策略,用于各种图像分类问题中的卷积神经网络(CNN)分类器。在我们的设置中,CNN 有一组共享参数
特征提取(例如,[5]):
微调(例如,[6]):
也可以使用微调的一种变体,其中部分
联合训练(例如,[7]):所有参数
这些策略都有一个主要缺点。特征提取通常在新任务上表现不佳,因为共享参数未能表示对新任务有辨识信息的一些信息。微调因为共享参数的变化而没有原始任务特定的预测参数的新指导而降低了之前学习任务的性能。为每个任务复制和微调导致测试时间随着新任务的增加而线性增加,而不是共享共享参数的计算。微调 FC,正如我们在实验中所示,仍然降低了新任务的性能。联合训练随着学习的任务越来越多,在训练中变得越来越繁琐,如果之前学习的任务的训练数据不可用,则不可能进行。
除了这些常用的方法外,还有 [8]、[9] 提出的方法可以不断地添加新的预测任务,通过适应共享参数而无需访问之前学习的任务的训练数据。(见第 2 节)
在这篇论文中,我们扩展了我们之前的工作 [10],无遗忘学习(LwF)。仅使用新任务的示例,我们优化了新任务的高准确性和对原始网络的现有任务响应的保留。我们的方法与联合训练相似,除了我们的方法不需要旧任务的图像和标签。显然,如果网络被保留,使得
2. 相关工作
多任务学习、转移学习和相关方法有着悠久的历史。简而言之,我们的无遗忘学习方法可以被视为蒸馏网络 [11] 和微调 [6] 的结合。微调以在相关数据丰富的问题上训练的现有网络的参数开始,并通过为新任务优化参数来寻找新的局部最小值,使用低学习率。蒸馏网络的思想是学习一个更简单的网络参数,以在原始训练集或大量未标记的数据集上产生与更复杂的网络集合相同的输出。我们的方法不同之处在于,我们解决的是使用相同的数据来监督新任务的学习,并为旧任务提供无监督的输出指导,以找到在新旧任务上都表现良好的参数集。
2.1 比较方法
特征提取 [5]、[12] 使用预训练的深度 CNN 来计算图像的特征。提取的特征是给定图像的一个层(通常是最后一个隐藏层)或多个层的激活。在这些特征上训练的分类器可以实现竞争结果,有时超过人工设计的特征 [5]。进一步的研究表明 [13] 如何选择超参数,例如原始网络结构,以获得更好的性能。特征提取不修改原始网络,允许新任务从之前任务中学习到的复杂特征中受益。然而,这些特征不是为新任务专门化的,通常可以通过微调来改进。
微调 [6] 修改现有 CNN 的参数以训练新任务。输出层通过为新任务随机初始化的权重进行扩展,并且使用小的学习率来调整所有参数从它们的原始值以最小化新任务的损失。有时,网络的一部分被冻结(例如卷积层)以防止过拟合。使用适当的训练超参数,得到的模型通常优于特征提取 [6]、[13] 或从随机初始化的网络 [14]、[15] 开始学习。微调适应共享参数
多任务学习(例如,[7])旨在通过结合所有任务的共同知识,同时改进所有任务。每个任务为共享或受限的参数提供额外的训练数据,作为其他任务的正则化形式 [16]。对于神经网络,Caruana[7] 对多任务学习进行了详细研究。通常,网络的底层是共享的,而顶层是特定于任务的。多任务学习要求所有任务的数据都要存在,而我们的方法只需要新任务的数据。在每个网络层添加新节点是保留原始网络参数的同时学习新判别特征的一种方式。例如,Terekhov 等人 [17] 提出了完全连接神经网络的深度块模块化神经网络,Rusu 等人 [18] 提出了用于强化学习的渐进神经网络。原始网络的参数不受影响,新添加的节点与它们下面的层完全连接。这些方法的缺点是显著扩展了网络中的参数数量,并且如果用于学习新参数的训练数据不足,它们可能会表现不佳 [17],因为它们需要从头开始训练大量的参数。我们尝试扩展原始网络的全连接层,但发现扩展并没有改善我们原始方法的效果。
2.2 主题相关方法
我们的工作还与在网络之间转移知识的方法有关。Hinton 等人 [11] 提出了知识蒸馏,将知识从大型网络或网络集合转移到小型网络,以实现高效的部署。小型网络使用修改后的交叉熵损失(在第 3 节中进一步描述),鼓励原始网络和新网络的响应相似。Romero 等人 [19] 在这项工作的基础上,通过在中间层提供额外的指导,将其转移到更深的网络。Chen 等人 [20] 提出了 Net2Net 方法,可以立即生成一个更深、更宽的网络,该网络在功能上等同于现有的一个。这种技术可以快速初始化网络,以进行更快的超参数探索。这些方法旨在产生一个结构不同的网络,以近似原始网络,而我们的目标是找到新参数,以使原始网络结构(
3. 无遗忘学习

给定一个具有共享参数
其中
其中
如果存在多个旧任务,或者旧任务是多标签分类,我们对每个旧任务和标签的损失求和。Hinton 等人 [11] 建议设置
与联合训练的关系。如前所述,联合训练和我们方法之间的主要区别是需要旧数据集。联合训练使用旧任务的图像和标签进行训练,而无遗忘学习不再使用它们,而是使用新任务图像
效率比较。使用神经网络最计算密集的部分是评估或反向传播共享参数
所有方法评估测试图像的时间大致相同。然而,复制网络并为每个任务微调需要
4. 实验
我们的实验旨在评估无遗忘学习(LwF)是否是一种有效的方法,可以在学习新任务的同时保持旧任务的性能。我们将常见的特征提取、微调和微调 FC 方法以及 Less Forgetting Learning(LFL)[9] 进行比较,这些方法利用现有网络进行新任务学习,而不需要原始任务的训练数据。特征提取保持原始任务的确切性能。我们还与联合训练(有时称为多任务学习)作为可能的旧任务性能的上限进行比较,因为联合训练使用原始和新任务的图像和标签,而 LwF 仅使用新任务的图像和标签。我们在不同程度上对原始任务和新任务相似性的各种图像分类问题上进行实验。对于原始(旧)任务,我们考虑了 ImageNet[4] 的 ILSVRC 2012 子集和 Places365 标准 [30] 数据集。注意,我们之前的工作使用了 Places2,ILSVRC 2015[4] 的一个小型挑战赛和 Places365 的一个早期版本,但在我们发表后该数据集被弃用了。ImageNet 有 1,000 个对象类别和超过 1,000,000 个训练图像。Places365 有 365 个场景类别和约 1,600,000 个训练图像。我们也使用这些大型数据集,因为我们假设我们从一个训练有素的网络开始,这意味着是一个大规模的数据集。对于新任务,我们考虑了 PASCAL VOC 2012 图像分类 [31](“VOC”)、Caltech-UCSD Birds-200-2011 细粒度分类 [32](“CUB”)和 MIT 室内场景分类 [33](“场景”)。这些数据集有适量的图像用于训练:VOC 5,717 个;CUB 5,994 个;场景 5,360 个。其中,VOC 与 ImageNet 非常相似,因为它的标签子类别可以在 ImageNet 类别中找到。MIT 室内场景数据集与 Places365 相似。CUB 与两者都不同,因为它只包括鸟类,需要捕捉图像的细微细节才能进行有效的预测。在一个实验中,我们使用 MNIST[34] 作为新任务,预计我们的方法将表现不佳,因为手写字符与 ImageNet 类别完全不相关。我们主要使用 AlexNet[3] 网络结构,因为它训练速度快且社区研究充分 [6]、[13]、[15]。我们还验证了在较小的实验集上使用 16 层 VGGnet[27] 的结果是否相似。对于这两种网络结构,最终层(fc8)被视为特定任务的,其余的是共享的(
4.1 主要实验
单个新任务场景。首先,我们比较了在不同任务对和不同方法中学习一个新任务的结果。表 1(a)、1(b) 显示了我们的方法的性能,以及使用 AlexNet 的其他方法的相对性能。我们还在图 7 中可视化了两个任务对的旧任务和新任务性能比较。我们观察到以下情况:
在新任务上,我们的方法在大多数情况下超过了微调、LFL、微调 FC 和特征提取,除了 ImageNet→MNIST 和 Places365→CUB 使用微调。超过微调的增益是出乎意料的,表明在旧任务上保留输出是有效的正则化器。(见第 5 节的简要讨论)。这一发现激发了用 LwF 替换微调作为适应网络到新任务的标准方法。在旧任务上,我们的方法比微调表现更好,但通常不如特征提取、微调 FC,有时不如 LFL。通过改变共享参数
在不同数据集大小的影响下,我们检查了新任务数据集的大小是否影响我们与其他方法的性能比较。我们在将 CUB 添加到 ImageNet 时对 AlexNet 进行实验,并报告整个验证集的结果。注意,对于联合训练,由于每个数据集的大小不同,因此在训练两者时对相同数量的图像进行采样(每个时期重新采样),这意味着一次使用较少的 ImageNet 图像。我们的结果显示在图 5 中。结果表明,相同的观察结果成立。我们的方法在两个任务上都超过了微调。随着使用更多的数据,方法之间的差异趋于增加,尽管相关性并不确定。
4.2 设计选择和替代方案
特定任务层的选择。可以将更多层视为特定任务
网络扩展。我们探索了另一种修改网络结构的方法,我们称之为“网络扩展”,它在某些层添加节点。这允许在早期层中额外的新任务特定信息,同时仍然使用原始网络的信息。图 6(b) 说明了这种方法。我们在顶部 3 层的每个层添加了 1024 个节点。从前一层的所有节点到当前层的新节点的权重初始化方式与 Net2Net[20] 扩展层的方式相同。从新节点的前一层到当前层的原始节点的权重初始化为零。新节点的顶层权重随机重新初始化。然后我们要么冻结现有权重并在新任务上微调新权重(“网络扩展”),要么像以前一样使用无遗忘学习进行训练(“网络扩展 + LwF”)。注意,这两种方法都需要网络规模与新任务的数量成二次方增长。表 2(a) 显示了与我们原始方法的比较。单独的网络扩展表现优于特征提取,但在新任务上不如 LwF。网络扩展 + LwF 表现与 LwF 相似,但计算成本和复杂性增加。
降低共享参数学习率的影响。我们调查了是否简单地降低共享参数
L2 软约束权重。也许 LwF 的一个明显替代方案是保持网络参数(而不是响应)接近原始值。我们将其与微调的基线进行比较,在微调损失中添加了
响应保留损失的选择。我们比较了使用 L1、L2、交叉熵损失和知识蒸馏损失(T = 2)以保持
5. 讨论
我们解决了在不访问原始任务训练数据的情况下,适应新任务的同时保持原始任务性能的问题。我们为卷积神经网络提出了无遗忘学习方法,它可以被视为知识蒸馏和微调的混合体,学习对新任务有辨识性的参数,同时在训练数据上保留原始任务的输出。我们在多个分类任务上展示了我们方法的有效性。
作为另一个用例示例,我们在附录 A 中研究了 LwF 在跟踪中的应用。我们基于 MD-Net[35],它将跟踪视为模板分类任务。从训练视频转移的分类器被在线微调,以将区域分类为对象或背景。我们提出用无遗忘学习替换微调步骤。我们留下了细节和实现给附录。我们观察到应用 LwF 有一些改进,但差异并不具有统计学意义。我们的工作有两个用途。首先,如果我们想要扩展现有网络可能的预测集,我们的方法与联合训练表现相似,但训练速度更快,不需要访问之前任务的训练数据。其次,如果我们只关心新任务的性能,我们的方法通常优于当前标准的微调。微调方法使用低学习率,希望参数能够在一个“好”的局部最小值附近,不要太远离原始值。在旧任务上保留输出是一种更直接和可解释的方式来保留之前任务中学到的重要共享结构。我们看到了未来工作的几个方向。我们已经证明了 LwF 在图像分类和一个跟踪实验中的有效性,但希望进一步在语义分割、检测以及计算机视觉之外的问题上进行实验。此外,可以探索该方法的变体,例如维护一组未标记的图像作为之前学习任务的代表性示例。从理论上讲,基于从不同分布中抽取的样本保留输出来限制旧任务性能是有趣的。更一般地,需要适合在线学习不同任务的方法,特别是当类别具有重尾分布时。