
摘要
持续学习(Continual Learning, CL)方法旨在使机器学习模型能够在不断学习新任务的同时,避免对已掌握的任务产生灾难性遗忘。现有的持续学习方法通常通过保留先前见过样本的缓冲区、执行知识蒸馏或使用正则化技术来实现这一目标。尽管这些方法表现出色,但它们仍然面临跨任务干扰的问题,导致灾难性遗忘。为了解决这一问题,我们提出在任何阶段仅激活和选择稀疏神经元来学习当前和过去的任务。这样可以为未来任务预留更多的参数空间和模型容量,从而最小化不同任务之间参数的干扰。为此,我们提出了一种用于持续学习的稀疏神经网络(Sparse Neural Network for Continual Learning, SNCL),该网络在所有层的神经元激活上采用了变分贝叶斯稀疏先验。全经验回放(Full Experience Replay, FER)为不同层神经元稀疏激活的学习提供了有效的监督。我们开发了一种基于损失感知的水库采样策略来维护内存缓冲区。所提出的 方法对网络结构和任务边界具有不可知性。在不同数据集上的实验表明,我们的方法在减轻遗忘方面达到了最先进的性能。
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| continual-learning-on-tiny-imagenet-10tasks | A-GEM [chaudhry2018efficient] | Average Accuracy: 25.33 |
| continual-learning-on-tiny-imagenet-10tasks | DER [buzzega2020dark] | Average Accuracy: 51.78 |
| continual-learning-on-tiny-imagenet-10tasks | ER[riemer2018learning] | Average Accuracy: 48.64 |
| continual-learning-on-tiny-imagenet-10tasks | SNCL | Average Accuracy: 52.85 |
| continual-learning-on-tiny-imagenet-10tasks | iCaRL [rebuffi2017icarl] | Average Accuracy: 31.55 |