Raki的读paper小记:Continual Learning of Natural Language Processing Tasks: A Survey

news2025/1/18 9:43:53

第一次写综述的小记,也将是我读完的第一篇综述(

最开始因为可乐老师的原因,接触到了持续学习,然后从一开始的音频到自己读了一些ICLR的paper找idea做NLP的持续学习,然后做了自己第一个粗糙的工作,在杰哥的帮助下,完成了第一次投稿。之前跟杰哥聊天的时候他就提到了持续学习的创始人大牛就是他们UIC的,十几万引用,没想到不到两个月他母校UIC就出了这么一篇NLP综述,赶紧来拜读一下

持续学习的定义

持续学习被定义为一系列的任务 1 , . . . , τ 1,...,\tau 1,...,τ,并且每当一个任务完成训练之后,它的训练数据就不再可见。

持续学习的目标

持续学习有两个主要的目标:

  1. 克服灾难性遗忘
  2. 知识迁移

下文中都用 CL (continual learning) 代替持续学习,KT (knowledge transfer) 代替知识迁移

灾难性遗忘是指在学习新任务时,系统需要更新从先前任务中学习到的现有网络参数,这可能会降低先前任务的性能

KT是指将过去学到的知识转移到新任务学习(正向转移)的能力,还期望使新任务学习能够改进先前任务的模型(向后转移)

有两种CL模式:离线CL和在线CL
在离线CL中,一项任务的所有训练数据都可以提前获得,并且训练可以花费任意数量的时间。
在在线CL中,每个任务的数据都来自一个数据流。每当一批数据在流中累积时,都会在一次迭代中进行训练。所以在线CL只在一个时期内训练。

持续学习的几种基本设定

1.Task-incremental learning (TIL) & Task incremental learning without task-id in testing(TILw)

任务中的类别(如果有的话)可能是不相交的(例如,一个任务对不同类型的政治文件进行分类,而另一个任务则对包括政治类在内的不同广泛主题的文件进行分类)。当类不相交时,测试中需要任务id。最近的一些方法已经可以防止TIL的CF。主要挑战是KT

两种任务的区别在与 task-id在测试中是否可见

2.Class-incremental learning (CIL)

task-id 在测试中不可见

CIL主要用于有监督的最终任务学习,其中每个任务都有一组不重叠的类
只为所有学习的类别建立了一个模型。在测试中,可以呈现任何类的测试实例以进行分类。
CIL比TIL更具挑战性,因为系统需要区分不同的任务

3.Domain-incremental learning (DIL) & Domain-incremental learning without task-id in testing (DILw)

DIL假设所有任务(来自不同域)的类标签相同。模型中只使用一个分类头

生成任务符合DIL设置,因为LM头具有相同数量的“类”(词汇tokens)

两种任务的区别在与 task-id在测试中是否可见

在这里插入图片描述

Approaches for Continual Learning

虽然所有调查都遵循已建立的方法家族,, regularization-based, replay-based and parameteriso-lation based来处理CF,但我们又添加了一个专门针对NLP的家族 (i.e., instruction-CF based). 。我们进一步总结了旨在鼓励KT的5种不同方法。为了让NLP社区受益更多,我们还讨论了基于NLP的CL系统与基于CV的CL系统是如何相似或不同的

Approaches for Overcoming CF

Regularization-CF Based Methods

这类方法通常添加惩罚或正则化,以惩罚在学习新任务时对先前任务学习的重要参数的更改。这种方法的主要缺点是它在新的任务学习和防止遗忘之间引入了一种权衡

  1. Regularizing the loss based on parameter importance.

EWC使用之前任务的梯度作为之前任务的重要程度,标记为 F k τ F_{k}^{\tau} Fkτ(fisher信息矩阵,k是参数的索引),然后将其乘以旧参数和新参数之间的差。所得正则化项被添加到损失中,以惩罚对重要参数所做的更改。

RMR-DSE F k τ F_{k}^{\tau} Fkτ 改为一个超参数,使得在训练每个任务后没有额外的backward pass

AEWC 使用改进的EWC算法,使重要度变为可在线计算,其主要思想是用重要性估计器替换fisher矩阵,以便可以去除额外的重新训练和点估计

SRC 持续更新带正则化的句编码器,惩罚通过矩阵概念器计算,矩阵概念器捕获每个语料库的特定特征

  1. Regularizing the loss based on distillation.
    这种方法蒸馏之前模型学到的知识,需要copy并保存一份之前模型的参数

这种方法使从cv的 LwF 中第一次使用

ExtendNER , CFIDCIDPAGeR 应用KL散度来实现蒸馏

LFPT5 将KL散度应用到旧和新的prompt

目前的NLP模型只正则loss,但是cv的模型还将正则加到了梯度上。OWM 在与旧任务的输入正交的方向上投影梯度。将梯度映射到先前任务的空间,以减轻CF。一些其他任务正则化学习速率,以减缓参数更新或控制局部最小值的几何结构

Replay-based Methods

基于replay的方法有两种,1. 保存之前task的子集,2. 用模型生成伪样本,并且将这些样本一起加入到当前的dataset中一起训练

CFID 用动态加权重放原始样本以控制样本权重

CID 进一步考虑了丰富的新数据和小的旧数据之间的不平衡。CID还利用了不平衡学习社区中的思想(类间边际损失和余弦归一化)来缓解回放中的数据不平衡问题

Continual-T0 保存1%之前的样本

ELLE 使用巨大的buffer来保存样本(1G)

IDBR 用k-means来挑选样本(实测没屁用)

MBPA ++Meta-MBPA ++ 在推断中有选择地使用保存的旧样本。在推断过程中,测试样本的表示用于检索回放存储器中最近保存的K个样本。基于K个样本,执行梯度更新以实现样本特定的微调。然后使用微调网络输出测试样本的最终预测

MeLL 存储用于元学习的类原型表示

PCLL 使用prompt 和 条件变分自编码器来生成之前的样本,它为每个任务保存特定于任务的提示,以便在生成以前的任务样本时,可以使用保存的以前的任务提示来帮助调整LM

PAGeR 用hard-prompt来生成样本

LAMOLACM 将任务都变成生成式的,训练一个语言模型(GPT-2),使得既能学习又能生成样本。与LAMOL不同,ACM利用适配器并选择性地共享它们,以进一步支持KT

LFPT5 使用 prompt and T5

一些CV模型提出生成features

Parameter-isolation Based Methods

基于参数隔离的方法将不同的参数分配给不同的任务,以防止后续任务干扰先前学习的参数。该系列在培训和测试中都需要任务id,因此它主要用于TIL和DIL设置。这类方法通常也有容量问题,这使得KT面临挑战(说白了,单纯隔开就是屁都不是,相当于训练多个模型)

task masking 在反向传播的时候冻结一部分参数

Parameter generation 使用一个网络来生成另外一个网络的模型参数

DEMIX 使用一个适应器,在测试中,测试实例的预测由所有预训练适配器的加权和(根据困惑程度)给出。ELLE 每当新任务来临时都会扩展层。它使用大量回放数据,以确保LM能够处理所有以前和当前的任务

C-PT 给每个任务一个prompt

TPEM 每当有一个任务到来就扩展网络

AdapterCL 为每个任务添加一组适配器。它通过困惑进一步推断测试中的任务id

ProgM 为每个新任务扩展网络,并将所有学习到的知识转移到扩展组件

Parameter pool 该方法初始化参数池并进行参数选择。CV中的L2P初始化prompt池,并基于余弦相似度为不同任务选择不同的prompt

ConTinTin 针对不同的任务使用不同的instruction来调节语言模型

ENTAILMENT 输入句子和意图标签词作为指令,并将意图分类转换为二进制分类

Approaches for Knowledge Transfer

KT有向后和向前转移,向后转移的关键是决定可以更新以前任务中的哪些知识,以便改进以前和现在的任务。这与防止CF不同,因为CF的重点是如何有效地减少对先前重要任务参数的更改(解决稳定性-可塑性困境)

向后转移非常困难,因为我们没有以前的任务数据,任何错误的更新都可能导致严重的CF。另一方面,向前转移更容易,因为我们可以简单地固定以前的知识,并利用它来帮助学习新任务

与基于正则化CF的方法不同,正则化在这里解开了任务共享知识和任务特定知识边缘。通常需要重放记忆来学习任务共享知识

IDBR 用额外的任务来encourage语言模型学习general knowledge

ACM 学习每个任务的适配器并训练混合系数以检测新任务可以重用哪个适配器。ACM通过伪重放方法防止CF

胶囊网络:由两个胶囊层组成。第一层存储低级特征图,第二层生成每个胶囊对应于一个类别的分类概率
CapsNet使用动态路由算法,使每个较低级别的封装将其输出发送到一个类似的或“商定的”(通过点积计算)较高级别的封装
CTRB-CL 通过胶囊网络来比较任务相似度

CLASSIC 通过自我注意力从所有先前任务中生成增强视图,并使用对比损失来帮助学习共享知识

MeLL 使用记忆网络作为θ,使用LM作为w。记忆包含所有学习的类原型表示。它的输出与LM的输出连接,并被馈送到融合网络以执行分类。在内部loop中,更新当前任务在内存网络中的类原型。在外loop中,LM被微调
LM学习通用/共享信息(用于KT),而存储器网络学习任务特定信息(用于处理CF)

Meta-MBPA++ 在内部loop中使用额外的网络作为θ从重放存储器中检索样本。LM作为文本编码器用作w,可以很好地概括外部loop中的所有任务

Continual Learning Evaluation

CL评估主要评估

  1. 所有学习任务的平均表现
  2. 遗忘率和
  3. 知识转移的效果

Reference Baselines

Naive continual learning (NCL)

不使用任何机制来阻止遗忘,被视为CL的下界

Train a separate model for each task (ONE)

使用一个独立的模型分别训练不同的任务一次,被视为一个持续学习系统CF和KT的表现

Multi-task learning (MTL)

多任务训练的效果被视为持续学习的上界

在这里插入图片描述

Evaluation Metrics

Average Accuracy

每个任务的平均准确率

Average Incremental Accuracy

它只是每个任务(CIL中的一组类)的平均精度的平均值。也可以选择将每个任务的平均精度曲线化为一个图,而不是给出单个数量的平均增量精度

Forgetting Rate

学习一个新任务后,之前任务的表现和训练当前任务之前的差值的比例

在这里插入图片描述

Observations and Future Directions

Knowledge transfer is the major issue in TIL and DIL.

当前一些持续学习模型的性能已经接近了多任务训练,这说明CF是可以解决的,但是KT(知识迁移)仍然是一个高度挑战性的难题

KT的难题主要在与,任务之间的相似度没有ground truth,难以衡量

Forgetting prevention is still a major issue in settings other than TIL and DIL.

Cpre and Cpost are still in their infancy.

Online CL of an LM still cannot be achieved.

理性情况下,语言模型应该实时的更新新出现的词,但是现在的工作还不能做到

CL in NLP still has no established benchmark datasets that are used by most systems.

目前没有一个权威的NLP持续学习数据集,这也是我之前跟一聪聊过的一个问题:数据集不够,然后我想我们一起合作来弄一个持续学习的数据集,大一统评估所有NLP的持续学习的任务,看之后缘分和努力了

Conclusion

如果人工智能智能体没有持续学习(CL)能力来学习和积累知识,并利用过去学习的知识来实现更好的未来学习,那么它就不能被认为是真正的智能体。因此,CL对于任何领域都是必要的。本文综述了自然语言处理中CL的最新进展。我们发现,许多NLP问题已被制定为CL任务
已经介绍了基于两个主要目标(CF和KT)的现有CL设置和方法。最后,我们还提出了未来的研究方向。我们希望这项调查将激励CL和NLP社区的研究人员设计更好的算法

Remark

可以看出来,持续学习目前在NLP领域的发展还很少,个人认为这个community目前最需要的还是一个像imageNet,coco等cv那边大而全的数据集,多模态的持续学习就更加是一片蓝海了,希望自己能成为一名优秀的worker or player

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Hadoop高手之路9-Azkaban工作流管理器

文章目录Hadoop高手之路9-Azkaban工作流管理器一、工作流概述1. 工作流简介2. 常见的工作流调度工具1) Azkaban2) Oozie二、Azkaban简介1. Azkaban组成结构2. Azkaban的部署模式1) solo-server mode(独立服务器模式)2) two server mode(双服务…

8Manage SRM:使用采购管理软件进入现代化模式

在企业运营发展中,采购组织一直是一个非常重要的部门,它会直接影响企业的采购成本效益。在采购活动中,如果采用传统线下的采购方式,容易导致采购信息不集中,效率低,出错率高,最终损害企业的利益…

社区发现系列02-算法介绍

hello, 大家好,欢迎来到阿君聊风控,我是阿君(一名有7年互金和电商风控经验的算法工程师)。在上篇文章https://blog.csdn.net/u010569893/article/details/128565829?spm1001.2014.3001.5502 中我们了解到可以用社区发现技术来对图…

全面兼容各端的动画库PAG,对标Lottie

感谢Tencent 开源了PAG库,终于有了国人自己的动画库了,该库兼容:移动端,桌面端,,WEB端,还有小程序端,真可谓用心了,而且PAG库相对其他库,使用的pag文件更小&a…

《UEFI内核导读》SecCore与PeiCore简介(I)

敬请关注:“固件C字营 SecCore也被称之为VTF,被映射到Boot Firmware Volume (BFV),BFV的地址被放置在0xFFFFFFE0连续的4个字节(小端模式)。 SecCore 是一个FFS firmware file,其文件末端地址与于BFV的末端…

磨金石教育摄影技能干货分享|摄影拼贴技法的运用与效果

河南省-黄阳惠智-《那是山吗》画面中是一片群山景象。我们看上去感觉像是画出来的,又像是电脑做的图。其实这是摄影师用了中国山水画的特有表现手法,对桂林山水的景象,进行了拼贴在创造。作者用一些非山非水的现代物品,像织女一样…

【记录一】gis理论

gis地图相关一、gis 理论知识二、fianlshell连接服务器连接服务器命令行记录三、geoserver地图服务器初识geoserver添加新图层最近图层样式修改图层样式新增编辑图层的样式四、git上传代码查看远程地址上传代码时新建tag一、gis 理论知识 二、fianlshell连接服务器 连接服务器…

【小知识点】免费头像API,用 Python Flask 动态生成一个汉字头像

本案例是 爬虫训练场 项目的衍生案例,用于渲染用户头像,大家也可以将该接口用于其它目的。 本文会使用随机汉字生成技术,如未掌握,可以查看 Python 随机生成一个汉字 文章目录基础环境配置加载本地 txt 文件,用于随机生…

打包安卓apk后的V1和V2签名

前言:打包apk后上架之前需要进行加固,加固后生成的apk文件需要进行重新签名;单独的apk文件可以使用基于JDK(需要安装java jdk)和SDK(需要下载android studio 开发工具)的命令进行手动签名。安装…

【Maven】核心概念

Maven的核心概念一、Maven工程中约定的目录结构二、仓库管理🎶仓库的概述🎶仓库的分类本地仓库所在位置的设置重写更改本地仓库路径,不使用默认路径有什么好处呢?🎶Maven对仓库的使用三、POM工程的唯一标识依赖&#x…

数据结构与算法:泛型初学习

1.包装类 java中的数据类型int,double等不是对象,无法通过向上转型获取到Object提供的方法,而像String却可以,只因为String是一个对象而不是一个类型。基本数据类型由于这样的特性,导致无法参与转型,泛型&…

【服务器数据恢复】Raid5丢失一块盘被重建的数据恢复案例

服务器数据恢复环境: 一台服务器上5块硬盘组建raid5磁盘阵列,用于存储公司数据,无备份。 服务器故障&分析: 服务器上一块硬盘故障掉线,用户聘请一家运维公司对服务器进行维护,运维公司技术人员在没有了…

redis 基础

Redis学习笔记配置文件启动redis与redis进行交互redis命令Redis通用命令keys 查看所有符合模板的keytype 查看这个key的存储类型![在这里插入图片描述](https://img-blog.csdnimg.cn/175e3a5c1b064ce09b9b47cc1c7b34f9.png)del 删除一个keyexists 判断一个Key是否存在ttl 查看一…

HummerRisk V0.8.0:新增金山云、K8s基准检测、源IP审计分析等

HummerRisk V0.8.0发布:多云检测支持金山云、K8s检测新增CIS Benchmark 功能 、操作审计增加源 IP 分析功能、主机检测增加Linux 检测规则。同时优化 operator及Benchmark 的自动/手动安装,优化多个结果展示页面等。 感谢社区中小伙伴们的反馈&#xff…

整型常量不同进制间的相互转换

整型常量可以分别用二进制、八进制、十进制和十六进制表示,不同的进制并不影响数据本身的大小,同一个整型常量可以在不同进制之间转换,具体转换方式如下。 1.十进制和二进制之间的转换 (1)十进制转二进制 十进制转换成二进制就是一个除以2…

实验用试剂mPEG-PDLLA介绍;甲氧基聚乙二醇-聚DL-丙交酯 嵌段共聚物

PLA-MPEG、peg-pla、mPEG-PDLLA 甲氧基聚乙二醇-聚乳酸、甲氧基聚乙二醇-聚DL-丙交酯 结构式: 【详情】 化学式:CH3(C2H4O)m (C6H10O2)n 溶剂:氯仿、二氯甲烷、丙酮、DMF、DMSO等有机溶剂。 性状:半固体或固体&a…

【C++核心编程】C++全栈体系(八)

C核心编程 第四章 类和对象 C面向对象的三大特性为:封装、继承、多态 C认为万事万物都皆为对象,对象上有其属性和行为 例如: ​ 人可以作为对象,属性有姓名、年龄、身高、体重…,行为有走、跑、跳、吃饭、唱歌… …

数据采集网关对接MySQL数据库

数据采集网关嵌入式 ARM 控制器 BL301/BL302支持 MySQL、InfluDB、SQLite 等数据库。Mysql 支持 5.1.51~5.1.73 版本。 将编译好的文件拷贝到 BL302 的/usr/local/mysql 目录下,将里面的可执行文件复制 到/usr/sbin 目录下或者在设备上设置环境变量 export PATH&quo…

Mentor-dft 学习笔记 day51-State Stability Examples

State Stability Examples 以下为包含状态稳定性报告的示例,显示了状态稳定性分析中的不同行为。示例基于图B-1所示的设计。该设计具有以下三个时钟:• clk1— The only scan clock • clk2— Clocks a particular non-scan flip-flop • reset— Resets…

燕山大学软件学院硕士研究生指导教师情况

燕山大学信息科学与工程学院(软件学院)简介 燕山大学信息科学与工程学院源于东北重型机械学院自动控制系,始建于 1960 年。1983 年,无线电技术、计算机及应用两个专业脱离自动控制系,于东北重型机械学院组建计算机 工…