论文解读:Supervised Masked Knowledge Distillation for Few-Shot Transformers

文章汇总

存在的问题

1.ViT在训练集较小的数据集过拟合。
2.自监督学习和有监督学习这两个学习目标是相互冲突的,在训练中很难平衡。因此,如何有效地利用自监督学习的优势来缓解监督训练的过拟合问题仍然是一个挑战。

解决办法

利用图像中的多尺度信息(包括全局[cls]令牌和局部[patch]令牌)来制定学习目标,

流程解读

image.png
随机挑选同类的两个图像 x , y ∼ I c x,y \sim I^c x,yIc(值得注意的是 x , y x,y x,y有可能相同,但流程依旧),并为它们每个生成一个视图。将 x ′ , y ′ x',y' x,y分别表示为图像 x , y x,y x,y生成的增强视图。 x ′ x' x上应用额外的随机patch进行mask,并将产生的损坏视图表示为 x ^ ′ \hat x' x^ x ^ ′ , y ′ \hat x',y' x^,y分别作student和teacher。之后应该是先进行MIN,再送入VIT,只不过没有画出。

CLS级别上的损失

就是两张图片得到的CLS做损失计算,其中 H ( x , y ) = − x l o g   y H(x,y)=-xlog\ y H(x,y)=xlog y
image.png

Patch级别上的损失

对于teacher中的每个patch: f k t f^t_k fkt,都通过 k + k^+ k+相似度公式计算在student最相似的patch: f k + s f^s_{k^+} fk+s
image.png
patch: f k + s f^s_{k^+} fk+s有两种情况:
(1)patch: f k + s f^s_{k^+} fk+s未被mask掉,则patch f k + s f^s_{k^+} fk+s的token表示为第 k + k^+ k+个[patch]token,此时的目的是让训练的模型能够关注图像本地的特征。
(2)patch: f k + s f^s_{k^+} fk+s被mask掉,则patch f k + s f^s_{k^+} fk+s的token表示用MIN(预训练任务,消融实验中作者提及过)重建的特征,这次的目的是让训练的模型能够有重建被mask掉的patch的特征的能力。
image.png
总损失为 L = L [ c l s ] + λ L [ p a t c h ] L=L_{[cls]}+\lambda L_{[patch]} L=L[cls]+λL[patch]

对一些公式的解释

x ^ = { x ^ i } i = 1 N = { ( 1 − m i ) x i + m i e [ M A S K ] } i = 1 N \hat x=\{\hat x_i\}^{N}_{i=1}=\{(1-m_i)x_i+m_ie_{[MASK]}\}^N_{i=1} x^={x^i}i=1N={(1mi)xi+mie[MASK]}i=1N这里 m i = 0 / 1 m_i=0/1 mi=0/1;当 m i = 0 m_i=0 mi=0时,patch x i x_i xi保留为原特征;当 m i = 1 m_i=1 mi=1时,patch x i x_i xi为mask掉的特征 e [ M A S K ] e_{[MASK]} e[MASK]

摘要

Vision transformer, ViTs 通过捕获局部特征之间的远程依赖关系,在许多数据丰富的计算机视觉任务中获得了令人印象深刻的性能。然而,在只有少量标记数据的小数据集上的few-shot learning (FSL)设置下,由于缺乏类似cnn的归纳偏差,ViT倾向于过拟合并遭受严重的性能下降。以前在FSL中的工作要么通过帮助自监督辅助损失,要么通过在监督设置下灵巧地使用标签信息来避免这一问题。但自我监督和被监督的少样本transformer之间的差距仍然没有填补。受自监督知识蒸馏和掩膜图像建模(MIM)最新进展的启发,我们提出了一种新的基于标签信息的自蒸馏框架的监督掩膜知识蒸馏模型(SMKD)。与以往的自监督方法相比,我们允许对类和补丁令牌进行类内知识蒸馏,并引入了跨类内图像的掩码补丁令牌重建的挑战性任务。在4个小样本分类基准数据集上的实验结果表明,该方法以简单的设计大大优于以往的分类方法,达到了一个新的起点。详细的消融研究证实了我们模型的每个组成部分的有效性。本文的代码可以在这里找到:https://github.com/HL-hanlin/SMKD

1. 介绍

近年来,Vision transformer, ViTs [19]作为卷积神经网络(Convolutional Neural Networks, cnn)[35]的竞争替代品出现,并在许多视觉任务中取得了令人印象深刻的表现,包括图像分类[19,45,67,74]、目标检测[5,13,30 - 32,90]和目标分割[57,63]。与通过固定接受域的卷积核引入归纳偏置的cnn相比[41],ViT的注意力层级允许它对全局令牌关系建模,以捕获远程令牌依赖关系。然而,这种灵活性也是有代价的:ViT需要大量数据,它需要纯粹从数据中学习令牌依赖关系。这一特性往往容易导致训练集较小的数据集过拟合,从而导致严重的泛化性能下降[42,44]。因此,我们有动力研究如何使vit在这些小数据集上泛化得很好,特别是在few-shot learning (FSL)设置下[23,46,70],其目的是在测试时仅从每个新类别的少数(例如一个或五个)标记样本中识别未见过的新实例。
现有的大多数方法都使用各种正则化来缓解少样本transformer的过拟合问题[17]。例如,一些作品以较弱[36]、较软[49]的方式利用标签信息,或者通过补丁级监督有效地利用标签信息[17]。然而,这些模型通常设计复杂的学习目标。
另一方面,自蒸馏技术[7,11],特别是最近的掩膜自蒸馏[33,52,88],它将从未损坏的图像中学习的知识提取到从掩膜图像中预测的知识,已经在各个领域的自监督变形器中引领了一种新兴趋势[18,76]。受这种成功的启发,FSL中最近的研究尝试通过辅助损失将自监督的借口任务纳入标准的监督学习中[44,50,53],或者采用自监督预训练、监督训练两阶段框架来训练few-shot Transformer [22,37]。与传统的监督方法相比,自我监督可以学习到较少的对基类的偏见表示,这通常会导致对新类[47]有更好的泛化能力。然而,自我监督和监督这两个学习目标是相互冲突的,在训练中很难平衡。因此,如何有效地利用自监督学习的优势来缓解监督训练的过拟合问题仍然是一个挑战。
image.png
图1所示。本文所提出的方法与现有的其他方法进行了比较。我们的模型通过将掩模知识蒸馏框架扩展到监督设置中,并对类内图像强制对齐[cls]和相应的[patch]令牌,减轻了few-shot Transformer的过拟合问题。
在这项工作中,我们提出了一种新的针对少样本transformer的监督屏蔽知识蒸馏框架(SMKD),该框架通过将自监督屏蔽知识蒸馏框架自然扩展到监督设置(如图1所示)来处理上述挑战。与仅利用全局图像特征进行训练的监督对比学习[39]不同,我们利用图像中的多尺度信息(包括全局[cls]令牌和局部[patch]令牌)来制定学习目标,这在最近的自监督Transformer方法中已被证明是有效的[33,88]。对于全局[cls]令牌,我们可以简单地最大化类内图像的相似性。然而,制定局部[补丁]令牌的学习目标是非常重要和具有挑战性的,因为我们没有真实的补丁级注释。为了解决这个问题,我们建议使用交叉注意来估计跨类内图像的[patch]令牌之间的相似性,并强制相应的[patch]令牌对齐。特别是,跨类内图像重建掩码[patch]令牌增加了模型学习的难度,从而通过共同利用图像的整体知识和类内图像的相似性,鼓励学习可推广的few-shot Transformer模型。
image.png
图2。其他自监督/监督框架的比较。我们的方法(d)是(b)和©的自然扩展,新引入了跨类内图像的掩码[patch]令牌重建的挑战性任务。
如图2所示,我们将我们的模型与现有的自监督/监督学习方法进行了比较。我们的模型是监督对比学习方法[39]和自监督知识蒸馏方法[7,88]的自然扩展。因此,我们的模型既继承了方法[39]有效利用标签信息的优势,也继承了方法[7,88]不需要大批量和负样本的优势。同时,新引入的具有挑战性的掩码任务,这个任务使得跨类内图像的token重建使我们的方法更强大,可以学习泛化的few-shot Transformer模型。
与当代作品的few-shot Transformer相比[17,36,37],我们的框架从实用的角度来看具有几个良好的特性。(1)我们的方法除了ViT主干和projection head外,没有引入任何额外的可学习参数,便于与其他方法结合使用[36,37,83]。(2)与[36,37]相比,我们的方法既有效又训练效率高,在4个few-shot分类基准上的性能更强,训练时间更短。简而言之,我们的主要贡献可以概括如下:
•我们提出了一种新的监督知识蒸馏框架(SMKD),该框架将类标签信息纳入自蒸馏,从而填补了自监督知识蒸馏与传统监督学习之间的空白。
•在提出的框架中,我们在类和补丁级别设计了两个监督对比损失,并引入了跨类内图像的掩码补丁令牌重建的挑战性任务。
•考虑到其简单的设计,我们在四个少样本数据集上测试了我们的SMKD,并表明它在CIFAR-FS和FC100上以很大的优势达到了新的SOTA,并且使用简单的原型分类方法进行少量评估,在mini-ImageNet和tier- imagenet上具有竞争力。

2. 相关工作

Few-shot学习

少样本学的目的是快速地将知识从已知的基本类转移到未知的新类,每个新类只给出几个标记的样本。元学习范式(meta-learning paradigm),它不断通过地模拟少样本任务,来模仿人工智能中的人类在真实世界中的学习过程,,一度主导FSL[26-29, 51, 60, 62, 64, 70]。令人惊讶的是,最近的研究[9,25,66,81]表明,只需使用基于距离的分类器,无需复杂的元学习策略设计,就可以通过简单的基线方法胜过最先进的元学习方法。因此,FSL中最近的方法[21,36,49]开始较少关注元学习,而更多地关注具有良好泛化能力的学习嵌入。本文顺应这一趋势,提出了一种知识蒸馏框架来学习可泛化嵌入。

FSL中的Vision transformer

Transformer[69]的变体在自然语言处理[15,56]、计算机视觉[19,67]和多模态学习[55]方面取得了巨大成功。然而,没有归纳偏置的缺乏使Transformer因其数据饥渴特性而臭名昭著,这在数据量有限的少样本学习中尤其重要。一系列工作侧重于将归纳偏置引入Transformer架构,包括使用金字塔结构[71,72]、移位窗口[45]和显式卷积令牌嵌入[74]的方法。尽管如此,最近的一些研究[16,28,37,80]仍然表明,few-shot Transformer具有快速适应新职业的潜力。我们的工作也研究了few-shot Transformer,我们表明,我们的方法可以很好地工作,即使在vanilla ViT结构,没有显式的归纳偏置。

FSL的自我监督

自监督学习(Self-supervised learning, SSL)以其对新类的良好泛化能力在FSL中显示出巨大的潜力。以前的方法以各种方式将SSL合并到FSL中。一些研究提出通过辅助损失将自监督的借口任务纳入标准监督学习中[44,50,53]。例如,[44]提出了一种正则化损失,通过预测patch令牌之间的几何距离从图像中提取额外信息。[53]基于物体通常占据连接区域的想法,通过阻止空间无序的注意图来设计它们的损失,[50]从旋转和范例的自我监督任务中获得辅助损失。而其他一些研究[22,37]则采用了两阶段的方法,即在监督训练之前通过自我监督对模型进行预训练。[37]利用iBOT[88]作为借口任务的自监督训练,然后使用内循环令牌重要性重加权进行监督微调。[22]用预训练的自监督DINO初始化模型[7],然后用监督交叉熵损失进行训练。我们的工作遵循了第二个工作分支,但与以前的工作有明显的区别。我们没有设计复杂的训练管道或在推理时利用额外的可学习模块,而是在自监督预训练模型上使用监督训练,并主要关注以最小的额外设计弥合自监督和监督知识蒸馏之间的差距
SSL的另一个新兴趋势是掩码图像建模(mask Image Modeling, MIM)[3,33,52,88],其目的是在损坏的输入图像中恢复被掩码内容的补丁级目标(例如图像像素、补丁特征)。在iBOT[88]中,类和patch令牌共享相同的投影头,从而帮助ViT骨干学习语义上有意义的patch嵌入,这可以作为图像级全局自我监督的补充。

3. 我们的方法

在本节中,我们展示了我们的监督屏蔽知识蒸馏(SMKD)框架。图3显示了我们模型的概述。第3.1节给出了few-shot分类的任务定义。我们将在第3.2节中解释SSL知识蒸馏的公式,以及如何在第3.3节中将其扩展到我们的监督知识蒸馏框架中。第3.4节给出了训练管道。
image.png
图3。SMKD框架概述。两个视图是从同一类中采样(带有替换)的一对图像生成的。第一个视图,应用随机块屏蔽,被传递到学生网络,而第二个未屏蔽的视图被传递到教师网络。两个网络都由ViT主干网和投影头组成。教师网络的参数是由学生网络更新的指数移动平均(EMA)。SMKD在类和补丁级别上提取类内交叉视图之间的知识。 L [ c l s ] L_{[cls]} L[cls]从[cls]令牌中提取知识,而 L [ p a t c h ] L_{[patch]} L[patch]通过寻找具有最高相似性的匹配令牌对(由红色虚线连接)的密集对应关系,从[patch]令牌中提取知识。

3.2. 知识准备:SSL与知识蒸馏

我们的工作受到最近提出的自监督知识蒸馏框架的启发[7]。具体来说,给定从训练集 I I I中均匀采样的输入图像x,应用随机数据增强来生成两个增强视图 x 1 , x 2 x^1,x^2 x1,x2(我们将图像视图索引表示为上标,将patch索引表示为下标),然后将其馈送到教师和学生网络中。用 θ s \theta_s θs参数化的学生网络由一个带有ViT主干的编码器和一个带有3层多层感知器(MLP)的Projection Head和一个 l 2 l_2 l2归一化组成。ViT主干首先生成一个[cls]令牌,然后将其输入投影头部并输出K维上的概率分布 P s [ c l s ] P_s^{[cls]} Ps[cls]。以 θ t \theta_t θt参数化的教师网络是由学生网络 θ s \theta_s θs更新的指数移动平均(EMA),该网络通过最小化网络从它们的Projection Head得到的分类分布输出上的交叉熵损失,将其知识提炼给学生:
image.png
其中 H ( x , y ) = − x l o g   y H(x,y)=-xlog\ y H(x,y)=xlog y
蒙面图像建模(MIM)[3,65]可以通过自蒸馏执行如下[88]。给定随机采样的掩码序列 m ∈ { 0 , 1 } N m\in \{0,1\}^N m{0,1}N对带有N个[patch]tokens 的图像 x = { x i } i = 1 N x=\{x_i\}^N_{i=1} x={xi}i=1N,然后 x i x_i xi m i = 1 m_i =1 mi=1被嵌入 e [ M A S K ] e_{[MASK]} e[MASK]的可学习标记替换,这导致损坏的图像 x ^ = { x ^ i } i = 1 N = { ( 1 − m i ) x i + m i e [ M A S K ] } i = 1 N \hat x=\{\hat x_i\}^{N}_{i=1}=\{(1-m_i)x_i+m_ie_{[MASK]}\}^N_{i=1} x^={x^i}i=1N={(1mi)xi+mie[MASK]}i=1N。这些被破坏的图像和原始的未被破坏的图像分别被输入到学生和教师网络中。MIM的目标是从损坏的图像中恢复被屏蔽的令牌,这相当于最小化被屏蔽补丁上学生和教师网络分类分布输出之间的交叉熵损失:
image.png

3.3. 监督屏蔽知识蒸馏

Distill the Class Tokens

最近的自蒸馏框架[7,24,88]通过Eq.(1)从交叉视图图像中提取[cls]标记上的知识。为了将标签信息合并到这种自监督框架中,我们进一步允许从类内交叉视图中提取关于[cls]令牌的知识。这可以通过我们采样图像的方式的一个小扩展来实现。现在我们不是对单个图像 x ∼ I x \sim I xI采样并生成两个视图,而是对两个图像 x , y ∼ I c x,y \sim I^c x,yIc采样(带替换),并为它们每个生成一个视图。这里 I c ⊆ I I^c\subseteq I IcI记为在训练集I中具有相同类标签c的图像的集合。具体来说,我们将 x ′ , y ′ x',y' x,y分别表示为图像 x , y x,y x,y生成的增强视图。我们在 x ′ x' x上应用额外的随机块屏蔽,并将产生的损坏视图表示为 x ^ ′ \hat x' x^。然后,损坏的视图 x ^ ′ \hat x' x^和未损坏的视图 y ′ y' y分别发送到学生和教师网络。现在我们对[cls]代币的监督对比损失变成:
L [ c l s ] = H ( P t [ c l s ] ( y ′ ) , P s [ c l s ] ( x ^ ′ ) ) L_{[cls]}=H(P_t^{[cls]}(y'),P_s^{[cls]}(\hat x')) L[cls]=H(Pt[cls](y),Ps[cls](x^))
x , y x,y x,y被采样为相同的图像 ( x = y ) (x=y) (x=y),我们的损失在相同图像的两个视图上执行掩码自蒸馏,类似于Eq.(1)。在另一种情况下,当 x , y x,y x,y代表不同的图像 ( x ≠ y ) (x\ne y) (x=y)时,我们的损失将图像 x , y x,y x,y之间的所有交叉视图对中投影[cls]标记的交叉熵损失最小化。
这样的设计有两个主要优点。(1)能够高效实施。而不是故意从同一类中采样图像对,我们只需要在一个小批量中查看图像,找到属于同一类的图像对,然后在Eq.(3)中应用我们的损失。(2)与之前使用监督[49,87]或自监督[8,34]对比损失的作品不同,我们的方法遵循了SSL作品[7,10,24,82]的最新趋势,并且避免了对负例的需要

Distill the Patch Tokens

除了对全局[cls]令牌进行知识提炼之外,我们还引入了跨类内图像的掩码patch token重建的挑战性任务,以充分利用图像的局部细节进行训练。我们在这里的主要直觉是基于以下假设:对于类内图像,即使它们的语义信息在patch级别上可能有很大的不同,但至少应该存在一些具有相似语义的patches
对于发送到教师网络的输入视图 y ′ y' y(其对应的令牌嵌入定义为 f k t f^t_k fkt)中的每个patch k,我们需要首先从学生网络的掩码视图 x ^ ′ \hat x' x^(其对应的令牌嵌入定义为 f k + s f^s_{k^+} fk+s)中找到最相似的patch k + k^+ k+,然后在这两个匹配的令牌之间进行知识提炼。如果patch k + k^+ k+未被掩码,则嵌入 f k + s f^s_{k^+} fk+s的token表示为第 k + k^+ k+个[patch]令牌,如果patch k + k^+ k+被掩码,则嵌入 f k + s f^s_{k^+} fk+s的token表示为重建的patch token。
由于我们没有任何patch级注释,我们使用余弦相似度在学生网络中的所有[patch]令牌中找到k的最佳匹配补丁:
image.png
我们的patch级知识蒸馏损失现在变成:
image.png
w k + w_{k^+} wk+是一个标量,表示我们赋予每个损失项的权重。我们发现,将其作为一个常数值是足够有效的。更复杂设计的 w k + w_{k^+} wk+烧蚀研究在附录中给出。
我们的损失与DenseCL[73]有一些相似之处。然而,差异也很明显:(1)我们的损失是将它们的自监督对比损失扩展为监督变体。(2)我们进一步将MIM纳入我们的设计中,并允许掩码patch进行匹配,这使得我们的任务更加困难,并导致更有语义意义的patch嵌入。

3.4. Training Pipeline

我们分两个阶段训练模型:自监督预训练和监督训练。
在第一阶段,我们使用最近提出的MIM框架[88]进行自监督预训练。自监督损失是Eq.(1)和Eq.(2)中 L [ c l s ] L_{[cls]} L[cls] L M I M L_{MIM} LMIM的和并且不缩放。
在第二阶段,我们使用Eq.(3)和Eq.(5)中的监督对比损失 L [ c l s ] L_{[cls]} L[cls] L [ p a t c h ] L_{[patch]} L[patch]继续训练预训练的模型。我们将训练损失定义为: L = L [ c l s ] + λ L [ p a t c h ] L=L_{[cls]}+\lambda L_{[patch]} L=L[cls]+λL[patch],其中λ控制这两个分量的相对规模。一个相对较大的λ将使我们的模型更多地关注本地化,而不是高级语义。

4. 实验

4.1. 数据集

我们的模型在四个广泛使用且公开可用的少量分类数据集上进行评估:mini-ImageNet [70], tiered-ImageNet [58], CIFAR-FS[4]和FC100[51]。mini-ImageNet和tiered-ImageNet来源于ImageNet [14], CIFAR-FS和FC100来源于CIFAR100[40]。mini-ImageNet包含100个类,这些类随机分为64个基本类用于训练,16个类用于少量验证,20个类用于少量评估。每堂课有600张图片。tieredImageNet总共包含609个类和779165张图片
训练、少量验证和少量评估的班级划分为351,97和160。CIFAR-FS包含100个类,类划分为64、16和20。FC100包含100个类,类分为60、20和20。对于这两个数据集,与ImageNet相比,每个类都有600张分辨率较小的图像(32 × 32)。

4.2. 实现细节

Self-supervised pretraining

我们按照iBOT中的相同管道预训练Vision Transformer主干和投影头[88]。大多数超参数设置保持不变,无需调优。我们使用的批大小为640,学习率为0.0005,随余弦调度衰减。mini-ImageNet和tiered-ImageNet预训练1200 epoch, CIFAR-FS和FC100预训练900 epoch。所有模型都在8个Nvidia RTX 3090 gpu上进行训练。详细的训练参数设置包含在附录中。

带监督的知识蒸馏

在得到预训练模型后,我们用监督对比损失对其进行训练。我们发现性能最好的模型可以在验证集中的60个epoch内收敛。我们使用与预训练阶段相同的批大小和学习率。与第一阶段相比,唯一额外的超参数是缩放参数λ。我们设置它使L[patch]和L[cls]之间的比率大致在2左右。在不同λ上的消融在附录中给出。

Few-shot评价

我们使用简单原型分类方法(prototype)[51,62]和S2M2[50]中使用的线性分类器(classifier)作为我们的默认方法进行少样本评估。对于N-way K-shot任务中的每个采样集数据,Prototype首先使用K个支持样本的平均特征来估计每个类原型。然后将新采样的查询图像分类到N个特征向量与类原型余弦相似度最高的类中。相反,Classifier从N×K支持样本中训练一个线性分类器,然后使用它对新的查询样本进行分类。更复杂的评估方法(例如DeepEMD)也与我们的框架兼容。我们用于评估的特征是将[cls]令牌与加权平均[patch]令牌(加权平均池)串联起来。加权平均池的权重是最后一关注层所有头像的[cls]令牌自关注值的平均值。在第4.4节中研究了对不同选择的特征进行评估的消融。

4.3.与先进技术(SOTAs)的比较

我们在4个小样本分类数据集上用上述评价方法对我们提出的SMKD进行了评价。在本节中,我们的目标是证明我们的方法的有效性,因为它具有简单的训练管道和评估过程。话虽如此,我们的方法可以通过采用当代作品的策略来进一步提升性能(参见表1中最后一行“our +HCT[36]”,详细结果见表3)。
image.png
image.png
与传统的卷积骨架模型相比,基于transformer的模型在小样本分类方面仍存在不足。最近使用Transformer主干的方法[17,36,37]在其培训管道和评估程序方面存在很大差异。SUN[17]首先对具有监督损失的教师网络进行预训练,然后使用它为学生网络生成补丁级监督,作为班级级监督的补充。HCTransformers[36]将类级预测转化为潜在原型学习问题,引入谱令牌池,自适应合并语义相近的相邻令牌。feature[37]采用了与我们相似的两阶段训练管道,显示了内环令牌重要性重加权避免监督崩溃的有效性。
尽管这些作品取得了成功,但由于其简单的设计,我们的SMKD仍然显示出具有竞争力的性能。表1包含mini-ImageNet和tieredImageNet的结果。以Prototype和Classifier作为评价方法,我们提出的SMKD优于所有ResNet和WRN主干网方法,在变压器主干网方法中排名第二。通过采用与HCTransformers[36]相同的策略(补丁大小为8和光谱令牌池),我们的方法在mini-ImageNet上实现了新的SOTA。这两种策略的效果如表3所示。此外,如表2所示,我们的方法在两个小分辨率数据集(CIFAR-FS和FC100)上表现最好,并且大大优于之前的所有结果(CIFAR-FS上1shot为0.93%,5 shot为0.41%,FC100上1和5 shot均超过2%)。总之,我们的方法在具有较小分辨率和较少训练图像的数据集上变得更加有效。
我们模型的主要竞争对手是HCTransformer[36]。但是,与我们的方法相比,他们的方法在以下两个方面更为复杂:(1)他们的方法使用的patch尺寸较小,为8,而不是16(其他大多数方法和我们的方法都使用16)。如表所示4,这使得他们的训练过程在每个阶段都比我们慢4倍。(2)他们的方法包含三组级联变压器,每组变压器对应一组带vits骨干网的师生网络。这使可学习参数的总数增加了三倍(63M比我们的21M),并导致更长的推理时间。
image.png

4.4. 消融实验

自我监督的MIM预训练有帮助

image.png
我们的训练管道包括两个阶段。一个自然的问题是,第一个自我监督的预训练阶段是否必要。从表6可以看出,未经预训练,我们的方法的分类准确率下降了很多。如果我们在单阶段训练,结合自监督学习损失和监督对比学习损失,如果没有良好的初始化,模型仍然很难收敛(1-shot: 43.71 vs.我们的74.28)。5-shot :60.27对我们88.82在mini-ImageNet上)。一个解释是,如果用随机权重初始化ViT主干,我们的补丁级知识蒸馏将很难找到匹配的补丁。我们观察到的是,我们的模型找到了一些捷径解决方案,使其无法进行适当的训练。此外,我们还测试了传统的CE损失与不进行自监督预训练。用自我监督预训练然后用监督CE损失训练的模型在mini-ImageNet上出奇地好,甚至优于表1中的大多数方法。这进一步证明了我们的两阶段训练程序的有效性。对于第一个预训练阶段的掩蔽策略,我们在附录中对三种掩蔽类型(块式、随机和无掩码)的消融研究表明,块式掩蔽在1次和5次分类准确率之间达到了最佳平衡。

分级蒸馏和分段蒸馏相辅相成

image.png

加权平均池可以提高性能

image.png
最近的研究[68,77]发现,在评估期间使用平均池而不是[cls]令牌可以鼓励令牌级任务(例如本地化,分割)。受这些发现的启发,我们用不同的令牌及其组合来评估我们的模型。表8的结果表明,通过与加权平均池化令牌连接,[cls]令牌的性能在1次射击时可以提高3.02%,在5次射击时可以提高0.79%。这表明我们提出的方法可以学习[cls]和[patch]令牌的有意义表示。此外,加权平均池化和平均池化令牌共享相似的信息,但前者的性能更好,因为它给背景的权重更小。

5. 结论

在这项工作中,我们提出了一种新的监督知识蒸馏框架(SMKD),该框架将自监督的掩模知识蒸馏框架扩展到监督设置中。通过我们的监督对比损失设计,我们将监督结合到类和补丁级知识蒸馏中,同时仍然享受不需要大批量和负样本的好处。评价结果和烧蚀研究证明了我们的方法的优越性,因为它的设计简单,与当代作品相比。我们的两阶段训练是课程学习从简单样本到困难样本的特殊案例。我们可以统一自我监督学习和监督对比学习的学习目标,为以后的工作使用精心设计的课程学习策略。我们希望我们的工作能够弥补自监督和监督知识蒸馏之间的差距,并启发更多关于监督少镜头学习方法的研究。

参考资料

论文下载(2022 CVPR)

https://arxiv.org/abs/2303.15466

代码地址

https://github.com/HL-hanlin/SMKD

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十有久诚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值