Multi-Scale Metric Learning for Few-Shot Learning(用于小样本学习的多尺度度量学习)
作者:互联网
Abstract
本文提出了一种新的小样本学习方法,名字叫多尺度度量学习(multi-scale metric learning, MSML),能提取多尺度特征,学习样本间的多尺度关系,进行少镜头学习分类。提出了一种基于特征金字塔结构的多尺度特征嵌入方法,旨在将高级(high-level)语义特征与低级丰富的视觉特征相结合。在此基础上,提出了一种用于层次(hierarchical)度量学习的多尺度关系生成网络(MRGN),其中高级特征对应于深度(deeper)度量学习,低级特征对应于较轻(lighter)度量学习。此外,提出了一种新的损失函数,即类内类间关系损失(intra and inter relation loss, IIRL),用于优化所提出的深度网络,以增强同质组样本(homogeneous groups of samples)之间的相关性,削弱异质组样本(heterogeneous groups of samples)之间的相关性。在miniImageNet和tieredImageNet上的实验结果表明,该方法在少镜头学习问题上取得了较好的性能。
I. INTRODUCTION
小样本学习要学习一个模型,这个模型在相关任务的监督信息有限的情况下能对新任务进行适应,这是人脑根据已有知识对未知事物进行关联和推理的过程。对于图像分类,小样本学习的核心是用一个或几个样本来识别新的未见类[7]-[9]。然而,传统的图像分类算法不能很好地解决小样本学习任务。主要的挑战是,小样本学习在只有很少的训练样本的情况下需要适应大量未知的类,每个类有限的样本数量很难代表类的分布。
目前,小样本学习主要分为三类:基于迁移的学习、基于度量的学习和基于元的学习。(transfer-based learning, metric-based learning and meta-based learning)迁移学习在许多领域得到了广泛的应用,其主要思想是用一定数量的标记样本对预先训练好的基础网络进行微调。通过冻结预训练基础网络的所有或部分常规层,模型可以在少量训练数据的情况下快速收敛并获得满意的识别结果[7]、[10]。基于度量的学习是对样本之间的距离建模,使同质组的样本接近,异质组的样本分离[4],[6],[11],12]。一般来说,基于度量的学习主要分为两个部分:特征提取和样本间关系的度量。目前基于度量的理论更倾向于对样本之间的距离建模,而忽略了特征提取的重要性。基于元学习的目的是学习一种可以直接用于多任务学习场景的模型,对于图像分类任务,每个训练会话(session)的输入类不同[13]-[15]。因此,每个训练阶段(session)都可以看作是一个不同的学习任务,可以使用元学习方法进行训练[5],[16],[17]。由于给出的标记样本很少,因此需要尽量利用较少的训练样本的特征。如何增强特征表示的问题不仅出现在小样本学习任务中,也出现在其他任务中[18],[19]。特征金字塔网络(FPN)[20]通过引入横向(lateral)连接的自顶向下结构,以少量的额外成本构建特征金字塔,极大地提高了小目标检测(small object detection)的性能。Hierarchical feature fusion aesthetic assessment (HFFAA)[21]采用双流(two-stream)卷积神经网络获得多层次的感知线索,采用简单而有效的层次特征融合方法形成最终的图像表示。鲁棒柔性保持嵌入(RFPE)[22]通过编码一个灵活的正则化项来搜索最优的投影子空间来加强特征提取。判别低秩二维邻域保持投影(DLR-2DNPP)[23],将结构非相干学习与低秩学习相结合,增强特征提取的判别能力(the discriminative ability)。基于多级特征的图像质量评估器(MFIQA)[24]采用多级特征来加强图像质量评估中存在的各种失真类型的转移模型。提出了层次双线性池化框架[25],用于集成多个跨层(cross-layer)双线性特征,以增强特征的表示能力。TriNet[26]通过利用语义直接合成实例特性,以增强one-shot学习的语义特征。受多级特征提取策略有效性的启发,将多尺度特征提取技术引入到MSML中,以增强样本的特征表达。
在本文中,我们提出了一种新的基于度量的方法,即多尺度度量学习(MSML)。该模型使用预先训练好的特征提取网络和相应的特征金字塔结构生成多尺度特征映射,然后学习多尺度关系生成网络以适应不同样本的多尺度特征比较。为了增强多尺度关系生成网络的度量学习能力,提出了类内和类间关系损失函数,以减小同类样本之间的距离,扩大异质组样本的区别。与单尺度方法[27]-[29]相比,我们的模型提高了样本在多尺度上的特征表达,有利于学习小样本学习的判别(discriminative)嵌入空间。不同于大多数基于度量的方法[4],[6],[30],我们的MSML构建了一个用于层次度量学习的多尺度关系生成神经网络,其中不同的非线性变换通过基于尺度的规则对应不同的特征子空间,使样本的判别(discriminative )信息最终融合到分类任务中。
本文的主要贡献总结如下:(1)提出了一种叫做多尺度度量学习的新的小样本学习方法,用于提取判别特征,学习样本间的多尺度关系进行分类。(2)在多尺度特征嵌入模型中引入了特征金字塔结构,将高级语义特征与低级丰富的视觉特征结合在一起。在此基础上,提出了一种用于层次度量学习的多尺度关系生成网络,该网络利用多尺度特征映射生成样本之间的关系。(3)提出一种新的损失函数,即类内和类间关系损失,以优化所提出的深度网络,其中引入不同样本之间的关系进行多尺度度量学习。它可以增强同质样本组之间的相关性,削弱异质样本组之间的相关性,有助于在小样本学习中提高分类性能。
II. RELATED WORK
A. Transfer Learning
迁移学习的本质是将在任务A上学习到的知识提取并应用到B的新任务上,这样可以减少重新收集任务B的训练数据的工作量,使模型收敛更快[7]。由于良好的初始值对[31]模型的最终效果有较大的影响,在类似任务上使用预训练模型的参数可以提高训练速度,取得较好的效果。因此,迁移学习在目标检测与识别[32]-[35]和图像分割等领域得到了广泛的应用[36] -[38]。
迁移学习的一个重要方法是微调,这是一个过程,采用一个已经训练过的模型,为给定的任务,并使用它来执行第二个类似的任务。通过冻结预先训练网络的前几层的权重,并截断最后一层,替换与我们自己的任务相关的新的softmax层,预训练的网络提取的与新任务相关的通用特征被保留下来,该网络将专注于学习后续层中的特定数据集特性[39]、[40]。
对于小样本学习,有效的初始化参数也更有利于识别结果。元迁移学习(MTL)方法[27]通过权重缩放和转移操作,将预训练好的深度神经网络进行迁移,增强了知识迁移的能力,使模型更方便地从其他分类任务转换到少镜头分类任务。潜在嵌入优化(latent embedding optimization, LEO)方法[28]通过迁移学习获得低维嵌入空间,然后在嵌入空间中进行元学习。结果表明,效果好于在高维空间使用基于MAML的方法的元学习【翻译或许不准!】。此外,最近的小样本学习方法使用预训练的权重来初始化模型[28],[44]。
虽然迁移学习的应用可以使模型在小样本学习中更容易获得更好的识别结果,但现有的方法可能存在几个问题。首先,深度网络提取的特征更倾向于图像语义特征,而小样本学习需要识别大量未知类别,这将使语义层面的迁移学习变得非常困难【这句没看懂!】。其次,在识别未知类时,缺少足够的训练样本【这句也没看懂!】。第三,从其他分类任务到小样本分类任务,不再进行特征层面的处理和优化。
提出的MSML模型采用预先训练好的CNN作为基本特征提取网络,采用特征金字塔结构,将低级丰富的视觉特征与高级语义特征相结合,获得训练样本的更具判别性的特征。通过转移模块,对这些特征进行二次特征映射,过滤出更适合进行小样本学习的特征嵌入【转移模块???】。
B. Metric Learning
在过去的十年中,度量学习方法已经成功地应用于许多领域[45]-[48],它通常对不同样本的度量进行建模【何为建模?】。例如,大边距最近邻(LMNN)[49]学习k-最近邻分类的马氏距离度量,它使用相对边距与最近邻共享相同的标签。判别深度度量学习(DDML)[50]通过深度神经网络建模一组层次非线性变换,将人脸数据投射到具有更多判别信息的特征子空间中【特征子空间???】。FaceNet[51]学习了人脸图像到欧氏空间的映射,其中距离可以直接对应于图像的相似度度量。深度对抗度量学习(DAML)[29]进一步提高深度度量学习的性能,通过利用许多容易的负面因素来为度量学习生成潜在的困难负面因素【??】。
小样本学习的度量学习关注的是如何更好地度量样本之间的关系。常用的方法是对样本之间的距离进行建模,其原理是类内样本间距变小,类间样本间距增大[45]-[48]。Siamese神经网络[11]使用基于双路神经网络的监督度量学习来计算输入图像之间的相关性,从而得到测试样本最相关的类预测。匹配网络[12]提出了基于记忆和注意的网络匹配,从而训练一个固定的线性分类器在不改变网络的情况下生成未知类的标签。原型网络[4]主要通过网络学习一种特征映射,该映射空间中的每个类都有一个原型,该原型是代表类分布的所有样本的中心点。对于测试样本,只需要计算映射空间原型之间的最近距离即可。关系网络[6]主要由两个模块组成:嵌入模块和关系模块,其中嵌入模块将图像映射到特征空间,并通过深度神经网络在样本的每个特征映射之间进行矩阵学习。K-tuplet Net[52]将传统的三重网络从深度度量学习扩展到少镜头学习,其中可转移特征嵌入通过一个非线性距离度量函数学习。RepMet[30]通过装备带有距离度量学习分类器的目标检测器,给出了小样本检测的基线。基于表征的度量学习通过计算每个类别的特征表示与样本之间的距离来学习嵌入空间。
尽管研究的范围很广,但以往基于度量学习的小样本学习的研究可能存在一些问题。首先,在小样本学习中,单一分类器不能很好地处理新的分类任务。其次,度量学习不能处理多尺度特征的情况。第三,传统的损失函数不能很好地适应度量学习模型。
在MSML模型中,提出了一种多尺度关系生成网络,利用多尺度特征映射进行层次度量学习。它可以起到并行多个非线性分类器的作用,增强分类器的能力。并提出了与模型相对应的新的损失函数,用于辅助多尺度关系生成网络的度量学习。
III. OUR APPROACH
A. Problem Formulation
- C-way K-shot:
C-way K-shot的定义是仅用K个标记样本准确区分C个不同类别,这是小样本学习中图像分类的关键任务[6]。在每个类只有K个标记样本的情况下,要准确地对不可见类的样本进行分类是一个很大的挑战。
- Training process:
小样本学习的训练过程不同于许多传统的图像分类任务,缺乏有标记的训练样本。由于训练样本有限,直接学习分类器非常困难,传统的图像分类训练方法不再适用于小样本学习。相比之下,网络学习的知识转移和样本之间的相互关系成为了小样本学习的焦点。少镜头学习的主要过程如下:在每次训练迭代中,训练的输入不是任意的一个或几个样本,而是特定episode的组合。对于C-way K-shot任务,每个episode包含C个类,每个类有K个对应K-shot的标记图像,形成了支持集,xi是第i个样本,yi是对应的样本标签:
此外,它选择每个类的N个带标签的图像,形成一个名为查询集的集合:
因此,每个episode总共包含C ×(K + N)个样本用于训练。
- Testing process:
少镜头学习的图像分类与传统的图像分类有很大的区别,因为它具有识别未知类的能力。在测试过程中,测试集的类别与传统图像分类的训练集相同【??】,而在少镜头学习中则利用训练集中没有出现的新类别。测试过程的一个episode由一个支持集和一个测试集组成:
该模型根据测试样本与支持集样本之间的关系来预测测试集的标签,其中支持集的样本使用最高的(highest)关系来确定测试样本的标签。
B. Multi-Scale Metric Learning Model
多尺度度量学习模型由特征编码器、多尺度特征映射组合和多尺度关系生成网络三部分组成,如图1所示。为了获得有效的多尺度特征图,特征编码器被用来提取三种不同尺度的特征。多尺度特征组合模型将从支持集和查询集提取的多尺度特征映射组合成多尺度特征映射对。通过多尺度关系生成网络实现多尺度特征映射对的层次关系学习,并且最后估计了查询集样本与支持集样本之间的关系。
图1所示。多尺度度量学习模型综述。为了方便起见,这里只显示支持集中的三个示例和查询集中的一个示例的处理。这些样本由特征编码器获取对应的多尺度特征映射,然后由多尺度特征图组合模块对多尺度特征图对进行匹配,再由多尺度关系生成网络生成关系得分。最后的结果由关系分数决定。
- Feature encoder:
特征编码器主要由预先训练的深度卷积神经网络组成,其主要作用是将样本映射到相应的特征空间。特别地,输出是不同于其他特征编码器模块的多尺度特征图,这些多尺度特征图可以通过设计不同的传输块( transfer blocks)进行映射以适应不同的模型。多尺度特征图由三种不同尺度的特征层组成,图1中特征编码器输出的三个立方体代表了三种尺度的特征图。特征编码器模型生成支持集和查询集的多尺度特征映射。特别地,对于支持集Ssu,特征编码器的输出如下所示:
其中Vsu为支持集的特征向量,i为特征向量的索引;Ffe为特征编码器模块;m代表不同的尺度,m越小,尺度越大。类似地,对于查询集Squ 的输出为:
其中Vqu为查询集的特征向量,j为特征向量的索引;Xj是查询集的样本
- Multi-scale feature map combination:
来自特征编码器的关于支持集和查询集的多尺度特征图被导入到多尺度特征图组合模型中,用于生成多尺度特征图对。对于具有N个查询样本的C-way K-shot,支持集的总数为C×K,查询集的总数为C×N。对于每个输入样本,可以从特征编码器模块中提取多尺度特征图。对于K-shot问题,将K个样本的多尺度特征图用支持集中同一类的权值进行平均,将其转化为one-shot问题。因此,对支持集进行加权平均,得到C个多尺度原型特征图,每个多尺度原型特征图对应一个类。多尺度原型特征图的计算方法如下:
其中Vsu-hat为支持集的原型特征向量,w为支持集中类的索引;K是每个类的样本数。在多尺度特征图组合模块中,将查询集中的每个多尺度特征图与支持集中相应的多尺度特征图分组为多尺度特征图对。对于每个episode,对具有N个查询样本的C-way K-shot共生成C ×(C ×N)多尺度特征映射对,作为多尺度关系生成网络的输入。
- Multi-scale relation generation network:
提出了一种多尺度关系生成网络来学习支持集和查询集之间的层次关系。对于多尺度特征图对,尺度越大的特征反映的视觉信息越粗糙、越丰富,特征分辨率越高,而较小的尺度意味着更精细和更独特的特征。因此,尺度越大的特征映射对需要更深层次的网络进行关系学习,尺度越小的特征映射对越容易区分,浅层网络就能胜任。基于此准则,建立了多尺度关系生成网络,用于学习多尺度特征映射对之间的关系。
多尺度关系生成网络由一系列具有级联连接的卷积块组成。为了实现层次关系学习,大尺度的多尺度特征图对使用更高层次的网络进行关系学习,而更高层次的网络包含更多多尺度关系生成网络的卷积块。由于多尺度关系生成网络主要由多个卷积块串联而成,卷积块的数量随着网络层次的降低而减少,具有较少卷积块的低层网络可以与高层网络的部分卷积块共享参数,这是合理的。然后,将这些尺度在多尺度关系生成网络的顶层进行组合,得到如下关系得分:
其中ReSw为查询集的样本与第w个类的多尺度原型特征图之间的关系得分;fge和C分别表示多尺度关系生成网络和多尺度特征图组合模块。多尺度关系生成网络的关系得分输出限制在[0,1]范围内。分数越高,关系越密切,这意味着属于同一类的可能性越大。
- Intra-class and inter-class relation Loss:
提出的损失的目的是使同质组的样本在度量空间中变得更接近,异质组的样本在度量空间中变得更有区别。同时,由于episode训练方法有很多类【待解!】,均方误差损失、交叉熵损失等可能存在收敛缓慢或稳定性差的问题。
提出的多尺度度量学习损失函数由两部分组成:类内样本和类间样本之间的关系损失和查询集中每个样本的预测损失。关系损失的目的是最大限度地提高对不同类别的区分,最小化同类别样本之间的距离,使不同类别在特征空间中的间距变得弥散,而类间的间距则更具有凝聚力。基于以上描述,定义类内样本和类间样本的关系损失为:
w表示每个episode中的类索引;Nw表示每个episode中的类的数量;ReSP w为第w个类的类内样本的预测关系平均得分;ReSN w 表示与第 w 类不同的类间样本的平均预测关系分数;αtr表示类内样本和类间样本之间的阈值【阈值?】; [m]_ 表示当m < 0时取其值,当m≥0时取其值为0的函数。查询集中样本的预测损失定义如下:
其中yw和yj表示对w类和j样本的标签;如果满足Ω的条件,则1[Ω] = 1,否则为0。因此,本文提出的MSML模型优化如下:
其中λ和μ表示对第一项和第二项的权重。对于一个episode,如果类内样本和类间样本之间的差异大于给定的间隔阈值,则IIRL等于0,这意味着整体损失降级为查询集中样本的预测损失。如果类内样本之间的预测关系得分并非都大于类间样本,或者两者之间的差值小于给定的区间阈值,就会产生一定的损失。可以看出,IIRL给整个模型带来的最大损失为 λ log (αtr)【待解!!!】。
C. Network Architecture
Fig. 2.多尺度度量学习网络综述。这里我们只展示了我们模型的网络核心部分,蓝色空白框表示通过相应的卷积结构输出的样本。第2层和第3层分别代表ResNet网络中重复叠加的三种不同的瓶颈结构。Conv1, Conv2, Conv3和Conv
4由卷积层、批处理归一化层和最大池层组成。
所提出的多尺度度量学习网络结构如图2所示。该网络结构包含两部分:特征编码网络 (FEN) 和多尺度关系生成网络 (MRGN),图的多尺度特征图组合 (MFMC) 属于矩阵的组合和拼接。
Fig. 3. The overview of the Transfer Block(传输块or转移块). Input 1 is the output from the top of bottleneck in ResNet network architecture, and the Input 2 is the output of previous transfer block which is interpolating as the same size as Input 1.
[输入 1 是 ResNet 网络架构中瓶颈顶部的输出,输入 2 是与输入 1 大小相同的前一个传输块的输出。]
- Feature encoder network:
构建特征编码器网络以生成多尺度特征图,特征图的生成要通过在基本网络 (即在ImageNet[53]上预训练的ResNet-50[2]) 中去除完全连接的层,并增加传输块 (transfer block,TB)。ResNet通常由四种不同的瓶颈结构组成,在同一瓶颈中特征层规模(scale)没有变化。因此,选取前三个不同瓶颈的输出作为多尺度特征生成网络的输入。 这些来自 ResNet 中三个不同瓶颈顶部的初始特征图通过传输块模块,并最终输出用于多尺度关系生成网络的多尺度特征图。传输块的概述如图3所示。我们之所以使用自上而下的结构来生成多尺度特征图,是为了将上层语义表达与下层丰富的视觉信息结合起来。值得注意的是,通过传输块输出的特征图对于相同的层具有相同的深度,但在不同的特征层之间具有不同的深度,这些特征图构成了多尺度特征图。然后将其与查询集中的相应样本组合以构建多尺度特征图对,从而影响多尺度关系生成网络。
- Multi-scale relation generation network:
多尺度关系生成网络能够通过更高级别的度量学习来学习更大尺度特征映射对的关系,具有更浅的度量学习网络的较低级别和具有更深学习网络的更高级别共享参数以降低模型复杂度【如何共享参数?】。采用四层卷积结构对特征映射对的最大尺度进行处理,层数随着尺度的减小而减小。每个卷积层由3 ×3滤波器、批处理归一化和最大池层组成。最后,查询集中样本和支持集中样本之间的关系分数由两个全连接层获得。
IV. EXPERIMENTS
A. Datasets
B. Implementation Details and Settings
对于图2所示的多尺度关系生成网络中的三个比例尺,虽然每个尺度的特征图都有很好的特征表达,但是对于较小比例尺的特征图所包含的较强的语义特征,应该给予较高的评价。因此,训练权重设置为[0.25,0.75,0.25, 0.75]分别对应[w1, w2, w3, w4]。权重λ设为0.25,查询中预测损失的权重μ设为1。
详细报告提出的网络体系结构。多尺度特征图的生成过程采用自顶向下的网络结构,由上层到下层的转换过程是通过转置卷积来完成的。此外,在多尺度关系生成网络的末端,利用两个完全连通层来生成最终预测的关系得分。第一层全连接层使用ReLU作为激活函数,第二层为softmax和sigmoid激活函数,分别对应于IIRL的关系损失和预测损失。
C. Experimental results on miniImageNet
D. Experimental results on tieredImageNet
E. Ablation Study
- Removing multi-scale feature maps:
- Comparing with other loss functions
- Changing the weight of scales and the weight of loss:
- Analysis of multi-scale feature encoder:
- Analysis of multi-feature map combination
- Analysis of multi-scale relation generation network:
- Utilizing different upsample methods:
V. CONCLUSIONS
本文提出了一种多尺度度量学习方法。在miniImageNet和tieredImageNet上的实验结果表明,所提出的深度模型对少镜头学习有较好的效果。验证了特征金字塔结构能够有效地增强样本的特征表达,将高级语义特征与低级但丰富的视觉特征相结合。多尺度关系生成网络能够学习和融合样本间的多尺度关系。此外,本文提出的类内和类间关系损失函数增强了特征的识别(discrimination)能力,对于提高少镜头学习的分类性能有很大的贡献。
目前,所提出的MSML模型对少拍学习有较好的分类效果。将少镜头学习方法推广到目标识别定位、图像分割等领域具有一定的应用价值。但是,由于我们的方法分类精度的标准差高于其他方法,因此我们的方法在模型的稳定性方面存在不足。这是一个棘手而又非常重要的问题,需要在今后的工作中加以研究。
标签:Multi,Scale,特征,尺度,样本,网络,学习,Learning,度量 来源: https://blog.csdn.net/breeze21/article/details/120586692