Revisiting Local Descriptor based Image-to-Class Measure for Few-shot Learning

  • 研究动机
  • 本文创新点
  • 主要方法
  • 训练方式
  • 实验部分
    • 数据集
    • 实验设置
    • 对比方法
    • 小样本分类
    • 细粒度的小样本分类
    • 消融实验
    • 特征提取网络的影响
    • 近邻数量的影响
    • shot数量的影响
  • 可能存在的问题
    • 参考文献

for Few-shot Learning)

研究动机

小样本旨在学习一个具有良好泛化能力的模型,这样它就可以通过新类一个或几个样本来很容易地适应新的未知类(概念)。然而,每个类的样本数量极其有限,很难有效地代表其类别的分布,这使得这项任务真正具有挑战性。目前解决小样本的方法主要可以分为两大类:基于元学习的和基于度量学习的。这篇文章的深度最近邻神经网络(DN4)就是基于度量学习的方法。目前的基于度量的小样本方法都是通过一个卷积神经网络将图像转换成一个一维向量的形式,然后在进行相似度度量,进而分类。本文认为将图像的局部特征转换成一个全局特征(一维向量的形式)很可能丢失相当多的辨别信息,尤其是在样本数量较少的情况下,这会导致信息的丢失。 本文提出了一种使用局部描述符的图像到类的度量代替了基于图像级的度量。 本文通过比较图像与类别之间的局部描述子(Local Descriptor),来寻找与输入图像最接近的类别。本文的灵感来自于朴素贝叶斯最近邻算法(Naive-Bayes Nearest-Neighbor,NBNN),根据这一算法作者有两点发现:一、如果将一张图像的特征信息压缩到一个紧凑的图像级别的表征(一个一维向量),这将会损失许多有区分度的信息,而且这种损失在训练集较少的情况下是无法被恢复的。二、如果采用图片与图片之间的比较,直接使用局部特征进行分类是不可能的,这是因为即使是相同类别的两幅图片,他在局部区域上特征也有很大的差别(比如都是狗,但是不同狗的尾巴区别也很大)。 基于这两点观察,作者提出了深度最近邻神经网络(Deep Nearest Neighbor Neural Network ,DN4),首先对于图像特征描述,作者并没用采用图像级的特征向量,而是使用若干个局部描述子,每个局部描述子对应图片中的一个局部区域;其次,在分类时,作者同样采用了kNN算法,但是与比较两幅图之间的相似性的方法不同,作者比较输入图像与每个类别的局部描述子之间的相似程度,并借此进行分类,这是因为对于一个类别的物体,其公共的特征还是比较接近的。下图展示了之前方法使用的全局特征和本文方法使用的局部特征。

       输入图像的尺寸通常是84×84×384 \times 84 \times 384×84×3,经过卷积神经网络进行特征提取后会得到一个w×h×dw\times h\times dw×h×d的图像,其图像尺寸为w×hw\times hw×h,通道数为d,也就是每张图像的共有w×hw\times hw×h个局部描述,每个局部描述是一个d维的特征向量(图像中同一个位置使用d个卷积核得到的不同特征)。对于基于度量学习的小样本通常使用卷积神经网络将图像特征转换成一个一维向量(1×n1\times n1×n)的形式,然后在进行相似度的度量。匹配网络使用余弦相似度度量、原型网络使用欧几里得距离进行度量、关系网络通过一个神经网络来学习一种特定的度量方式,但是他们都将图像转换成了一个全局特征,丢失了图像的局部描述信息。

本文创新点

1. 将基于度量学习的小样本学习算法中的图像级别的特征向量(一维全局特征),改为局部描述子(m个d维的局部特征)
2. 将图像到图像之间的相似性度量,通过求和的方式改为图像与每个类别之间的相似性度量。

也即是说,本文将图像与类别之间的相似度聚焦在了局部特征上,不要求两幅图像的每个位置都很相似,但是要求他们最相似的k个区域是非常接近的。

主要方法

深度最近邻神经网络主要包含两个模块,特征嵌入模块ψ\psiψ和最近邻分类器(图像到类的度量)模块ϕ\phiϕ。

对于特征提取模块来说,采用的是一个全卷积神经网络(不带有全连接层),因此输出的是一个h×w×dh\times w\times dh×w×d维的张量,可以将长度为d的特征向量看做一个局部描述子xix_ixi​(因为卷积神经网络中的卷积核池化操作,会将图像压缩,其中输出的每一个像素,其实代表了原图中的一个局部块),所以一共可以得到m=h×wm=h \times wm=h×w个长度为d的局部描述子:

Ψ(X)=[x1,x2,...,xm]∈Rd×m\Psi(X)=[x_1, x_2, ..., x_m]\in \mathbb{R}^{d\times m}Ψ(X)=[x1​,x2​,...,xm​]∈Rd×m
其中,xix_ixi​是第i个局部描述子

对于最近邻分类模块,对于给定的查询集Q中的样本,使用特征提取模块得到特征向量Ψ(q)=[x1,x2,...,xm]∈Rd×m\Psi(q)=[x_1, x_2, ..., x_m]\in \mathbb{R}^{d\times m}Ψ(q)=[x1​,x2​,...,xm​]∈Rd×m。对于每个局部描述子xix_ixi​,在类别c中找到它的k近邻x^ij∣j=1k\hat{x}_{i}^{j}|_{j=1}^{k}x^ij​∣j=1k​。然后计算局部描述子xix_ixi​和k近邻x^i\hat{x}_ix^i​之间的相似性,并将这m×km\times km×k个相似性求和得到查询集图像q到类别c之间的相似度。公式如下所示:

Φ(Ψ(q),c)=∑i=1m∑j=1kcos(xi,x^ij)\Phi(\Psi(q),c)=\sum_{i=1}^{m}\sum_{j=1}^{k}cos(x_i,\hat{x}_{i}^{j})Φ(Ψ(q),c)=∑i=1m​∑j=1k​cos(xi​,x^ij​), cos(xi,x^i)=xiTx^i∥xi∥∥x^i∥cos(x_i, \hat{x}_i)=\frac{x_{i}^{T}\hat{x}_i}{\left\| x_i\right\|\left\|\hat{x}_i \right \|}cos(xi​,x^i​)=∥xi​∥∥x^i​∥xiT​x^i​​
其中,cos(·)表示余弦相似性

最后选择相似程度最高的那一类作为查询集的预测类别。

最后值得一提的是,DN4中的图像到类度量模块是非参数化的。因此,如果不考虑嵌入模Ψ\PsiΨ ,整个分类模型是非参数的。由于非参数模型不涉及参数学习,所以也可以在某种程度上减轻参数小样本学习方法中的过拟合问题(例如,在图像级表示上学习完全连接的层)。
       当进行高于1-shot的实验时,比如5-shot训练实验时,对于特征嵌入模块,每个类别会得到一个5×21×21×645\times 21\times 21\times 645×21×21×64的向量,就是一个类别的5张图像拼接后的一个向量。对于查询集的每个样本的每个局部描述子xix_ixi​,在支持集中每个类别c找到与xix_ixi​最近的k个局部描述子,进而进行相似度的度量和分类。

训练方式

本文和其他基于度量学习的小样本方法一样,也是通过基于情景式的元学习策略进行学习。在情节训练的每次迭代中,我们将一个支持集S和一个查询图像q输入到的模型中。通过嵌入模块Ψ\PsiΨ,可以获得了所有这些图像的所有深度局部表示。然后通过Φ\PhiΦ模块,我们通过等式计算查询集q和每个类c之间的图像到类的相似度。对于一个N-way K-shot分类任务,可以得到一个相似度向量z∈RNz\in \mathbb{R}^{N}z∈RN,其中z的最大分量的类是对产驯养本q的预测类别。
本文的损失函数、训练策略均与常规的基于度量学习的小样本算法相同。

实验部分

在实验部分主要研究了两个问题:(1)未经情景训练的基于预训练深度特征的NBNN在小样本上的表现如何 (2)本文的DN4框架,即基于CNN的NBNN,以端到端情景训练的方式,在小样本上表现如何。

数据集

本文的以下四个基准数据集上进行了实验。
       miniImageNet: 作为ImageNet的迷你版本,该数据集包含100个类,每个类包含600张图像,每个图像的分辨率为84 × 84。本文分别使用64、16和20个类别进行训练(辅助)、验证和测试。
       Stanford Dogs: 该数据集最初用于细粒度图像分类,包括120个犬种(类),总共20580张图像。在这里,本文对该数据集进行细粒度的小样本分类任务,分别用70、20、30个类别进行训练(辅助)、验证和测试。
       Stanford Cars: 这个数据集也是一个细粒度分类任务的基准数据集,它包含196个汽车类别,总共16185张图像。类似地,该数据集中的130、17和49个类被分割为训练(辅助)、验证和测试。
       CUB-200: 这个数据集包含了来自200种鸟类的6033张图像。本文选择130、20、50个类别进行训练(辅助)、验证和测试。

实验设置

所有实验都是围绕上述数据集上进行的N-way K-shot分类任务。具体来说,所有这些数据集都将进行5-way 1-shot和5-way 5-shot分类任务。在训练过程中,我们随机构建300000个情景,采用情景式训练机制对所有模型进行训练。在每一个情景中,除了每个类的K张支持集图片(shots)外,在1-shot和5-shot设置还会从每个类别中选择15张和10张图片作为查询集。换句话说,对于一个5-way 1-shot任务,在一个训练集中会有5张支持图片和75张查询图片。为了训练我们的模型,我们采用Adam算法,初始学习速率为1×10−31\times 10^{-3}1×10−3,每经过1×1051\times 10^{5}1×105个情景学习率减少一半。
        在测试过程中,我们从测试集中随机构建600个情景,以top-1平均准确率作为评价标准。这个过程将重复五次,最终的平均精度将被记录。此外,还报告了95%置信区间。值得注意的是,我们所有的模型都是以端到端方式从头开始训练的,并且不需要在测试阶段进行微调。

对比方法

Baseline methods: 为了说明上述数据集上的基本分类性能,本文实现了一个基线方法k-NN(深度全局特征)。特别地,我们采用基本的嵌入网络64通道卷积神经网络(Conv-64F)并附加三个全连接层(FC层)来在相应的训练(辅助)数据集上训练分类网络。在测试过程中,我们使用这个预先训练好的网络来提取最后一层的特征,并使用k-NN分类器来获得最终的分类结果。此外,为了回答实验部分的第一个问题,本文通过使用从上述k-NN(深度全局特征)方法截断的预先训练的Conv-64F来重新实现NBNN算法。这种新的NBNN算法采用深度局部描述符代替手工制作的描述符(即SIFT),称为NBNN(深度局部特征)。
Metric-learning based methods: 由于本文的方法属于度量学习的方法,本文的将DN4与四种基于度量学习的最先进的模型进行比较,包括匹配网FCE,原型网络,关系网络和图神经网络(GNN) 。本文通过使用Conv-64F作为其嵌入模块来重新运行GNN模型,因为原始GNN采用了不同的嵌入模块Conv-256F,其也具有四个卷积层,但是对于相应的层分别具有64、96、128和256个卷积核。此外,为了公平比较,我们通过相同的5-way训练设置而不是原始工作中的20-way训练设置来重新运行原型网络。
Meta-learning based methods: 除了基于度量的模型之外,还选取了五个基于元学习的模型作为参考。这些模型包括元学习者LSTM,模型无关元学习(MAML),简单神经注意学习者(SNAIL)[13],MM-Net和Dynamic-Net。由于SNAIL采用更复杂的ResNet-256F(ResNet的较小版本)作为嵌入模块,我们将根据附录中提供的Conv-32记录其结果,以便进行公平比较。请注意,Conv-32F与Conv-64F具有相同的体系结构,但每个卷积层有32个卷积核,元学习LSTM和MAML也使用这种结构来缓解过拟合问题。

小样本分类

在miniImageNet上执行通用的小样本分类任务。结果见表1,其中超参数k设为3。从表1中可以看到,NBNN (Deep local features)可以比k-NN (Deep global features)取得更好的结果,甚至比Matching Nets FCE、Meta-Learner LSTM和SNAIL (convv - 32f)都要好。这不仅验证了局部描述子的性能优于图像级特征(即k-NN所使用的FC层特征),也表明了图像到类的度量是非常有效的。然而,与最先进的原型网络、关系网络和GNN相比,NBNN (Deep local features)的性能仍有很大的差距。原因在于,作为一种懒惰学习算法,NBNN (Deep local features)没有训练阶段,也缺乏情景训练。到目前为止,第一个问题已经得到了解答。
        与此相反,我们提出的DN4将图像类测度嵌入到深度神经网络中,通过情景训练可以联合学习深度局部描述符,确实获得了较好的效果。与基于指标学习的模型相比,在5-way 1-shot任务中我们的DN4 (Conv64F)比Matching Nets FCE、GNN(con - 64f)、Prototypical Nets和Relation Net分别提高7.68%、2.22%、2.79%和0.8%。在5-way 5-shot分类任务上,本文的DN4甚至可以得到15.71%,7.52%,4.49%和5.7%的显著改进。原因是这些方法通常使用的图像级特征数量太少,而我们的DN4采用的是可学习的深度局部描述符,特别是在5-shot的设置下,该描述符更为丰富。另一方面,局部描述符具有互换性特征,使得基于局部描述符的类分布比基于图像级特征的类分布更有效。因此,第二个问题也可以得到解答。
        为了全面了解小样本学习领域,我们还报告了基于最先进的元学习方法的结果。我们可以看到我们的DN4和这些方法还是有竞争力的。特别是在5-way 5-shot设置中,我们的DN4分别比SLILL(conv-32F)、元学习LSTM、MAML和MM-Net提高了15.82%、10.42%、7.91%和4.05%。至于Dynamic-Net,一个两阶段的模型,它在进行少拍训练之前,与所有类别一起预先训练它的模型,而我们的DN4没有。更重要的是,我们的DN4只有一个统一的网络,这比这些基于元学习的方法要简单得多,因为它们有额外的复杂的内存寻址架构。

细粒度的小样本分类

除了一般的小样本分类,我们还在三个细粒度数据集上进行细粒度的少镜头分类任务,即 Stanford Dogs, Stanford Cars和CUB-200.。在这三个数据集上实现了两个基线模型和三个现有模型,即k-NN(深层全局特征)、NBNN(深层局部特征)、匹配网FCE、原型网络和GNN。结果如表2所示。一般来说,由于细粒度数据集的类间差异较小,类内差异较大,因此细粒度小样本分类任务比一般分类任务更具挑战性。通过比较表1和表2中相同方法的性能可以看出。k-NN(深层全局特征)、NBNN(深层局部特征)和原型网在细粒度数据集上的性能比miniImageNet差。还可以观察到,NBNN(深层局部特征)的表现始终优于k-NN(深层全局特征)。

        由于细粒度任务的类间差异很小,我们选择k = 1作为我们的DN4,以避免引入有噪声的视觉模式。从表2中,我们可以看到,在5-way设置下,我们的DN4在这些数据集上表现惊人地好。特别是在Stanford Cars上,我们的DN4比第二好的方法(即GNN)获得了17%的最大绝对改进。在1-shot设置下,我们的DN4没有在5-shot设置下表现好。关键原因是我们的模型依赖于k-近邻算法,这是一种懒惰的学习算法,其性能很大程度上取决于样本的数量。表5显示了这一特性,即随着shot数量的增加,DN4的性能越来越好。另一个原因是这些细粒度数据集不够大(如CUB-200只有6033张图像),导致训练深度网络时出现过拟合。
为了避免过度拟合,我们通过随机裁剪和水平翻转对训练(辅助)集进行数据扩充。然后,我们在这些扩充的数据集上重新训练我们的模型,即DN4-DA,但是在原始测试集上进行测试。可以观察到,我们的DN4-DA对于1-shot和5-shot任务都可以获得几乎最好的结果。细粒度的识别很大程度上依赖于细微的局部视觉模式,它们可以被我们模型中强调的可学习的深层局部描述符自然地捕获。

消融实验

为了进一步验证图像到类别的测量比图像到图像的测量更有效,我们通过开发DN4的两个图像到图像(简称IoI)变体来执行消融研究。具体来说,第一个变体DN4-IoI-1将图像的所有局部描述符连接为高维(h×w ×d)特征向量,并使用图像到图像的度量。至于第二个变体(简称DN4-IoI-2),它保留了像DN4一样的本地描述符,而没有串联。DN4-IoI-2和DN4之间的唯一区别是,DN4-IoI-2限制在每个单独的支持集每幅图像中寻找与查询集q的k个最近邻的描述子,而DN4可以从一个完整的支持集类别中寻找。在1次设置下,DN4-IoI- 2与DN4相同。这两种变体仍然采用k-NN搜索,对于1镜头设置和5镜头设置分别使用k = 1和k = 3。

特征提取网络的影响

除了常用的Conv-64F,我们还通过使用另一个更深的嵌入模块来评估我们的模型,即SNAIL和Dynamic-Net使用的ResNet-256F。ResNet-256F的细节可以参考SNAIL。当使用ResNet-256F作为嵌入模块时,DN4对于5路1击任务的准确率达到52.44±0.80%,对于5击任务的准确率达到72.53±0.62%。如图所示,使用更深的主干网,DN4可以比使用浅Conv-64F的情况表现得更好。此外,当使用相同的ResNet-256F作为嵌入模块时,在5-shot设置下,我们的DN4 (ResNet-256F)可以获得比Dynamic-Net(Resnet-256 F)2.4%的改进(即70.13±0.68%)(见表1)。

近邻数量的影响

近邻的影响。在图像到类模块中,我们需要为查询图像的每个局部描述符找到一个支持类中的k近邻。接下来,我们测量查询图像和特定类别之间的图像到类别的相似性。因此,如何选择合适的超参数k是一个关键。为此,我们通过改变k∈1,3,5,7k\in{ 1,3,5,7}k∈1,3,5,7的值,在miniImageNet上执行5way 5-shot任务,结果如表4所示。可以看出k值对性能的影响比较温和。因此,在我们的模型中,k应该根据具体的任务来选择

shot数量的影响

情景训练机制是目前流行的小样本学习方法。基本规则是训练和考试的匹配条件。这意味着,在训练阶段,wat和shot的数量应该与测试阶段采用的数量保持一致。换句话说,如果我们要执行5-way 1-shot的任务,那么在训练阶段应该保持同样的5-way 1-shot设置。但在实际训练阶段,我们还是想知道不匹配条件的影响,即欠匹配条件和过匹配条件。我们发现过匹配条件可以获得比匹配条件更好的性能,并且比欠匹配条件好得多。使用本文的DN4在miniImageNet上执行5-way K-shot (K = 1,2,3,4,5)任务。结果如表5所示,其中对角线上的条目是匹配条件的结果。上三角中的结果是不匹配条件的结果。另外,下面的三角形包含过匹配条件的结果。可以看出,下三角的结果比对角线上的好,对角线上的结果比上三角的好。

可能存在的问题

背景相似的两张图像,很可能预测为同一个类别。

参考文献

论文链接
源码地址
论文阅读笔记Revisiting Local Descriptor based Image-to-Class Measure for Few-shot Learning》

Revisiting Local Descriptor based Image-to-Class Measure for Few-shot Learning阅读笔记相关推荐

  1. Modularity Based Community Detection with Deep Learning 阅读笔记

    一.创新点   1.提出DNR模型   2.对DNR模型改进,加入节点约束,提出semi-DNR模型   3.第一次将深度学习应用到社区检测 二.研究背景   模块或群落结构的识别对于描述和理解复杂系 ...

  2. LD(Local descriptor)

    LD(Local descriptor)是一种无需序列比对的方法,其效力在很大程度上取决于潜在的氨基酸分类. 1 划分区域 首先将每个蛋白质都会划分成10个区域,通过计算10个区域的  组成(Comp ...

  3. 17.5.8 韦伯局部描述符(Weber's Local Descriptor)

    在大多的据不描述符中,Gabor小波和LBP是常见的两种.本文将主要介绍另外一种纹理的描述算子WLD(Weber's Local Descriptor),主要由两部分组成:差励(differentia ...

  4. 局部图像描述(weber local descriptor)

    一.韦伯定律介绍 在黑色的纸上用白色的笔写字比用深色的笔写字更容易被看清,这是因为这种刺激达到了一定的阈值,从而引起了我们的感官刺激.韦伯定律是心理学上描述这一现象的定律(刚萨雷斯的数字图像基础书中, ...

  5. 毫米波目标检测论文 阅读笔记 | Radar Transformer: An Object Classification Network Based on 4D MMW Imaging Radar

    毫米波目标检测论文 | Radar Transformer: An Object Classification Network Based on 4D MMW Imaging Radar Jie Ba ...

  6. 论文阅读笔记(4):Local Convex Representation with Pruning for Manifold Clustering ,带剪枝的局部凸表达进行流形聚类

    论文阅读笔记(4):带剪枝的局部凸表达进行流形聚类 介绍 文章主要贡献 理论上:局部凸表达(Local Convex Representation, **LCR**) 剪枝方法:估计流形的内在维数以剪 ...

  7. 关于《Robust outlier detection based on the changing rate of directed density ratio》的阅读笔记

    关于<Robust outlier detection based on the changing rate of directed density ratio>的阅读笔记 中文题目:基于 ...

  8. ”AE-OT A NEW GENERATIVE MODEL BASED ON EXTENDED“阅读笔记

    "AE-OT A NEW GENERATIVE MODEL BASED ON EXTENDED SEMI-DISCRETE OPTIMAL TRANSPORT"阅读笔记 来源:IC ...

  9. Gated Mechanism for Attention Based Multi Modal Sentiment Analysis 阅读笔记

    GATED MECHANISM FOR ATTENTION BASED MULTIMODAL SENTIMENT ANALYSIS 阅读笔记 最近在跟进多模态的情感分析发现多模态榜一又被刷下来了,这篇 ...

  10. [论文阅读笔记] Are Meta-Paths Necessary, Revisiting Heterogeneous Graph Embeddings

    [论文阅读笔记] Are Meta-Paths Necessary? Revisiting Heterogeneous Graph Embeddings 购物返利 www.cpa5.cn 本文结构 解 ...

最新文章

  1. 【转】MySQL常用命令总结
  2. Java图形化界面设计——容器(JFrame)
  3. iometer测试工具
  4. 【收藏】IDEA jetbrains.com官网进不去解决办法
  5. java开发程序员_Java大牛给入门Java开发程序员的10个学习建议
  6. audino python_用 Python 实现 PowerDesigner 数据模型文件的处理
  7. Python学习4 列表基础知识和常用函数
  8. Mysql——查看数据库,表占用磁盘大小
  9. spark 上游rdd的缓存
  10. 区块链 xuperchain xuper-java-sdk 部署使用EVM 合约 教程
  11. 厦门大学计算机网络实验四
  12. OpenStack 性能测试工具Rally使用
  13. java实现车牌号的添加_一个小工具——随机产生汽车车牌号的Java实现
  14. 【证券】什么是开仓、持仓和平仓?
  15. ​证件照怎么换底色?分享一个快速换底色的方法
  16. 我的世界java怎么写彩字_我的世界告示牌怎么打彩字 告示牌制作图文教程
  17. Oracle数据库官方权威内部培训教材
  18. nodejs快速上手编写程序
  19. 【情态动词练习题】had to 和 will have to
  20. 【译】MySQL挑战:建立10万连接

热门文章

  1. 搞定 office 2007 错误 1706
  2. 一文让你理清导数、方向导数、梯度向量之间的关系~
  3. 直连路由、主机路由以及选择顺序
  4. 小米路由器4刷机说明(openwrt-21.02.1)
  5. python合并文件夹_python实现将两个文件夹合并至另一个文件夹(制作数据集)
  6. 1024程序员节:心疼被段子手黑得最惨的他们
  7. c语言 2个字节字符串,【单选题】在C语言中,字符型数据所占的内存空间是 A. 2 个字节 B. 4 个字节 C. 1 个字节 D. 由用户自定义...
  8. macOS 安卓模拟器 Nox夜神模拟器 共享目录
  9. html中图片一角的卷起效果,CSS3实现图片折角效果例子
  10. 2020年鼠年春节贺词祝福大全