Abstract&Introduction&Related Work
- 研究任务
Continual Learning from Task Instructions - 已有方法和相关工作
- 面临挑战
- 创新思路
InstructionSpeak包含两个策略,充分利用task instruction来改善前向转移和后向转移:
一个是从negative的输出中学习,另一个是re-visit以前任务的instruction - 实验结论
Problem formulation
ConTinTin
第一阶段描述其在学习第一个新任务之前的开始状态
第二阶段描述了它是如何随着一系列未完成的任务不断发展的
Evolution process
每个任务会有a piece of textual description,其他同TIL
Initialization process
一开始要让模型学习一些任务,初始化阶段需要大量的数据
Evaluation protocol
- Forward-transfer evaluation
量化在解决target task之前,学习之前的任务有多有效,直觉上来说,训练的任务越多效果越好 - Backward-transfer evaluation
在前一个任务完成k+i−1后学习每一个新任务时,U中所有新任务的平均成绩
外层循环遍历所有任务t
对于每个任务,随机采样m次,test its performance
Backward-transfer evaluation
反向
Data
总共有六种不同的任务:
13 question generation tasks (QG)
16 answer generation tasks (AG)
12 classification tasks (CF)
8 incorrect answer generation tasks (IAG)
10 minimal modification tasks (MM)
2 verification tasks (VF)
每个任务有一堆instructions
data split
对于训练数据,从61个任务中随机挑选k个任务,S中的所有培训任务都有instruction,并保留其标记的样本集。剩余的61-k个任务被视为不可见的任务集U。U中的每个任务只有instruction;标记的样本集用于testing
持续学习中的任务顺序会影响最终成绩,我们不试图释放S和U的固定分割。在实验中,我们将随机生成它们多次,以形成不同的任务链,并报告平均性能
InstructionSpeak
NEGATIVE TRAINING
同时学习正负样本
最小化负样本输出概率,并不能使得模型表现更好, Since many “negative” outputs contain tokens that exist in the gold answers
先拿负样本去训练,让模型生成so-called 负样本,再去fine-tune,会使得模型效果更好
对于U中每一个看不见的任务,如果可用,我们直接采用它的负样本。对于S中的k个训练任务,正样本(包括指令中的正样本和标记的任务样本)比负样本多得多,我们使用S上的预训练模型对S的所有输入进行预测,如果输出不等于正确输出,我们将此(输入,预测输出)视为负样本。这意味着我们对“负输出”有一个loose definition:一旦它不等于ground truth,它就是负的。
由于S上的预训练模型已经可以保证生成质量,因此产生的negative output大多与正确输出相关
HISTORY TRAINING
不保存之前任务的样本,只保存instruction
每次学一个新任务之前,会把之前i-2个任务的instructions训练一遍
输入形式如下,