【AAAI 2024】M2SD:通过特征空间预构建策略重塑小样本类增量学习

一、文章介绍

小样本类增量学习(Few-shot Class Incremental Learning, FSCIL)代表了机器学习领域中一个高度挑战性的议题,其核心目标在于能够在仅有限的数据支持下识别新类别,同时保留对已学习类别的认知,而无须重新训练整个模型。这一目标在模型需适应新类别的同时使用有限训练数据的情况下尤为艰巨。

针对上述挑战,我们提出了一种创新性策略,称为多重混合自蒸馏(Multiple Mixing Self-Distillation, M2SD)。该策略特别设计了一种双分支架构,旨在有效扩展特征空间,以纳入新的类别。更进一步,我们引入了一种特征增强机制,通过自蒸馏过程将增强的特征反馈给基础网络,从而在引入新类别的同时,显著提升模型的分类性能。训练阶段完成后,系统将仅保留主网络部分,用于对新类别实例进行准确分类,这一策略确保了在不损害模型效率的条件下,实现对新旧类别的高效识别。

图-1 与CIFAR100、CUB200和miniImageNet这三个主流基准数据集上的SOTA工作进行了比较。Session 0表示基础训练阶段,Session 1表示第一次增量过程,后续以此类推。

二、出发点

小样本类增量学习任务核心面临的挑战是如何同时应对小样本学习中的过拟合问题(Overfitting)以及类增量学习中的灾难性遗忘问题(Catastrophic forgetting),这两个问题相互交织,共同影响模型的学习效率和最终性能。

小样本学习场景下,由于数据极度有限,模型更易学习到样本的特异性,增加了过拟合的风险。引入类增量学习需求时,即模型需不断学习新类别数据,使过拟合问题更加复杂,因模型既要从少量数据中学习新知识,又要保持对旧知识的记忆,这在有限数据情境下易导致新数据过拟合。同时,类增量学习中的灾难性遗忘问题也特别明显。尝试学习新类别少量数据时,新信息可能干扰旧类别信息,导致先前学习知识的遗忘。因此,即便模型在新类别数据上适应良好,过拟合和灾难性遗忘的双重影响下,其整体性能可能下降,无法保持多类别识别的一致性。

针对以上的挑战,大量现有研究通过在类增量过程中引入更加严格的正则化,致力于微调新模型参数以最小化对原始模型的影响,从而在学习新类知识的同时,最大程度保留旧类知识。然而,与这些传统正则化方法不同的是,FACT(Forward Compatible Few-Shot Class-Incremental Learning, 2022CVPR)理念提出了一种前瞻性的解决方案,即通过为新数据的到来做好准备,类似于软件更新中的向前兼容性,着重于在小样本类增量学习的基础学习阶段(Base Session)构建一个适用于后续增量学习阶段(Incremental Sessions)的特征空间。

受到FACT理念的启发,我们提出了一种创新的方法------多重混合自蒸馏(Multiple Mixing Self-Distillation for Few-shot Class-Incremental Learning, M2SD),旨在为类增量学习阶段准备一个具有高度可扩展性和包容性的特征空间。整体思想可以参考图-2。

图-2 这是一个示意图,展示了我们的方法在FSCIL中的提升效果。我们的方法可以显著减少类内距离,增加类间距离,并为添加的类别提供更好的间隔。

M2SD方法通过利用多尺度特征提取和融合技术,为每个数据实例提取并合成不同尺度的特征,以全面捕捉实例的多维特征。这种特征的综合相较于以往研究中单一尺度的特征,使得特征模块能够更深入地理解实例的多方面特性,进而提高模型的包容性。进一步地,我们引入了一种双分支"虚拟类"机制,以增强特征提取模块的可扩展性。通过对双分支"虚拟类"的优化,模型能够预见并适应潜在的新类别,从而提前为未来可能加入的新类别预留特征空间。这一策略不仅提高了模型对新类别的适应能力,也为持续的类增量学习提供了坚实的基础,确保了模型在面对新旧知识的挑战时的鲁棒性和灵活性。

三、算法框架

方法的整体框架如图-3所示。我们提出的方法分为三个关键阶段,其中前两个阶段集中于Base Session,而第三个阶段则专注于Incremental Sessions。本方法的核心在于第二阶段,它是整个学习过程的关键环节。本文将着重介绍这一阶段的细节和实现,展示其在整个学习框架中扮演的核心角色。

图-3 方法框架分为两个主要部分:Base session和Incremental sessions。Base session分为两个阶段。一个是通用模型预训练阶段(General model pre-trainining),另一个是M2SD阶段,由两个自蒸馏模块组成。Incremental sessions只有一个阶段,即分类器更新(Classifter updating)。

3.1 多分支虚拟类别混合蒸馏(Multi Branch Virtual Classes Mixing Distillation)

受到以往研究的启发,我们采用了一种创新的方法,通过引入多实例构建来自不同集成视角的"虚拟类",旨在为未来新类别的加入预留特征空间。在我们的多分支框架中,使用的是Mixup和CutMix,以实现不同的目标。

Mixup通过对配对实例进行线性插值,生成"虚拟"实例,重点在于创造较大的多样性,这一点对于"虚拟类"的构建至关重要(公式-1)。此方法通过混合不同实例的特征,促进模型学习到更泛化的特征表示,为新类别的接入提供了灵活的特征空间。与Mixup相辅相成,CutMix采用了剪切和粘贴配对图像的方式,更加注重于生成具有现实感的实例。这种方法通过在图像中直接融合不同类别的局部区域,模拟了更加复杂的现实世界场景,从而增强了模型对于真实性的捕捉能力(公式-2)。

为了适应增量学习阶段中新类别的引入,我们对这两种方法产生的多样化和真实化特征进行了蒸馏。我们认识到,并非所有"虚拟实例"都能完美符合我们的初衷,这种不确定性为方法引入了随机性,增强了模型的鲁棒性,使其在面对不断变化的学习环境时,能够更加灵活和适应性强。

与其他采用"虚拟类"方法的研究相似,我们的策略是通过(公式-4)强制模型适应"虚拟类"的分布。虽然这些"虚拟类"信息在后续的增量过程中并不会被直接利用,但是有效地促进了模型对前所未见类型的适应性,这正是增量过程的关键特性之一。

通过这种设计,我们不仅增强了模型对新类别的快速适应能力,而且还为模型探索未知特征空间提供了一种机制。这种前瞻性的学习策略使得模型在面对新的增量过程时,能够更好地理解和适应新引入的类别,从而在维持已有知识的同时,有效地拓展其认识范围。

我们进一步要求从两个"虚拟类"中获得的分布保持一致性,以确保模型在由多重混合增强技术构建的"虚拟类"空间中表现出稳定性和一致性。为了实现这一目标,我们采用了Kullback-Leibler散度(KL散度)(公式-5)作为衡量两个分布相似度的工具。

通过这种方式,我们确保了模型在处理由Mixup和CutMix等技术生成的复杂"虚拟类"时,能够以一种一致的方式理解和适应这些"虚拟类"的分布。KL散度的使用,不仅帮助模型在"虚拟类"空间中维持分布的一致性,还促进了模型在遇到新的、未知的类别时,能够更加平滑和有效地进行适应和学习。这种方法的引入,进一步提升了我们模型的泛化能力和稳定性,为处理增量学习中的新类别挑战提供了强有力的支持。

3.2 自蒸馏与注意力增强(Self-Distillation with Attention Enhancement)

为了捕获并融合网络在不同阶段表现出的特征,从而获取更加具有辨识力的特征表示,我们设计了一个特征增强模块。该模块的主要职责是辅助网络进行自蒸馏操作,通过这种方式,它能够有效地细化和提升网络对信息的捕获能力。模块设计如(公式-6)所示。

(1)特征增强模块设计初衷:

  • 基于深度学习领域中自蒸馏技术的核心理念,即利用模型自身的输出来指导其学习过程,从而实现知识的内部传递和优化。通过这种内部蒸馏机制,我们的模型能够在不同层次上自我优化,进一步提炼和加强那些对后续任务,如类别识别等,至关重要的特征。
  • 特征增强模块不仅加深了网络对现有特征的理解,还为网络提供了一种有效的方式来探索和利用那些在初始训练阶段可能未被充分激活或利用的潜在特征,从而大幅度提升了模型的表现力和泛化能力。

(2)特征增强模块整体流程:

  • 首先,采用注意力机制来增强从提取的特征,目的是生成高质量的特征表示。这一步骤通过聚焦于输入特征中最具信息量的部分,有效地提升了特征的区分能力和质量。(公式-7)
  • 接着,引入多尺度特征融合技术,特别是采用特征金字塔网络(FPN)策略,来自注意力增强的"虚拟类"特征中提取更丰富的语义信息。通过这种方式,模型能够在不同的尺度上捕获细节和上下文信息,从而获得一个更全面和深入的特征理解。(公式-8)
  • 最后,使用一个自蒸馏模块,旨在使用这些增强特征来与原始网络特征进行对齐。这个过程通过比较和调整增强特征与原有特征之间的差异,促进了特征表示的一致性和稳定性,同时提高了模型对新信息的适应能力和泛化性。(公式-10)

整个流程体现了一种从特征增强到深入语义提取,再到特征对齐与优化的综合策略,旨在不断提升模型对复杂数据的处理能力,确保在面对新类别或场景时能够展现出更强的性能和适应性。

(3)特征增强模块实现细节:

  • 注意力增强策略 :为了最大化地挖掘和利用输入特征信息,我们采用了注意力机制对中的每个特征块进行增强处理。这个过程不仅能够加强模型对于关键信息的捕捉能力,还有助于有效地筛选出并减少那些与当前任务不相关的信息。通过这种方式,我们确保了模型能够更加聚焦于那些对最终任务影响最大的特征,从而提高了整体的处理效率和性能。

具体地,对于第一层和最后一层,我们采用了多头自注意力(Multi-Headed Self-Attention, MHSA)机制,而对于中间的第二层和第三层,则引入了坐标注意力(Coordinate Attention, CA)机制。这样的设计策略是基于以下考虑:

  • 在第一个特征块中应用MHSA,旨在为模型提供一个坚实的基础,这一点在处理复杂的输入数据时尤其重要。这种强大的基础支持是处理"虚拟类"特性时的关键,因为它为后续的特征块处理提供了有效的起点。
  • 对于第二层和第三层,通过使用CA,模型能够选择性地关注特征图中的不同空间位置,补充了"虚拟类"在空间细节方面的潜在缺陷。
  • 最后,第四个块再次采用MHSA,这有助于进一步精炼和整合之前块中学习到的特征,确保了模型对信息的深入理解和高效利用。

通过这种分层次和针对性的注意力增强策略,我们得到了经过优化处理的特征,其中代表特征块的序号。这种方法有效地强化了模型对重要信息的捕捉能力,同时减少了不必要信息的干扰,为处理复杂和多变的"虚拟类"问题提供了强有力的支持。

  • 特征融合策略:为了有效地对齐并整合通过注意力机制增强后的特征,同时充分利用"虚拟类"特征所提供的多尺度信息,我们采用了BiFPN(Bidirectional Feature Pyramid Network)作为我们的特征融合架构。BiFPN通过加强特征之间的信息流动,不仅提高了不同层次特征的互操作性,还增强了模型对于复杂模式的捕获能力。这种方法的引入,使我们的模型能够更深层次地理解和利用"虚拟类"特征的丰富语义信息,从而在处理高度复杂的数据时展现出更加卓越的性能。

在我们的模型中, 代表了经过注意力机制增强后特征表示,其中指的是对应于第个特征块。为了从这些精细化的特征表示中预测出结果,我们接入了一个临时分类器。这个步骤是整个流程中的关键环节,它使模型能够有效地利用经过精心处理和增强的特征,进而做出准确的预测。通过这种设计,我们确保了模型在面对复杂数据时的强大性能和高度的适应性。

  • 注意力转移损失机制 :其主要目的是促进信息的蒸馏过程,具体而言,是在原始激活的注意力图与通过特征增强模块生成的多尺度注意力增强后的激活图之间进行信息传递。这种方法的引入,不仅增强了模型对细节和上下文信息的捕获能力,而且通过精确地调整和优化注意力焦点,显著提升了模型整体的性能和效率。注意力转移损失的应用,确保了模型在学习过程中能够更加聚焦于关键特征,从而在处理复杂场景和任务时表现出更高的准确度和鲁棒性。

其中代表从输入特征中计算得到的注意力图。值得注意的是,我们采用的损失函数由两个主要部分构成:第一部分基于模型输出与通过特征融合得到的软标签之间间的KL散度。这一部分旨在优化模型输出,使其尽可能接近目标分布,从而提升预测的准确性。第二部分专注于衡量经过注意力增强的特征图 与""特征图之间的注意力图差异。这部分损失的目的是调整模型对特征的注意力分布,确保模型能够有效地捕捉和利用关键信息。表示注意力图的总数,通过这种方式,模型的训练过程中不仅关注于提高预测的精度,同时也在学习如何更好地关注于数据中的重要特征,以提高整体的表现力和泛化能力。

最终,我们第二阶段的损失函数如公式-11:

四、实验

4.1 分类实验

在我们的研究中,我们主要将基于知识蒸馏的方法与其他领先技术(SOTA)进行了对比分析。我们的实验结果涵盖了三个主要数据集,结果汇总展示在图-1中。这些结果明显表明,我们提出的方法在性能上超越了当前的SOTA方法。具体而言,对于CUB200数据集,我们的方法在各个阶段的平均性能提升超过了2.0%。在CIFAR100数据集上,我们实现了平均超过2.1%的性能提升。特别是在miniImageNet数据集上,我们的方法以平均超过SOTA方法3.2%的显著优势表现最为突出。

表-1 详细列出了我们的方法与先前研究在miniImageNet数据集上各个session表现的比较。其中,三种方法的结果是基于我们自己复现的实现获得的,而其他方法的数据则直接引用自相应研究的发表文章。

4.2 可视化分析

图-4 两个t-SNE的距离坐标尺度是相同的。a部分是基线方法的增量结果。基线方法使用交叉熵损失来训练整个Base session,然后Incremental Sessions使用我们相同的分类器更新策略。b部分是我们方法的增量结果。

在我们的分析中,我们采用了t-SNE来可视化特征空间的分布,确保了两个t-SNE图的距离坐标尺度保持一致。具体地:

  • 在Part(a)中,我们展示了采用基线方法的增量学习结果。该基线方法在整个Base session中使用交叉熵损失进行训练,并在随后的Incremental Sessions中采用了与我们方法相同的分类器更新策略。
  • Part(b)则展示了我们方法的增量学习结果,提供了一个直观的对比,展现了我们的方法如何优化和改进特征空间的分布。

通过这种对比,我们能够清楚地展示我们的方法相较于传统基线方法在增量学习任务上的优势,特别是在特征表示和类别分离方面的显著提升。这不仅证明了我们方法的有效性,也强调了其在处理复杂学习任务时的实用价值。

表-2 在基于特征向量的分析中,我们的方法相较于基线方法实现了显著的性能改善:平均类内距离降低了27%,同时平均类间距离提高了22%。

在基于特征向量的分析中,我们的方法相较于基线方法实现了显著的性能改善:平均类内距离降低了27%,同时平均类间距离提高了22%。这一结果不仅展示了我们方法在增强模型区分不同类别能力方面的有效性,也突出了其在优化特征表示以促进更好的类别分隔上的优势。通过减少类内差异同时扩大类间差异,我们的方法显著提升了模型的泛化能力和分类性能,证明了其在处理高度挑战性的学习任务中的实用价值和优越性。

4.3 消融实验

五、总结与展望

为了有效应对小样本类增量学习问题,我们的方法首先引入了双分支虚拟类蒸馏策略,旨在扩展特征空间,以便它能够同时容纳现有的类别及未来可能加入的类别。我们通过数值分析和视觉化手段验证了这一策略的有效性。进一步地,我们采纳了特征增强和自我蒸馏技术,以充分挖掘"虚拟类"特征的潜力并提升特征空间的兼容性。这些技术共同作用,使我们能够构建出适应FSCIL挑战的特征空间。

● 论文标题:

M2SD: Multiple Mixing Self-Distillation for Few-Shot Class-Incremental Learning

● 论文作者:

林今豪、吴梓恒、林炜丰、黄俊、罗荣华****

相关推荐
岁月如歌,青春不败20 分钟前
HMSC联合物种分布模型
开发语言·人工智能·python·深度学习·r语言
TANGLONG22221 分钟前
【初阶数据结构与算法】八大排序之非递归系列( 快排(使用栈或队列实现)、归并排序)
java·c语言·数据结构·c++·算法·蓝桥杯·排序算法
不想当程序猿_23 分钟前
【蓝桥杯每日一题】与或异或——DFS
c++·算法·蓝桥杯·深度优先
就爱学编程34 分钟前
力扣刷题:单链表OJ篇(下)
算法·leetcode·职场和发展
小白—人工智能43 分钟前
有一个4*5的矩阵如下,要求编写程序计算总和与平均值,并找出其中值最大的那个元素输出,以及其所在的行号和列号。
数据结构·python·算法·矩阵
海域云赵从友1 小时前
香港 GPU 服务器托管引领 AI 创新,助力 AI 发展
运维·服务器·人工智能
四口鲸鱼爱吃盐1 小时前
Pytorch | 利用GRA针对CIFAR10上的ResNet分类器进行对抗攻击
人工智能·pytorch·python·深度学习·计算机视觉
蓝天星空1 小时前
制作一个类似ChatGPT的AI对话网站,模型能力使用ChatGPT
人工智能
汤姆和佩琦1 小时前
24-12-28-pytorch深度学习中音频I/O 中遇到的问题汇总
人工智能·pytorch·python·深度学习·音视频·i/o
邂逅岁月1 小时前
滑不动窗口的秘密—— “滑动窗口“算法 (Java版)
算法·面试·求职招聘·创业创新·刷题