2020李宏毅学习笔记——63.Life Long Learning

1.概念

life long learning 是指这个NN在不断地学习,之前可能只能解决task1,但是经过再次学习,它还能解决task2;再学习,还能解决task3…
life long learning需要解决的问题是knowledge retention(but not intransigence)
什么意思呢?就是说这个NN不仅要做到保留原来的知识,还要能接受新的知识。
在这里插入图片描述
从上图可以看出,当只学习了task1的数据时,NN在task1上的准确率是90%,在task2上的正确率是96%;当这个NN继续学习task2的数据集后,在task1上的正确率下降到了80%,在task2上的正确率上升到了97%。在task2上的性能有所提升,说明NN确实能学到新知识,但是在task1上的性能下降,说明它遗忘了一些过去的知识,这是我们不希望看到的。
如何解决上述遗忘问题呢?

2.EWC

在这里插入图片描述
例子在这里插入图片描述

(颜色越深表示loss越小)
初始化的θ为θ0,学习了task1的数据之后变到了θb.
在这里插入图片描述
如果不加任何限制,针对task2,把θb作为初始化值,该NN学习了task2的数据集后,变成θ*,但是我们发现θ* 在task1上的效果并没有θb 好,因此该NN发生了遗忘。
现在我们就用EWC的思想来解决这一问题,那么bi的大小如何决定呢?
在这里插入图片描述
bi的大小取决于loss对θib的二阶偏微分大小。
我们知道二阶微分代表的是变化率,二阶微分越大,就表明该变量变动一点点,y就会变动很大;二阶微分越小,就表明该变量变动一点点,y也变动的很少。
因此,如果loss对θib的二阶偏微分较小,说明该参数的变动对loss的影响较小,所以bi就小;如果loss对θib的二阶偏微分较大,说明该参数的变动对loss的影响较大,所以bi就大。
按照此思想设置好bi后,效果如下图:
在这里插入图片描述
SGD\L2\EWC效果对比:在这里插入图片描述
最上面的三条线:使用不同的loss函数的情况下,taskA 在NN分别学习了A,B,C数据集后的准确率。当只学了A的时候,SGD\L2\EWC的效果都不错;继续学了B后,用该NN测试A,发现SGD\L2的准确率都有明显的下降;继续学了C后,SGD下降更为明显。

3.gradient episodic memory(GEM)

在这里插入图片描述
以上图为例,假设进行到task3时,对于θ来说,按照g方向来更新,是目前来说降低loss的最好方式,但是如果完全按照g’方向来更新的话,更新后的θ可能在task1、task2上的效果就变差呢?怎么办呢?
在进行到task3时,不仅算task3数据的loss对θ的gradient,还要算task1、task2数据的loss对θ的gradient的,然后找到此时能使task1、task2、task3效果变好的更新方向(分别为g1\g2\g),然后利用这三个,算出一个g’(g’满足:g’ *g1>=0,g’ *g2>=0, g’与g as close as possible).最终θ按照g’方向进行更新。这样,经过task3数据集训练过后的NN不仅不会在task1、task2上的效果变差,反而会变得更好一点。

4.generating data

主要思想:用task1的数据训练好NN后,同时还生成一个能generate task1数据的东西;在准备用task2的数据继续训练NN时,用这个东西把task1的数据再generate出来,用task1、task2的数据共同再继续训练NN,训练完成的同时,又生成了一个可以generate task1 and task2 数据的东西…如此重复下去。

LLL 模型效果评价

从上面的内容中我们可以看出,一个life long learning model 效果的好坏主要看两个方面:1.它遗忘了多少过去 2.它学到了多少新的。那如何衡量这两方面的效果呢?
在这里插入图片描述
accuracy:整个life long learning model的最终准确率
backward transfer:LLL模型忘记了多少以前的
forward transfer:LLL模型学到了多少新的
一般来说,backward的值经常都是负的,也就是说总会遗忘掉一些过去的知识。但GEW的backward是正的。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值