下面的文章转自(已获作者允许):
2020机器学习前沿技术----LifeLong learning - stephon的文章 - 知乎
文章介绍了关于机器学习比较前沿的一项技术,也就是LifeLong Learning。这篇文章也对LifeLong Learning与Multi-task Learning以及Transfer Learning进行了对比,所以我将其进行了转载,其中对其排版进行了一定修改。

1. 为什么需要研究Lifelong learning?

细数机器学习处理的问题,概括得讲,可以分为如下几大类:

  • 计算机视觉(CV): object classification, object detection, object segmentation, style transfer, denoising, image generation, image caption
  • 语音(Speech) : speech recogniton, speech synthesis
  • 自然语言处理(NLP): Machine translation, text classfication, emotional recogniton
  • 推荐系统: Recommendation, CRT

目前针对各个大类的不同子类问题, 都会去设计不同的网络结构,设计不同的loss, 采用不同的数据集去处理。 这使得机器学习“偏科严重”,比如前几年很火的AlphaGo, 虽然他是一个“围棋天才”,但是一旦让他去下象棋, 他就歇菜了。换句话说, 目前的人工智能,只能处理给定的任务,换一个任务就无能为力了,这距离我们所想达到的通用智能实在相差甚远。

反观人脑,在人不断成长的过程中,他可以学习各种各样的技能。不仅会下棋,还会踢球,还会辩论等等,而人的大脑只有一个(相当于自始至终只有一个网络)。 虽然随着时间的流逝,以前学习的东西会渐渐淡忘,但这丝毫不影响人脑在不断学习,胜任一个又一个任务中所表现出来的强大。

因此,我们是否可以只用一个网络结构(注意,这里的网络结构并非是固定的。也许随着任务的需要,得自行扩展网络),在不同的任务上分别训练,使得该网络能够胜任所有的任务呢。 这就是Life-long learning 所要研究的课题。

2. 有哪些别称?
  • Continuous Learning

  • Never ending Learning

  • Incremental Learning

3. 有哪些处理方法及研究成果

Knowledge Retention(but Not Intransigence) and Knowledge Transfer 知识保留(但不妥协)及知识迁移。 这意味着以前学到的知识,需要能够促进下一个任务Task B的学习; 学完Task B之后,要不仅可以很好得处理Task B, 同时在Task A 上不能有明显的下降, 最好Task A的性能,也能够有所提升或者是保持。

一个遗忘的例子:
在这里插入图片描述How to solve Catastrophic Forgetting Little forgetting是允许的。

一些理论成果:

a) EWC: Elastic Weight Consolidation

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

b) Multi-task learning with some modify

刚才提到的问题,如果采用Multi-task learning:
在这里插入图片描述可以看到: 如果先学习Task1, 再学习Task2; 那么当Task 2学完之后, Task 1的准确率就下降了很多, 这就是Forget!!! 这就是Transfer Learning所带来的问题, 也是Lifelong Learning 所需要解决的问题。

如果采用Multi-task Learning,需要把Task 1 和 Task2的训练数据都存储起来,需要的时候放在一起训练。 虽然可以看到Task 1和 Task 2都达到了不错的效果, 但是所有数据的存储会是一个很大的问题。

因此, 如何解决数据存储的问题呢?
在这里插入图片描述借助于GAN网络来完成, 减少了数据存储,但带来了更大的计算量。

c) Model Expansion(but parameter efficiency)

Progressive Neural Network
在这里插入图片描述
Net2Net
在这里插入图片描述

4. Multi-task learning, Transfer Learning , LifeLong learning之间的区别

Transfer Learning VS LifeLong Learning: Transfer learning只考虑在当前任务上的效果; 而LifeLong Learning需要考虑在所有任务上的效果。
在这里插入图片描述Multi-task Learning VS LifeLong Learning : LifeLong Learning训练时只用当前任务的数据; 而Multi-task Learning会用到之前所有任务的数据。这带来了数据存储以及计算量不断增大的问题; Multi-task learning可以看作是LifeLong learning的upper bound

在这里插入图片描述

5. 如何评价Life-long Learning的好坏

3个指标:

  • Accuracy 表征N个任务学完后总体的性能;
  • Backward Transfer: 表征N个任务学完后,总体遗忘的程度;通常为负数,越大越好;
  • Forward Transfer: 表征N个任务学完后,总体学习的程度;通常为正数,越大越好;

在这里插入图片描述R(0, i) 表示在随机初始化的情况下,在Task i上的准确率。

在这里插入图片描述

6. 这个领域还有哪些前沿的研究方向

Curriculum Learning 类似于一个课程系的学习, 研究的是如何安排课程学习的先后顺序。

在这里插入图片描述

Taskonomy 研究的是各个任务之间的关系, 即该先学哪个,后学哪个。
在这里插入图片描述

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐