AAAI 2024 | 针对存储受限在线持续学习的流数据总结方法

2024-01-05 13:03 223 阅读 ID:1769
将门
将门

在这一工作中,我们提出了一个流数据总结方法,以提升基于重放的在线持续学习方法中memory的信息量。通过将流中的信息进行整合,总结样本相比于原始样本对于原始数据分布更具有代表性。在较小的额外计算开销下,SSD帮助显著提升了重放的效果,尤其是在memory空间受限时。该方法的有效性启发后续的工作为构建memory设计更好的方法。

论文题目: 

Summarizing Stream Data for Memory-Restricted Online Continual Learning 

论文链接: 

https://arxiv.org/abs/2305.16645 

代码链接: 

https://github.com/vimar-gu/SSD

一、引言

持续学习(Continual Learning,CL)的目标是在一个任务序列中持续地累积知识。但由于对过去所有任务的数据进行存储以及微调(fine-tuning)不论对存储还是计算资源都是不现实的,持续学习面临着对过去知识的灾难性遗忘(Catastrophic Forgetting)问题。基于记忆重放(Memory Replay)的方法维护一个较小的空间存储过去任务的知识,并在训练当前任务时混合过去的数据。通过对过去知识的直接接触,记忆重放方法在较小的额外资源消耗下取得了在持续学习任务上稳定的性能提升。过去已经有很多工作设计了给定memory时更好的训练方法,但memory中的样本所包含的信息量却一直没有得到充分的研究。

当存储空间非常受限时,memory中所存储的每个样本所包含的信息量都非常重要。我们提出,仅使用少量的原始样本,存储空间并没有得到充分的利用。因此,我们在这篇工作中提出了一个全新的流数据总结方法(Summarizing Stream Data, SSD)。如图所示,我们将在线持续学习中的数据流进行总结,得到一些富含信息量的总结样本(Summarized Samples)。这些样本相比同等数量的原始图片对整体原始数据分布更具有代表性,从而大幅提升了记忆重放的效果。在有限的额外计算量下,流数据总结取得了在多个在线持续学习任务上稳定的性能提升。

二、流数据总结方法

2.1 在线类别增量持续学习任务

持续学习是一个在减少对过去知识遗忘的前提下持续学习新的任务的方法。持续学习可以根据任务划分方式分为任务增量学习和类别增量学习。其中,类别增量学习(task-incremental)提供了任务编号,根据不同的任务编号可以使用不同的神经网络;而类别增量学习(class-incremental)则不提供任务编号,且在不同的任务中数据的类别没有重叠。

对于更普遍的离线持续学习,算法可以在每个任务上进行多轮微调达到收敛。但是在现实场景中,我们往往不知道不同任务的边界,数据往往是以流的形式进行获取。因此,在线持续学习就是一种模拟现实场景的更实用的任务。其中,每个数据都只会流过一次,并且不会有任务编号提供。本文所研究的就是最具挑战性的在线类别增量持续学习任务(online class-incremental continual learning)。

2.2 流数据总结

我们提出流数据总结方法以增加memory中存储的样本的信息量,从而达成对空间更好的利用。方法的流程如上图所示。

2.2.1 Dynamic Memory

首先,我们设计了一个dynamic memory以同时包含总结样本和原始样本。当数据流带来新的类别时,memory中指定数量的空间会由这一新类别的图像初始化。此后,这些位置的图像将会固定,只由总结过程进行更新而不会被其他图像直接替换。memory中的其他未初始化位置会按照正常的持续学习方法使用原始图像进行随机替换。这样,memory中的空间可以被充分地利用。

2.2.2 数据总结

流数据总结的主要目的是增加样本的信息量,以减少有限数量的样本与原始数据分布之间的差异。因此,我们使用与原始数据之间的训练梯度距离作为总结样本更新的损失函数:

其中,M代表memory,B代表mini-batch,D代表距离度量函数。

2.3 过去辅助总结

除了训练梯度之外,我们提出对在持续学习中积累的知识进行更好的利用,来帮助当前任务的信息总结。

2.3.1 总结模型训练

由于训练梯度的计算依赖于一个特定的模型结构,在实际实现中,这一模型往往会同步进行更新以提供更丰富的梯度监督信号。对于持续学习,在整个训练过程中类别数并不是固定的。因此,在新类别加入到数据流中时,往往涉及到模型的重新初始化。如果只将模型在当前任务的数据上进行更新,得到的训练梯度将会失去过去知识的信息。因此,我们提出将memory中包含的过去任务的真实图像也加入到总结模型的训练中,帮助模型建立更好的决策边界。

2.3.2 关系匹配

我们将过去的总结样本提取的特征作为锚点,约束当前正在进行总结的样本和真实样本对这些锚点有一致的关系:

\ 代表了从前者中除去后者剩下的部分。关系匹配有助于在memory中建立更好的总结样本整体分布。整体的训练损失函数由训练梯度和关系的匹配组成:

三、实验结果

我们在多个在线持续学习benchmark上进行了实验。上图展示的是memory容量为100时在CIFAR-100上的持续学习平均精度。当容量受限时,原始图像所能携带的信息量是非常有限的。我们提出的SSD方法大幅提升了memory中的信息丰富程度,从而以较少的额外训练开销显著提升了持续学习的性能。下表中展示了在更多设置中的实验结果:

为了更好地说明我们方法的有效性,我们将总结前后的样本对比可视化展示如下:

一个可以观察到的普遍规律是总结样本相比原始样本具有更丰富的颜色信息。对于第一排中的兰花类别,初始化的样本是黄色的,但是实际更多的数据是粉色的。通过将图像中的黄色部分转换为粉色,总结图像一方面纠正了bias,另一方面保留了多样性。对于第二排和第三排的自行车和罐头类别,总结给图像带来了更丰富的结构和纹理信息。这些总结样本相比原始样本包含了更加丰富的信息,从而帮助达成了更好的记忆重放效果。

四、结论

在这一工作中,我们提出了一个流数据总结方法,以提升基于重放的在线持续学习方法中memory的信息量。通过将流中的信息进行整合,总结样本相比于原始样本对于原始数据分布更具有代表性。在较小的额外计算开销下,SSD帮助显著提升了重放的效果,尤其是在memory空间受限时。该方法的有效性启发后续的工作为构建memory设计更好的方法。

Illustration From IconScout By Delesign Graphics

-The End-

免责声明:作者保留权利,不代表本站立场。如想了解更多和作者有关的信息可以查看页面右侧作者信息卡片。
反馈
to-top--btn