13.6 基于样本价值的学习 467
的原则人工定义一个调度策略,比如,一种较为流行的方法是:在训练早期,模型只
在简单块中进行采样,随着训练过程的进行,将下一个块的样本合并到当前训练子
集中,继续训练,直到合并了整个数据块,即整个训练集可见为止,之后再继续训练
直到收敛。这个过程如图13.15所示。类似的还有一些其他变体,比如,训练到模型
可见整个数据集之后,将最难的样本块复制并添加到训练集中,或者是将最容易的
数据块逐渐删除,然后再添加回来等,这些方法的基本想法都是想让模型在具备一
定的能力之后更多关注于困难样本。
尽管预定义的调度策略简单有效,但也会面临着方法不够灵活、数据块划分不
合理等问题,而且这种策略在一定程度上也忽略了当前模型的反馈。因此另一种方
法是自动的方法,根据模型的反馈来动态调整样本的难度或调度策略,模型的反馈
可以是模型的不确定性
[653]
、模型的能力
[601, 649]
等。这些方法在一定程度上使得整个
训练过程和模型的状态相匹配,同时样本的选择过渡得更加平滑,因此在实践中取
得了不错的效果。
13.6.3 持续学习
人类具有不断学习、调整和转移知识的能力,这种能力被称为持续学习(Continual
Learning),也叫终生学习(Lifelong Learning)或增量式学习(Incremental Learning)。
人类学习的新任务时,会很自然的利用以前的知识并将新学习的知识整合到以前的
知识中。然而对于机器学习系统来说,尤其在连接主义的范式下(如深度神经网络
模型),这是一个很大的挑战,这是由神经网络的特性所决定的。当前的神经网络
模型依赖于标注的训练样本,通过反向传播算法对模型参数进行训练更新,最终达
到拟合数据分布的目的。当把模型切换到新的任务时,本质上是数据的分布发生了
变化,从这种分布差异过大的数据中不断增量获取可用信息很容易导致灾难性遗忘
(Catastrophic Forgetting)问题,即用新数据训练模型的时候会干扰先前学习的知识。
甚至,这在最坏的情况下会导致旧知识被新知识完全重写。在机器翻译领域,类似
的问题经常发生在不断增加数据的场景中,因为当用户使用少量数据对模型进行更
新之后,发现在旧数据上的性能下降了(见第十八章)。
为克服灾难性遗忘问题,学习系统一方面必须能连续获取新知识和完善现有知
识,另一方面,还应防止新数据输入明显干扰现有的知识,这个问题称作稳定性-可塑
性(Stability-Plasticity)问题。可塑性指整合新知识的能力,稳定性指保留先前的知
识不至于遗忘。要解决这些问题,就需要模型在保留先前任务的知识与学习当前任
务的新知识之间取得平衡。目前的解决方法可以分为以下几类:
• 基于正则化的方法。通过对模型参数的更新施加约束来减轻灾难性的遗忘,通常
是在损失函数中引入了一个额外的正则化项,使得模型在学习新数据时巩固先
前的知识
[654, 655]
。
• 基于实例的方法。在学习新任务的同时混合训练先前的任务样本以减轻遗忘,这
些样本可以是从先前任务的训练数据中精心挑选出的子集,或者利用生成模型