Lecture 14:Life-long Learning
目录
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相关推荐
- 机器学习基石-林轩田 Lecture 3:Types of Learning
复习 这个是是非题(其实就是一个二元分类器) 信用卡的是否分发. 电子邮件是否是垃圾邮件 病人是否生病 广告是否会赚钱 这个学生是否能够答对这一题 机器学习种类 多类机器学习 把你投入的硬币分类(1c ...
- (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 ...
- 深度学习-14:知名的深度学习开源架构和项目
深度学习-14:知名的深度学习开源架构和项目 深度学习原理与实践(开源图书)-总目录 人工智能artificial intelligence,AI是科技研究中最热门的方向之一.像IBM.谷歌.微软.F ...
- 论文学习之综述:《Deep learning》
论文学习之综述:<Deep learning> 文章目录 论文学习之综述:<Deep learning> 前言: 第一部分:深度学习基础(1-4)页 作者介绍: 前期知识储备: ...
- 论文记载: Deep Reinforcement Learning for Traffic LightControl in Vehicular Networks
强化学习论文记载 论文名: Deep Reinforcement Learning for Traffic LightControl in Vehicular Networks ( 车辆网络交通信号灯 ...
- r语言必学的十个包肖凯_30 天学会R DAY 14:R语言必学包dplyr
原标题:30 天学会R DAY 14:R语言必学包dplyr 第14天 R语言必学包dplyr R语言非常讲究数据的整理,我们在7-13天的R语言学习内容中,着重都是关于R语言的整理,各种方法对数据进 ...
- 关于C++14:你需要知道的新特性
使C++更加安全和更加方便的有用新特性 今年8月,经过投票, C++14标准获得一致通过.目前唯一剩下的工作是ISO进行C++标准的正式发布.在本文中,我关注的是新标准中的几个重要点,展示了即将到来的 ...
- AI:《DEEP LEARNING’S DIMINISHING RETURNS—深度学习的收益递减》翻译与解读
AI:<DEEP LEARNING'S DIMINISHING RETURNS-深度学习的收益递减>翻译与解读 导读:深度学习的收益递减.麻省理工学院的 Neil Thompson 和他的 ...
- ML之SL:监督学习(Supervised Learning)的简介、应用、经典案例之详细攻略
ML之SL:监督学习(Supervised Learning)的简介.应用.经典案例之详细攻略 目录 监督学习(Supervised Learning)的简介 1.监督学习问题的两大类-分类问题和回归 ...
最新文章
- numpy.random.choice用法
- CFileDialog 打开多个目录下的多个文件
- C语言模拟实现(四)-----利用open、read、write等系统调用函数实现cp(文件复制)功能
- maven依赖,聚合和继承
- Java接口和Java抽象类有什么不同
- 《STL源码剖析常见面试问题》
- html日历框架,日历.html
- An Overview of MITRE Cyber Situational Awareness Solutions
- java jdk使用教程_java初学者实践教程2-jdk的使用
- 小客车年检(年审)相关的技术参数一览
- DNF最新纯图色脚本框架2022-4-27
- 微软商店常见的几个问题
- 集合之Collection接口AND Iterator迭代器 AND 增强for AND 泛型
- 30分钟内基于激光雷达的手部姿态估计
- ECCV2018 | 论文阅读CornerNet: Detecting Objects as Paired Keypoints
- C++ 输入输出(cin cout)加速/效率优化
- win10共享计算机win7,Win7系统和win10系统设置共享打印机的方法
- TP TN FP FN
- 【充电站】_世俗智慧_哲学智慧_.
- 循序渐进:用python做金融量化分析(五)MACD策略系统