链接:http://arxiv.org/abs/2012.12631v2
简介
这是发表在ICLR 2021上的终身学习paper。
贡献:
- 除了避免遗忘之外,优秀的终身学习模型还应该具备的一般特性。比如,模型应该如何能够从过去看到的相关任务中转移知识。当这些任务是相关的时,模型还应该能够根据任务的数量进行次线性扩展,无论是在记忆方面还是在计算方面。
- 引入一个新的基准测试套件CTrL来测试上述属性,因为当前的基准测试只关注遗忘。为了简单起见,并作为更全面评价CL模型的第一步,在本工作中,我们将注意力限制在监督学习任务和基本迁移学习性质上。我们的实验表明,虽然通常使用的基准测试不能很好地区分不同的方法,但我们新引入的基准测试让我们能够在传输性和可拓展性的几个新维度上分析性能(参见下图),帮助机器学习开发人员更好地理解各种方法的优缺点。
- 一个新的模型。它基于模块化神经网络架构,具有最新的任务驱动优先级task-driven prior。每个任务都是由少数几个神经模块组成的,这些神经模块可以从过去的任务中借用,也可以在新任务中训练。原则上,模块化照顾了我们所关心的所有基本属性,比如:i)模型不会忘记,因为过去任务的模块不会在新任务到来时更新;ii)通过任务间共享模块来实现迁移;iii)只要相似的任务共享模块,整个模型就会随着任务数量的增加呈次线性扩展。关键问题是如何有效地选择模块,因为搜索空间在数量上呈指数增长。在这项工作中,我们通过在可能的架构空间中利用任务驱动优先级来克服这一问题,这只允许围绕先前任务的架构的局部扰动,其特征最好地解决了当前任务。
评估
理想属性和评价指标
由于我们关注的是监督式学习任务,所以很自然地要根据准确性来评估模型。
我们将预测器 f f f的预测精度表示为 ∆ ( f ( x , t ∣ S ) , y ) ∆(f(x, t|S),y) ∆(f(x,t∣S),y),其中x是输入,t是x的任务描述符,S是学习者看到的任务流,y是任务给的标签。
在这项工作中,我们考虑了终身学习算法的四个主要性质。
第一,算法必须在学习经验结束时产生准确的预测器。我们通过他们在结束学习的平均准确性来衡量:
第二,算法应该产生不会忘记的预测器,即能够在不显著损失准确性的情况下执行过去看到的任务。遗忘的定义是:
这种衡量遗忘的方法被称为向后转移,它衡量的是在训练结束时,与刚刚学习任务时相比,在任务上的平均准确度损失。负值表明模型正在遗忘。正值表明模型通过学习后续任务,对过去的任务进行了改进。
第三,算法应该产生能够在解决新任务时从过去任务中转移知识的预测器。迁移性可以表示为:
它测量学过一系列任务的模型与只学习最后一个任务的模型之间的性能差异。如果存在与最后一个任务相关的前一个任务,我们将期望这个量为正。负值意味着模型受到了某种形式的干扰,甚至在预测者没有足够的能力学习新任务时,模型缺乏可塑性。
第四,算法必须根据任务的内存和计算量生成次线性的预测器。为了量化这一点,我们在模型结束训练时计算总内存使用量。因此,我们将学习者为了能够继续学习而必须保持的一切都包含在内存消耗中(例如,EWC的正则化参数或用于经验重放的重放缓冲区)。
任务流
我们发现,上面介绍的指标可以应用于任何任务流(任务的先后顺序)。
而且,当前的基准大都只关注评估遗忘,它们无法实现对迁移性和可延展性的全面评估。这是因为它们没有控制任务的相关性,并且他们的任务也太少。
对此,我们提出了一组新的任务流。
设 t t t是任务流中的一个任务,我们用 t − t^- t−和 t + t^+ t+表示由 t t t衍生两个个任务,它们的数据和 t t t有着相同的分布,但它们的标记数据集更小或更大。
最后,再设 t ′ t' t′和 t ′ ′ t'' t′′是类似于任务 t t t的任务,并且我们假设对于所有 i ≠ j i \neq j i=j, t i t_i ti和 t j t_j tj之间没有关系。
接下来,我们会考虑迁移的五个维度,并为每个维度设定一个任务流。
虽然其他维度确实存在,但这里我们关注的是任何理想模型都应该拥有的基本属性。
1.直接迁移
我们定义任务流 S − = ( t 1 + , t 2 , t 3 , t 4 , t 5 , t 1