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。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/18067.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2-Lampiao百个靶机渗透(精写-思路为主)框架漏洞利用2

特别注明:本文章只用于学习交流,不可用来从事违法犯罪活动,如使用者用来从事违法犯罪行为,一切与作者无关。 文章目录 前言一、环境重新部署二、AWVSxray联动和xraybs联动1.安装AWVSxray2.让xray和bs先联动3.AWVS和xray联动 三、p…

Camtasia2023官方中文版免费下载

在现在的网络互联网时代,越来越多的人走上了自媒体的道路。有些自媒体人会自己在网络上录制精彩视频,也有一些人会将精彩、热门的电影剪辑出来再加上自己给它的配音,做成大家喜欢看的电影剪辑片段。相信不管大家是自己平时有独特的爱好也好、…

欧科云链OKLink:2023年4月安全事件盘点

一、基本信息 2023年4月安全事件共造约6000万美金的损失,与上个月相比,损失金额有所降落,但安全事件数量依旧不减。其中,Yearn Finance因参数配置错误,导致了1000多万美金的损失。同时,有一些已经出现过的…

ZC706P试验PL_DDR3内存条的步骤方法

ZC706P 板卡完全兼容XILINX官方的ZC706,当然也支持PL外挂的1G的DDR3内存条,这个片BLOG我提供从官方下载的一个文档和一个项目,演示一下验证DDR3的步骤。 步骤1:准备好板子,安装好软件。 链接:https://pan.baidu.com/s…

JVM原理与实战(一)

jvm的基本结构 1.类加载系统 负责从文件系统或者网络中加载Class信息 2.方法区 (1)加载的类信息存放于一块称为方法去的内存空间 (2)除了类的信息外,方法区中可能还存放着运行时常量池信息,包括字符串字面…

什么是皮安计?皮安表测试测量软件分享NS-SourceMeter

什么是皮安计 测量低直流电流,其需求常常远远超出数字万用表的功能。一般来说,数字万用表缺少测量低于100nA的电流所需的灵敏度。即使在较高的电流水平上,一个DMM的输入电压降(电压负担)高达几百毫伏,也不…

DD驱动鼠标键盘(驱动级别机器人使用鼠标键盘)

官网下载 DD虚拟键盘虚拟鼠标 github下载 GitHub - ddxoft/master 点击下载后,将驱动包下,这里以win7为例 setup运行安装 安装成功后 可以打开电脑管理,可以看见DD虚拟鼠标和键盘 这里以JAVA接入为例 使用管理员权限启动eclipse &#…

汇编语言-复习自用

本文用于自我复习汇编语言,参考b站一位老师的讲解整理而成,感谢老师的无私付出视频链接链接 文章目录 1.第一章1.1计算机组成1.2读取1.3 寄存器及数据存储1.4 mov和and指令1.5 确定物理地址1.6 内存分段表示法1.7debug使用1.8CS:IP1.9jmp指令改变csip1.1…

【react 全家桶】高级指引(上)

本人大二学生一枚&#xff0c;热爱前端&#xff0c;欢迎来交流学习哦&#xff0c;一起来学习吧。 <专栏推荐> &#x1f525;&#xff1a;js专栏 &#x1f525;&#xff1a;vue专栏 &#x1f525;&#xff1a;react专栏 文章目录 12 【react高级指引&#xff08;上&…

SSM框架(SpringBoot快速构建)

简介 本文意在快速构建一个可以接受前端访问&#xff0c;并进行数据库查找&#xff0c;随后返回相关信息给前端的项目。 ssm为Spring IocSpringMVCMyBatis的缩写 Spring Ioc:管理对象的一个工厂。对象之间有依赖&#xff0c;相互引用Spring MVC:开发代码模式Mybatis:操作数据…

7万字省级智慧农业大数据平台项目规划建设方案

1.1 系统总体结构和逻辑结构 XX市智慧农业项目数据中心是全省数据处理加工和数据分析应用的中心&#xff0c;总体上需实现上连省农业厅、下连各级农业、外连市级部门&#xff1b;构建资源整合、互联互通、资源共享的全省统一的数据中心资源库&#xff1b;构建完善的底层支撑平…

放弃40k月薪的程序员工作,选择公务员,我来分享一下看法

我有一个朋友&#xff0c;拒绝了我为他提供的4万薪水的工作&#xff0c;去了一个体制内的银行&#xff0c;做程序员&#xff0c;即使薪水减半。他之前在北京一家大公司做程序员&#xff0c;一个月30k。当我开始创业时&#xff0c;我拉他来和我一起干&#xff0c;但那时我们太小…

windeployqt工具打包C++ QT项目

目录 前言方法TIP 前言 使用VS编写好QT项目后&#xff0c;有时需要发送给他人进行测试。在此情况下&#xff0c;发送所有项目文件显然不可取&#xff0c;因为exe文件不能独立运行&#xff0c;故在测试前需要先配置项目环境&#xff0c;以确保运行所需的库文件能够完全。 因此&…

Java枚举:为什么它是单例模式的最佳选择?

前言 单例模式&#xff0c;是工作中比较常见的一种设计模式&#xff0c;通常有两种实现方式&#xff0c;懒汉式和饿汉式。但是这两种实现方式存在一些问题。懒汉式需要在多线程环境下使用同步锁机制来保证只有一个实例被创建&#xff0c;这会影响程序的性能。而饿汉式在类加载时…

使用kubeadm搭建生产环境的多master节点k8s高可用集群

环境centos 7.9 目录 1.对安装 k8s 的节点进行初始化配置 2 通过 keepalivednginx 实现 k8s apiserver 节点高可用 3、kubeadm 初始化 k8s 集群 4.扩容 k8s 控制节点&#xff0c;把 xuegod62 加入到 k8s 集群 5、扩容 k8s 控制节点&#xff0c;把 xuegod64 加入到 k8s 集群…

使用Gradle7.6+SpringBoot 3.0+java17创建微服务项目

系列文章目录 学习新版本&#xff0c;菜鸟一枚 会持续更新的 文章目录 系列文章目录前言一、搭建项目1.1、创建git仓库1.1.1、登录gitee&#xff0c;新建仓库1.1.2、得到如下命令&#xff08;新建仓库使用创建git仓库 即可&#xff09; 1.2、使用IDEA创建项目1.2.1、开发工具1.…

代码随想录算法训练营day34 | 1005.K次取反后最大化的数组和 ,134. 加油站,135. 分发糖果

代码随想录算法训练营day34 | 1005.K次取反后最大化的数组和 &#xff0c;134. 加油站&#xff0c;135. 分发糖果 1005.K次取反后最大化的数组和解法一&#xff1a;两次正常排序解法二&#xff1a;一次排序 134. 加油站135. 分发糖果 1005.K次取反后最大化的数组和 教程视频&a…

JavaScript原型链污染学习记录

1.JS原型和继承机制 0> 原型及其搜索机制 NodeJS原型机制&#xff0c;比较官方的定义&#xff1a; 我们创建的每个函数都有一个 prototype&#xff08;原型&#xff09;属性&#xff0c;这个属性是一个指针&#xff0c;指向一个对象&#xff0c; 而这个对象的用途是包含可…

基于STL的演讲比赛管理系统

目录 一、比赛规则描述 二、比赛程序的功能 三、比赛的运行结果 四、程序的实现 1、程序实现的大致思路 2、程序的模块化 <1>选手信息的类 <2>管理比赛所有进度的接口头文件 <3>比赛进行的实现 <4>用户的交互界面<演讲比赛管理系统.cpp>…

DPDK抓包工具dpdk-dumpcap的使用

在进行网络开发中&#xff0c;我们经常会通过抓包来定位分析问题&#xff0c;在不使用DPDK的情况下&#xff0c;Linux系统通常用tcpdump&#xff0c;windows用wireshark&#xff0c;但是如果我们使用了DPDK来收包&#xff0c;就无法用这两个工具来抓包了。 这个时候我们需要用D…