Abstract & Introduction & Related Work
- 研究任务
通用持续学习 - 已有方法和相关工作
- 面临挑战
- 忽略了实际场景的特性,即数据流不能被塑造为任务序列,而且离线训练也不可行
- 我们致力于实现一般持续学习(GCL),在这种情况下,任务边界模糊,领域和类别分布逐渐或突然转变。我们通过将重现与知识蒸馏和正则化相混合来解决这个问题;我们简单的baseline,即黑暗经验重放,与整个优化轨迹中采样的网络对数相匹配,从而促进与它的过去的一致性
- 创新思路
- 依靠黑暗知识来蒸馏过去的经验,在整个训练轨迹中进行采样
- 实验结论
大多数比较的方法都不适合现实世界的应用,因为现实世界的内存是有限的,而且任务交织重叠。最近,[11]介绍了一系列CL方法应该实现的准则,以便在实践中适用:
- 无任务边界:在训练期间不依赖任务之间的边界
- 无测试时间orcale:在推理时不需要任务识别器
- 恒定内存:在整个训练阶段有一个有界限的内存足迹
Dark Experience Replay
给出定义,要优化的项
理想情况下,我们要寻找能很好地适应当前任务的参数,同时近似于在旧任务中观察到的行为:实际上,我们鼓励网络模仿其对过去样本的原始反应。为了保持对以前任务的了解,我们寻求最小化以下目标
θ
t
∗
\theta^*_t
θt∗ 是结束第t个任务时候的最优参数,
α
\alpha
α 是平衡两者的超参数,这一项像教师-学生方法,需要之前的数据集,为了克服这个限制,引入一个重演缓存来为任务t保留过去的经验
与其他基于排练的方法不同,我们保留了网络的logits z ≜ h θ t ( x ) z \triangleq h_{θ_t} (x) z≜hθt(x),而不是真实标签y
由于我们专注于通用持续学习,我们有意地避免依赖任务边界来填充训练过程中的缓冲区。因此,我们采用水库采样来代替常见的任务分层抽样策略:这样,我们从输入流中选择
∣
M
∣
\mathcal{|M|}
∣M∣ 随机样本,保证它们有相同的概率
∣
M
∣
/
∣
S
∣
\mathcal{|M|_{/|S|}}
∣M∣/∣S∣被存储在缓冲区中,而不必事先知道流的长度S。我们可以将公式3重写如下
这样的策略意味着在优化轨迹中挑选对数z,因此可能与在任务的局部最优时观察到的对数不同。即使是反直觉的,我们根据经验观察到,这种策略并不损害性能,同时在没有任务边界的情况下仍然适用。此外,次优逻辑的重放在达到的最小值的平坦性和校准方面有好处
在温和的假设下,公式4中KL散度的优化等同于最小化相应的pre-softmax(即logits)之间的欧氏距离。在这项工作中,我们选择匹配logits,因为它避免了由于挤压函数(如软化函数)而在概率空间发生的信息损失。基于这些考虑,黑暗经验重放(DER,算法1)优化了以下目标
我们通过计算从重放缓冲区采样的批次的梯度来近似期望值
Dark Experience Replay++。值得注意的是,水库策略在某些特定情况下可能会削弱DER。也就是说,当输入流中发生突然的分布变化时,那些被以前的任务训练严重偏向的logits可能会被抽样用于以后的重放:同时利用真实标签–如ER所做的那样–可以减轻这样的缺陷。基于这些理由,我们还提出了Dark Experience Replay++,它为公式5的目标配备了一个关于缓冲区数据点的附加项,以最小的内存开销促进了对其真实标签的更高条件的可能性
黑暗经验回放(++):
Relation with previous works
虽然我们提出的方法和LWF[25]都利用了持续学习中的知识蒸馏,但它们采用的方法明显不同。后者不回放过去的例子,所以它只鼓励教师和学生对当前任务的数据点的反应的相似性
iCaRL通过过去的例子来提炼过去输出的知识,这与我们的建议更为相似
然而前者利用每个任务结束时指定的网络作为唯一的教学信号
我们的方法在整个优化轨迹中存储了采样的对数,这类似于有几个不同的教师准则
与我们接近的建议是由函数距离正则化(FDR),用于对抗灾难性遗忘([4]的第3.1节)。与FDR一样,我们使用过去的典范和网络输出来调整过去和当前的输出
与上述iCaRL的讨论类似,FDR在任务边界存储网络反应,因此不能在GCL环境中使用
我们在第5节中提出的实验分析显示,任务边界的需要可以通过水库采样来放松,而不会出现性能下降
我们从经验上观察到DER和DER++取得了明显优越的结果和显著的特性
背后的动机主要在于研究如何在函数 L 2 L^2 L2 希尔伯特空间中表征神经网络的训练轨迹,而函数空间正则化对于连续学习问题的潜力只是通过MNIST上的一个实验粗略地解决
Experiments
Conclusions
在本文中,我们介绍了Dark Experience Replay:一个简单的持续学习baseline,它利用知识蒸馏来保留过去的经验,从而避免灾难性的遗忘。我们通过在标准基准上进行的广泛的实验分析,展示了我们建议的有效性。另外,我们认为最近正式化的通用持续学习为不同应用的进展提供了基础
Remark
方法很简单,但是效果还可以?不过是两年前的东西了