一、Selective Synaptic Plasticity
1. 如下图所示,图中颜色越偏蓝色代表loss越小,颜色越偏白色代表loss越大。通过图中的过程,我们会发现出现了forget的情况,解决的方法是控制参数地更新。
2. Selective Synaptic Plasticity的基本思想是对前面任务比较重要的参数不进行改变,只改变对前面任务不重要的参数。如下图所示,我们增加了一个守卫bi,它的作用是衡量参数对前面任务的重要性,如果它趋于0时,会导致Catastrophic Forgetting的情况,如果它趋于无穷大时,会导致Intransigence的情况(旧的任务可能不会忘记,但是新的任务会学不好)。
3. 如下图所示,右边上图在θ1方向上gradient的变化小,代表对loss的影响偏小,因此θ1方向的重要性不大,可以给b1较小的值;右边下图在θ2方向上gradient的变化大,代表对loss的影响偏大,因此θ2方向的重要性偏大,可以给b2较大的值。
4. Gradient Episodic Memory不在参数上限制,而是在gradient更新的方向上限制。它不仅需要原先任务的gradient,还需要保存原先任务的训练资料。
二、Additional Neural Resource Allocation
1. Progressive Neural Network的思想是每次训练一个新的任务时,需要额外增加一个新的Network,把原先任务的隐藏层的输出作为新的Network的输入,这样就可以考虑到前面任务,但是这样会使Network越来越大,memory会被耗尽。
2. PackNet的思想是先就训练一个大的Network,每次学习一个任务只用Network的一部分的参数去训练,但这个方法也并非完美。
三、Memory Reply
训练一个可以产生前面任务的generator,这样就可以不用存储前面任务的资料。虽然generator会占用空间,但是只要它比储存资料空间更小,它就是非常有效的方法。