第一次写综述的小记,也将是我读完的第一篇综述(
最开始因为可乐老师的原因,接触到了持续学习,然后从一开始的音频到自己读了一些ICLR的paper找idea做NLP的持续学习,然后做了自己第一个粗糙的工作,在杰哥的帮助下,完成了第一次投稿。之前跟杰哥聊天的时候他就提到了持续学习的创始人大牛就是他们UIC的,十几万引用,没想到不到两个月他母校UIC就出了这么一篇NLP综述,赶紧来拜读一下
持续学习的定义
持续学习被定义为一系列的任务 1 , . . . , τ 1,...,\tau 1,...,τ,并且每当一个任务完成训练之后,它的训练数据就不再可见。
持续学习的目标
持续学习有两个主要的目标:
- 克服灾难性遗忘
- 知识迁移
下文中都用 CL (continual learning) 代替持续学习,KT (knowledge transfer) 代替知识迁移
灾难性遗忘是指在学习新任务时,系统需要更新从先前任务中学习到的现有网络参数,这可能会降低先前任务的性能
KT是指将过去学到的知识转移到新任务学习(正向转移)的能力,还期望使新任务学习能够改进先前任务的模型(向后转移)
有两种CL模式:离线CL和在线CL
在离线CL中,一项任务的所有训练数据都可以提前获得,并且训练可以花费任意数量的时间。
在在线CL中,每个任务的数据都来自一个数据流。每当一批数据在流中累积时,都会在一次迭代中进行训练。所以在线CL只在一个时期内训练。
持续学习的几种基本设定
1.Task-incremental learning (TIL) & Task incremental learning without task-id in testing(TILw)
任务中的类别(如果有的话)可能是不相交的(例如,一个任务对不同类型的政治文件进行分类,而另一个任务则对包括政治类在内的不同广泛主题的文件进行分类)。当类不相交时,测试中需要任务id。最近的一些方法已经可以防止TIL的CF。主要挑战是KT
两种任务的区别在与 task-id在测试中是否可见
2.Class-incremental learning (CIL)
task-id 在测试中不可见
CIL主要用于有监督的最终任务学习,其中每个任务都有一组不重叠的类
只为所有学习的类别建立了一个模型。在测试中,可以呈现任何类的测试实例以进行分类。
CIL比TIL更具挑战性,因为系统需要区分不同的任务