IJCAI23 - Continual Learning Tutorial

前言

如果你对这篇文章感兴趣,可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。

本篇 Tutorial 主要介绍了 CL 中的一些基本概念以及一些过往的方法。


Problem Definition

Continual LearningIncremental learning 以及 Lifelong learning 属于同一概念, 其所关心的场景均为「如何在新数据持续到来的情况下更新模型?」;并且由于存储空间和隐私问题,流式数据通常不能被存储。

CL 的整体目标为最小化所有已见任务的期望损失,如下所示:

在这里插入图片描述
CL 又细分为三类( { Y t } \{\mathcal{Y}^t\} {Yt} 表示 t t t 时刻的类别标签集合, P ( Y t ) P(\mathcal{Y}^t) P(Yt) 表示类别分布, P ( X t ) P(\mathcal{X}^t) P(Xt) 表示输入数据分布):

  • Class-Incremental Learning (CIL): { Y t } ⊂ { Y t + 1 } , P ( Y t ) ≠ P ( Y t + 1 ) , P ( X t ) ≠ P ( X t + 1 ) \left\{\mathcal{Y}^t\right\} \subset\left\{\mathcal{Y}^{t+1}\right\},P\left(\mathcal{Y}^t\right) \neq P\left(\mathcal{Y}^{t+1}\right),P\left(\mathcal{X}^t\right) \neq P\left(\mathcal{X}^{t+1}\right) {Yt}{Yt+1},P(Yt)=P(Yt+1),P(Xt)=P(Xt+1)
  • Task-Incremental Learning (TIL): { Y t } ≠ { Y t + 1 } , P ( X t ) ≠ P ( X t + 1 ) \left\{\mathcal{Y}^t\right\} \neq\left\{\mathcal{Y}^{t+1}\right\},P\left(\mathcal{X}^t\right) \neq P\left(\mathcal{X}^{t+1}\right) {Yt}={Yt+1},P(Xt)=P(Xt+1),测试时任务 id ( t ) \text{id}(t) id(t) 已知
  • Domain-Incremental Learning (DIL): { Y t } = { Y t + 1 } , P ( Y t ) = P ( Y t + 1 ) , P ( X t ) ≠ P ( X t + 1 ) \left\{\mathcal{Y}^t\right\} =\left\{\mathcal{Y}^{t+1}\right\},P\left(\mathcal{Y}^t\right) =P\left(\mathcal{Y}^{t+1}\right),P\left(\mathcal{X}^t\right) \neq P\left(\mathcal{X}^{t+1}\right) {Yt}={Yt+1},P(Yt)=P(Yt+1),P(Xt)=P(Xt+1)

在这里插入图片描述

与其它相关领域的区别

Multi-task Learning:(1)同时拿到所有任务的数据;(2)离线训练
在这里插入图片描述
Transfer Learning:(1)只有两个阶段;(2)并且不关注第一阶段,即 Source 的性能
在这里插入图片描述
Meta-Learning:(1)离线训练;(2)不关心 meta-train 的性能
在这里插入图片描述


CL 的一些传统做法

具体方法分类如下:
在这里插入图片描述

Data-Centric Methods

核心思想:保存一部分先前数据,在面对新任务时,可以作为训练损失的正则项 (hosting the data to replay former knowledge when learning new, or exert regularization terms with former data)

保存一部分数据的过往方法:

  • [Welling ICML’09] 计算 Embedding 空间的类中心,选取离类中心近的样本。
  • [Rebuffi et al. CVPR’17] 每个类依次贪心选取样本,使得样本 Embedding 均值逼近类中心。
  • [Shin et al. NIPS’17] [Gao and Liu ICML’23] 使用生成式模型学习每个类的数据分布。

将先前数据作为新任务训练损失正则项的一些方法:

  • [Lopez-Paz and Ranzato NIPS’17] 训练时要求模型不仅在新任务上做好,在旧任务上也要做的比之前好;模型在新任务和旧任务上的损失梯度夹角为正。

一些可能的问题:

  • [Verwimp et al. ICCV’21] Data replay 可能会遭遇 overfitting.
  • [Wu NeurIPS’18] 生成式模型也会出现灾难性遗忘。

Model-Centric Methods

核心思想:调整网络结构,或者识别网络中的重要参数并限制其变化

  • [Kirkpatrick et al. PNAS’17] 训练新任务时,限制模型参数的变化,越重要的参数权重越高

Algorithm-Centric Methods

核心思想:设计一些训练机制避免旧模型的遗忘 (design training mechanisms to prevent the forgetting of old model)

知识蒸馏 (Knowledge Distillation) 的相关方法:

  • [Li et al. TPAMI’17] 将旧模型作为 Teacher,训练时模型不仅要做好当前任务,在过去任务上需要表现得和 Teacher 尽可能相近。

模型纠正 (Model Rectify) 的相关方法:

  • 例如「降低新类输出概率 Logit」和「降低最后一层新类的权重矩阵」。

Trends of CL

最后是 CL 近几年的整体发展趋势:
请添加图片描述


参考资料

  • IJCAI23 - Continual Learning Tutorial
  • PyCIL - A Python Toolbox for Class-Incremental Learning

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DataX及使用

DataX及使用 【一】DataX概述【二】DataX架构原理【1】设计理念【2】框架设计【3】运行流程【4】调度决策思路【5】DataX和Sqoop对比 【三】DataX部署【四】DataX上手【1】使用概述【2】配置文件格式【3】同步Mysql数据到HDFS 【五】DataX整合Springboot 【一】DataX概述 Data…

C++面试宝典【配文档,全方面学习】

原word文档[链接: https://pan.baidu.com/s/1CKnm7vHDmHSDskAgxgZgKA?pwdr4wv 提取码: r4wv 复制这段内容后打开百度网盘手机App,操作更方便哦 --来自百度网盘超级会员v5的分享] 一、C / C基础 1、简述C的内存分区? 一个C、C程序的内存分区主要有5个…

【李沐精读系列】GPT、GPT-2和GPT-3论文精读

论文: GPT:Improving Language Understanding by Generative Pre-Training GTP-2:Language Models are Unsupervised Multitask Learners GPT-3:Language Models are Few-Shot Learners 参考:GPT、GPT-2、GPT-3论文精读…

Spring Boot异常处理和单元测试

1.SpringBoot异常处理 1.1.自定义错误页面 SpringBoot默认的处理异常的机制:SpringBoot 默认的已经提供了一套处理异常的机制。一旦程序中出现了异常 SpringBoot 会向/error 的 url 发送请求。在 springBoot 中提供了一个叫 BasicErrorController 来处理/error 请…

LiveNVR监控流媒体Onvif/RTSP功能-支持云端录像监控视频集中存储录像回看录像计划配置NVR硬件设备录像回看

LiveNVR支持云端录像监控视频集中存储录像回看录像计划配置NVR硬件设备录像回看 1、流媒体服务软件2、录像回看3、查看录像3.1、时间轴视图3.2、列表视图 4、如何分享时间轴录像回看?5、iframe集成示例7、录像计划7、相关问题7.1、录像存储位置如何配置?…

阿里云和腾讯云区别价格表,云服务器费用对比2024年最新

2024年阿里云服务器和腾讯云服务器价格战已经打响,阿里云服务器优惠61元一年起,腾讯云服务器61元一年,2核2G3M、2核4G、4核8G、4核16G、8核16G、16核32G、16核64G等配置价格对比,阿腾云atengyun.com整理阿里云和腾讯云服务器详细配…

京东老矣,尚能饭否?

图片|《冰与火之歌》截图 ©自象限原创 作者丨程心 编辑丨罗辑 从2004年1月,京东正式涉足电商至今,整整二十年过去了。 2024年3月6日,京东发布了2023年第四季度及全年财报。数据显示,2023Q4京东收入3061亿元人民…

FPGA 按键控制串口发送

按键消抖 消抖时间一般为10ms,我使用的板子是ACX720,晶振为50MHZ,20ns为一周期。 状态机 模块设计 设计文件 timescale 1ns / 1ps // // Company: // Engineer: // // Create Date: 2023/01/11 12:18:36 // Design Name: // Module Name…

Effective C++ 学习笔记 条款16 成对使用new和delete时要采取相同形式

以下动作有什么错? std::string *stringArray new std::string[100]; // ... delete stringArray;每件事看起来都井然有序,使用了new,也搭配了对应的delete。但还是有某样东西完全错误:你的程序行为未定义。至少,str…

Flink实时数仓之用户埋点系统(一)

需求分析及框架选型 需求分析数据采集用户行为采集业务数据采集 行为日志分析用户行为日志页面日志启动日志APP在线日志 业务数据分析用户Insert数据用户Update数据 技术选型Nginx配置Flume配置MaxWellHadoopFlink架构图 需求分析 数据采集 用户行为采集 行为数据&#xff1…

LabVIEW智能Modbus监控系统

LabVIEW智能Modbus监控系统 在自动化和信息化迅速发展下,传统的监控系统已无法满足现代工业对于数据通讯和处理的高效率和高可靠性要求。为了解决这一问题,设计了一套基于LabVIEW的智能Modbus监控系统。该系统利用LabVIEW的图形化编程环境和Modbus协议的…

关于汽车E\E架构演进的思考(2)

目录 1.概述 2. 整车通信的限制 3 如何保证融合ECU的功能安全和信息安全 4.小结 1.概述 上篇文章主要聊了当前电子电气架构以及未来电子电气架构的特点,简述了即将要面临的挑战,下面我们继续讲述挑战。 2. 整车通信的限制 下一代架构主要以以太网…