【学习】life long learning

文章目录

  • 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

【学习】life long learning_第1张图片
希望机器能一直学习。
模型上线之后取得反馈,进而更新参数。
【学习】life long learning_第2张图片

LLL的难点

【学习】life long learning_第3张图片
先学任务1再学任务2,就会忘记1。如果是一起训练就会得到很好的结果。
【学习】life long learning_第4张图片
QA:给定一份文件,根据文件回答问题。
【学习】life long learning_第5张图片
【学习】life long learning_第6张图片
依次一个一个任务学,学新的任务就会忘记旧的任务。
可以学多个任务,也有些得到很好的结果。
【学习】life long learning_第7张图片
灾难性遗忘
【学习】life long learning_第8张图片
如果想要机器记住所有的东西,那就要学习所有的数据,存储的资料和训练的时间就非常大。
【学习】life long learning_第9张图片
多任务训练可以认为是LLL的上限。
我们希望机器在一个模型里面学会多个任务而不遗忘之前学习的任务。
【学习】life long learning_第10张图片
LLL跟transfer learning很像,但是transfer learning关注的是新任务上的准确率,不关注旧任务。

【学习】life long learning_第11张图片
【学习】life long learning_第12张图片

评估

【学习】life long learning_第13张图片

二、LLL的三个解法

1、Selective Synaptic Plasticity选择性突触可塑性

让神经元的某些连结具有可塑性,有些是要固化的。
【学习】life long learning_第14张图片

为什么会有灾难性遗忘呢?

越蓝loss越低,越白loss越高。
下面的做法会遗忘任务1,那有没有可能让他限制θ往右移?
【学习】life long learning_第15张图片
基本思想:模型中的一些参数对前面的任务很重要。只改变不重要的参数。θb是从前面的任务中学习到的模型。加入守卫bi,改写我们的loss方程。我们加入之前的参数和现在的参数的差值平方项求和,希望他们越接近越好,但是不是所有的参数维度都是越接近越好,所以引入bi。
【学习】life long learning_第16张图片
bi=0,灾难性遗忘,相当于没有设置这一项。bi很大,相当于前后的参数很像,就没办法在后面的任务上学好。
【学习】life long learning_第17张图片
怎么看那些参数更重要?

【学习】life long learning_第18张图片
【学习】life long learning_第19张图片
【学习】life long learning_第20张图片
【学习】life long learning_第21张图片
bi可以算

GEM

【学习】life long learning_第22张图片

2、Additional Neural Resource Allocation额外的神经资源分配

额外训练别的模型,实验之前的模型的参数
【学习】life long learning_第23张图片
并没有完全解决这个问题!

packNet&CPG

packNet使用比较大的网络,分别在不同的任务用不同的参数。
【学习】life long learning_第24张图片

3、memory reply

使用先前任务的生成模型生成伪数据。
【学习】life long learning_第25张图片
多任务分类器的类别数量不同:
【学习】life long learning_第26张图片

Curriculum Learning

调换任务学习的顺序结果会不同。 Curriculum Learning是研究任务顺序的方法。
【学习】life long learning_第27张图片

你可能感兴趣的:(学习,深度学习,人工智能)