增量学习(Incremental Learning)小综述

增量学习/Incremental learning 增量学习二十年发展如何?用一篇综述看懂增量学习 阅读详情

文章转自公众号:NewBeeNLP ,作者:Maple小七

 

1. 增量学习的概念

1.1 什么是增量学习

人类有终身不断获取、调整和转移知识的能力,虽然在我们的一生中,我们确实倾向于逐渐忘记之前学习过的知识,但只有在极少的情况下,对新知识的学习会灾难性地影响已经学到的知识,这样的学习能力被称为增量学习的能力。

具体来讲,「增量学习的能力就是能够不断地处理现实世界中连续的信息流,在吸收新知识的同时保留甚至整合、优化旧知识的能力。」

增量学习(Incremental Learning)已经有20多年的研究历史,但增量学习更多地起源于认知神经科学对记忆和遗忘机制的研究,因此不少论文的idea都启发于认知科学的发展成果,本文不会探讨增量学习的生物启发,关于面向生物学和认知科学的增量学习综述可见 Continual lifelong learning with neural networks: A review[1]。

1.2 为什么要增量学习

在机器学习领域,增量学习致力于解决模型训练的一个普遍缺陷:「灾难性遗忘(catastrophic forgetting)」 ,也就是说,一般的机器学习模型(尤其是基于反向传播的深度学习方法)在新任务上训练时,在旧任务上的表现通常会显著下降。

造成灾难性遗忘的一个主要原因是「传统模型假设数据分布是固定或平稳的,训练样本是独立同分布的」,所以模型可以一遍又一遍地看到所有任务相同的数据,但当数据变为连续的数据流时,训练数据的分布就是非平稳的,模型从非平稳的数据分布中持续不断地获取知识时,新知识会干扰旧知识,从而导致模型性能的快速下降,甚至完全覆盖或遗忘以前学习到的旧知识。

为了克服灾难性遗忘,我们希望模型一方面必须表现出从新数据中整合新知识和提炼已有知识的能力(可塑性),另一方面又必须防止新输入对已有知识的显著干扰(稳定性)。这两个互相冲突的需求构成了所谓的「稳定性-可塑性困境(stability-plasticity dilemma)」。

解决灾难性遗忘最简单粗暴的方案就是使用所有已知的数据重新训练网络参数,以适应数据分布随时间的变化。尽管从头训练模型的确完全解决了灾难性遗忘问题,但这种方法效率非常低,极大地阻碍了模型实时地学习新数据。而增量学习的主要目标就是在计算和存储资源有限的条件下,在稳定性-可塑性困境中寻找效用最大的平衡点。

1.3 增量学习的特点

增量学习和持续学习(Continual Learning)、终身学习(Lifelong Learning)的概念大致是等价的,它们都是在连续的数据流中训练模型,随着时间的推移,更多的数据逐渐可用,同时旧数据可能由于存储限制或隐私保护等原因而逐渐不可用,并且学习任务的类型和数量没有预定义(例如分类任务中的类别数)。

但增量学习目前还没有一个特别清晰的定义,因此比较容易与在线学习,迁移学习和多任务学习等概念混淆,「尤其要注意增量学习和在线学习的区别,在线学习通常要求每个样本只能使用一次,且数据全都来自于同一个任务,而增量学习是多任务的,但它允许在进入下一个任务之前多次处理当前任务的数据」。上图表现了增量学习和其他学习范式的区别,一般来说,增量学习有如下几个特点:

  • 学习新知识的同时能够保留以前学习到的大部分知识,也就是模型在旧任务和新任务上均能表现良好。

  • 计算能力与内存应该随着类别数的增加固定或者缓慢增长,最理想的情况是一旦完成某一任务的学习,该任务的观测样本便被全部丢弃。

  • 模型可以从新任务和新数据中持续学习新知识,当新任务在不同时间出现,它都是可训练的。

由于增量学习问题的复杂性和挑战的多样性,人们通常只讨论特定设置下的增量学习。以一个图像分类模型为例,我们希望模型具有增量学习新的图像和新的类别的能力,但前者更多地与迁移学习有关,因此任务增量学习(Task-incremental Learning)和难度更高一点的类增量学习(Class-incremental Learning)是深度学习社区当前主要考虑的增量学习范式。

「本文主要讨论近几年关注度最高的类增量学习范式」,更广泛更详细的增量学习介绍可参考专著《Lifelong Machine Learning》[2]。

2. 增量学习的实现方式

增量学习是一个连续不断的学习过程,在这个过程中,我们假设模型已经学习了前n个任务:\tau _{1},\tau _{2},...\tau _{n},当面对任务\tau _{n+1}和对应的数据D_{n+1}时,我们希望可以利用从旧任务中学习到的先验知识帮助\tau _{n+1}的学习,然后更新模型所学习到的知识。这个过程要求我们在当前任务\tau中寻找参数\vartheta ^{*}最小化下面的损失函数:

\sum_{t=1}^{\tau }\mathbb{E}_{\left ( \chi ^{t},\gamma ^{t} \right )}\left [ \iota \left ( f_{t}\left ( \chi ^{\left ( t \right )};\theta \right ),\gamma ^{\left ( t \right )} \right ) \right ]

其中旧数据\left ( \chi ^{\left ( t \right )} ,\gamma ^{\left ( t \right )}\right ),t< \tau 是部分可见或完全不可见的。

增量学习方法的种类有很多种划分方式,本文将其划分为以下三种范式:

  • 正则化(regularization)

  • 回放(replay)

  • 参数隔离(parameter isolation)

其中基于正则化和回放的增量学习范式受到的关注更多,也更接近增量学习的真实目标,参数隔离范式需要引入较多的参数和计算量,因此通常只能用于较简单的任务增量学习。关于其他划分方式和不同类别的增量学习的优缺点对比可见A Comprehensive Study of Class Incremental Learning Algorithms for Visual Tasks[3]

 

参考文献

[1]Continual lifelong learning with neural networks: A review: https://arxiv.org/pdf/1802.07569.pdf

[2]《Lifelong Machine Learning》: https://www.cs.uic.edu/~liub/lifelong-machine-learning-draft.pdf

[3]A Comprehensive Study of Class Incremental Learning Algorithms for Visual Tasks: https://arxiv.org/abs/2011.01844

读书笔记-增量学习-EEIL_End-to-End Incremental Learning 一篇2018年的论文:End-to-End Incremental Learning。为了使模型实现增量学习,把新、旧数据一起重新训练会导致时间、存储成本等一系列问题。作者提出的方法仅使用新数据与部分代表性的旧数据。基于Distillation知识蒸馏从旧数据中提取代表性样本、Cross entropy交叉熵学习新数据。题目的End-to-End指的是能同时训练更新Classification分类器和代表性样本。 作者认为,一个拥有增量学习能力的深度神经网络模型应该拥有以下特征: Ability t 阅读详情

相关推荐

ORB-SLAM3复现的详细过程——配置安装及ROS和脚本运行---Ubuntu20.04

所提供的图像具有高动态范围,事先进行了光度标定,用20Hz的帧率采集,分辨率为1024像素*1024像素;需要下载数据集dataset-room1_512_16和rgbd_dataset_freiburg1_desk。在一键安装ROS后,只需要再安装Pangolin即可,其他所有的需要都已经存在。用微型飞行器采集的视觉惯性数据集,包含双目相机和IMU同步测量数据及位姿的真值。第二条命令中的${ROS_PACKAGE_PATH}是自己文件的路径。其采用的相机和IMU传感器,在硬件上进行了时间同步。

琉璃轻纱的博客 1万+

开放集学习 Open Set Learning

例如,在人脸识别的应用中,我们可能会遇到一些我们从未见过的人脸(Open Set Learning),并且我们可能需要从只有一两张图片的情况下学习这个人的特征(Few-Shot Learning)。Open Set Learning和Zero-Shot Learning都是机器学习中的一种任务设置,主要考虑在训练数据中未出现过的类别在测试时的情况,但它们在处理这个问题的方式上有所不同。例如,在一个图像分类任务中,假设训练数据中只有狗、猫和鸟的图像,然后在测试阶段,我们希望模型能够处理马的图像。

HelloWorld的博客 1756

了解你的GPU:深入探讨AMD SMI

2024年9月17日 作者:Matt Elliott对于使用AMD硬件的系统管理员和高级用户来说,性能优化和高效的资源监控至关重要。AMD系统管理界面命令行工具`amd-smi`正是为了解决这些需求而设计的。amd-smi是一个多功能的命令行工具,专门用于管理和监控AMD硬件,主要侧重于GPU。作为未来取代`rocm-smi`的工具,`amd-smi`有望成为跨广泛设备的AMD硬件管理的主要工具。

数字人生 4524

Few-Shot Class-Incremental Learning from anOpen-Set Perspective论文笔记

一个Few-Shot Class-Incremental Learning (FSCIL)模型,需要在所有类上表现良好,无论它们的表示顺序如何或是否缺乏数据。它还需要对需要对较少的数据 (one-shot scenario) 具有鲁棒性,并且容易适应该领域出现的新任务目前的SOTA方法仅使用class-wise average accuracy类平均精度来评价模型的性能,无法评估是否由于类不平衡和数据不平衡存在prediction bias预测偏差;

weixin_47269893的博客 1116

AD9176 双通道高速DAC调试记录

AD9176是一款高性能双通道16位数模转换器,支持高达12.6GSPS采样率,专为多频段无线应用设计。该器件集成8通道15.4Gbps JESD204B接口,支持复数/实数数据输入,每通道最大输入速率达3.08GSPS。关键特性包括:48位高精度NCO、灵活的插值滤波器(最高12倍)、优异的动态性能(SFDR达-83dBc@1.84GHz)以及多芯片同步功能。硬件调试需重点关注时钟配置(建议250M基准时钟)、JESD参数匹配及交流耦合设计。测试指标要求SFDR>55dBc@312MHz,实测值可达65d

universaldata的博客 1490

人工智能AI在软件测试和质量效能中的实际应用

人工智能在软件测试中应用,介绍chatGPT在测试中的应用,还有多个AI驱动的测试工具。

lindafang72的博客 1万+

探索无限可能:Class Incremental Learning 开源项目推荐

探索无限可能:Class Incremental Learning 开源项目推荐 项目介绍 在机器学习和深度学习领域,Class Incremental Learning(类增量学习) 是一个备受关注的前沿课题。它旨在解决模型在面对新类别数据时,如何在不遗忘旧类别知识的情况下进行有效学习的问题。为了推动这一领域的研究,Eden Belouadah 开发了一个名为 "Code for Cl...

gitblog_00030的博客 491

ROS机器人全覆盖路径规划实战:6种ipa算法对比与选型指南(附避坑经验)

本文深入对比了ROS中ipa_coverage_planning功能包集成的6种全覆盖路径规划算法,包括牛耕分解、栅格旅行商、神经网络、局部能量最小、轮廓线和凸感知放置。文章从覆盖率、重复率、计算效率、动态避障等核心工程指标出发,提供了基于不同场景(如静态/动态环境、规则/复杂布局)的实战选型指南,并分享了神经网络和局部能量最小等关键算法的参数调优与避坑经验,旨在帮助开发者根据实际需求选择并优化最合适的ipa覆盖算法。

perl8的博客 363

48小时单GPU训练DistilBERT!这个检索模型轻松达到SOTA

©PaperWeekly 原创 ·作者 | Maple小七单位 | 北京邮电大学研究方向 | 自然语言处理论文标题:Efficiently Teaching an Effective ...

Paper weekly 784

全志V3S嵌入式驱动开发(解决kernel 5.2.y wifi驱动问题)

​【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 wifi模块,之前测试的时候,开发板上用的是esp8089,当时内核时4.14.y,测试也是通过的。链接地址在这里, https://blog.youkuaiyun.com/feixiaoxing/article/details/131178420?spm=1001.2014.3001.5501 那个时候测试的时候,我们就说过,wifi驱动可能是除了镜像制作之外,最复杂的一个

嵌入式-老费,一个分享专业嵌入式知识的blog 1158

我用 Python 监听了自己的键盘,生成击键热力图,看看每天到底在“摸鱼”还是“搬砖”?

数据采集(监听)、持久化(I/O)与可视化展示,必须是三个完全独立的模块,这符合单一职责原则。在多线程读写 Python 字典时,锁住的时间要尽可能短,防止 I/O 线程把高频的监听线程阻塞住。这类涉及底层的代码与“键盘记录木马”只有一线之隔。永远不要把击键记录通过网络上传,所有数据必须localhost消化。人脑对枯燥的 JSON 日志是不敏感的,但对颜色和空间极其敏感。这也是为什么 Prometheus + Grafana 是标配。使用ctypes。

BUG猿的博客 193

增量学习简介(incremental learning)

文章目录前言基于正则化的增量学习基于回放的增量学习 前言 个人认为增量学习的定义的边界并不明显,其与其他概念例如:持续学习(Continual Learning)、终身学习(Lifelong Learning),在线学习(online learning),迁移学习(transfer learning)都有交集。 所以我个人粗糙的定义就是:模型基于旧数据学好了参数,但是如今新数据产生了,如何更新模型? 最笨,也最无懈可击的办法就是,将旧数据和新数据混在一起,然后对模型进行继续训练。 现在的一个问题是:能不能不

qq_43391414的博客 1万+

OpenClaw与大语言模型(Claude/GPT/MiniMax)的集成架构与最优配置策略

摘要 本文探讨了OpenClaw框架与大语言模型(Claude/GPT/MiniMax)的集成架构与优化策略。大语言模型具有强大的自然语言处理能力,但集成面临API成本、响应延迟、上下文管理等挑战。OpenClaw采用分层架构设计,包括用户界面层、对话管理层、提示工程层、模型适配层和API调用层,支持多模型切换、智能对话管理和成本控制。系统通过模型适配层实现不同API的统一调用,并提供缓存、监控等优化机制。该集成方案能够充分发挥大语言模型的优势,为本地AI助理提供更智能的服务。

一键难忘的博客 1693

深度学习(增量学习)——CVPR2020:Semantic Drift Compensation for Class-Incremental Learning

文章目录前言Embedding Network 前言 之前投的顶会论文中了,匆忙返校,与朋友们挥别,大学四年,给自己画上了一个完美的句号。 《Semantic Drift Compensation for Class-Incremental Learning》发表于CVPR2020,该算法针对于class incremental learning设计,与以往使用交叉熵作为损失函数的增量学习算法不同,该文章选用Triple loss作为损失函数,利用LwF、EWC、MAS等文章提出的正则项抵抗遗忘(命名为Em

菜到怀疑人生的博客 4253

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

增量学习 incremental learning

目前增量学习方法通常隐式地要求任务性质差异不能太大,当任务的性质和难度差异太大时,大部分增量学习方法的性能都会严重下降,甚至低于简单的基线模型。相较而言,增量学习策略可以仅针对新增数据进行持续更新,避免重复训练整个数据集,降低计算复杂度,提高模型泛化能力,达到平衡模型性能和效率的效果。其中一点是增量学习通常需要引入额外的超参数来平衡模型的稳定性和可塑性,这些超参数通常在验证集被优化,但本质上违反了增量学习不能获取未来数据的因果律,从而能导致人们作出过于乐观的结论,在真实的生产环境中常常无法重现实验结果。

cccjp1999的博客 737

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

增量学习 (Incremental Learning)

语义分割中的增量学习 语义分割中的增量学习设置为:在第t个step,学习新的类别ct,ct的label仅包含当前学习的ct类别,所以在学习时要保证既学习到当前类别知识,又不能灾难性遗忘之前的类别知识。 在语义分割的增量学习任务中,要解决的重点问题是当前的ground truth的background 类别,可能既包含过去学习过的真实类别,又包括未来要学习的潜在类别。 1. 《Modeling the Background for Incremental Learning in Semantic Segmen

ReaFly的博客 6571

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

【机器学习】增量学习(Incremental Learning)小综述

1. 增量学习的概念1.1 什么是增量学习人类有终身不断获取、调整和转移知识的能力,虽然在我们的一生中,我们确实倾向于逐渐忘记之前学习过的知识,但只有在极少的情况下,对新知识的学习会灾难性地影响已经学到的知识,这样的学习能力被称为增量学习的能力。具体来讲,「增量学习的能力就是能够不断地处理现实世界中连续的信息流,在吸收新知识的同时保留甚至整合、优化旧知识的能力。」增量学习(Incremental ...

fengdu78的博客 5714

Incremental learning, incremental backdoor threats 增量学习后门

增量学习后门 Incremental learning, incremental backdoor threats来自 IEEE Transactions on Dependable and Secure Computing

1 551

增量学习-02-Essentials for Class Incremental Learning-CVPR2021

Essentials for Class Incremental Learning-CVPR2021 Poster:https://www.youtube.com/watch?v=B2HJH5HGLPw

qq_40600539的博客 1025

[深度学习论文笔记(增量学习)——Incremental Classifier and Representation Learning

深度学习论文笔记(增量学习)——Incremental Classifier and Representation Learning

m0_37635769的博客 333
上一篇: 张量网络的图结构
下一篇: 卷积神经网络CNN完全指南终极版(一)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值