现象:一个model进行multi-task learning做的还可以,说明模型是可以同时学会多个任务的,但是如果训练过程是1个task 1个task的顺序进行,模型就会发生灾难性的遗忘现象,只会做刚学完的task。
目标:让模型不要那么快忘掉过去学到的东西
upper bound:multi-task learning,能不忘并达到multi-task learning水平就是很厉害了。
方法一:Selective Synaptic Plasticity
在下一个task训练的时候要让模型尽可能少的调整对上一个task重要的parameter
参数bi衡量参数对上一个任务的重要性,可以通过调整一下θbi看看上一个task的loss变化大还是小来确定(bi是超参数,人为预先设定,task2 train的时候是不变的)
方法二:Gradient Episodic Memory (GEM)
保存上一个task的少量训练资料,以在新的task每次调整梯度的时候都可以回头算一下上一个task此时的梯度,然后将新旧梯度结合(新梯度为主,这种方法有点像作弊,直接就在进行multi-task learning了,但是区别是它只用上一个task一点点资料来计算个梯度)