
摘要
在终身学习(lifelong learning)场景中,当智能体持续面临新的任务流时,它会利用先前任务所获得的知识来更好地学习新任务。在此背景下,如何高效地表示知识成为一项具有挑战性的问题。现有研究大多采用以下策略:将过往任务的若干样本存储于回放缓冲区(replay buffer)中;为每个任务单独分配一组参数;或通过引入正则化项来惩罚参数的过度更新。尽管现有方法普遍采用通用的无任务感知(task-agnostic)随机梯度下降(SGD)更新规则,本文提出一种任务感知型优化器,该优化器能够根据任务之间的相关性动态调整学习率。我们通过累积每个任务特有的梯度方向,来追踪参数在更新过程中所经历的路径,这些基于任务的累积梯度构成一个持续维护与更新的知识库。实验结果表明,所提出的自适应学习率机制不仅能有效缓解灾难性遗忘(catastrophic forgetting),还能实现正向的反向迁移(positive backward transfer)。此外,在包含大量任务的复杂数据集上,我们的方法在终身学习任务中表现优于多种当前最先进的技术。
代码仓库
pranshu28/TAG
官方
pytorch
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| continual-learning-on-5-dataset-1-epoch | TAG-RMSProp | Accuracy: 62.59 |
| continual-learning-on-cifar100-20-tasks-1 | TAG-RMSProp | Average Accuracy: 62.79 |
| continual-learning-on-cub-200-2011-20-tasks-1 | TAG-RMSProp | Accuracy: 61.58 |
| continual-learning-on-mini-imagenet-20-tasks | TAG-RMSProp | Accuracy: 57.2 |