术语表

术语 · · 1 分钟阅读

Continual Learning

一个模型负责把客户消息分派给“订单”和“退货”两个部门。它认得出“我的包裹在哪里?”这样的消息。现在公司新设了投诉部门。你用有关商品损坏的消息继续训练模型。投诉分派得越来越准,可一部分询问配送的消息也开始落到新部门去了。如果只检查投诉,就会产生进步的错觉。

你需要的是教模型学会新的东西,同时保住原有的能力。这正是 Continual Learning 的目标:在依次到来的数据或任务上学习,并顾及模型此前已经学会的内容。这个名称指的是一个问题和一类方法;它并不保证不会遗忘。Kirkpatrick et al., Overcoming catastrophic forgetting in neural networks, §1 描述了这种需求。

同一块布料上保留着绣好的圆形和三角形,针正在添上新的波浪纹样:比喻在保留原有技能的同时发展新技能。

我们在学习和检验中改变了什么

假设早先训练所用样本的完整存档已经无法取得。在它被删除之前,我们留下了一小份样本:20 条已知正确部门的消息。一种可行的方法,是把这份样本掺进新的投诉样本里。这样,后续训练同时也会得到信号,要求模型继续正确处理“我的包裹在哪里?”。重新使用旧样本,是 van de Ven 和 Tolias, Three scenarios for continual learning, §3.3 所描述的策略之一。

另见:Experience Replay——保存一小份旧样本,并把它掺入新的学习之中。

评估团队另外保留一份旧消息测试集,我们不拿它来训练。每次更新之后,旧类别和新类别都要检查。下面的数字是虚构的例子,不是研究结果;每个测试集包含 100 条消息。

模型版本旧消息分派正确投诉分派正确
新一轮学习之前90/1000/100——没有这个类别
只学习投诉之后40/10092/100
掺入旧消息样本学习之后89/10087/100

最后一个版本更好地保住了原有的能力,尽管识别投诉不如第二个版本。这张表说明的是该比较什么;它并不承诺加入 20 条样本后就会得到这样的结果。

条件会改变难度

在我们的例子里,模型要自己从所有学过的部门中做选择。如果给出“这是一条新类别的消息”这样的提示,测试就会变容易。在比较各种方法时,这类提示以及任务之间的边界是否可得,是很重要的(van de Ven 和 Tolias, §2–2.3)。小样本可能漏掉少见的问题;平均成绩好,并不能证明每一项能力都保住了。

  • Catastrophic Forgetting [Polski] 描述的是旧能力的显著退化;其中的演示展示了新的学习如何改变共用的设置。
  • Fine-tuning [Polski] 是在选定的样本上对模型继续训练。每一轮训练之后,我们也要检查原有的能力。
  • Knowledge Distillation [Polski] 可以把较旧模型给出的指引传递给正在更新的模型;这与保存原始消息是不同的策略(van de Ven 和 Tolias 论文的 §3.3)。

文字和插图在 AI 的协助下完成;消息、样本大小和表中的结果都是自拟的教学示例。插图表现的是保留原有技能这一目标,而不是模型的构造。