清华最新「持续学习」综述,32页详述持续学习理论、方法与应用综述
在一般意义上,持续学习明显受到灾难性遗忘的限制,学习新任务通常会导致旧任务的性能急剧下降。
除此之外,近年来出现了越来越多的进展,在很大程度上扩展了持续学习的理解和应用。
人们对这一方向日益增长和广泛的兴趣表明了它的现实意义和复杂性。
论文地址:https://www.php.cn/link/82039d16dce0aab3913b6a7ac73deff7
本文对持续学习进行了全面的调研,试图在基本设置、理论基础、代表性方法和实际应用之间建立联系。
基于现有的理论和实证结果,将持续学习的一般目标总结为:在资源效率的背景下,确保适当的稳定性-可塑性权衡,以及充分的任务内/任务间泛化能力。
提供了最先进的和详细的分类法,广泛分析了有代表性的策略如何解决持续学习,以及它们如何适应各种应用中的特定挑战。
通过对持续学习当前趋势、跨方向前景和与神经科学的跨学科联系的深入讨论,相信这种整体的视角可以极大地促进该领域和其他领域的后续探索。
引言
学习是智能系统适应环境的基础。为了应对外界的变化,进化使人类和其他生物具有很强的适应性,能够不断地获取、更新、积累和利用知识[148]、[227]、[322]。自然,我们期望人工智能(AI)系统以类似的方式适应。这激发了持续学习的研究,其中典型的设置是逐一学习一系列内容,并表现得就像同时观察到的一样(图1,a)。这些内容可以是新技能、旧技能的新示例、不同的环境、不同的背景等,并包含特定的现实挑战[322],[413]。由于内容是在一生中逐步提供的,因此在许多文献中,持续学习也被称为增量学习或终身学习,但没有严格的区分[70],[227]。
与传统的基于静态数据分布的机器学习模型不同,持续学习的特点是从动态数据分布中学习。一个主要的挑战被称为灾难性遗忘[291],[292],对新分布的适应通常会导致捕获旧分布的能力大大降低。这种困境是学习可塑性和记忆稳定性权衡的一个方面:前者过多会干扰后者,反之亦然。除了简单地平衡这两方面的「比例」外,持续学习的理想解决方案应该获得强大的泛化能力,以适应任务内部和任务之间的分布差异(图1,b)。作为一个朴素的基线,重新训练所有旧的训练样本(如果允许)可以轻松解决上述挑战,但会产生巨大的计算和存储开销(以及潜在的隐私问题)。事实上,持续学习的主要目的是确保模型更新的资源效率,最好接近只学习新的训练样本。
许多努力致力于解决上述挑战,可以在概念上分为五组(图1,c):参考旧模型添加正则化项(基于正则化的方法);逼近和恢复旧数据分布(基于回放的方法);显式操作优化程序(基于优化的方法);学习鲁棒和良好泛化的表示(基于表示的方法);以及使用正确设计的体系结构构建任务自适应参数(基于体系结构的方法)。该分类法扩展了常用分类法的最新进展,并为每个类别提供了细化的子方向。总结了这些方法是如何实现所提出的一般目标的,并对其理论基础和典型实现进行了广泛的分析。特别是,这些方法是紧密联系的,例如正则化和重放最终纠正优化中的梯度方向,并且具有高度的协同性,例如,重放的效果可以通过从旧模型中提取知识来提高。
现实应用对持续学习提出了特殊的挑战,可以分为场景复杂性和任务特异性。对于前者,例如,在训练和测试中可能缺少任务oracle(即执行哪个任务),训练样本可能是小批量甚至一次引入的。由于数据标记的成本和稀缺性,持续学习需要在少样本、半监督甚至无监督的场景中有效。对于后者,虽然目前的进展主要集中在视觉分类,但其他视觉领域(如目标检测、语义分割和图像生成)以及其他相关领域(如强化学习(RL)、自然语言处理(NLP)和伦理考虑)正在受到越来越多的关注,其机遇和挑战。
考虑到持续学习的兴趣显著增长,我们相信这项最新和全面的调研可以为后续的工作提供一个整体的视角。尽管有一些关于持续学习的早期调研,覆盖面相对较广[70],[322],但近年来的重要进展并未被纳入其中。相比之下,最新的调研通常只整理持续学习的局部方面,关于其生物学基础[148],[156],[186],[227],视觉分类的专门设置[85],[283],[289],[346],以及NLP[37],[206]或RL[214]中的扩展。据我们所知,这是第一个系统总结持续学习的最新进展的调研。基于这些优势,我们就当前趋势、跨方向前景(如扩散模型、大规模预训练、视觉转换器、具体AI、神经压缩等)以及与神经科学的跨学科联系,深入讨论了持续学习。
主要贡献包括:
(1) 对持续学习进行了最新而全面的综述,以连接理论、方法和应用的进步;
(2) 根据现有的理论和实证结果,总结了持续学习的一般目标,并对具有代表性的策略进行了详细的分类;
(3) 将现实应用的特殊挑战分为场景复杂性和任务特殊性,并广泛分析了持续学习策略如何适应这些挑战;
(4)深入探讨了当前研究趋势和发展方向,以期为相关领域后续工作提供参考。
本文的组织如下:在第2节中,我们介绍了持续学习的设置,包括其基本公式,典型场景和评估指标。在第3节中,我们总结了一些针对其一般目标的持续学习的理论努力。在第4节中,我们对具有代表性的策略进行了最新的和详细的分类,分析了它们的动机和典型的实现。在第5节和第6节中,我们描述了这些策略如何适应场景复杂性和任务特异性的现实挑战。在第7节中,我们提供了当前趋势的讨论,交叉方向的前景和神经科学的跨学科联系。
在本节中,我们详细介绍了代表性持续学习方法的分类(参见图3和图1,c),并广泛分析了它们的主要动机、典型实现和经验属性。
Regularization-based 方法
该方向的特点是添加显式正则项来平衡新旧任务,这通常需要存储旧模型的冻结副本以供参考(见图4)。根据正则化的目标,这类方法可以分为两类。
Replay-based 方法
将近似和恢复旧数据分布的方法分组到这个方向(见图5)。根据回放的内容,这些方法可以进一步分为三个子方向,每个子方向都有自己的挑战。
Optimization-based 方法
持续学习不仅可以通过向损失函数添加额外的项(例如正则化和重放)来实现,还可以通过显式地设计和操作优化程序来实现。
Representation-based 方法
将创建和利用持续学习表示优势的方法归为这一类。除了早期通过元训练[185]获得稀疏表示的工作外,最近的工作试图结合自监督学习(SSL)[125]、[281]、[335]和大规模预训练[295]、[380]、[456]的优势,以改进初始化和持续学习中的表示。请注意,这两种策略密切相关,因为预训练数据通常数量巨大且没有明确的标签,而SSL本身的性能主要通过对(一系列)下游任务进行微调来评估。下面,我们将讨论具有代表性的子方向。
Architecture-based 方法
上述策略主要集中在学习所有具有共享参数集的增量任务(即单个模型和一个参数空间),这是导致任务间干扰的主要原因。相反,构造特定于任务的参数可以显式地解决这个问题。以往的工作通常根据网络体系结构是否固定,将该方向分为参数隔离和动态体系结构。本文专注于实现特定任务参数的方式,将上述概念扩展到参数分配、模型分解和模块化网络(图8)。
以上是清华最新「持续学习」综述,32页详述持续学习理论、方法与应用综述的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

从主屏幕中删除了重要内容并试图将其取回?您可以通过多种方式将应用程序图标放回屏幕。我们已经讨论了您可以遵循的所有方法,并将应用程序图标放回主屏幕如何在iPhone中撤消从主屏幕中删除正如我们之前提到的,有几种方法可以在iPhone上恢复此更改。方法1–替换应用程序库中的应用程序图标您可以直接从应用程序库将应用程序图标放置在主屏幕上。第1步–横向滑动以查找应用程序库中的所有应用程序。步骤2–找到您之前删除的应用程序图标。步骤3–只需将应用程序图标从主库拖动到主屏幕上的正确位置即可。这是将应用程序图

PHP中箭头符号的作用及实践应用在PHP中,箭头符号(->)通常用于访问对象的属性和方法。对象是PHP中面向对象编程(OOP)的基本概念之一,在实际开发中,箭头符号在操作对象时发挥着重要作用。本文将介绍箭头符号的作用以及实践应用,并提供具体的代码示例来帮助读者更好地理解。一、箭头符号的作用访问对象的属性箭头符号可以用来访问对象的属性。当我们实例化一个对

Linuxtee命令是一个非常有用的命令行工具,它可以在不影响已有输出的情况下,将输出写入文件或者将输出送往另一个命令。在本文中,我们将深入探索Linuxtee命令的各种应用场景,从入门到精通。1.基本用法首先,我们来看一下tee命令的基本用法。tee命令的语法如下:tee[OPTION]...[FILE]...该命令会从标准输入读取数据,并将数据

在word中编辑文字内容时,有时会需要输入公式符号。有的小伙们不知道在word根号输入的方法,小面就让小编跟小伙伴们一起分享下word根号输入的方法教程。希望对小伙伴们有所帮助。首先,打开电脑上的Word软件,然后打开要编辑的文件,并将光标移动到需要插入根号的位置,参考下方的图片示例。2.选择【插入】,再选择符号里的【公式】。如下方的图片红色圈中部分内容所示:3.接着选择下方的【插入新公式】。如下方的图片红色圈中部分内容所示:4.选择【根式】,再选择合适的根号。如下方的图片红色圈中部分内容所示:

Go语言是一种由Google开发的开源编程语言,于2007年首次发布。它被设计成一种简单易学、高效、并发性强的语言,受到越来越多开发者的青睐。本文将探索Go语言的优势,并介绍一些适合Go语言的应用场景,同时给出具体的代码示例。优势并发性强:Go语言内置支持轻量级线程——goroutine,能够很容易地实现并发编程。通过使用go关键字就可以启动goroutin

标题:从零开始学习Go语言中的main函数Go语言作为一种简洁、高效的编程语言,备受开发者青睐。在Go语言中,main函数是一个入口函数,每个Go程序都必须包含main函数作为程序的入口点。本文将从零开始介绍如何学习Go语言中的main函数,并提供具体的代码示例。一、首先,我们需要安装Go语言的开发环境。可以前往官方网站(https://golang.org

Linux在云计算领域的广泛应用随着云计算技术的不断发展和普及,Linux作为一种开源操作系统在云计算领域中发挥着重要作用。由于其稳定性、安全性和灵活性,Linux系统被广泛应用于各种云计算平台和服务中,为云计算技术的发展提供了坚实的基础。本文将介绍Linux在云计算领域的广泛应用,并给出具体的代码示例。一、Linux在云计算平台中的应用虚拟化技术虚拟化技术

MySQL时间戳是一个十分重要的数据类型,它可以存储日期、时间或者日期加时间。在实际的开发过程中,合理地使用时间戳可以提高数据库操作的效率,并且方便进行时间相关的查询和计算。本文将从MySQL时间戳的功能、特性和应用场景等方面展开探讨,并结合具体的代码示例来讲解。一、MySQL时间戳的功能和特性MySQL中有两种类型的时间戳,一种是TIMESTAMP
