Mine-Distill-Prototypes for Complete Few-Shot Class-Incremental Learning in Image Classification阅读笔记

用于图像分类中完全少镜头类增量学习的 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网络与提出的损失函数L_{base}一起学习;其中L_{CE}为交叉熵损失;cos表示计算余弦距离;x和y为训练样本,以及基础会话对应的类标签;P Dκ为PD网络,P1为基本原型,\varrho为PW网络的参数,g(X)为组合FSL算法输出的logits。此外,PW网络的参数个数只达到N^{1} × d *,本文d *为64。因此,与其他复杂的模块(例如转换器)相比,PW 网络是轻量级的,并且在少样本情况下很容易学习。

       其次,在增量会话的训练过程中,计算PW的平均值来表示基本原型的维度的重要性,称为PWN,记\varrho \bar{}。然后,与PW网络类似,\varrho \bar{}通过对新原型进行点乘法来影响新原型每个维度的学习率。因此,对应于基本原型重要维度的新原型的维度可以被赋予较大的学习率,以便这些维度可以快速更新为超平面的合适位置。最后,基本原型的重要维度和新原型的相应维度可以帮助区分基类和新类。请注意,PW 和 PD 网络的参数在增量会话中是固定的,并且只更新新原型的参数。

策略框架:

输入:          学习良好的编码器f;

第t个会话数据D_{T}^{t} = (X_{T}, YT);

学习率α;

    基础会话(t = 1):循环                                                                               

基于公式2计算P1;

基于P1和公式4计算L_{base};

用学习率α更新κ和\varrho;

                       增量会话(t > 1):循环:

基于公式2计算Pt;

通过连接P^{old}P_{t}\cdot \varrho获得P^{new};

基于Pnew计算L_{CE};

用学习率α更新Pt的参数;

实现过程

一般增量学习过程

总体框架

N t 表示会话 t 中的类数。d 是编码器输出的维度。在每个增量会话中,原型由旧原型和新颖的原型组成。L_{CE}交叉熵损失

基础会话:首先,利用S1的训练样本,通过最小化交叉熵损失来学习编码器f和全连接层。然后,通过计算特征的平均值得到第c类p_{c}^{t}在第t个会话(t = 1)的原型。只有编码器使用基类样本进行训练,并且在基础会话中不需要额外的参数来更新。

增量会话:第 t 个会话 (t > 1) 中的第 c 类 p_{c}^{t} 的原型由 (1) 获得。因此,第 t 个会话 Pt = [p_{t}^{1},., p_{t}^{c}] 得到。然后,当前会话p^{new} = [p^{old}p^{t}]的原型,其中p^{old}由所有遇到的类组成。例如,当 t =3 时,p^{old} = [p^{1}p^{2}]。此外,余弦距离用于通过测量 p^{new} 和样本特征之间的相似性来对样本进行分类,交叉熵损失用于微调新原型的值。

本文献增量学习框架

总体框架

       蓝色虚线框表示组合FSL算法的示例结构。编码器由组合 FSL 算法学习。输入原型由 (1) 获得。d∗ 是 PD 网络输出的维度。在基础会话中,PD 网络和 PW 网络一起学习。在增量会话中,PW 和 PD 网络的参数是固定的,只更新新原型的参数。

       在基础会话中,利用S1的训练样本学习PD和PW网络。PD网络提取原型特征到一个较低的维度空间中。PW 网络输出代表基本原型重要性的 PW。

       在增量会话中,PD 和 PW 网络是固定的,只有新原型的值使用 S^{t} (t >1) 的训练样本进行更新。在训练过程中,通过计算PW的平均值得到PW-novel (PWN),影响新原型每个维度的学习率。在每个会话中,余弦距离用于识别样本。

       此外,为了确保提取的特征能够提高分类精度,通过最小化组合FSL算法(用全连通层对样本进行分类)获得的logits和余弦距离之间的Kullback–Leibler(KL)分歧,利用提取损失函数L^{Res}(也就是计算KL散度)来学习PD网络。这是因为完全连接层是与编码器一起学习的,这减少了不合适信道的影响。

创新点

为了克服 C-FSCIL 中的上述挑战,提出了挖掘蒸馏原型 (MDP) 算法,该算法由两部分组成:

1)原型蒸馏(PD)网络 (目的:消除那些无效的特征通道)

2)原型权重(PW)网络和原型选择(PS)训练策略。

PD 网络能够利用从 (小样本学习)FSL 算法获得的结果来指导 PD 网络的学习来消除无效特征。

本博客图片均来自此文献

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值