前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深度学习的类增量学习算法综述

深度学习的类增量学习算法综述

作者头像
算法进阶
发布2023-08-28 17:05:41
1.7K0
发布2023-08-28 17:05:41
举报
文章被收录于专栏:算法进阶

摘要

近年来, 深度学习模型在众多领域取得了广泛成功. 现有的深度学习模型大多部署在静态环境下, 依赖提前收集好 的数据集进行离线训练, 模型一经确定, 便无法进一步更新. 然而, 现实中开放动态的环境往往存在以流形式不断到来的数据, 包括随时间演进不断产生的新类别数据. 因此, 理想的机器学习模型应能够从流式数据中不断学习新类, 从而增强自身的判别能力. 这样的学习范式被称作“类别增量学习”(class-incremental learning), 且近年来已成为机器学习领域的研究热点扩展阅读:机器学习模型迭代方法(Python)

面对流 式数据, 直接使用新类别样本训练模型会使其遗忘旧类别的数据, 造成整体性能的下降. 因此, 设计增量学习模型时, 需确保模 型在学习新类的同时也能够抵抗灾难性遗忘. 本文从机器学习的三个重要方面 (数据层面, 参数层面, 算法层面) 着眼, 总结和 归纳近几年基于深度学习的类别增量学习算法. 此外, 本文还在基准数据集上对 10 种典型算法进行了实验验证, 并从中总结 出适应类别增量学习的一般性规律. 最后, 本文对基于深度学习的类别增量学习算法目前存在的挑战加以分析, 并展望未来的 发展趋势.

背景

近年来, 机器学习方法在众多领域取得了显著 的成效,并被广泛应用到图片分类[1]、聚类[2,3]、图 像检索[4,5]、用户商品推荐[6,7] 等场景中. 传统的机器学习模型要求在训练前取得所有训练样本以 进行离线训练, 并且在训练结束后无法继续更新. 然而, 在开放动态环境中, 训练样本往往以数据流 的形式到来[8] , 或因存储、隐私等问题仅在一段时 间内可以获得[9] . 理想情况下的机器学习模型应 当能够仅利用数据流中的新样本更新模型, 而无需 耗费大量计算资源进行重新训练. 因此, 增量学习1 (incremental learning) 这一概念被提出, 旨在设计具 有持续学习能力的机器学习模型. 面对不断到来 的新数据, 直接使用他们更新模型会引发灾难性遗忘[10,11] (catastrophic forgetting) ——模型在学习新 数据的同时会遗忘以往学得旧数据的模式, 失去对 旧数据的判别能力, 从而导致模型分类性能的急剧 下降. 因此, 如何在模型持续学习新数据的同时抵 抗对旧数据的灾难性遗忘便成为增量学习问题的 研究重点.

真实世界中的场景往往会随时间演进产生新 的类别[12–17] . 例如, 在社交媒体中, 新类型的新闻 事件层出不穷[18,19];在电商平台上, 新类型的商品 会不断涌现[20] . 机器学习模型不断学习新增的类 别无疑会遭受灾难性遗忘. 这种新类别在数据流 中不断到来的增量学习场景被称为类别增量学习 (class-incremental learning). 理想的学习模型应当能 按顺序地学习一系列不断到来的新类, 从而使自身 的判别能力不断增强——这种学习过程和人类学习 新事物的过程存在共性[21,22] . 图1展示了类别增量 学习的训练和测试过程:模型首先在任务 1 上进 行训练, 学习分类鸟和水母. 之后, 需要基于当前模 型分别在任务 2 中学习鹅和北极狐、在任务 3 中 学习狗和螃蟹. 按顺序完成训练后, 模型需要在所 有训练过的类别上进行评估, 一个优秀的类别增量 模型能既学得新类知识, 又不遗忘旧类知识. 在类 别增量学习过程中, 学习新类意味着模型要尽可能 适配新类别的特征, 抵抗灾难性遗忘则要求模型仍 然反映旧类别的特征, 因此二者存在学习过程中的 权衡 (trade-off). 这种权衡最早在人类和鼠类的神 经系统中被研究, 又被称作稳定性-可塑性窘境[23] (stability-plasticity dilemma), 其中稳定性指模型保 持已有知识的能力, 而可塑性指模型学得新知识的能力. 因此, 理想的类别增量学习模型应当既能高 效地学习新类别的知识, 又不遗忘已有类别的旧知 识.

除类别增量学习以外, 依照数据流中新数据 的特征和测试阶段的输入, 增量学习任务还可以 被分为任务增量学习[9,24,25] (task-incremental learning) 和域增量学习[26–28] (domain-incremental learning) 等子类问题. 其中任务增量学习的设定和类别 增量学习非常相似, 二者区别在于, 任务增量学习的 测试阶段会为每一个样本提供额外的任务下标, 模 型只需要在给定任务的标记空间中进行预测, 因而 难度比类别增量学习更小, 从而成为早期增量学习 研究的主要设定. 如图2所示, 任务增量学习和类别 增量学习的训练/测试集设定完全一致, 但类别增量 学习要求模型在测试阶段在所有已知类别中进行 预测, 而任务增量学习则只要求在给定任务的标记 空间中进行预测. 域增量学习则主要关注数据流发 生概念漂移[29–31] (concept drift) 和分布变化[32–34] 的场景:每个增量任务中都包含所有类别, 但不同 增量任务中同一类别的样本分布会发生变化. 如 图2所示, 域增量学习要求模型首先学习真实拍摄 的勺子和床两种类别, 之后学习剪贴画风格的勺子 和床, 两个域之间存在分布变化. 在测试阶段则要 求模型能够对两种不同风格的图片给出准确的预 测. 由于在更新模型后要求模型同时区分新类和旧 类, 类别增量学习问题的研究相比任务增量学习和 域增量学习都更具挑战性, 对于构建真实世界的鲁 棒分类器也更加具有现实意义, 因此成为了近年来 增量学习问题研究的重点和难点. 本文主要着眼于类别增量学习算法, 并对该领域最新研究成果进行 分类和总结.

对于增量学习问题的研究可以追溯到对灾难 性遗忘现象的观察[10,11,35] , 早期文献基于传统机器 学习方法对增量学习问题进行研究[36–39] , 但其大 多仅关注单阶段的增量学习过程, 因此难以应对持 续性、大规模的数据输入, 无法满足现今开放动态 环境场景下的应用需求. 随着机器学习领域的发展 和深度学习的成熟, 基于深度学习的增量学习问题 研究近年来成为机器学习, 数据挖掘等领域主流会 议上的热点. 而类别增量学习因其应用面最广, 难 度最大, 在所有增量学习问题的设定中受到最多关 注. 截至目前仍缺少有关基于深度学习的类别增 量学习算法全面而深入的方法综述, 已有的综述文 献大多着眼于早期的任务增量学习算法[9,40] , 并缺 少在大规模数据集上的验证对比. 其他综述或关 注不同应用场景下的增量学习研究, 文献[19] 主要 关注增量学习算法在自然语言处理领域的应用. 文 献[41] 主要关注增量学习在机器人领域的应用. 文 献[42] 主要从生物学角度对当前增量学习算法进行 分析. 与上述已有综述不同, 本文主要关注基于深 度学习的类别增量学习算法, 更加全面深入地对当 前类别增量学习算法进行划分和综述. 考虑到机器 学习的三个重要层面——数据层面、参数层面和算 法层面, 本文依此对已有的类别增量学习算法进行 分类和总结. 此外, 本文也对 10 种典型的类别增量学习算法在多个基准公开数据集上进行了广泛的 验证和比较. 通过在基准数据集上的实验比对, 本 文观察到, 从数据层面考虑, 进行数据重放可以极大 地提升增量学习模型的性能; 从参数层面考虑, 基 于动态模型结构的类别增量学习算法能够取得当 前最优的性能, 同时也消耗了最多的存储开销; 而 从算法层面考虑的知识蒸馏和滞后调节方法能够 在性能与存储方面折中.

本文的主要贡献如下:

• 基于机器学习的三个重要层面——数据层面、 参数层面和算法层面, 本文依此对已有的基于 深度学习的类别增量学习算法进行分类和总 结, 同时深入分析了不同方法之间的优势与不 足.

• 在图片分类、文本分类等多个基准数据集上对 10 种典型的类别增量学习算法进行了对比评 估. 通过多种评价准则, 在多种数据设定下进 行了比较, 并从存储开销、运行时间、混淆矩 阵、消融实验等多方面对已有方法进行深入对 比分析.

• 讨论了基于深度学习的类别增量学习的主要挑 战和未来研究方向, 从学习场景、数据形式、网 络结构、优化方式、学习范式、知识迁移等角 度对类别增量学习的未来研究方向进行展望.

本文的组织结构如下:第2章介绍相关工作; 第3章给出类别增量学习问题的定义; 第4章从三个 层面对当前基于深度学习的类别增量学习算法进 行分类和概述, 分别对经典和最新的类别增量学习 算法进行了介绍. 第5章对当前类别增量学习的基 准数据集进行总结, 对于 10 种典型的类别增量学习 算法进行系统性的复现, 并在基准数据集上进行了 测试和分析. 除了模型分类性能以外, 还从模型运 行时间、存储开销等多方面分析了不同算法的优劣 势. 最后, 第6章讨论未来增量学习的发展方向并总 结全文.

基于深度学习的类别增量学习算法分类

考虑到机器学习的三个重要层面——数据层 面、参数层面和算法层面, 本文依此对当前的类别 增量学习算法进行分类和总结.

  • 数据层面的类别 增量学习算法主要关注如何利用范例集增广训练 集和如何利用范例集样本约束模型更新过程, 并可 以被细分为数据重放 (data replay) 和数据约束 (data restriction) 两种子类型.
  • 参数层面的类别增量学习 算法主要关注如何从参数重要性对模型进行约束 和如何动态调整模型的网络结构/参数数目, 并可以 被分为参数正则 (parameter regularization) 和动态结 构 (dynamic architecture) 两种子类型.
  • 算法层面的 类别增量学习算法则主要关注如何设计有效的学 习范式以维护模型知识和如何发掘类别增量学习 模型在训练过程中的偏好并进行调节, 并可以被分 为基于知识蒸馏 (knowledge distillation) 和滞后调节 (post tuning) 两种子类型. 本文主要关注以上三个层 面的六种子类型学习算法, 并整理和总结相关的研究内容. 对于类别增量学习的算法的分类如表 1所 示. 接下来, 将按照上述思路对每一种层面的类别 增量学习算法进行总结和回顾.

实验验证

类别增量学习的未来与展望

本章主要从类别增量学习的三个分类角度对 其发展方向进行讨论, 并结合实验章节中的一些结 论, 讨论开放动态环境下类别增量学习方法的发展 方向.

数据层面愈发一般的学习场景:当前的类别增量学习场 景距离真实应用场景依然存在很多额外的限制. 例 如, 要求模型存储一定数量的旧类样本作为范例集、 要求给定增量学习任务的边界以评估参数重要程 度或固定旧模型、在单个任务内要求进行多轮训练 而非在线训练等. 若将类别增量学习算法部署到开 放动态环境中, 则需要研究能够不借助范例集或额 外生成式模型的类别增量学习算法[32]、能够不依 赖任务边界进行增量学习的训练范式[79]、能够完 全在线更新模型的训练技巧[184] 等. 对于不给定任 务边界的增量学习场景, 则可以考虑设计有效地任 务边界检测器, 用于判断数据流是否发生了概念漂 移. 若模型更新完全不能依赖范例集, 则可以考虑 基于无需数据的知识蒸馏方法[185] 从模型中提炼 范例样本. 愈发复杂的数据形式:开放动态环境中, 数 据往往呈现小样本[186]、多模态[187]、无标记[188]、 弱监督[189] 有噪声[190] 等复杂特性. 适应开放动 态环境的类别增量学习算法应当能够鲁棒地应 对复杂环境带来的多样化模型输入. 目前, 已经 有一些工作关注复杂环境下的增量学习问题. 文 献[156,158,191–194] 关注如何改进知识蒸馏方法以将 类别增量学习算法扩展到小样本类别增量学习任 务中. 文献[195] 提出适用于视觉对话生成的多模态 增量学习算法. 文献[196] 旨在设计算法, 利用无标 记样本进行增量表示学习. 文献[197] 关注数据存在 噪声环境下的类别增量学习研究. 对于小样本类 别增量学习场景, 应考虑如何设计有效的预训练手 段[194,198] , 使模型不依赖后续调整就可以获得有效 的特征表示. 对于多模态类别增量学习场景, 则应 当对应地考虑模态间的相互作用和关联, 通过模态 关联性抵抗灾难性遗忘.

参数层面

参数精简的网络结构:当前的类别增量学习 算法往往部署在较短的数据流中, 然而真实应用中 的增量学习模型可能需要部署在移动终端上, 并进 行长期的增量学习和模型更新过程. 使用动态模型结构的类别增量学习算法需要引入额外的模型 存储, 这种额外的存储开销往往会随着增量学习任 务数的增多而线性增长. 因此, 开放动态环境下的 应用需要设计适应长数据流的类别增量学习模型 结构, 并保证整个增量学习过程中模型参数具有平 缓的增长速度. 文献[98,199] 研究了有效替代范例集 的存储方式, 然而目前尚无工作关注如何设计类别 增量学习模型的紧凑表示. 对于模型大小受限的类 别增量学习过程, 应当考虑引入模型压缩[200] 和剪 枝[201–203] 手段, 在不伤害模型判别能力的情况下 改善模型的存储开销. 任务维度的参数优化:当前类别增量学习算 法对于模型参数的优化方式是基于样本维度的, 而 元学习[204,205] (meta-learning) 是一种更高阶的参数 优化方式, 旨在通过学习大量采样出的任务学得模 型优化的一般性方式, 并抽取出适应任务的归纳偏 好. 由于元学习算法能够利用旧任务的学习经验帮 助新任务的学习, 因此在类别增量学习领域具有广 泛的应用前景. 文献[186] 研究了如何借助元学习进 行单阶段类别增量学习. 文献[206] 从梯度优化方面 论证了元学习对增量学习后续任务的帮助. 相似地, 文献[207] 从特征提取角度验证了元学习对增量学 习的有效性. 文献[208] 研究了如何利用元学习辅助 任务增量学习过程. 可通过在增量学习过程中构造 元学习任务[205,209,210] , 将模型在元学习任务中学得 的可泛化的学习能力应用到真实的类别增量学习 任务中.

算法层面

开放世界的学习范式:在开放动态环境下, 模型 应当不仅能学习新类, 更应当拥有检测未知新类的 能力. 在这种场景下, 分类器能够自主地检测和学 习未知新类, 从而实现自动化的学习过程[20] . 检测 新类要求模型具有开放集识别[18] (open-set recognition) 和新类发现[211] (novel class discovery) 的能 力. 其中开放集识别指模型能够在区分已知类的 同时检测数据集中的未知类. 新类发现指模型能够 从多个未知类构成的集合中发掘出不同新类的子 簇. 将以上二者和类别增量学习过程结合, 便实现 了开放世界学习[212] (open-world learning). 目前机 器学习领域正在关注开放世界学习的研究, 包括语 义分割[213] , 人脸检测[214] , 图像分类[20] 等. 若要求 类别增量学习模型应对开放动态环境的输入, 则应 将其与开放集检测模型进行结合, 使模型能够检测 未知类别的输入, 并同时拥有顺序化学习新类的能力[16,17,20,215] . 双向传递的知识迁移:当前基于知识蒸馏的 类别增量学习算法使用旧模型对新模型进行指导, 从而缓解模型在旧类别上的灾难性遗忘. 然而, 很 少有方法关注如何利用旧模型帮助新类别的学习, 这样的学习范式被称作双向知识迁移. 基于零样本 学习[216] (zero-shot learning) 的方法关注如何使旧 知识辅助新任务的学习, 或可对知识的双向传递有 所帮助. 在这方面, Zhou 等[130] 提出了利用增量学 习过程中新类和旧类间的语义相似关系[217,218] 指 导分类器间最优输运[219,220] 的增量学习算法, 实 现了从旧模型到新模型的知识迁移. 若要增强模 型的前向知识迁移能力, 可以考虑不同的预训练手 段[194,221] 和无监督学习[188] 范式, 在模型的初始训 练阶段增强判别能力, 以辅助后续的学习过程.

结论

设计行之有效的类别增量学习算法对于在开 放动态环境下构建鲁棒、可拓展的学习模型具有重 大意义, 并引发了大量关注. 本文主要着眼于基于 深度学习的类别增量学习算法, 并从三方面对当前 已有的研究成果进行了分类和总结. 此外, 本文还 将 10 种不同类型的类别增量学习的算法在基准数 据集上进行了广泛的实验验证, 希望对相关研究人 员提供些许参考。

更多精彩内容请点击:机器学习文章精选!

关注后↓,回复【增量】可直接下载原论文

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-08-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法进阶 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档