用同一个模型,持续地学习

1. Knowledge Retention, but not intransigence

1.1. Catastropic Forgetting

例如有task 1和task 2:

如果同时学task 1和task 2,两个都能学好:

如果先学task 1,再学task 2,task 1会忘掉,这种遗忘称为:

1.2. Elastic Weight Consolidation (EWC)

Basic Idea:
model中某些参数对prev task特别重要,训练新task时只改变不重要的参数。
L(θ)=L(θ)+λibi(θiθib)2 L'(\theta) = L(\theta) + \lambda \sum_i b_i(\theta_i - \theta^b_i)^2

其中:
θib\theta^b_i:上一个Task的参数,在这个task中当作常数看待。
θi\theta_i:这个Task要调的参数
bib_iθib\theta^b_i的gurad,代表了θib\theta^b_i的重要性。
第一项:学好新task
第二项:与旧Task的参数差别不要太大。
bi=0b_i=0θib\theta^b_i无保护,θi\theta_i随意发挥
bi=infb_i=\infθib\theta^b_i强保护,θi\theta_i必须等于θib\theta^b_i

问:为什么会发生Catastropic Forgetting?
答:

问:怎么定义bi?
答:θb\theta^b肯定位于谷底。θb\theta^b的二次微分代表θb\theta^b在这个方向的谷底是宽是窄。

越平坦说明θib\theta^b_i的改动影响越小,越不需要保护。bib_i就越小。

1.3. 为什么EWC有用?

答:

1.4. Generating Data

Multi-Task虽然可以解决LLL的问题,但缺点是需要存储大量的training data。
可以训练一个能生成training data的NN,这样只存一个NN就可以了。

2. knowledge Transfer

问:为什么不“每个task各训练一个model”?
答:1.不同task之间学到的东西无法迁移。2,存不下那么多模型。

问:LLL和transfer learning有什么区别?
答:TL只要求task 1的学习对Task 2有帮助。LLL进一步要求task 2的学习不会导致遗忘task 1,甚至希望能有助于task 1。

2.1. 评价LLL的好坏(Evaluation)

2.1.1. 填表

Ri,jR_{i,j}:训练过task [1 .. i]之后,task j的测试效果。

  • i < j,Ri,jR_{i,j}代表task i transfer到task j的效果。
  • i > j,Ri,jR_{i,j}代表task j对task i的影响

2.1.2. 定义衡量指标

Accuracy=1Ti=1TRT,iBackward Transfer=1T1i=1T1(RT,iRi,i)Forward Transfer=1T1i=2T(Ri1,iR0,i) \begin{aligned} \text{Accuracy} = \frac{1}{T} \sum_{i=1}^T R_{T,i} \\ \text{Backward Transfer} = \frac{1}{T-1}\sum_{i=1}^{T-1} (R_{T,i} - R_{i,i}) \\ \text{Forward Transfer} = \frac{1}{T-1}\sum_{i=2}^{T} (R_{i-1,i} - R_{0,i}) \end{aligned}

2.2. GEM --- Gradient Episodic Memory

一种让backward为正的方法。
正常情况下,Backward Transfer < 0 --- 遗忘
GEN算法效果,Backward Transfer > 0 --- 触类旁通、知识迁移

  1. 计算:
    g: current task的梯度方向
    gi:之前的task i的梯度方向
  2. 判断
    g gi > 0 ==> g' = g
    g
    gi < 0 ==> 调整g',使g' * gi > 0 且 g和g'尽量接近
  3. 更新
    基于g'更新

3. Model Expansion, but Parameter Efficiency

3.1. Progressive Neural Networks

3.2. Expert Gate

3.3. Net2Net

前两种方法每次有新的Task就要扩展模型,参数的增加速度与task成正比
第三种只在当前模型难以提升时才增加结点

4. Curriculum Learning

还是上面例子中的task1和task 2

如果先学task 1,再学task 2,task 1会忘掉
如果先学task 2,再学task 1,task 2不会忘掉

说明task的顺序很重要。怎样排序最合适?

results matching ""

    No results matching ""