持续学习缓解大模型的灾难性遗忘—综述分享

近年来,基础语言模型(LMs)在自然语言处理(NLP)和计算机视觉(CV)领域取得了显著成就。与传统神经网络模型不同,基础语言模型通过在大量无监督数据集上进行预训练,获得了丰富的常识知识,并且具有强大的迁移学习能力。然而,由于灾难性遗忘,基础语言模型仍然无法模拟人类的持续学习能力。因此,各种基于持续学习(Continual Learning,CL)的方法被开发出来,以改进语言模型,使其能够在适应新任务的同时不遗忘以前的知识。

持续学习,也被称为终身学习增量学习,是人工智能中的一个关键领域,旨在开发能够持续更新自身并获取新知识的系统,而不遗忘先前学到的信息,类似于人类学习的过程。

今天分享的这篇综述总结并分类了现有文献中应用于基础语言模型的持续学习方法,如预训练语言模型(PLMs)、大语言模型(LLMs)和视觉-语言模型(VLMs)

1 范式转变

在持续学习领域,传统方法向基础语言模型的方法发生了显著的范式转变。

首先,基础语言模型由于在大规模数据集上的广泛预训练,展示了增强的泛化和迁移学习能力。模型具有快速适应下游任务的专门迁移能力,只需少量样本。因此,在促进新技能获取的同时,减轻零样本迁移和历史任务能力的退化至关重要。

其次,由于基础语言模型中大量的参数,采用参数高效技术,如提示调优和适配器,无需全面重新训练即可更新参数。

再者,基础语言模型具备通过指令学习进行动态和上下文感知交互的能力。
在这里插入图片描述

2 基础语言模型

基础语言模型主要分为三类:

预训练语言模型(PLMs): 如BERT、RoBERTa和BART,主要处理文本任务。

超大语言模型(LLMs): 如GPT-4和LLaMA,通过扩大模型结构和训练数据,提高了模型的通用性和适应性。

视觉-语言模型(VLMs): 如VisualBERT、CLIP和DALL-E,整合了文本和图像模态,支持复杂的视觉和文本信息交互。

在动态环境中处理连续任务时也会存在一些主要挑战:灾难性遗忘: 模型在学习新信息时,丧失了先前获得的知识;跨任务知识转移: 有效的知识转移不仅能加速新任务的学习,还能通过新知识的反馈提升先前任务的表现。

3 持续学习方法

持续学习分为离线持续学习和在线持续学习,其中包括传统方法、基于参数高效的方法、基于提示调优的方法和持续预训练方法。离线持续学习包括领域增量学习、任务增量学习和类别增量学习,而在线持续学习则细分为硬任务边界和模糊任务边界设置。

4 结语

基础语言模型结合持续学习的方法有助于模型在不重新训练的情况下学习新知识,克服了传统持续学习中的许多限制,具有广阔的应用前景。

综述题目:Recent Advances of Foundation Language Models-based Continual Learning: A Survey

PS: 欢迎大家扫码关注公众号_,我们一起在AI的世界中探索前行,期待共同进步!

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
vc++全版本组件大全 VC++运行时(Visual C++ Runtime)是VC++开发环境中用于支持C和C++程序运行的基础库集合。这些库包含了执行C/C++程序所必需的基本函数和数据结构,例如内存管理、字符串操作、输入输出处理、异常处理等。VC++运行时库分为静态库和动态库两种形式,以适应不同类型的项目需求。 静态链接库 vs 动态链接库 静态链接库(Static Linking Libraries):在编译时,静态库的代码会被直接嵌入到最终生成的可执行文件中。这意味着每个使用静态库的程序都会包含库代码的一个副本,导致最终程序的体积较大,但不需要外部库文件支持即可独立运行。在VC++中,静态链接库的例子有LIBC.lib(用于单线程程序)和LIBCMT.lib(用于多线程程序)。 动态链接库(Dynamic Link Libraries):与静态链接相反,动态库的代码并不直接加入到应用程序中,而是在程序运行时被加载。这使得多个程序可以共享同一份库代码,节省了系统资源。VC++的动态运行时库主要通过msvcrt.dll(或其变体,如MSVCRTD.dll用于调试版本)实现,与之配套的导入库(Import Library)如CRTDLL.lib用于链接阶段。 运行时库的版本 VC++运行时库随着Visual Studio版本的更新而发展,每个版本都可能引入新的特性和优化,同时保持向后兼容性。例如,有VC++ 2005、2008、2010直至2019等多个版本的运行时库,每个版本都对应着特定的开发环境和Windows操作系统。 重要性 VC++运行时对于确保程序正确运行至关重要。当程序在没有安装相应运行时库的计算机上执行时,可能会遇到因缺失DLL文件(如MSVCP*.dll, VCRUNTIME*.dll等)而导致的错误。因此,开发完成后,通常需要分发相应的VC++ Redistributable Packages给最终用户安装,以确保程序能够在目标系统上顺利运行。 安装与部署 安装VC++运行时库通常是通过Microsoft提供的Redistributable Packages完成的,这是一个简单的过程,用户只需运行安装程序即可自动安装所需组件。对于开发者而言,了解和管理不同版本的运行时库对于确保应用程序的广泛兼容性和可靠性是必要的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值