目录

Catastrophic Forgetting

灾难性遗忘(Catastrophic Forgetting)的克服之道

Selective Synaptic Plasticity

Additional Neural Resource Allocation

Memory Reply

其他


Catastrophic Forgetting

——为什么今日的人工智慧无法成为天网?灾难性遗忘

Life Long Learning in real-world applications:

Life-long Learning的难点:Catastrophic Forgetting

例如下图中的例子,如果先学任务一再学任务二,machine在学任务二的时候,就会忘记任务一学过的内容。如果machine一起学两个任务,是可以把两个任务都学好的,它有足够的能力把两个任务都学好。但是让machine依序学习的时候,它没办法记住旧的任务。

上面是影像辨识的例子,下面再举一个自然语言处理的例子:

把多个任务的资料倒在一起同时学叫做Multi-task training。Multi-task training就可以让机器学会多个任务,为什么我们还要研究life-long learning的问题?原因如下:

为什么不每个任务学一个模型,而要让一个模型学多个任务?

Life-Long v.s. Transfer:

如何评估一个Life-Long Learning的技术:

accuracy:最常见的评估一个Life-Long Learning系统的方法。

其他评估方法:

backward transfer:模型学完任务i时在任务i上的正确率跟学完T个任务时在任务i上的正确率差距有多少。评估遗忘的程度有多严重,算出来的值通常是负的。

forward transfer:还没有看过某个任务,只看过其他任务的时候,机器能学到什么样的程度。

灾难性遗忘(Catastrophic Forgetting)的克服之道

下面介绍三个Life-Long Learning的可能解法

Selective Synaptic Plasticity

这个方法又叫做Regularization-based Approach,这个研究在Life-Long Learning的领域里面是发展的最完整的。

Why Catastrophic Forgetting?

Selective Synaptic Plasticity:

在Life-Long Learning的研究里面,关键的技术就在于怎么设定bi,bi是人为设的。

bi怎么设定?怎么知道哪些参数对旧的task重要,哪些参数对旧的task不重要?bi设定的大方向如下:

下面是来自EWC文献上的实验结果:

Regularization-based的方法,在早年还有一个做法:Gradient Episodic Memory (GEM)。这是一个挺有效的方法,但它不是在参数上做限制,而是在gradient update的方向上做限制。

Additional Neural Resource Allocation

① Progressive Neura Networks

一个最早的做法,叫做Progressive Neura Networks。它的做法是训练task 1的时候有一个模型,训练task 2的时候不要动task 1学到的模型,而是另外再多开一个network,这个network会吃task 1的hidden layer的output作为输入。如果task 1有学到有用的资讯,task 2也是可以利用这些资讯的。

② PackNet

PackNet和Progressive Neura Networks正好是反过来的。PackNet是先开一个比较大的network,每次有新task进来的时候,只用大network中的一部分。

③ Compacting, Picking, and Growing(CPG)

PackNet和Progressive Neura Networks结合在一起——CPG

Memory Reply

Generating pseudo-data using generative model for previous tasks.

其他

在上面的讨论中,我们都假设每个task需要的模型是一样的,还限制了每个task的classifier,它们需要的class的数量都是一样的。假设不同的任务它们的class数目不一样,应该怎么解?参考下图中的文献:

这篇笔记的内容只是整个Life-Long Learning领域中的一小块,下面的paper介绍了Life-Long Learning的三个情境,这篇笔记只是其中最简单的一个情境。

Curriculum Learning:

学习task的顺序不一样,会有不同的效果。例如下图,先学task 1,再学task 2,会有forgetting的问题。先学task 2,再学task 1就没有forgetting的问题。

所以任务的顺序是重要的,有些顺序会有forgetting的问题,有些顺序没有forgetting的问题。研究什么样的顺序是好的,什么样的顺序对学习有效的问题,叫做Curriculum Learning。

Lecture 14:Life-long Learning相关推荐

  1. 机器学习基石-林轩田 Lecture 3:Types of Learning

    复习 这个是是非题(其实就是一个二元分类器) 信用卡的是否分发. 电子邮件是否是垃圾邮件 病人是否生病 广告是否会赚钱 这个学生是否能够答对这一题 机器学习种类 多类机器学习 把你投入的硬币分类(1c ...

  2. (To Learn More) ML Lecture 0-1: Introduction of Machine Learning

    ML Lecture 0-1: Introduction of Machine Learning 视频链接:https://www.youtube.com/watch?v=CXgbekl66jc \q ...

  3. 深度学习-14:知名的深度学习开源架构和项目

    深度学习-14:知名的深度学习开源架构和项目 深度学习原理与实践(开源图书)-总目录 人工智能artificial intelligence,AI是科技研究中最热门的方向之一.像IBM.谷歌.微软.F ...

  4. 论文学习之综述:《Deep learning》

    论文学习之综述:<Deep learning> 文章目录 论文学习之综述:<Deep learning> 前言: 第一部分:深度学习基础(1-4)页 作者介绍: 前期知识储备: ...

  5. 论文记载: Deep Reinforcement Learning for Traffic LightControl in Vehicular Networks

    强化学习论文记载 论文名: Deep Reinforcement Learning for Traffic LightControl in Vehicular Networks ( 车辆网络交通信号灯 ...

  6. r语言必学的十个包肖凯_30 天学会R DAY 14:R语言必学包dplyr

    原标题:30 天学会R DAY 14:R语言必学包dplyr 第14天 R语言必学包dplyr R语言非常讲究数据的整理,我们在7-13天的R语言学习内容中,着重都是关于R语言的整理,各种方法对数据进 ...

  7. 关于C++14:你需要知道的新特性

    使C++更加安全和更加方便的有用新特性 今年8月,经过投票, C++14标准获得一致通过.目前唯一剩下的工作是ISO进行C++标准的正式发布.在本文中,我关注的是新标准中的几个重要点,展示了即将到来的 ...

  8. AI:《DEEP LEARNING’S DIMINISHING RETURNS—深度学习的收益递减》翻译与解读

    AI:<DEEP LEARNING'S DIMINISHING RETURNS-深度学习的收益递减>翻译与解读 导读:深度学习的收益递减.麻省理工学院的 Neil Thompson 和他的 ...

  9. ML之SL:监督学习(Supervised Learning)的简介、应用、经典案例之详细攻略

    ML之SL:监督学习(Supervised Learning)的简介.应用.经典案例之详细攻略 目录 监督学习(Supervised Learning)的简介 1.监督学习问题的两大类-分类问题和回归 ...

最新文章

  1. numpy.random.choice用法
  2. CFileDialog 打开多个目录下的多个文件
  3. C语言模拟实现(四)-----利用open、read、write等系统调用函数实现cp(文件复制)功能
  4. maven依赖,聚合和继承
  5. Java接口和Java抽象类有什么不同
  6. 《STL源码剖析常见面试问题》
  7. html日历框架,日历.html
  8. An Overview of MITRE Cyber Situational Awareness Solutions
  9. java jdk使用教程_java初学者实践教程2-jdk的使用
  10. 小客车年检(年审)相关的技术参数一览
  11. DNF最新纯图色脚本框架2022-4-27
  12. 微软商店常见的几个问题
  13. 集合之Collection接口AND Iterator迭代器 AND 增强for AND 泛型
  14. 30分钟内基于激光雷达的手部姿态估计
  15. ECCV2018 | 论文阅读CornerNet: Detecting Objects as Paired Keypoints
  16. C++ 输入输出(cin cout)加速/效率优化
  17. win10共享计算机win7,Win7系统和win10系统设置共享打印机的方法
  18. TP TN FP FN
  19. 【充电站】_世俗智慧_哲学智慧_.
  20. 循序渐进:用python做金融量化分析(五)MACD策略系统

热门文章

  1. 初中计算机学业水平考试知识点,初中信息技术学业水平考试知识点
  2. [爬虫] 爬取豆瓣电影排行榜
  3. IIC总线式驱动开发(mpu6050)
  4. Hive常用系统函数-聚合函数
  5. 用C++自制文字冒险选择游戏
  6. 把图形写入linux内核,如何在linux内核启动时添加显示图片
  7. 锁相环(PLL: Phase-locked loop)
  8. 【读书笔记】次第花开——安抚内心平静的宝藏书
  9. Unix/Linux 压缩包管理(压缩、解压缩文件和目录)
  10. js实现微信打开下载链接