论文阅读:《Adaptive Subspaces for Few-Shot Learning》

  • 2020 年 10 月 10 日
  • AI

十月了
2020年的最后一个假期也过了 然而还是没有收心好好科研 害
来更新一下的最近的论文阅读。

论文名称:《Adaptive Subspaces for Few-Shot Learning》
论文地址://openaccess.thecvf.com/content_CVPR_2020/papers/Simon_Adaptive_Subspaces_for_Few-Shot_Learning_CVPR_2020_paper.pdf
论文阅读参考://blog.csdn.net/qq_36104364/article/details/106984460
//blog.csdn.net/feifeiyaa/article/details/107461643
源码地址://github.com/chrysts/dsn_fewshot

本篇文章只记录个人阅读论文的笔记,具体翻译、代码等不展开,详细可见上述的链接.

Background

Various studies show that many deep learning techniques in computer vision, speech recognition and natural language understanding, to name but a few, will fail to produce reliable models that generalize well if limited annotations are available.Apart from the labor associated with annotating data, precise annotation can become ill-posed in some cases
各种研究表明,在计算机视觉,语音识别和自然语言理解方面,如果仅仅只有少量的样本,那么许多深度学习技术将无法产生可靠的模型,这些模型如果可以使用有限的注释,则可很好地泛化。
In contrast to the current trend in deep learning, humans can learn new objects from only a few examples. This in turn provides humans with lifelong learning abilities. Inspired by such learning abilities, several approaches are developed to study learning from limited samples . This type of learning, known as Few-Shot Learning (FSL)
与当前的深度学习趋势相反,人类只能从几个例子中学习新的对象。 反过来,这为人类提供了终身学习能力。 受这种学习能力的启发,人们开发了几种方法来研究有限样本的学习。 这种类型的学习称为“少样本学习”(FSL)

Related Work

1.Some of the early works use generative models and similarity learning to capture the variation within
parts and geometric configurations of objects.
These works use hand-crafted features to perform few-shot classification
2.The deep learning has been very successful in learning discriminative features from images.
3.FSL based on metric-learning is the closest direction to our work
早期的工作主要是通过生成模型和相似度来学习特征(会利用手动提取的特征进行小样本的分类)
近年来, 深度学习在从图像中学习鉴别特征方面非常成功
和本文所提出的方法比较接近的是小样本学习中的基于度量的学习,包括孪生神经网络,匹配网络,原型网络等等。

Some other methods

如上图所示,a,b,c为三种基于度量的小样本学习模型
a.Pair-Wise Classifier:
It is possible to build a classifier directly from samples by calculating the similarity between them
成对的分类器,分别计算查询样本对应的特征向量和每个支持样本对应的特征向量之间的距离,然后按照最近邻的思想预测类别(直接从样本中构造分类器),如Matching Network。
b.Prototype Classifier:
By introducing a simple multi-layer perceptron, the average of feature vectors from the final activation layer is used to perform few-shot classification
原型分类器,为支持集中每个类别计算出一个原型(每个类别所有样本特征向量的平均值),然后根据查询样本的特征向量与各个类别原型之间的距离预测类别, 如Prototypical Network。
c.Non-Linear Binary Classifier:
This approach exploits the non-linearity of the decision boundaries
非线性二元分类器,利用边界的决策性,使用神经网络学习到一个非线性的距离度量函数,如Relation Network。

Our work

Contributions:
i. Few-shot learning solutions are formulated within a framework of generating dynamic classifiers.
ii. We propose an extension of existing dynamic classifiers by using subspaces. We rely on a well-established concept stating that a second-order method generalizes better for classification tasks.
iii. We also introduce a discriminative formulation where maximum discrimination between subspaces is encouraged during training. This solution boosts the performance even further.
iv. We show that our method can make use of unlabeled data and hence it lends itself to the problem of semi-supervised few-shot learning and transductive setting.The robustness of such a variant is assessed in ourexperiments.
1.本文的小样本学习的解决方案是在动态分类器上制定的。
补充一下:本文把小样本学习定义为两个阶段的学习,即1.学习通用特征提取.2然后从有限的数据动态生成分类器。
2.我们提出了利用子空间扩展现有动态分类器。
3.我们还引入了一个判别性的公式(损失函数)
4.我们的方法还能推广到半监督学习。

Our method

Subspaces for Few-Shot Classification:(如上图所示)子空间分类器,为每个类别计算出一个特征空间的子空间,然后将查询样本的特征向量投射到子空间中,在子空间中进行距离度量,并预测类别。
我们的目标是学习特征提取器Θ以生成子空间,即生成的空间适合于子空间分类器的函数。

步骤

1.输入图片,计算每个类别c对应的特征向量
利用特征提取器 f_{\Theta} 将输入图像映射到特征空间中得到对应的特征向量f_{\Theta}(x_i),然后通过平均的方式计算每个类 c对应的特征向量均值\mu_c μ

网络结构:(backbone)特征提取网络采用4层卷积神经网络或ResNet网络
2.进行奇异值分解:
对于每个类别 c 都可以得到集合\tilde{X}_c=[f_{\Theta}(x_{c,1})-\mu_c,...,f_{\Theta}(x_{c,K})-\mu_c]
,对 \tilde{X}_c 进行奇异值分解(SVD)得到 \tilde{X}_c=U\sum V^T,然后选取 U中前 n个维度得到截断矩阵P_c,由 \tilde{X}_c得到子空间 P_c 的过程其实就是截断奇异值分解(TSVD),其与主成分分析PCA非常类似,是一种数据降维的方法。
3.计算查询向量到每个类别之间的距离:
得到每个类别对应的子空间 P_c后,可以计算查询向量f_{\Theta}(q)与每个类别之间的距离 d(q) ,计算过程如下

4.通过softmax计算查询样本到哦每个类别之间的概率:

损失函数

损失函数第一项为分类损失(采用分类概率的负对数),第二项为正则化项,主要是通过最大化各个子空间之间的距离来实现的,各个子空间之间的距离主要是使用Grassmannian投影矩阵实现的。

整个算法过程:

Semi-Supervised Learning(半监督算法的推广)
本文的方法还可以推广到半监督训练中,具体操作如下
修改 \mu_c :

mi 是对于没有标签的the soft-assignment score。为了处理干扰的存在,本文使用均值为零的伪类

Experiment

Datasets:
1.mini-ImageNet
2.tiered-ImageNet
( 这个数据集也是从Image Net派生出来的,但与mini-ImageNet相比,它包含了一组更广泛的类。)
3.CIFAR-100.
(我们对CIFAR-FS数据拆分进行了评估。 这些数据集上的所有图像都是32×32,每个类的样本数是600)
4.Open MIC.
(此数据集包含来自10个博物馆展览空间的图像。 在这个数据集中,每个类有866个类和1-20个图像)

Backbones:
4-convolutional layers (Conv-4) and ResNet-12

Result:

以上几个表格展示了本文所提的DSN(deep subspace networks)在四个数据集的实验结果,使用不同的网络骨架的结果,很明显本文所提出的方法与其他方法相比较更胜一筹,除此,还做了在半监督方法上的实验以及是否引入判别式的消融研究。

总的来说,在本文所提出的方法中,对每个类别都计算了特定的子空间,并在子空间中进行距离度量,因此作者称其为自适应子空间(Adaptive Subspaces)。每个类别的距离度量过程都与类别相关,因此作者称其为动态分类器(Dynamic Classifier)。整体的方法也是基于度量学习上的,只是对这个“度量”有了自己的定义,除外本文还对所提方法的鲁棒性(即噪声影响)和计算复杂度进行了讨论,这里不详细展开,具体可参考原论文。


Ending~
十月顺利!!!!