Gradient Episodic Memory for Continual Learning
Gradient Episodic Memory for Continual Learning
人工智能的一个主要障碍是模型在不忘记先前获得的知识的情况下,更快地解决新问题的能力很差。
首先,提出了一套度量标准来评估在数据连续体上学习的模型。这些度量不仅通过它们的测试准确性来表征模型,而且还根据它们在任务之间传输知识的能力来表征模型。
其次,提出了一个持续学习的模型,称为梯度情节记忆(GEM),它可以减轻遗忘,同时允许知识有益地转移到以前的任务中。
Intro
有监督学习的设置 $D{tr} = {(x_i,y_i)}{i=1}^n
大多数监督学习方法假设每个示例
为了实现这一点,监督学习方法通常采用 经验风险最小化 (ERM) 原则 [Vapnik, 1998],其中 f 是通过最小化这个式子:
在实践中,ERM通常需要多次遍历训练集。经验风险最小化(Empirical Risk Minimization)
将逐个样本地观察数据的连续体:
$ti \in T
重要的是,样本不是从三元组
连续学习的目标是构造一个能够预测与测试对
在这种情况下,ERM面临着未知的挑战:
- Non-iid input data : 数据连续体相对于任何固定概率分布
不是独立同分布的,因为一旦任务切换,就可以观察到来自新任务的整个样本序列。 - Catastrophic forgetting : 学习新任务可能会损害学习者在以前解决的任务中的表现。
- Transfer learning : 当连续体中的任务相关时,就存在迁移学习的机会。这将转化为更快地学习新任务,以及提高旧任务的性能。
A Framework for Continual Learning
连续体的数据三元组 $(xi,t_i,y_i)
为简单起见,我们假设连续体是局部 iid,即每个三元组 $(xi,t_i,y_i)
目标是学习一个预测器
Task descriptors
框架中的一个重要组成部分是任务描述符
Training Protocol and Evaluation Metrics
大多数关于学习一系列任务的文献描述了一种设置
- i) 任务数量 很小
- ii) 每个任务的示例数量很大
- iii) 学习者对每个任务的样本执行多次传递
- iv) 报告的唯一指标是所有任务的平均性能。
相比之下,本文:
- i) 任务数量很大,
- ii) 每个任务的训练样本数量很少
- iii) 学习者只观察与每个任务相关的样本一次
- iv) 报告了衡量转移和遗忘的指标。
除了监控其跨任务的表现外,评估模型传递知识的能力也很重要。更具体地说:
Backward transfer (BWT) :学习任务 t 对前一任务 k ≺ t 的性能的影响。当学习任务 t 时,提高了先前任务 k 的性能(存在正面的反向迁移)。当学习任务 t 会降低先前任务 k 的性能时(存在负面的反向迁移)。 越大意味着灾难性遗忘越严重。
Forwardtransfer(FWT) :学习任务t 对未来任务 k>t 的性能的影响。
是每个任务在随机初始化时的测试精度向量。Retained Accuracy(RA) 是模型在训练结束时跨任务的平均准确率。
讨论第一个任务的向后转移或最后一个任务的正向转移是没有意义的。
考虑为每一个
Gradient of Episodic Memory (GEM)
梯度情景记忆(GEM),一种持续学习的模型。 GEM 的主要特征是情景记忆
实际上,学习者总共有
为简单起见,假设内存中填充了来自每个任务的最后
显然,将当前示例中的损失与上式一起最小化会导致过度拟合存储在
然而,这将认为正向后向转移是不可能的。 相反,我们将使用 上面的损失 作为不等式约束,避免它们的增加但允许它们的减少。 与最先进的 [Kirkpatrick et al., 2017, Rebuffi et al., 2017] 相比,我们的模型允许正向后向转移。
更具体地说,在观察三元组
其中
首先,在每次参数更新g之后,只要我们保证以前任务的损失不增加,就没有必要存储旧的预测值
其次,假设函数是局部线性的(因为它发生在小优化步骤周围)并且memory代表过去任务的样本,我们可以通过计算它们的损失梯度向量之间的角度来 ,判断先前任务损失的增加 和建议的更新。在数学上,我们将上面式子的约束重新表述为:
如果满足上面的不等式,则参数更新
另一方面,如果违反了一个或多个不等式约束,那么至少有一个先前的任务在参数更新后损失会增加。 如果违反不等式,我们建议将梯度 g 投影到满足所有上式约束 的最近梯度
为了有效地解决上式,回想一下具有不等式约束的二次规划Quadratic Program (QP)的原始值:
凸优化笔记(3)Quadratic Programming简介
其中
如果
有了这些符号,我们将原始GEM QP 写成:
其中 $G = -(g1,…,g{t-1})
由于