当前位置: 首页 > news >正文

持续学习的综述: 理论、方法与应用

摘要

为了应对现实世界的动态,智能系统需要在其整个生命周期中增量地获取、更新、积累和利用知识。这种能力被称为持续学习,为人工智能系统自适应发展提供了基础。从一般意义上讲,持续学习明显受到灾难性遗忘的限制,在这种情况下,学习一项新任务通常会导致旧任务的表现急剧下降。除此之外,近年来出现了越来越多的进步,这些进步在很大程度上扩展了对持续学习的理解和应用。对这一方向日益增长和广泛的兴趣表明了它的现实意义和复杂性。在这项工作中,我们提出了一个全面的持续学习调查,寻求桥梁的基本设置,理论基础,代表性的方法,和实际应用。基于现有的理论和实证结果,我们总结了持续学习的一般目标,即在资源效率的背景下确保适当的稳定性-可塑性权衡和足够的任务内/任务间概泛性。然后,我们提供了一个最先进的和详细的分类,广泛分析了代表性方法如何解决持续学习问题,以及它们如何适应现实应用中的特定挑战。通过对有前途的方向的深入讨论,我们相信这种整体的视角可以极大地促进该领域乃至其他领域的后续探索。

Liyuan Wang, Xingxing Zhang, Hang Su, Jun Zhu, Fellow, IEEE
Tsinghua University

简介

学习是智能系统适应动态环境的基础。为了应对外部变化,进化赋予了人类和其他具有强适应性的生物不断获取、更新、积累和利用知识的能力[150],[229],[328]。自然,我们期望人工智能(AI)系统以类似的方式适应。这激发了对持续学习的研究,其中一个典型的设置是一个接一个地学习一系列内容,并表现得好像它们同时被观察到一样(见图1,a)。这些内容可以是新技能,旧技能的新例子,不同的环境,不同的背景等,并结合了特定的现实挑战[328],[423]。由于内容是在一生中不断增加的,因此在许多文献中,持续学习也被称为增量学习或终身学习,没有严格的区分[71],[229]。

与建立在捕获静态数据分布的前提下的传统机器学习模型不同,持续学习的特点是从动态数据分布中学习。一个主要的挑战被称为灾难性遗忘[296],[297],在这种情况下,对新分布的适应通常会导致捕捉旧分布的能力大大降低。这种困境是学习可塑性和记忆稳定性之间权衡的一个方面:前者过多会干扰后者,反之亦然。除了简单地平衡这两个方面的“比例”之外,持续学习的理想解决方案应该具有很强的泛化性,以适应任务内部和任务之间的分布差异(见图1,b)。重用所有旧的训练样本(如果允许的话)可以很容易地解决上述挑战,但会产生巨大的计算和存储开销,以及潜在的隐私问题。事实上,持续学习主要是为了保证模型更新的资源效率,最好接近于只学习新的训练样本。

在这里插入图片描述
图1所示。持续学习的概念框架。a,持续学习需要适应具有动态数据分布的增量任务(第2节)。b,理想的解决方案应确保在稳定性(红色箭头)和可塑性(绿色箭头)之间进行适当的权衡,以及对任务内(蓝色箭头)和任务间(橙色箭头)分布差异(第3节)具有足够的通用性。代表性的方法针对机器学习的各个方面(第4节)。d,持续学习适应实际应用,以解决特定的挑战,如场景复杂性和任务特异性(第5节)。

近年来,针对机器学习的各个方面提出了许多持续学习方法,从概念上可以分为五组(见图1,c):参考旧模型添加正则化项(基于正则化的方法); 近似和恢复旧的数据分布(基于重播的方法);显式操纵优化程序(基于优化的方法);学习鲁棒和分布良好的表示(基于表示的方法);用合理设计的体系结构(基于体系结构的方法)构造任务自适应参数。这种分类法扩展了常用的分类法和当前的进展,并为每个类别提供了细化的子方向。我们总结了这些方法如何实现持续学习的目标,并对它们的理论基础和具体实现进行了广泛的分析。具体来说,这些方法是紧密相连的,例如:、正则化和重放最终在优化中起到矫正梯度方向的作用,并且具有高度的协同性,例如;,重播的有效性可以通过从旧模型中提取知识来促进。

现实应用对持续学习提出了特殊的挑战,分为场景复杂性和任务特异性(见图1,d)。对于前者,例如在训练和测试中可能缺少任务识别,训练样本可能是小批量甚至一次引入。由于数据标记的成本和稀缺性,持续学习需要对少量、半监督甚至无监督的场景有效。对于后者,虽然目前的进展主要集中在视觉分类方面,但其他视觉领域,如物体检测和语义分割,以及其他相关领域,如条件生成、强化学习(RL)、自然语言处理(NLP)和伦理考虑,正以其各自的特点受到越来越多的关注。我们总结了他们所面临的特殊挑战,并分析了持续学习方法如何适应他们。

考虑到对持续学习的兴趣显著增长,我们相信这样一个最新和全面的调查可以为后续工作提供一个整体的视角。尽管有一些早期的关于持续学习的调查,覆盖范围相对较广[71],[328],但近年来的重要进展并没有被纳入其中。相比之下,最新的调查通常只捕获了持续学习的部分方面,包括其生物学基础[150],[157],[187],[229],视觉分类的专门设置[86],[215],[288],[294],[354],以及NLP[38],[209]或RL[214]的特定扩展。据我们所知,这是第一次系统地总结持续学习的最新进展的调查。在这些优势的基础上,我们提供了关于持续学习的深入讨论,包括当前的趋势、交叉方向的前景以及与神经科学的跨学科联系。

设置

持续学习的特点是从动态数据分布中学习。在实践中,不同分布的训练样本按顺序到达。用θ参数化的持续学习模型需要在没有或有限访问旧训练样本的情况下学习相应的任务,并在其测试集上表现良好。形式上,属于任务t的一批输入训练样本可以表示为Dt,b = {Xt,b, Yt,b},其中,Xt,b为输入数据,Yt,b为数据标签,t∈t ={1,···,k}为任务标识,b∈Bt为批索引(t和Bt分别表示它们的空间)。这里我们通过其训练样本Dt定义一个“任务”,其分布Dt:= p(Xt, Yt) (Dt表示省略批指标的整个训练集,对于Xt和Yt也是如此),并假设训练和测试之间的分布没有差异。在实际的约束条件下,数据标签Yt和任务标识t可能并不总是可用。在持续学习中,每个任务的训练样本可以分批增量到达(即{{Dt,b}b∈Bt}t∈t)或同时到达(即{Dt}t∈t)。

典型场景

根据增量批次的划分和任务身份的可用性,我们将典型的持续学习场景描述如下(形式比较见表1):

•实例增量学习(IIL):所有的训练样本都属于同一个任务,并且分批到达。
•Domain-Incremental Learning (DIL):任务具有相同的数据标签空间,但输入分布不同。任务标识不是必需的。
•任务增量学习(TIL):任务具有不相交的数据标签空间。在培训和测试中都提供了任务标识。
•类增量学习(CIL):任务具有不相交的数据标签空间。任务标识只在培训中提供。
•无任务持续学习(TFCL):任务具有不相交的数据标签空间。在培训或测试中都不提供任务标识。在线持续学习(OCL):任务具有不相交的数据标签空间。每个任务的训练样本作为一次通过的数据流到达。
•模糊边界持续学习(BBCL):任务边界是模糊的,其特征是不同但重叠的数据标签空间。
•连续预训练(CPT):预训练数据按顺序传递。目标是改善向下游任务的知识转移。

在这里插入图片描述

相关文章:

持续学习的综述: 理论、方法与应用

摘要 为了应对现实世界的动态,智能系统需要在其整个生命周期中增量地获取、更新、积累和利用知识。这种能力被称为持续学习,为人工智能系统自适应发展提供了基础。从一般意义上讲,持续学习明显受到灾难性遗忘的限制,在这种情况下…...

跨域资源共享(CORS)问题与解决方案

跨域资源共享(CORS,Cross-Origin Resource Sharing)是现代web开发中常见且重要的一个概念。它涉及到浏览器的同源策略(Same-Origin Policy),该策略用于防止恶意网站从不同来源窃取数据。然而,在…...

实用软件分享-----一款免费的人工智能替换face的神器

专栏介绍:本专栏主要分享一些实用的软件(Po Jie版); 声明1:软件不保证时效性;只能保证在写本文时,该软件是可用的;不保证后续时间该软件能一直正常运行;不保证没有bug;如果软件不可用了,我知道后会第一时间在题目上注明(已失效)。介意者请勿订阅。 声明2:本专栏的…...

不可思议!这款 Python 库竟然能自动生成GUI界面:MagicGUI

目录 什么是MagicGUI? ​编辑 MagicGUI的工作原理 安装MagicGUI 创建你的第一个GUI ​编辑 其他案例 输入值对话框 大家好,今天我们来聊一聊一个非常有趣且实用的Python库——MagicGUI。这个库可以让你用最少的代码,快速创建图形用户…...

论文发表CN期刊《高考》是什么级别的刊物?

论文发表CN期刊《高考》是什么级别的刊物? 《高考》是由吉林省长春出版社主管并主办的省级教育类期刊,期刊以科教兴国战略为服务宗旨,专门反映和探索国内外教育教学和科研实践的最新成果。该期刊致力于为广大教育工作者提供一个高质量的学术…...

离散数学复习

1.关系的介绍和性质 (1)序偶和笛卡尔积 两个元素按照一定的顺序组成的二元组就是序偶,使用尖括号进行表示,尖括号里面的元素一般都是有顺序的; 笛卡尔积就是有两个集合,从第一个集合里面选择一个元素&am…...

华为网络设备高频命令

1.system-view • 用法:在用户视图下执行 system-view 命令。 • 作用:进入系统视图,以便进行配置性的操作。 • 场景:当需要对设备进行系统级的配置时。 2.sysname XXX • 用法:执行 [Huawei]sysname XXX 命令。…...

信友队:南风的收集

C. [202406C]楠枫的收集 文件操作 时间限制: 1000ms 空间限制: 262144KB 输入文件名: 202406C.in 输出文件名: 202406C.out Accepted 100 分 题目描述 一年四季,寒暑交替,楠枫总是会收集每一个季节的树叶,并把它们制作成标本收集起来。当…...

找工作小项目:day16-重构核心库、使用智能指针(3)

day16-重构核心库、使用智能指针(3) 最后将使用这个库的方式进行展示。 1、客户端 在while ((o getopt(argc, argv, optstring)) ! -1)所有的操作都是获取参数的操作,threads 、msgs 和wait 分别指线程数、消息长度以及等待时间。 创建一…...

软考中级|软件设计师-知识点整理

目录 计算机网络概论 计算机系统基础知识 中央处理单元 数据表示 校验码 计算机体系结构 计算机体系结构的发展 存储系统 输入/输出技术 安全性、可靠性与系统性能评测基础知识 加密技术和认证技术 计算机可靠性 程序设计语言基础知识 程序设计语言概述 程序设计…...

HTML5基础

1 HTML基础概念(难点) WWW(World Wide Web,万维网)是一种建立在 Internet 上的信息资源网络。 WWW 有 3 个基本组成部分,分别是 URL:Universal Resource Locators,统一资源定位器 HT…...

python,ipython 和 jupyter notebook 之间的关系

python,ipython 和 jupyter notebook 之间的关系 文章目录 python,ipython 和 jupyter notebook 之间的关系1. Python2. IPython3. Jupyter Notebook启动 Jupyter Notebook 关系总结 Python、IPython 和 Jupyter Notebook 是相互关联但具有不同功能的工具…...

聊聊DoIP吧(三)-端口号port

DoIP在UDP和TCP建立连接和发送诊断报文的过程中使用的端口定义如下:...

【将xml文件转yolov5训练数据txt标签文件】连classes.txt都可以生成

将xml文件转yolov5训练数据txt标签文件 前言一、代码解析 二、使用方法总结 前言 找遍全网,我觉得写得最详细的就是这个博文⇨将xml文件转yolov5训练数据txt标签文件 虽然我还是没有跑成功。那个正则表达式我不会改QWQ,但是不妨碍我会训练ai。 最终成功…...

针对k8s集群已经加入集群的服务器进行驱逐

例如k8s 已经有很多服务器,现在由于服务器资源过剩,需要剥离一些服务器出来 查找节点名称: kubectl get nodes设置为不可调度: kubectl cordon k8s-node13恢复可调度 kubectl uncordon k8s-node13在驱逐之前先把需要剥离驱逐的节…...

go 1.22 增强 http.ServerMux 路由能力

之前 server func main() {http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {fmt.Println("Received request:", r.URL.Path)fmt.Fprintf(w, "Hello, client! You requested: %s\n", r.URL.Path)})log.Println("Serv…...

赶紧收藏!2024 年最常见 20道设计模式面试题(二)

上一篇地址:赶紧收藏!2024 年最常见 20道设计模式面试题(一)-CSDN博客 三、解释抽象工厂模式,并给出一个实际应用的例子。 抽象工厂模式是一种创建型设计模式,用于创建一系列相关或依赖对象的接口&#x…...

Java面向对象设计 - Java泛型约束

Java面向对象设计 - Java泛型约束 无限通配符 通配符类型由问号表示&#xff0c;如<&#xff1f;> 。 对于通用类型&#xff0c;通配符类型是对象类型用于原始类型。 我们可以将任何已知类型的泛型分配为通配符类型。 这里是示例代码: // MyBag of String type M…...

什么是内存泄漏?如何避免内存泄漏?

**内存泄漏&#xff08;Memory Leak&#xff09;**是指在程序运行过程中&#xff0c;已经动态分配的堆内存由于某种原因程序未释放或无法释放&#xff0c;造成系统内存的浪费&#xff0c;导致程序运行速度减慢甚至系统崩溃等严重后果。内存泄漏具有隐蔽性、积累性的特征&#x…...

元组(tuple)(Python)

文章目录 一、定义二、常用操作 一、定义 tuple ("张三", "李四", "王二")二、常用操作 分类关键字/函数/方法说明查询元组[索引]根据索引取值&#xff0c;索引不存在会报错len(元组)元组长度&#xff08;元素个数&#xff09;值 in 元组&…...

【C++进阶学习】第二弹——继承(下)——挖掘继承深处的奥秘

继承&#xff08;上&#xff09;&#xff1a;【C进阶学习】第一弹——继承&#xff08;上&#xff09;——探索代码复用的乐趣-CSDN博客 前言&#xff1a; 在前面我们已经讲了继承的基础知识&#xff0c;让大家了解了一下继承是什么&#xff0c;但那些都不是重点&#xff0c;今…...

LangChain-ChatGLM本地搭建|报错合集(win10)

安装过程 1. 创建虚拟环境 conda create -n langchain-chatglm python3.10 conda activate langchain-chatglm2. 部署 langchain-ChatGLM git clone https://github.com/imClumsyPanda/langchain-ChatGLMpip3 install -r requirements.txt pip3 install -U gradio pip3 inst…...

IP地址简介

一、IP地址 Internet Protocol Address&#xff0c;即网络层协议地址&#xff0c;是IP的缩写。 二、IP地址的作用 为什么不直接使用MAC&#xff0c;又加了一个IP地址呢&#xff1f; 事实上底层传输&#xff0c;最终使用的肯定是MAC地址&#xff0c;但是由于在以前&#x…...

谈吐的艺术

被人表扬&#xff0c;该怎么回应 你越是说自己其实没那么好&#xff0c; 对方出于客气&#xff0c; 就越是要证明你其实比你说的好得多。 O可能遇到的问题 每当工作和学习上做出点成绩&#xff0c;有人夸奖我的时候&#xff0c;我都会觉得很尴尬。因为不谦虚会得罪人&#xff…...

Linux 和 分区

文章目录 流程挂载设备文件名 Linux 下各分区的含义家目录 流程 在windows中&#xff0c;一个硬盘要使用只需要分区、格式化之后就可以使用了 在linux中&#xff0c;除了分区和格式化之外&#xff0c;还需要一个叫挂载的操作 挂载 挂载&#xff0c;就相当于windows环境下的写…...

⭐ ▶《强化学习的数学原理》(2024春)_西湖大学赵世钰 Ch3 贝尔曼最优公式 【压缩映射定理】

PPT 截取必要信息。 课程网站做习题。总体 MOOC 过一遍 1、视频 学堂在线 习题 2、过 电子书&#xff0c;补充 【下载&#xff1a;本章 PDF 电子书 GitHub 界面链接】 [又看了一遍视频] 3、总体 MOOC 过一遍 习题 学堂在线 课程页面链接 中国大学MOOC 课程页面链接 B 站 视频链…...

Pikachu上的CSRF以及NSSCTF上的[NISACTF 2022]bingdundun~、 [SWPUCTF 2022 新生赛]xff

目录 一、CSRF CSRF(get) login CSRF(post) CSRF Token 二、CSRF的相关知识点 &#xff08;1&#xff09;什么是CSRF&#xff1f; &#xff08;2&#xff09;工作原理 &#xff08;3&#xff09;CSRF漏洞形成的条件 1、用户要在登录状态&#xff08;即浏览器保存了该…...

大数据分析-二手车用户数据可视化分析

项目背景 在当今的大数据时代&#xff0c;数据可视化扮演着至关重要的角色。随着信息的爆炸式增长&#xff0c;我们面临着前所未有的数据挑战。这些数据可能来自社交媒体、商业交易、科学研究、医疗记录等各个领域&#xff0c;它们庞大而复杂&#xff0c;难以通过传统的数据处…...

AI训练Checkpoint对存储的影响

检查点&#xff08;Checkpoints&#xff09;是机器学习和深度学习训练过程中的一个重要机制&#xff0c;旨在定期保存训练状态&#xff0c;以便在训练过程中遇到失败或中断时能够从中断处恢复训练&#xff0c;而无需从头开始。 随着模型参数量的剧增&#xff0c;Checkpoint文件…...

Python笔记 - 正则表达式

正则表达式&#xff08;Regular Expression&#xff0c;简称regex&#xff09;是一种强大的工具&#xff0c;用于匹配字符串模式。在Python中&#xff0c;正则表达式通过re模块提供。本文将带你深入了解Python中的正则表达式&#xff0c;从基础概念到高级用法。 1. 什么是正则…...

做网站公司需要什么资质/营销软件站

前言 DLL&#xff0c;即Dynamic-link library&#xff0c;动态链接库。关于其详细介绍&#xff0c;参阅&#xff1a;https://en.wikipedia.org/wiki/Dynamic-link_library 创建一个DLL 声明导出函数&#xff1a;extern “C” __declspec(dllexport) int add(int a, int b);其中…...

童装网站建设/网红推广

1. 优化你的MySQL查询缓存在MySQL服务器上进行查询&#xff0c;可以启用高速查询缓存。让数据库引擎在后台悄悄的处理是提高性能的最有效方法之一。当同一个查询被执行多次时&#xff0c;如果结果是从缓存中提取&#xff0c;那是相当快的。但主要的问题是&#xff0c;它是那么容…...

百度上海分公司/青岛建站seo公司

C语言学习笔记1)VC6.0学习笔记进入方法&#xff1a;1、建立一个工程文件——新建——(选择)工程——(选择)Win32 Console Application——位置(选择存贮的位置)——工程名称(要用字母、英文、或拼音都可以)——一路确定到完成2、建立一个文件文件——新建——(选择)文件——(选…...

人工智能搭建/长沙有实力seo优化

12. Prepared Statements Prepared Statements很像存储过程&#xff0c;是一种运行在后台的SQL语句集合&#xff0c;我们可以从使用 prepared statements 获得很多好处&#xff0c;无论是性能问题还是安全问题。 Prepared Statements 可以检查一些你绑定好的变量&#xff0c;这…...

wordpress会员可见/域名服务器ip查询网站

本节内容只有通过例题来记录效果才是最好的,请看下面内容&#xff01; 递归实现二分法 经典二分查找问题&#xff1a;LintCode 炼码 描述**&#xff1a;**在一个排序数组中找一个数&#xff0c;返回该数出现的任意位置&#xff0c;如果不存在&#xff0c;返回 -1。 输入&…...

公司微信小程序开发/网站优化推广怎么做

愿你如阳光&#xff0c;明媚不忧伤。 目録1. Cron 表达式2. Cron 域3. Cron 表达式常用举例1. Cron 表达式 克龙 时间单位&#xff0c;一克龙为一百万年。克龙表达式是一个字符串&#xff0c;字符串以5或6个空格隔开&#xff0c;分为6或7个域&#xff0c;每一个域代表一个含义&…...