文章目录
- life long learning
- LLL的难点
- 评估
- 二、LLL的三个解法
- 1、Selective Synaptic Plasticity选择性突触可塑性
- 为什么会有灾难性遗忘呢?
- GEM
- 2、Additional Neural Resource Allocation额外的神经资源分配
- packNet&CPG
- 3、memory reply
- Curriculum Learning
life long learning
希望机器能一直学习。
模型上线之后取得反馈,进而更新参数。
LLL的难点
先学任务1再学任务2,就会忘记1。如果是一起训练就会得到很好的结果。
QA:给定一份文件,根据文件回答问题。
依次一个一个任务学,学新的任务就会忘记旧的任务。
可以学多个任务,也有些得到很好的结果。
灾难性遗忘
如果想要机器记住所有的东西,那就要学习所有的数据,存储的资料和训练的时间就非常大。
多任务训练可以认为是LLL的上限。
我们希望机器在一个模型里面学会多个任务而不遗忘之前学习的任务。
LLL跟transfer learning很像,但是transfer learning关注的是新任务上的准确率,不关注旧任务。
评估
二、LLL的三个解法
1、Selective Synaptic Plasticity选择性突触可塑性
让神经元的某些连结具有可塑性,有些是要固化的。
为什么会有灾难性遗忘呢?
越蓝loss越低,越白loss越高。
下面的做法会遗忘任务1,那有没有可能让他限制θ往右移?
基本思想:模型中的一些参数对前面的任务很重要。只改变不重要的参数。θb是从前面的任务中学习到的模型。加入守卫bi,改写我们的loss方程。我们加入之前的参数和现在的参数的差值平方项求和,希望他们越接近越好,但是不是所有的参数维度都是越接近越好,所以引入bi。
bi=0,灾难性遗忘,相当于没有设置这一项。bi很大,相当于前后的参数很像,就没办法在后面的任务上学好。
怎么看那些参数更重要?
bi可以算
GEM
2、Additional Neural Resource Allocation额外的神经资源分配
额外训练别的模型,实验之前的模型的参数
并没有完全解决这个问题!
packNet&CPG
packNet使用比较大的网络,分别在不同的任务用不同的参数。
3、memory reply
使用先前任务的生成模型生成伪数据。
多任务分类器的类别数量不同:
Curriculum Learning
调换任务学习的顺序结果会不同。 Curriculum Learning是研究任务顺序的方法。