摘要
弱特征表示问题长期以来一直影响了few-shot分类任务的性能。为了缓解这个问题,最近的研究人员通过嵌入补丁特征来构建支持实例和查询实例之间的连接以生成判别表示。然而,我们观察到这些局部patch之间存在语义不匹配(前景/背景),因为目标对象的位置和大小不是固定的。更糟糕的是,这些不匹配导致相似性置信度不可靠,复杂的密集连接加剧了这个问题。据此,我们提出了一种新的聚类补丁元素连接(CEC)层来纠正不匹配问题。CEC 层利用 Patch Cluster 和 Element Connection 操作分别收集和建立具有高相似性补丁特征的可靠连接。此外,我们提出了一个CECNet,包括基于CEC层的注意模块和距离度量。前者用于生成从全局聚类补丁特征中受益的更具辨别力的表示,后者被引入以可靠地测量成对特征之间的相似性。大量实验表明,我们的CECNet在分类基准上优于最先进的方法。此外,我们的CEC方法可以扩展到小样本分割和检测任务,实现了具有竞争力的性能。
引言
与一般的深度学习任务 [Krizhevsky et al., 2012] 相比,Few-Shot Learning (FSL) 旨在学习具有数量可见图像(基类)和少量标记的不可见图像(新类)的可迁移分类器。由于未见类缺乏有效特征,鲁棒特征嵌入模型是必不可少的。最近的研究[Hou et al., 2019; Rizve et al., 2021; Xu et al., 2021a] 设法设计了一个嵌入网络来生成更多的判别特征。
具体来说,基于交叉注意力的方法 [Hou et al., 2019; Xu et al., 2021a; Xu et al., 2021b] 专注于减少背景噪声并突出目标区域以生成更具辨别力的表示。这些方法的核心思想是将提取的特征划分为小块,并连接所有局部补丁特征。然而,如图1所示,我们观察到目标对象可以在查询图像之间以不同尺度的随机定位。因此,这些方法面临两个主要问题:特征空间中的语义不一致,以及不可靠和冗余的连接。为了解决这些问题,我们提出了一个由补丁簇和元素连接操作组成的集群补丁元素连接(CEC)层。详细地说,在给定输入特征P(支持)和Q(查询)的情况下,CEC层首先通过patch Cluster运算获得全局聚类的patch 特征,如图2所示,然后使用对Q执行元素连接,最后产生更具判别性的表示。补丁聚类旨在收集源特征P中与Q中参考补丁相似的对象,自适应地将P对齐到中,以获得Q的每个patch的一致语义特征。然后,通过全局聚类的补丁特征,CEC层生成比交叉关注更可靠、更简洁的连接。
(传统交叉注意与聚类补丁元素连接的比较。所提出的集群补丁元素连接,它利用从支持特征 P 集成的全局信息 与查询 Q 执行元素连接,从而产生自信和清晰的连接,能够生成比 Cross Attention 更清晰、更精确的关系图。详细的补丁集群操作如图2所示。可视化比较见图4(a)。)
根据CEC层,我们发现生成精确关系图的关键是获得适当的聚类补丁特征。在本文中,引入了四种解决方案来执行补丁集群,包括 MatMul、Cosine、GCN 和 Transformer。与朴素的 MatMul 和 Cosine 模式不同,我们提出了基于meta-GCN 和 Transformer 的 Patch Cluster 操作,通过实施额外的特征细化来获得更稳健的集群补丁。Meta-GCN 的见解是为每个当前输入对特征构建一个基于动态相关性的相邻,除了使用固定相邻的静态GCN [Kipf and Welling, 2017]。此外,transformer 结构通过对实例之间的时空相关性进行建模来获得全局信息,从而生成更准确的关系图。
除了CEC机制的描述外,我们还提出了三个基于CEC的模块:(I)聚类补丁元素连接模块(CECM)自适应地区分特征级别每个图像对(支持和查询)的背景和对象,从而在目标对象的区域提供更精确的亮点;(II) Self-CECM以自我注意的方式增强目标对象的语义特征,使表示更加健壮;(III)聚类补丁元素连接距离(CECD)是一种基于CEC的距离度量,通过获得的可靠关系图测量成对特征之间的相似性。
对于few-shot分类任务,我们引入了一种新的Clustered-patch元素连接网络(CECNet),如图3所示,它学习从辅助任务中受益的泛化良好嵌入,通过CECM和Self-CECM生成判别表示,并通过CECD测量可靠的相似度图。此外,我们推导了一种新的基于CECE-based embedding模块称为CECEmbedding(CECE),该模块可应用于小样本语义分割(FSSS)和小样本目标检测(FSOD)任务。我们简单地在现有FSSS和FSOD方法的骨干网之后叠加提出的CECE,实现了约1% - 3%的一致改进。
(提出的CECNet框架。CECM 能够突出相互相似的区域,CECD 用于测量成对特征的相似性。Self-CECM通过自连接增强了目标物体的语义特征。)
总体而言,我们的主要贡献有:
我们提出了一个聚类补丁元素连接 (CEC) 层,通过将查询特征与全局聚类补丁特征逐元素连接来加强查询特征的目标区域。引入了四种不同的CEC模式,包括MatMul、Cosine、GCN和Transformer。我们推导了三个基于CEC的模块:CECM和SelfCECM模块用于产生更多的判别表示,CECD能够测量可靠的相似性图。
基于CEC的模块和辅助任务,设计了一种新的CECNet模型,用于小样本分类。CECNet在小样本分类基准上改进了最先进的技术,实验表明我们的方法在FSL中是有效的。
此外,我们的 CECE(即基于 CEC 的嵌入模块)可以扩展到少样本分割和检测任务,在相应的基准上实现了大约 1% - 3% 的性能改进。
相关工作
Few-Shot Learning。FSL算法旨在识别标记图像较少的新类别,并提供具有丰富图像的类别不相交基集进行预训练。经典的FSL任务包括小样本分类[Finn等人,2017;Vinyals等人,2016;Snell等人,2017;Hou等人,2019;Tian等人,2020a]、语义分割[Zhang等人,2020b;Siam等人,2019;Malik等人,2021]和目标检测[Kang等人,2019;Wang等人,2020b;Qiao等人,2021]。附录中给出了更多的介绍。总之,现有的FSL方法缺乏统一的函数来控制支持实例和查询实例之间patches之间的连接。
其他相关工作。在APPENDIX中引入,如FSL辅助任务[Hou等人,2019;Rizve等人,2021]、图卷积网络(GCN) [Bruna等人,2013]和Transformer [Vaswani等人,2017]。
问题定义
Few-Shot Classification
经典的小样本分类问题被指定为N-way K-shot 任务,这意味着仅使用每个类提供的 K 个标记实例解决 N 类分类问题。在最近的研究[Hou et al., 2019; Snell et al., 2017] 中,源数据集分为三个类别不相交的部分:训练集、验证集和测试集 。此外,episodic训练机制被广泛采用。一个episode由两个sets组成(在N 个类别中的随机抽样):支持和查询。令 S ={(,)} ( = N × K,每个类别中抽K个实例) 表示支持集,Q = {( , )}表示查询集。请注意,和 是相应集的大小(即=)。特别地,S = {, ,..., },其中 表示 S 中第 k 个类别支持集。具体来说,令 (P , Q) ∈ 表示支持和查询特征,这些特征是从支持子集和查询实例 (, ) 中提取的。请注意,c、h、w 分别是通道数、高度、特征宽度。
Cross Attention
传统的 Cross Attention [Hou et al., 2019] 证明突出显示目标区域可以生成更具辨别力的表示,从而提高 FSL 的准确性。关键是生成细粒度关系map ∈,表示Q∈中的目标区域。然后,可以通过 Q 获得空间注意,其中是元素乘积。传统的 Cross Attention 通过以下方式为 Q 生成关系图 :
其中h是基于CNN的层来细化相关矩阵。根据Eq.1,Cross Attention通过P和Q的局部特征块之间的局部到局部全连接产生关系图。具体来说,(, )∈表示(P, Q)∈中一对支持特征patch和查询特征patch。如图1所示,目标对象可以在不同尺度的查询图像中不规则地定位,导致特征空间中的语义不一致,即特征块和在语义上可能不一致。这种语义不一致的问题导致patches之间的自信相关性较低,复杂的局部到局部全连接进一步积累了这种不准确的偏差,影响了生成的关系图的质量。
为了在全局和局部特征之间建立简洁清晰的联系,我们提出了一个聚类patch元素连接层(CEC),它由两个关键操作组成:patch集群和元素连接。
Clustered-patch Element Connection(CEC)
Patch Cluster
如图 2 所示,Patch Cluster 操作通过收集支持特征集 P 中的那些对象来获得一个名为 Clustered-patch 的集合 ,这类似于 Q 中的参考patch。我们将一个通用的补丁集群操作定义为:
这里 P 是输入源特征,Q 是输入参考特征, ∈ 是输出集群patch。成对函数 g 计算表示 Q 和 P 之间表征关系的关联矩阵。聚类的patch可以通过函数 φ 进行细化。具体来说,我们将源图像分成 w × h个patches。这里,w 和 h 与 P 中特征的大小相同,便于元素连接操作。Clustered-patch ∈ 收集 w × h 个集群。每个集群收集patch特征 P = [, ,..., ] ∈ 与 Q 中参考patch特征中的相应patch特征相似。因此, 在语义上类似于 Q。
为了实现patch集群操作,我们给出了四种解决方案,包括 MatMul、Cosine、GCN 和 Transformer。
MatMul。获得聚类patch的最简单方法是将 MatMul 操作视为成对函数 g(在等式(2)中),并且不实施任何进一步的嵌入细化。正式地,
其中 σ 是 softmax 函数。
Cosine。MatMul 版本的一个简单扩展是在特征空间中计算余弦相似度。形式上,
GCN。GCN [Kipf and Welling, 2017] 通过利用预定义的相邻矩阵 A ∈和可学习的权重矩阵 W ∈ 来更新输入特征 P。形式上,更新后的特征 ∈ 可以表示为: = δ(APW ),其中 δ(·) 是非线性激活函数 (Sigmoid(·) 或 ReLU (·))。然而,GCN 中使用的相邻矩阵 A 在训练期间针对所有输入是固定的,无法在少样本任务中识别新类别。比较等式(2)和GCN的定义,我们观察到关联矩阵 g (Q, P ) 可以被认为是相邻矩阵 A,因为它们都试图描述特征 P 和 Q 之间的关系。因此,我们通过将静态相邻矩阵替换为动态关联矩阵来导出元 GCN。形式上,基于元 GCN 的 Patch Cluster 操作导出如下:
Transformer。基于 Transformer[Vaswani et al., 2017] 的patch Cluster操作定义如下:
其中,FFN 是Transformer中的前馈网络,Wq 、 Wk、Wv 是可学习的权重(例如卷积层)。
Element Connection
根据从 Patch Cluster 操作获得的全局语义特征 ,元素连接操作通过简单地计算 Q 和 之间的patch余弦相似度来生成 Q 的关系图 。最后,我们通过元素连接操作 获得修正的判别表示:
其中,是 Patch-wise Dot Product,是逐元素乘积。 的第 n 个位置是 ,其中 · 是点积。基于CEC的关系图的可视化如图4(b)的最后一列所示。总体而言,Clustered-patch Element Connection (CEC) 层能够突出语义上与 P 相似的 Q 区域。形式上,CEC 层 表示为:
Discussion
与传统的Cross Attention相比,我们的Clustered-patch元素连接的关键点是在Clustered patch (global)和查询Q(local)之间执行全局到局部的元素连接。它能够生成更清晰、更精确的关系图,如图4(a)可视化所示。如表2中所示,我们基于CEC的方法比传统的基于交叉注意的CAN提高了4%的准确率[Hou等人,2019]。
((a) 5-way 1-shot 分类上的类激活映射,其中 Embedding 属于 CECNet。(b) 我们基于 CEC 的关系图 的可视化。)
(研究了具有ResNet-12的CECM影响的5way分类结果。与CAN的设置一致,应用余弦距离度量,不应用旋转和微调分类。CECM(M/C/G/T) 表示 MatMul、Cosine、GCN 和 Transformer 等不同模式的patch集群。基于 ProtoNet,ProtoG 添加了辅助的全局分类任务。)
一般来说,我们的Clustered-patch Element Connection的优点是:(I)元素连接生成的关系图比交叉注意力更可信,因为全局聚类补丁特征比局部特征 P 更稳定且具有代表性。(II) 元素连接(1-to-1 patch-concatenation)比 Cross Attention(1-to-hw patch-concatenation)具有更清晰的连接关系。
此外,实现 Patch Cluster 的不同解决方案各自优势是:(I) 这四个解决方案可以分为两组:固定(即 MatMul 和 Cosine)和可学习的(即 GCN 和 Transformer)解决方案。固定解可用于在没有额外可学习参数的情况下执行patch聚类,而可学习的解决方案是数据驱动的,以改进关联矩阵或聚类patch。(II) 根据表2的实验结果,当可学习解决方案被用作特征增强嵌入层时,它们优于固定解决方案(即等式 9 中定义的 CECM),这表明可学习的解决方案可以生成更好的嵌入特征。相比之下,根据表3,当固定解用作测量相似度的距离度量(即等式 11 中定义的 CECD)时,固定解优于可学习解,这表明固定解可以获得更可靠的相似度分数。
(研究CECD与ResNet-12影响5way分类结果。设置与Tab.2一致,除了距离度量。CECD(M/C/G/T) 表示不同的模式,例如 MatMul、Cosine、GCN 和 Transformer。)
CEC Network for Few-Shot Classification(用于小样本分类的CEC网络)
CEC Module and Self-CEC Module
根据上面提到的CEC层,我们提出了两个衍生模块:CEC模块(CECM)和Self-CEC模块(self-CECM)。CECM 能够通过学习成对特征之间的语义相关性来突出相互相似的区域。具体来说,CECM将输入对特征(P, Q)∈转移到更具鉴别性的表示(̄,)∈。形式上,其函数 表示为:
Self-CECM通过自连接增强了目标对象的语义特征,将输入Q变为∈。形式上,Self-CECM 函数 表示为:
CECM 通过 =(Q, P ) 利用 P 和 Q 之间的关系,而 Self-CECM 通过 = (Q, Q) 来利用输入本身之间的关系,即 Self-CECM 探索输入图像的patch之间的关系。因为我们假设目标的patch特征相互相似,所以Self-CECM可以通过对相似区域进行聚类来增强目标区域。
CECNet Framework
然后,我们给出了整个聚类补丁元素连接网络(CECNet)。框架如图3所示,该框架集成了CECM、Metric Classifier和Finetune分类器,用于小样本分类任务,以及用于辅助任务的旋转分类器和全局分类器。该网络涉及三个阶段:基础训练、新颖的微调和新颖的推理。
(提出的CECNet框架。CECM 能够突出相互相似的区域,CECD 用于测量成对特征的相似性。Self-CECM通过自连接增强了目标物体的语义特征。)
Base Training。如图3所示,查询集Q = {(, )}中的每个图像都用[,,,]旋转,输出一个旋转的= {(,)}。支持子集和旋转查询实例由嵌入处理,生成原型特征 = 和查询特征Q = 。然后,通过 CECM 处理每一对特征 (, Q),以增强相互相似的区域并为后续分类生成更具辨别力的特征 (,)。请注意,CECM 的输入和输出将被重塑为满足其格式。最后,CECNet 通过由度量分类器和辅助任务贡献的多任务损失进行优化。
Novel Fine-tuning。微调分类器由 Self-CECM 和线性层组成,如图 3 所示。在微调阶段,预训练嵌入被冻结,微调分类器通过交叉熵损失进行优化。
Novel Inference。在归纳推理中,CECNet 的整体预测是 = + ,其中 和 分别是 Metric 和 Fine-tune 分类器的结果。
Metric Classifier(度量分类器)
如方程式7所示,所提出的 CEC 层能够生成可靠的关系图 。关系图也可以用作相似度图,的平均值是相似度得分。因此,我们获得了 CECD 距离度量 ,表示为:
通过提出的CECD距离度量,度量分类器通过测量查询和N个支持类之间的相似性进行预测。继 [Hou et al., 2019] 之后,patch-wise classification strategy用于生成精确的特征表示。具体来说,每个patch-wise特征̄在̄的第n个空间位置,被识别为N个类别。将̄预测为第k个类别的概率为:
其中,相似度图由公式11中提出的CECD距离度量得到,相似度得分为的第n个位置。
Fine-tune Classifier(微调分类器)
微调分类器由 Self-CECM 和线性层组成。它通过线性层 将查询特征 预测为 N 个类别。其损失计算如下:
其中,PCE 是patch-wise cross-entropy, 是 具有 N 个类别小样本任务的ground truth。
Objective functions in Base Training(基础训练中的目标函数)
Metric Loss(度量损失)。具有ground-truth小样本标签的度量分类损失为:
Auxiliary Loss(辅助损失)。全局分类器的损失是 = PCE((),),其中 是 与 D 类训练集的全局类别, 是一个全连接层。类似地,旋转分类器的损失是 = PCE(),其中是在四个类的旋转类别,是全连接层。
Multi-Task Loss(多任务损失)。然后,受 [Jinxiang and Siqian, 2022] 的启发,总损失定义为:
其中 w = 和 α 是一个可学习变量。超参数 λ 用于平衡小样本和辅助任务,其中影响在表4中进行了研究。
Experiments on Few-Shot Classification(小样本分类实验)
Datasets。两个流行的FSL分类基准数据集是miniImageNet和tieredImageNet,详细介绍见附录。
Experimental Setup。我们通过测试从元测试集中随机抽取的 2000 集来报告平均精度。根据表4,ResNet-12 和 WRN-28 的超参数 λ 分别设置为 1.0 和 2.0。其他实现细节可以在我们的公共代码中找到。
Comparison with State-of-the-arts(与最先进技术的比较)
如表1所示,我们在miniImageNet和tieredImageNet数据集上与最先进的小样本方法进行了比较。结果表明,我们的CECNet优于现有的SOTAs,这证明了我们基于CEC的方法的有效性和效率。与现有的基于度量的方法不同 [Zhang et al., 2020a; Yang et al., 2022; Jiangtaoet et al., 2022] 独立提取支持和查询特征,我们的 CECNet 增强了相互相似对象的语义特征区域并获得更具辨别力的表示。与基于度量的 Meta-DeepBDC [Jiangtao et al., 2022] 相比,CECNet 在 1-shot 上实现了 1.98% 的准确率。一些基于度量的方法 [Xu et al., 2021a; Hou et al., 2019] 应用交叉注意力,而我们的 CECNet 在 WRN-28 主干下仍然超过 DANet [Xu et al., 2021a],准确率提高高达 2.36%,这证明了我们的集群补丁元素连接的强度。
(与miniImageNet和tieredImageNet上5-wayFSL分类任务的现有方法相比。我们的CECNet采用所提出的CECM(T)注意模块、CECD(C)距离度量和Self-CECM。)
Ablation Study(消融实验)
Influence of CECM(CECM的影响)。如表 2 所示,将 CECNet 与 ProtoG 进行比较,它在 1/5 样本分类上表现出一致的改进,因为我们的 CECM 增强了相互相似的区域并产生更具辨别力的表示。与采用交叉注意力模块 CAM 的 CAN 相比,我们的 CECNet 在 1-shot 任务上实现了高达 4.06% 的明显改进。CECM(M)、CECM(C)、CECM(G) 和 CECM(T) 的结果表明,CECM 对 MatMul、Cosine、GCN 和 Transformer 等替代模式不敏感,这表明通用补丁集群行为是改进的关键见解。
(研究了具有ResNet-12的CECM影响的5-way分类结果。与CAN的设置一致,应用余弦距离度量,不应用旋转和微调分类。CECM(M/C/G/T) 表示 MatMul、Cosine、GCN 和 Transformer 等不同模式的补丁集群。基于 ProtoNet,ProtoG 添加了辅助的全局分类任务。)
Influence of CECD(CECD的影响)。如表 3 所示,在没有注意力模块的情况下,将 CECNet 与 ProtoG 进行比较,显示出一致的改进,因为我们的 CECD 距离度量可以获得更可靠的相似度图。此外,结果表明最佳组合为 CECM(T) + CCECD(C)。
Influence of Multi-Task Loss(多任务损失的影响)。在表 4 中,随着辅助任务的集成,我们的 CECNet 获得了很大的改进,这表明学习一个好的embedding是有帮助的。
Influence of CECM+CECD(CECM+CECD的影响)。如表 5 所示,与 ProtoG(no-attention + cosine)相比,我们采用 CECM(T) +cosine and no-attention + CCECD(C) 的方法实现了明显的提升,这证明了所提出的CECM和CECD的有效性。CECM(T) + CCD(C) 的组合获得了进一步的性能提升。
Influence of Self-CECM(self-CECM的影响)。如表6所示,基线是CECNet的度量分类器,竞争对手仅使用线性层微调分类器。通过比较Self-CCECM+Linear和Linear,它显示出一致的改进,这证明了Self-CCECM的有用性。通过与Metric+Fine tune和Metric Classifier的比较,表明它在5-shot分类上有所改进。
Visualization Analysis(可视化分析)
图4(a)显示了我们的CECNet和CAN的类激活图[Bolei等人,2016][Hou等人,2019]。将CECNet与其嵌入进行比较,CECNet可以突出预训练阶段看不到的目标对象。与 CAN 相比,CECNet 更准确,感受野更大。其本质是,我们的集群补丁元素连接利用全局信息来实现元素连接,从而产生更自信的相关性和更清晰的连接。图4(b)显示了CECNet通过Eq.7生成的基于CEC的关系图的可视化。我们的CEC方法为目标生成了具有更完整区域的高质量关系图。
Applications on FSSS and FSOD Tasks(FSSS和FSOD任务的应用)
在本节中,我们首先介绍一种新的基于CEC的嵌入模块CEC嵌入(CECE)。然后,我们将所提出的 CECE 扩展到少样本语义分割 (FSSS) 和对象检测 (FSOD) 任务。表 7 和表 8 中的实验结果表明,我们的 CECE 可以在 1% - 3% 左右实现性能改进,附录中给出了更广泛的结果。
(使用mIoU和ResNet-50在PASCAL-5i和COCO-20i小样本语义分割基准上的比较。CECE(M/T)表示MatMul和Transformer的不同模式。)
(使用ResNet-101在PASCAL Novel Split 3 (nAP50)和COCO (nmAP)小样本目标检测基准上的比较。)
CEC Embedding 表示为:
其中,{Q, Q′} ∈ 分别是输入和输出特征, ∈ 是可学习的权重(pytorch 代码是 = nn.Embedding(,c), 表示语义组的数量,经验设置为 = 5)。所提出的CECE可以增强与在语义上相似的输入特征的目标区域,其中包含在基本数据集上训练后的基本类别的语义信息。
CECE Applications(CECE应用)。作为embedding模块,我们的 CECE 可以在backbone network之后堆叠。为了验证所提出的 CECE 的有效性,我们通过在其主干之后堆叠 CECE,将其插入到 FSSS 方法 RePRI [Malik et al., 2021] 和 FSOD 方法 MFDC [Wu et al., 2022]。如表7和表8所示,我们的CECE可以对RePRI和MFDC方法进行一致的改进。
Conclusion
我们提出了一种新的Clustered-patch Element Connection network(CECNet),用于小样本分类。首先,我们设计了一个Clustered-patch Element Connection (CEC) 层,该层通过将查询特征与集群补丁特征逐元素连接来增强查询特征的目标区域。然后推导出三个有用的基于CEC的模块:CECM和Self-CECM产生更多的鉴别特征,CECD距离度量得到可靠的相似度图。大量的实验表明,我们的方法是有效的,并在小样本分类基准上达到了最先进的水平。此外,我们的CEC方法可以扩展到小样本分割和检测任务,实现了具有竞争力的改进。