用于图像分类中完全少镜头类增量学习的 Mine-Distill-Prototype
补充知识:
C-FSCIL: 当基类样本和新类样本都稀缺时,逐步识别新类。它被称为完整的少镜头CIL (C-FSCIL)
CIL: 类增量学习
pipeline 通常指的是数据处理或计算机程序流程中的一系列处理步骤,每个步骤都依次处理数据并将其传递给下一个步骤。这些步骤可以是数据预处理、特征提取、模型训练、评估等。Pipeline的目的是将复杂的任务分解为多个小任务,从而使整个流程更加可控和可理解,并且可以更方便地对各个步骤进行优化和调试。
base prototypes 通常是指用于存储先前学习过的知识和经验的基础模型或原型。
probability vector 可以用来表示不同类别的视觉特征的概率分布。每个类别可以用一个概率向量来表示,其中每个元素表示属于该类别的概率
novel prototypes 是指在增量学习中,用于表示新任务或新数据的新型原型或模型。
concatenate 连接
algorithm 算法
parameter need to be updated 需要更新参数
“轻量级”通常指的是某种技术、算法、模型或系统具有较小的计算量、存储需求或参数数量等特征,从而能够在资源受限的环境下高效地运行。
Kullback-Leibler(KL)通常指的是Kullback-Leibler散度,也称为KL距离、KL散度或相对熵。 KL散度是一种用于度量两个概率分布之间差异的测量方法。
KL散度是一种非对称的测量方法,它测量了两个概率分布之间的差异,其中一个分布被认为是“真实”分布,另一个分布是用来近似真实分布的分布。KL散度的值可以解释为,用来近似真实分布的分布与真实分布之间的信息损失度量。
logits 是代表每个类别的实数值向量
class-pooling layer(类池层)例如,在一个多类别分类问题中,假设我们的神经网络有N个类别,最后一个卷积层的特征图大小为H x W x C,其中H和W分别表示特征图的高和宽,C表示通道数,即特征图中的特征数量。那么,class-pooling layer会将特征图沿着通道维度分成N个部分,对于每个部分取最大值,最终得到一个大小为N的向量,表示图像在每个类别上的得分或概率。这个向量可以进一步用于计算损失函数和做出分类决策。
超平面(hyperplane)是指在n维空间中的一个n-1维子空间,即由n-1个维度的线性方程组成的集合。换句话说,超平面是由一组线性方程描述的平面,它将n维空间划分成两个半空间。
核心思想
PD网络
PD网络由三个1 × 1卷积层和ReLU激活函数组成。输入的维度从 512 减少到 64。
PW网络
由所提出的类池层和完全连接层组成。类池层通过计算每个维度的N1个类的平均值来输出平均原型,其中N1是基本会话中的类的数量。全连接层输出表示基本原型中每个维度的重要性的PW。然后,为了确保PW的大值代表基本原型的重要尺寸,对PW和基本原型进行点相乘。这是因为在用于快速调整训练样本的训练过程中,重要维度中的值将提供比小值更大的梯度。
PS训练策略
PS 训练策略分为两个步骤。
首先,在基础会话的训练过程中,PD网络和PW网络与提出的损失函数一起学习;其中为交叉熵损失;cos表示计算余弦距离;x和y为训练样本,以及基础会话对应的类标签;P Dκ为PD网络,P1为基本原型,为PW网络的参数,g(X)为组合FSL算法输出的logits。此外,PW网络的参数个数只达到 × d *,本文d *为64。因此,与其他复杂的模块(例如转换器)相比,PW 网络是轻量级的,并且在少样本情况下很容易学习。
其次,在增量会话的训练过程中,计算PW的平均值来表示基本原型的维度的重要性,称为PWN,记。然后,与PW网络类似,通过对新原型进行点乘法来影响新原型每个维度的学习率。因此,对应于基本原型重要维度的新原型的维度可以被赋予较大的学习率,以便这些维度可以快速更新为超平面的合适位置。最后,基本原型的重要维度和新原型的相应维度可以帮助区分基类和新类。请注意,PW 和 PD 网络的参数在增量会话中是固定的,并且只更新新原型的参数。
策略框架:
输入: 学习良好的编码器f;
第t个会话数据 = (, YT);
学习率α;
基础会话(t = 1):循环
基于公式2计算P1;
基于P1和公式4计算;
用学习率α更新κ和;
增量会话(t > 1):循环:
基于公式2计算Pt;
通过连接和获得;
基于Pnew计算;
用学习率α更新Pt的参数;
实现过程
一般增量学习过程
N t 表示会话 t 中的类数。d 是编码器输出的维度。在每个增量会话中,原型由旧原型和新颖的原型组成。交叉熵损失
基础会话:首先,利用S1的训练样本,通过最小化交叉熵损失来学习编码器f和全连接层。然后,通过计算特征的平均值得到第c类在第t个会话(t = 1)的原型。只有编码器使用基类样本进行训练,并且在基础会话中不需要额外的参数来更新。
增量会话:第 t 个会话 (t > 1) 中的第 c 类 的原型由 (1) 获得。因此,第 t 个会话 Pt = [,., ] 得到。然后,当前会话 = []的原型,其中由所有遇到的类组成。例如,当 t =3 时, = []。此外,余弦距离用于通过测量 和样本特征之间的相似性来对样本进行分类,交叉熵损失用于微调新原型的值。
本文献增量学习框架
蓝色虚线框表示组合FSL算法的示例结构。编码器由组合 FSL 算法学习。输入原型由 (1) 获得。d∗ 是 PD 网络输出的维度。在基础会话中,PD 网络和 PW 网络一起学习。在增量会话中,PW 和 PD 网络的参数是固定的,只更新新原型的参数。
在基础会话中,利用S1的训练样本学习PD和PW网络。PD网络提取原型和特征到一个较低的维度空间中。PW 网络输出代表基本原型重要性的 PW。
在增量会话中,PD 和 PW 网络是固定的,只有新原型的值使用 (t >1) 的训练样本进行更新。在训练过程中,通过计算PW的平均值得到PW-novel (PWN),影响新原型每个维度的学习率。在每个会话中,余弦距离用于识别样本。
此外,为了确保提取的特征能够提高分类精度,通过最小化组合FSL算法(用全连通层对样本进行分类)获得的logits和余弦距离之间的Kullback–Leibler(KL)分歧,利用提取损失函数(也就是计算KL散度)来学习PD网络。这是因为完全连接层是与编码器一起学习的,这减少了不合适信道的影响。
创新点
为了克服 C-FSCIL 中的上述挑战,提出了挖掘蒸馏原型 (MDP) 算法,该算法由两部分组成:
1)原型蒸馏(PD)网络 (目的:消除那些无效的特征通道)
2)原型权重(PW)网络和原型选择(PS)训练策略。
PD 网络能够利用从 (小样本学习)FSL 算法获得的结果来指导 PD 网络的学习来消除无效特征。
本博客图片均来自此文献