当前位置: 代码迷 >> 综合 >> 论文阅读:A Baseline for Few-Shot Image Classification
  详细解决方案

论文阅读:A Baseline for Few-Shot Image Classification

热度:80   发布时间:2023-12-29 04:37:10.0

题目:A Baseline for Few-Shot Image Classification

论文地址:https://arxiv.org/abs/1909.02729v2

作者:Guneet S. Dhillon, Pratik Chaudhari, Avinash Ravichandran, Stefano Soatto

发表: In ICLR, 2020. 

代码:无

创新点:

  1. 提出一种传导性微调transductive fifine-tuning),即对经过标准交叉熵损失训练的深度网络进行微调
  2. 能够在Imagenet-21k数据集上演示最初的几次小样本学习结果。
  3. 发现使用大量的元训练类(meta-training classes),即使对于大量的测试类,也能获得极高的准确率。
  4. 提出量化测试集(few-shot episode)“硬度”的指标。此度量标准可更系统的说明小样本学习算法的性能。

论文翻译

摘要:

对经过标准交叉熵损失训练的深度网络进行微调是进行小样本学习的一个强基准。如果对它们进行传导性微调(Transductive Fine-Tuning,它的性能将优于标准数据集(如Mini-Imagenet,Tiered-Imagenet,CIFAR-FS和FC-100)中具有相同超参数的最新技术(sota)。这种方法的简单性使作者能够在Imagenet-21k数据集上演示最初的几次学习结果。作者发现使用大量的元训练类(meta training classes),即使对于大量的测试类,也能获得极高的准确率。作者不提倡他们的方法作为小样本学习的解决方案,而只是使用结果突出显示当前基准和小样本学习的局限性。作者对基准数据集进行了广泛的研究,以提出量化测试集“硬度(hardness)”的指标/度量(metric)。此度量标准可用于以更系统的方式说明小样本学习算法的性能。

1、介绍:

上图为该论文图1, 箱型图(box-plot)说明了对于1-shot,5-way最先进的小样本算法在Mini-ImageNet数据集上的性能。 框显示±25%的精度分位数,而缺口表示中位数及其95%的置信区间(当你不断改变样本的时候,有95%的几率,真实值落在我们的这个置信区间里,而不是仅仅局限在这次抽样)。  Whiskers表示1.5×四分位数范围,即它捕获正态分布的概率质量为99.3%。 盒型图的分布较大,说明小样本精度的标准差也较大。 这表明进展可能是虚幻的,特别是考虑到没有一个优于本文讨论的简单换能器微调(transductive fifine-tuning)基线(最右边)。(主要是以箱型图的形式来展示近些年小样本学习的sota算法,本文提出的传导性微调法精度最高)

 随着图像分类系统开始处理越来越多的类,注释大量图像的成本和获取罕见类别图像的难度增加。 这激发了人们对小样本学习的兴趣,小样本学习每类只有很少的标记样本可供训练。图1展示了sota的简单印象。 我们用公布的数字来估计这幅图表的平均精度,95%的置信区间和小样本集的数量。对于MAML(Finn等人,2017年)和MetaOptSVM(Lee等人,2019年),我们使用了作者Github实现中的集数。

 这一领域似乎在稳步发展,尽管基于图1进展缓慢。 然而,平均精度估计的方差与精度的方差不相同。前者可以是零(例如,对于无偏估计器渐近),但后者可以是任意大的。 在图1中,精度的方差非常大。 这表明,如果人们只看一下平均准确性的话,在过去几年里取得的进展可能不像看上去的那样重要。 为了复合这个问题,许多算法使用不同的模型来报告结果,不同的way(类)和shot(每类标记样本数),具有侵略性的超参数 优化。 我们的目标是为小样本学习开发一个简单的baseline(方法), 一种不需要专门训练的类或样本的数量,也不需要对不同协议进行超参数调优。

 我们能想到的最简单的基线是使用标准的交叉熵损失在元训练数据集上预先训练一个模型,然后在小样本数据集(support-set)上进行微调。 虽然这种方法是基本的,并且在此之前已经被考虑过(Vinyals等人,2016年;Chen等人,2018年),但它的性能优于许多复杂的小样本算法却没有被注意到。 事实上,在所有标准基准和小样本协议上,这一基线在执行微调换能器方面有很小的变化,优于所有最先进的算法。

 我们的贡献是为少数镜头学习开发一个换能器微调基线(transductive fifine-tuning baseline),我们的方法甚至适用于单个标记的示例和每个类的单个测试基准。 我们的基线在各种基准数据集上的性能优于最先进的数据集,都有一样的超参,如Mini-Image Net(Vinyals等人,2016年)、Tiered-Image Net(Ren等人,2018年)、CIFAR-FS(Bertinetto等人,2018年)。目前的少镜头学习方法很难扩展到大型数据集。 我们在Imagenet-21k数据集(Deng等人,2009年)上报告了第一次小样本学习结果,该数据集包含1420万 图像跨越21814个类。 在Imagenet-21k中罕见的类形成了一个小样本学习的自然基准。

 这个基线的经验表现,不应该被理解为我们认为这是执行少镜头学习的正确方法。 我们认为,复杂的元训练、理解分类学和分学、迁移学习和领域适应对于有效的少镜头学习是必要的。 然而,简单基线的性能表明,我们需要用一粒盐来解释现有的结果,并警惕适合于基准的方法。 为了促进这一点,我们提出了一个度量来量化少镜头事件的硬度,以及一种系统地报告不同少镜头协议性能的方法。

2、问题定义和相关工作

 我们首先介绍了一些表示法,并将小样本图像分类问题形式化。 设(x,y)分别表示图像及其真实(ground-truth)标签。 训练和测试数据集分别为Ds={(xi,yi)}Ns,i=1和Dq={(xi,yi)}Nq,i=1,其中yi属于某些类Ct。 在小样本学习文献中,训练数据集和测试数据集分别称为支持数据集和查询数据集,统称为小样本集(episode / task)。 类的数量是|Ct|。 集合{xi|yi=k,(xi,yi)∈Ds}是k类的支持集,其基数是s(非零)的支持样本(更一般地称为样本)。 在少数镜头设置中S是小的。 目标是学习一个函数F,利用训练集Ds(support-set)来预测测试基准x的标签,其中(x,y)∈Dq(query-set)

x代表图像;y代表对应的x标签;Ct代表训练集的类;yCt;Ds代表训练集(support-set);Dq代表测试集(query-set);F是个函数,利用训练集Ds来预测x的标签y';用 θ*(Ds)代表交叉熵损失;Ns代表支持样本的个数;pθ(·|x)是模型响应输入x在Ct上预测的概率分布;Dm代表元训练集

                                                        

 典型的监督学习方法用统计、θ*=θ*(Ds)代替上面的Ds,理想情况下,这足以对Ds进行分类,例如,交叉熵损失(argmin)

                                               

其中pθ(·|x)是模型响应输入x在Ct上预测的概率分布。

当提供测试基准时,分类规则通常被选择为该形式

                                                

 其中Ds由θ*表示。 这种形式的分类器需要失去通用性,除非θ*是一个足够的统计量,pθ?(y|x)=p(y,x),这当然从来不是这样,特别是在Ds给定少量标注数据。 然而,它方便地分离训练和推理阶段,而不必重新访问训练集。 这在普通图像分类中可能是可取的,但在小样本学习中不是。 因此,我们采用了在(1)中更一般的F形式。

 如果我们调用测试基准x=x Ns+1,那么我们就可以得到分类器的一般形式

                                                

 除了训练集外,通常还有一个元训练集,Dm={(xi,yi)}Nm,i=1,其中yi∈Cm,类Cm与Ct不相交。  元训练的目标是使用Dm来推断小样本学习模型的参数:θ'(Dm;(Ds,Dq))=,其中元训练损失取决于该方法。(Nm代表元训练集的个数,已知我们是用meta-training来模仿(预测、指导)meta-testing的过程。(这篇文章的meta-training是指meta-testing时的support learning的时候)

2.1、相关工作

 学会学习:元训练损失是为了使小样本训练有效。 这种方法将问题划分为一个执行标准监督学习的基层和一个从基层获取信息的元层。 所以出现了两种主要的办法。

  • 基于梯度的方法:这些方法将基层的更新视为可学习的映射。 这种映射可以使用时间模型学习,或者一个人可以反向传播整个基层更新的梯度。  分别执行这种双级或双级优化是很有挑战性的。 这些方法在大型数据集上没有被证明具有竞争力。 最近的方法使用支持向量机在封闭形式中学习基本级, 这限制了基层的容量,尽管它缓解了优化问题。
  •  基于度量的方法:大多数最先进的算法都是基于度量的方法。 这些方法学习了一种可用于比较的嵌入或集群查询样本。 最近的方法以这一想法为基础,在学习嵌入方面的复杂性越来越高,从支持集创建样本,并为嵌入选择一个度量。 实施这些方法涉及到许多超参数,这使得很难系统地评估它们。

 传导学习(Transductive learning:这种方法比监督学习更有效地使用很少的标记数据。  其思想是在测试时间搜索分类器F(x,Ds)时,利用来自测试基准x的信息来限制假设空间。 我们的方法最接近这一行工作。 我们在元训练集Dm上的训练模型,并使用支持集(support-set)Ds初始化分类器。 然后对参数进行微调,以适应新的测试基准x。

 最近有一些论文在少数镜头学习,如尼科尔等人。 (2018年);Liu等人。 (2018a)是从传感器学习和利用未标记查询样本的动机。  前者使用查询样本更新批处理规范化参数,后者使用标签传播一次性估计所有查询样本的标签。

 半监督学习:我们惩罚在测试时对查询样本的预测的香农熵。 这是半监督学习文献中的一种简单技术,最接近Grand仆人和本吉奥(2005年)。 现代增强技术,如Miyato等。 (2015年);Sajjadi等人。 (2016年);Dai等人。 (2017)或基于图形的方法(Kipf&Welling,2016)也可以与我们一起使用 方法;为了简单起见,我们使用了熵惩罚

 半监督的少样本学习通常被表述为在元训练或少样本训练期间能够获得额外的未标记数据(Garcia&Bruna,2017;Ren等人,2018)。  这与我们使用未标记查询样本进行传感器学习的方法不同。

 初始化进行微调:我们使用来自深度度量学习文献的最新想法来初始化元训练模型进行微调。这些工作将Softmax交叉熵损失与余弦距离联系起来,并在3.1节中进一步讨论。

3、方法

 最简单的元训练形式是具有交叉熵损失的预训练,它产生

 其中第二项表示正则化,例如权重衰减 R(θ)=|θ|?/2。 该模型预测了k∈Cm的logits zk(x;θ),并利用Softmax算子从这些logits中计算了分布pθ(·|x)。 这种损失通常通过基于随机梯度下降(SGD)的算法最小化。

 如果根据(4)中的一般形式进行少样本训练,则优化与上述相同,相当于对预先训练的模型进行微调。 然而,模型需要被修改以解释新类。 仔细的初始化可以使这个过程高效。

3.1  基于支持的初始化(目的为了得出logits,再接softmax层输出进行多分类)

 给定预先训练的模型(称为“骨干”),pθ(从θ'中删除帽子),我们附加了一个新的完全连接的“分类器”层,它以骨干的logits作为输入并预测在Ct中的标签。对于支持样本(x,y),用z(x;θ)∈R|CM|表示骨干的logits;分类器的权重和偏差分别用w∈R(实数集)|Ct*Cm|和b∈R|Ct;以及k 分别用wk和bk表示w和b。 ReLU(一个激活函数,小于0则输出为0,大于0则原样输出)非线性用(·)+表示。

 如果分类器的logits是z'=wz(x;θ)+b,则交叉熵损失中的第一个项:是wy与z(x;θ)之间的余弦距离,如果两者都被归一化为单位L2范数和偏差b=0。 这表明

                            

作为初始化分类器的候选,以及将z(x;θ)+规范化到单元`2范数。 很容易看出,这最大限度地提高了特征z(x;θ)和权重wy之间的余弦相似度。 对于每个类的多个支持样本,我们取Ct中每个类特征z(x;θ)的欧几里德平均值,然后在(6)中2范数归一化(softmax))。 因此,分类器的logits(神经网络的一层输出结果,该输出一般会再接一个softmax layer输出normalize 后的概率,用于多分类?????)表示为

                              

其中Θ={θ,w,b},骨干和分类器的组合参数。 请注意,在`2范数归一化之前,我们在骨干和分类器之间添加了ReLU非线性(激活函数)。 Θ中的全部参数可在微调阶段训练。

备注1(与权重印迹有关)。 基于支持的初始化来自以前的论文(Hu等人,2015年;Movshovitz-Attias等人,2017年;Chen等人,2018年;Gidaris和Komodakis,2018)。 特别是齐等人在2018年使用一种类似的技术,有些差异,为了扩大最终完全连接层(分类器)的大小,用于低样本持续学习。 该作者把他们的技术称为“权重印记(weight imprinting)”,因为wk可以被认为是k类的模板。在我们的例子中,我们只感兴趣在少样本类上表现良好的。

由于meta-training和meta-testing所作用的dataset【类别区域】不一样,即使我们可以用学好的feature extractor,classifier也需要做出调整。一个直观的做法是使用meta-training学好的FE(特征提取),学习一个新的classifier。那么如何又快又好地学习这个新的classifier呢?有一种做法是feature weight imprinting。

这里作者没有使用这种方法,而是在原model的classifier后面再加一个classifier。即--我不换头,我在原来的头上加一个头。这个新头的生成和feature weight imprinting的想法一样,可以看成是logits imprinting。

 备注2(使用骨干的logits而不是特征作为分类器的输入)。 调整主干以预测新类的一个自然方法是重新初始化其最终的完全连接层(分类器)。 相反,我们在骨干的logits之后附加一个新的分类器。 这是来自Frosst等人的动机,对于一个训练有素的骨干,所有层的输出都是纠缠在一起的 没有特定于类的集群;但是logits在正确的类上达到峰值,因此是很好的集群。 因此,与特征相比,logits是对分类器的更好的输入。 我们通过附录C.6中的一个实验来探索这个选择。

 3.2、传感器微调(TRANSDUCTIVE FINE-TUNING

 在(4)中,我们假设有一个查询样本。 然而,我们也可以一起处理多个查询样本,并对所有未知的查询标签执行最小化。 我们介绍一个规则(regularizer),类似于Grandvalet&Bengio(2005),当我们寻求具有峰值后或低香农熵H的输出。因此,换能器微调阶段解决了这个问题

 请注意,数据拟合项使用标记的支持样本,而正则化者使用未标记的查询样本。 这两象可能是高度不平衡的(由于值f的变化范围 或者这两个量,或者由于它们的估计值的差异,这取决于支持集Ns和查询集Nq的样本数量)。 为了更好地控制这种不平衡,可以在查询样本的Softmax分布中使用熵项和/或温度的系数 。 在第4节调整这些超参数每个数据集和少镜头协议导致统一改进的结果1-2%。  然而,我们希望与我们的目标保持一致,即开发一个简单的基线,避免优化这些超参数,并在所有实验将它们设置为基准数据集的1。

4、实验结果

 在4.1节中,我们展示了在少样本学习中对基准数据集进行换能器微调的结果,即Mini-Image Net(Vinyals等人,2016年)、Tiered-Image Net(Ren等人,2018年)、CIFAR-FS(Bertinetto等人,2和FC-100(Oreshkin等人,2018年)。 我们还在第4.2节中展示了在ImageNet-21k数据集(Deng等人,2009年)上的大规模实验。 连同第4.3节中的分析,帮助我们在4.4节中设计一个测试集(episode)硬度的度量。 我们在这里勾画了实验设置的关键点;详见附录A。

 预训练:我们使用WRN-28-10(Zagoruyko&Komodakis,2016)模型作为骨干。 我们使用标准数据增强、交叉熵损失和标签平滑进行预训练(Szegedy等人,2016)of =0.1,混合正则化(Zhang等人,2017年)α=0.25,SGD,批处理大小为256,Nesterov的动量为0.9,重量下降10-4,没有dropout。 我们使用批量标准化(Ioffe&Szegedy,但将其参数排除在重量衰减之外(贾等人,2018年)。 我们使用循环学习速率(Smith,2017)和8个GPU上的半精度分布式训练(Howard等人,2018)来减少训练时间上。

每个数据集都有一个由不相交的类集组成的训练、验证和测试集。 一些算法只使用训练集作为元训练集(Snell等人,2017年;Oreshkin等人,2 而其他人同时使用培训和验证集(Rusu等人,2018年)。 为了完整性,我们报告使用这两种方法发表了结果;前者表示为(训练),后者表示为(训练+验证)。 在第4.3和4.4节中的所有的实验使用(训练+验证)设置。

 微调:我们对一个GPU进行微调,完全精确25个epochs,固定学习率为5×10-5与Adam没有任何正则化。我们在每个epoch做了两个重权重更新:

  • 一个用于使用支持样本的交叉熵项,
  • 一个用于使用查询样本的Shannon熵项。

超参数:我们使用属于Mini-ImageNet训练类的ImageNet-1k图像作为验证集,用于对Mini-ImageNet的骨干进行预训练。 我们使用了验证集Mini-ImageNet选择超参数进行微调。 所有超参数都保持不变,用于基准数据集的实验。

 评估:小样本集(task/episode)包含从各自数据集的测试集中的类中统一采样的类; 对每个类进一步统一采样支持集(support-set)和查询样本(query-set); 除非另有说明,所有实验的查询样本都固定为15。除非另有说明,所有网络都被评估超过1000个小镜头集(task)。 为了便于与现有文献进行比较,我们报告了该估计的平均精度和95%置信区间的估计。 然而,我们鼓励根据第1节和图1报告标准差。

4.1、 基准数据集的结果

 表1:5way小样本集的基准数据集的小样本精度。 表示法conv(64k)×4表示在k层中有4层和64k通道的CNN。  每个列中的最佳结果以粗体显示。 基于支持的初始化优于或可与现有算法比较的结果用+表示。  表示法(train+val)表示骨干是在数据集的训练和验证集上预先训练的, 否则,骨干只在训练集上进行训练。 (Lee等人,2019年)使用1.25×更宽的ResNet-12,我们将其表示为ResNet-12?。

 表1显示了标准小样本协议基准数据集的换能器微调结果。 我们看到,这个简单的基线比最先进的算法要好得多。 我们 包括基于支持的初始化的结果,不进行微调;以及对于微调,这涉及使用标记的支持样本优化(8)中的交叉熵项。

基于支持的初始化有时比最先进的算法(标记)更好或可比。 少样本文献已被吸引到更大的骨干(Rusu等人,2018年)。 我们的结果表明,对于大骨干,即使是标准的交叉熵预训练和基于支持的初始化工作也很好,和Chen等人的观察是类似的(2018)。

对于1-shot 5-way设置,只使用标记的支持示例进行微调会导致初始化方面的微小改进,有时还会导致边际退化。 然而,对于5-shot,5-way设置非传导微调优于sota的。

 在(train)和(train+val)设置中,在所有数据集上对于1-shot 5-way换能器微调导致2-7%的改进。 对于5-shot,5-way设置,除了迷你图像Net数据集,导致增长1.5-4% ,其中的性能是匹配的。 这表明使用未标记的查询样本对于小镜头设置至关重要。

 对于Mini-Image Net、CIFAR-FS和FC-100数据集,使用来自验证集的额外数据对骨干进行预训练,结果改进了2-8%;对于Tiered-ImageNet,改进较小。 这表明,因为一个更好的嵌入,有更多的预训练类会导致改进的小样本性能。 更多实验见附录C.5。

4.2、 大规模的少样本学习

因为高类不平衡,ImageNet-21k数据集(Deng等人,2009年)的14.2M的图像跨越21814个类,是一个理想的大规模少镜头学习基准。  我们的方法的简单性使我们能够在这个大型数据集上呈现第一次小样本学习结果。 我们使用7491个类,每个类有1000多个图像作为元训练集,接下来的13007个类,每个类至少有10个图像,用于构造少样本集(task)。 见附录B 细节。

表2:ImageNet-21k的少镜头数据的准确性。 置信区间很大,因为我们只计算了80多个episodes的统计量,以便测试大量的方法。

 表2显示了在ImageNet-21k上评估的80多个小镜头集的换能器微调的平均精度。  与表1中的相应结果相比,即使在way很大的情况下,精度也是非常高的。 例如,分层成像网的1-shot,5-way精度为72.87%±0.71%,这里为89±1.86。 这证实了4.1节中的结果,并 表明具有大量类的预训练可能是构建大规模少样本学习系统的有效策略。

 对于ImageNet-21k来说,换能器微调的改进是次要的,因为基于支持的初始化精度非常高。  我们注意到,由于(8)中的熵项远大于交叉熵损失,在高类上的换能器微调导致精度略有下降。 因此,ImageNet-21k的实验通过log|Ct|缩小熵项 并在(6)和(7)中放弃ReLU。 这减少了在高精度方面的差异。

4.3、分析

本节全面分析了Mini-ImageNet、Tiered-ImageNet和ImageNet-21k数据集的换能器微调(transductive fifine-tuning

  图2:不同查询样本、类和支持样本的换能器微调的平均精度。 图2a表明,如果支持镜头较低,则查询镜头的平均精度会提高;这一影响对于分层图像网来说是小的。 查询样本为1的时候平均精度很高,因为换能器微调可以专门用于这些查询。 图2b结果表明,平均精度降低了对数具有固定支持镜头和查询镜头15的方式。 图2c表明, 平均精度随着固定方式和查询镜头(15),支持镜头的对数提高。  这些趋势暗示了构建少样本系统的经验法则。

传感器微调查询镜头的鲁棒性:图2a 显示更改查询样本对平均精度的影响。对于1-shot、5way设置,(8)中的熵惩罚随着查询镜头的增加而有所帮助。 这种影响在5镜头5路设置中很小,因为有更多的标记数据是可用的。 查询样本为1时达到了相对较高的平均精度,因为换能器微调可以适应这些少数查询。 单查询镜头足以受益于换能器微调:对于Mini-ImageNet,查询样本为1的1镜头5路精度为66.94±1.55%,优于非传导微调(表1中为59.62±0.66%),高于其他方法。

 表现为不同的方式和支持镜头: 小样本系统应该能够有力地处理不同的小样本场景。图2b和2c通过变化类和支持样本展示出传导微调的性能。 平均精度随方法和支持样本的对数变化,这为构建小样本系统提供了拇指规则(thumb rules)。

 不同的骨干架构:我们在表3中包括使用Conv(64)×4(Vinyals等人,2016年)和ResNet-12(He等人,2016年a;Oreshkin等人,2018年)进行的实验, 以便于对不同的骨干结构进行比较。 对于给定的骨干结构,换能器微调的结果是可比的或优于最先进的, 除了刘等人。 (2018b)使用卷积(64)×4更复杂的换能器算法使用图形传播。 为了简单起见,我们保留了超参数 用于预训练和微调,与用于WRN-28-10的相同(参见。 第3节和第4节)。  这些结果表明,换能器微调是各种骨干结构的良好基线。

 计算复杂度:天下没有免费午餐,我们提倡的基线有其局限性。 它在微调阶段执行梯度更新,这使得它在推理时间缓慢。具体来说,换能器微调大约是300×慢(20.8比0.07秒)的1镜头5路插曲与15个查询镜头相比,Snell等人。 (2017年)具有相同的骨干建筑师 典型网络(Snell等人,2017年)在推理时不更新模型参数)。 延迟因子随着更高的支持镜头而降低。 有趣的是,对于一个查询镜头,前者需要4秒而不是0.07秒 s.这是一个更合理的因素50×,特别是考虑到前者的平均精度为66.2%,而后者在我们的实施中约为58。 附录C.3中的实验建议使用较小的骨干结构部分补偿延迟,并降低精度。 一些方法,如Ravi&Larochelle(2016);Finn等。 (2017年);Rusu等人。 (2018年);Lee等人。 (2019年)还在推理时执行额外的处理,预计会很慢与其他换能器方法(Nichol等人,2018年;Liu等人,2018年b)。 此外,基于支持的初始化具有与Snell等人相同的推理时间。 (2017)。

4.4、 报告少样本分类性能的建议

 正如第1节所讨论的,我们需要更好的度量来报告少样本算法的性能。 有两个主要问题:

  • (I)不同采样的少样本精度的标准差对于给定的算法、数据集和少样本协议,episode非常高(参见,图1),
  • (II) 不同的模型和超参数对于不同的少样本协议使得评估算法贡献变得困难(参见。 表1)。 本节为解决这些问题迈出了一步。

 集(episode)的硬度:小样本集的分类性能取决于标记样本和未标记样本对应的特征的相对位置。如果未标记的特征接近 来自同一类的标记特征,分类器可以很容易地区分类,从而获得较高的精度。 否则,精度就会很低。 以下定义描述了这种直觉。

 对于训练(支持)集Ds和测试(查询)集Dq,我们将将硬度Ω?定义为测试基准被错误分类的平均对数。 更确切地说,

 其中p(·|x)是一个具有logits  zy=w?(X)的Softmax分布)。 w是使用(6)和Ds构造的权重矩阵;?是使用丰富的特征生成器计算的`2个归一化对数,说一个深网络训练的标准图像分类。 这是一个聚类损失,其中标记的支持样本形成特定于类的聚类中心。 计算了簇亲和度。

 请注意,Ω?不依赖于小样本学习者,并使用通用特征提取器给出了分类问题对任何小样本集有多困难的度量。

 图3:比较不同数据集、类(5、10、20、40、80和160)和支持镜头的换能器微调(实线)与基于支持的初始化(虚线)的精度( 1和5)。利用(9)和Resnet-152(He等人,2016b)网络在Image Net-1k数据集上进行标准图像分类训练,计算Abscissae。  每个标记都表示在小样本集上的换能器微调的准确性; 用于基于支持的初始化的标记被隐藏以避免杂乱。 标记的形状表示不同的方式;方式从左到右增加(5、10、20、40、80和160)。 标记的大小表示不同的支撑样本(1和5);它从底部到顶部增加。 例如,椭圆包含不同的5次10次镜头的精度为ImageNet-21k。  通过将所有小镜头协议的集相结合,为每个算法和数据集绘制回归线。 这个图类似于精确回收曲线,允许比较两种算法的不同的几个镜头场景。 拟合回归线下第一象限的面积是295比284(用于传感器微调和基于支持的初始化的CIFAR-FS,167对149(FC-100),208对194(Mini-Image Net),280对270(Tiered-Image Net)和475对484(Image Net-21k)。

图3演示如何使用硬度度量。 少样本精度随硬度线性下降。 因此,所有硬度的性能可以通过两种不同的方法进行测试来估计。 我们提倡 选择超参数使用拟合曲线下的面积作为度量,而不是为每个小样本协议专门调整它们。  这种测试方法的优点是它系统地预测了模型在多个少样本协议中的性能。

可以直接比较不同的算法,例如换能器微调(transductive fifine-tuning )(实线)和基于支持的初始化(support-based initialization )(虚线)。 例如,前者导致了简单事件的大量改进,对于硬事件来说,性能是相似的,特别是对于Tiered-Image Net和Image Net-21k。

图1中的少数镜头学习算法精度的高标准偏差可以看作是对应于每个小样本协议的集群的扩展,例如图3中的椭圆表示ImageNet-21k的5-shot,10-way协议。 小镜头学习的本质是,即使方式和镜头是固定的,episode有不同的硬度。  然而,椭圆内的episode位于另一条线上(具有较大的负斜率),这表明,给定小样本协议,硬度是一个很好的精度指标。

 图3还表明,由于测试类较少,CIFAR-FS、FC-100和Mini-ImageNet在episode硬度方面的多样性较小,而Tiered-Image Net和Image Net-21k都允许对两者很难和非常容易的多样化episode进行采样。 对于给定的小样本协议,前三个数据集的事件硬度几乎与后两个数据集的硬度相同。  这表明CIFAR-FS、FC-100和Mini-ImageNet可能是少数类应用程序的良好基准。

在(9)中的硬度度量自然建立在深度度量学习中的现有思想的基础上(齐等人,2018年)。  我们提出了一种方法来统一地评估不同数据集的不同小样本协议的小样本学习算法;确定其有效性和与其他度量的比较将是未来工作的一部分。

5、讨论

我们的目的是为少镜头学习的实践提供基础。 目前的文献是本着越来越复杂的方法,使用不适当的评价方法,适度提高平均准确度。 这就是为什么我们开始建立一个基线,即换能器微调(transductive fifine-tuning,和一个系统的评估方法,即硬度度量(hardness metric。 我们愿意 要强调的是,我们提倡的基线,即换能器微调,并不是新颖的,但在所有标准基准上的性能优于现有算法。 这确实令人惊讶,我们需要后退一步,在少样本学习重新评估现状。 我们希望将本文的结果作为开发新算法的指导方针。

A 步骤

A.1 数据集

 我们使用以下数据集进行基准实验。

  • 迷你图像网络数据集(Vinyals等人,2016年)是Image Net-1k的一个子集(Deng等人,2009年),由84×84幅大小的图像组成,每类600幅图像。 有64次培训,16次有效 离子和20个测试类。 文献中有多个版本的数据集;我们从Gidaris&Komodakis(2018)3的作者那里获得了数据集。
  • 分层图像网数据集(Ren等人 l.,2018)是Image Net-1k的一个较大的子集,608个类被分割为351个培训、97个验证和160个测试类,每个类的图像大小约为84×84。 此数据集确保traini 吴,验证和测试类没有语义重叠,并且是一个潜在的困难的少镜头学习数据集。
  • 我们还考虑了两种较小的CIFAR-100(Krizhevsky&Hinton,2009年, 每类都有32×32幅大小的图像和600幅图像。 第一个是CIFAR-FS数据集(Bertinetto等人,2018年),它将类随机分为64次培训、16次验证和20次测试。 秘密行动 ND是FC-100数据集(Oreshkin等人,2018年),它将CIFAR-100分为60个训练、20个验证和20个测试类,语义重叠最小。

 每个数据集都有一个训练、验证和测试集。 每个这些集合的类集彼此不相交。 对于元训练,我们进行了两组实验:第一组, 其中我们只使用训练集作为元训练数据集,由(Train)表示;第二,我们使用训练集和验证集作为元训练数据集,由(Train+Val)表示)。 我们用 测试集构建少样本集。

A.2 预训练

我们使用一个宽的残差网络(Zagoruyko&Komodakis,2016年;乔等人,2018年;Rusu等人,2018年),其加宽因子为10,深度为28,我们将其表示为WRN-28-10。 较小的网络:c国家工作队(64)×4(Vinyals等人,2016年;Snell等人,2017年)、ResNet-12(He等人,2016年a;Oleshkin等人,2018年;Lee等人,2019年)和WRN-16-4(Zagoruyko和Komodakis,2016年)被用于附录中的分析九C.所有网络都使用SGD进行训练,批处理大小为256,Nesterov的动量设置为0.9,没有辍学,10???4的重量衰减。 我们使用批归一化(Ioffe&Szegedy,2015)。  我们使用两个周期的学习速率退火(Smith,2017),除了ImageNet-21k之外,所有数据集都是40和80个历元,每个数据集使用8和16个epoch。  学习率设置为在第一个周期开始时10-i,并在该周期结束时以余弦时间表降低到10-6(Loshchilov&Hutter,2016)。 我们使用数据并行跨越8个Nvidia V100GPU和半精度列车使用Micikevicius等人的技术。 (2017年);Howard等人。 (2018)。

 我们使用以下正则化技术,这些技术已经在非样本中发现,标准图像分类文献(谢等人,2018年)中发现,用于对骨干进行预训练。

  •  混合(Zhang等人,2017年):这通过输入图像与其单热标签之间的线性插值来增强数据。 如果(x1,y1),(x2,y2)∈D是两个样本,混合创建一个新样本(?x,y? 这里x?=λx1(11λ)x2及其标签y?λey1(11λ)ey2;这里ek是具有非零k条目的一热向量,并从Beta(α,α)中采样以获得超参数α。
  • 标签平滑 吴(Szegedy等人,2016年):当使用Softmax算子时,logits可以无界的方式增加或减少,在训练时导致数值不稳定性。 标签平滑集pθ(k|x)=11如果k=y和/(K,K1),对于一个小的常数>0和类数K。因此,最大和最小输出神经元之间的比率是固定的,这有助于大规模训练。
  • 我们前任 从体重下降中确定批归一化参数(贾等人,2018年)。

 我们设置c=0.1的标签平滑交叉进入损失和α=0.25的混合正则化为我们的所有实验。

A.3  微调超参数

 我们在MiniImage Net的验证集上使用了1镜头5路集来手动调优超参数。 微调完成了25个时代,固定学习率为5×10???5与亚当(金马和巴, 2014)。 亚当在这里被使用,因为它对损失的大小和梯度的大变化更有鲁棒性,如果小镜头插曲(方式)中的类数很大,就会发生这种变化。 我们不使用 微调阶段的任何正则化(重量衰减、混合、辍学或标签平滑。 这些超参数在所有基准数据集上保持不变,即Mini-Image Net、Tiered-Image Net,CIFAR-FS和FC-100。

所有微调和评估都是在一个GPU上进行的,完全精确。 我们通过独立计算(8)中两个项的梯度来依次更新参数。 这更新了两者 模型的权重和批归一化参数。

A.4  数据增强

 使用在ImageNet-1k上计算的均值和标准偏差对输入图像进行归一化。 我们的数据增强包括左-右翻转的概率为0.5,填充4px图像和增加±40%亮度和对比度变化。 对于预训练和微调,增强保持不变。

 我们探索了使用仿射变换的图像增强,但发现添加这一点有很小的影响,没有特定的趋势对数值结果。

A.5  评价程序

 小镜头集包含从相应数据集的测试类中统一采样的类。 支持和查询样本为每个类进一步统一采样。  除非另有说明,所有实验的查询镜头都固定为15。  我们评估所有超过1000集的网络,除非另有说明。  为了便于比较,我们报告了平均精度估计的95%置信区间。

B、对于ImageNet-21K的步骤

ImageNet-21k数据集(Deng等人,2009年)有21,814个类的14.2M图像。 图4中的蓝色区域表示我们的元训练集,包含7,491个类,每个类有1,000多个图像。绿色区域显示13,007个类,每个类至少有10个图像,用于构造少镜头集的集合。 我们不使用由1,343个类组成的红色区域,每个类的图像少于10幅。 我们 训练相同的骨干(W RN-28-10)与附录A中相同的程序,在84×84张调整大小的图像上,尽管只有24个时代。  由于我们使用与其他基准数据集相同的超参数,所以我们没有为预训练或微调阶段创建验证集。 小样本集的情节是相同的 方式如附录A。 我们在这个数据集上使用较少的小镜头集(80)进行评估,因为我们希望通过大量不同的方式来演示性能。

图4:ImageNet-21k是一个高度不平衡的数据集。 最频繁的类有大约3K图像,而最稀有的类有一个图像。 

  图5:t-SNE(Maaten&Hinton,2008)嵌入了迷你图像网的一次5次少镜头集的logits。 颜色表示真实标签;十字架表示支持样本;圆圈表示查询样本;半透明标记和不透明标记分别表示换能器微调前后的嵌入。  即使查询样本在开始时远离它们各自的支持样本, 它们在换能器微调结束时向支架移动。 支持样本的日志相对不变,这表明基于支持的初始化 这是有效的。

C、 额外分析

 本节包含额外的实验和分析,补充第4.3节。 所有实验都使用(Train+Val)设置, 对相应数据集的培训和验证集进行预培训,除非另有说明。

 c.1换能微调显著地改变了嵌入

 图5证明了这一效果。 查询样本的logits与它们各自的支持样本和基于度量的损失函数的logits相去甚远,例如对于原型网络在这一集上会有很高的损失;事实上,基于支持的初始化之后的准确性是64%。 查询样本的日志在传感器微调期间发生了巨大的变化 大多数查询样本围绕各自的支持集群。 本集的后换能微调精度为73.3%。  这表明,使用查询样本修改嵌入对于在新类上获得良好的性能至关重要。  此示例还演示了基于支持的初始化是有效的,在换能器微调阶段,支持样本的日志相对不变。

c.2 大骨干VS小骨干

骨干的表现力对微调的功效起着重要的作用。 我们观察到WRN-16-4架构(2.7M参数)的性能比WRN-28-10(36M参数)差。前者分别获得了63.28±0.68%和77.39±0.5%的精度在迷你图像网和69.04±0.69%和83.55,0.51%的精度在分层图像网上的1-射击5路和5-射击5路协议。 这些数字与最先进的算法(sota)相当,它们低于表1中WRN-28-10的对应数字。  这表明,一个更大的网络可以有效地从元训练类中学习更丰富的特征,而微调可以有效地利用这一点来进一步提高 属于少镜头类的样本的性能。

C.3 具有较小骨干的潜伏期

WRN-16-4结构(2.7M参数)比WRN-28-10(36M参数)小得多,前者的换能器微调要快得多。 与我们对Snell等人的实施相比。 (2017)在相同的主干上,WRN-16-4的速度为20-70×慢(查询镜头为1的0.87比0.04秒,查询镜头为15的2.85比0.04秒)比0.04秒。 比较这个t第4.3节中的计算复杂性实验。

如附录C.2所讨论的,WRN-16-4的精度为63.28±0.68%和77.39±0.5%,在迷你图像网络上和5-镜头5-在迷你图像网络上似是而非。 与此相比,我们使用WRN-16-4骨干实现(Snell等人,2017年)在相同的设置下分别获得57.29±0.40%和75.34±0.32%的精度;前者 特别是数字比它的换能器微调对应的要差得多。

c.4 与现有文献中骨干的比较

 除了第4节中的WRN(64)×4和ResNet-12的实验,以及第4节中的WRN-28-10,以便于对不同骨干架构师的拟议基线进行比较决议。 对于给定的骨干架构,我们的结果是可比的或优于现有的结果,除了Liu等人的结果。 (2018b)使用基于图形的转导算法,用于Conv(64)×4在迷你图像网上。 根据我们的简单目标,我们保留了用于预训练和微调的超参数与用于WRN-28-10的超参数相同(参见。 第3节和第4节)。 这些结果表明 换能器微调是各种骨干结构的良好基线。

c.5 使用更多的元训练类

在第4.1节中,我们观察到,有更多的预训练课程可以提高少射击的性能。 但由于我们在预先训练的骨干上附加了一个分类器,并使用骨干的日志作为 输入到分类器中,在更多的类上预先训练的骨干也会有更多的参数,而不是在较少的类上预先训练的骨干。 然而,这种差异并不大:WRN-28-10为与列车相比,Mini-Image Net(列车Val)的参数增加了0.03)。 然而,为了便于进行公平的比较,我们进行了一个实验,在那里我们使用了骨干ins的特征 记录的TEAD,作为分类器的输入。 通过这样做,用于少射分类的预先训练的骨干中的参数数量对于(列车)和(T)都保持不变雨阀)设置。 对于Mini-Image Net,(列车val)分别±0.65%和81.26%和0.45%获得64.20%和81.26%±0.45%,(列车)分别为62.55±0.65%和78.89和0.46%,分别为1次5路和5路。 的 硒的结果证实了原来的说法,即更多的预训练课提高了少射击的性能。

 c.6 使用骨干的特征作为分类器的输入

 与其重新初始化骨干的最终完全连接层来分类新的类,我们只是在它的顶部附加分类器。 我们实施了前者,更常见的方法和发现在迷你影像网上,1次5程和5次5程的准确率分别±64.20%、0.65%和81.26%和0.45%,而分层成像网的精度为67.14±0.74%和86.67%±0.46%的1次5路和5路。 与表1中的对应数据相比,这两个数据集上的1-镜头5路协议的这些数字要低得多。 然而,在本实验中,5镜头5路精度略高于表1。 正如在备注2中所指出的,主干的逻辑是很好的集群,这就是为什么它们对f工作得更好 电子镜头场景。

 表3:5-way小样本集的基准数据集的小样本精度。 表示法conv(64k)×4表示在k层中有4层和64k通道的CNN。 行按b分组 尖骨建筑。 每个列和给定的骨干架构的最佳结果以粗体显示。 结果,其中基于支持的初始化优于或可比现有的ALGO rithms用表示。 表示法(TrainVal)表示骨干在数据集的训练集和验证集上都进行了预先训练;骨干仅在训练集o上进行训练在那里。 (Lee等人,2019年)使用1.25×更宽的ResNet-12,我们将其表示为ResNet-12?。

 c.7 冻结骨干限制性能

 先前的观察表明,网络在微调阶段发生了很大的变化。 冻结骨干严重限制了网络中的变化,只对分类器进行更改。 作为一个结果表明,在一次五次±五次五次方面,冻结骨干的准确率分别为58.38%、0.66%和75.46%±0.52%,Tiered-Image Net的准确率分别为67.06%、0.69%±83.20%和0.51 伊夫利。 虽然在表1中,1次5路的精度远低于表1中的对应精度,但5次5路场景中的差距较小。

c.8 在训练前使用混合

混合提高了约1%的少射精度;在Mini Image Net上,不混合训练的WRN-28-10的精度分别为67.06%±0.71%和79.29%±0.51%,分别为1-shot、5-way和5-shot,5-way。

c.9 更多的小样本集

 图1表明采用少样本算法的精度标准差较高。 考虑到这种随机性,评估也进行了超过10,000次小插曲。 交流小图像网的保存率分别为67.77%±0.21%和80.24%±0.16%,分层图像网的保存率分别为72.36%、0.23%±85.70%和0.16%,分别为1次、5次和5次。 数字是一致的 在表1中,对于1000个少数镜头集,尽管置信区间随着采样次数的增加而减少。

 c.10 对元数据集的评价

表4:Meta-Dataset上的少样本精度:每一行的最佳结果以粗体显示。 使用600个小镜头集与Triantafillou等人报告的结果进行比较。 (2019)。

 我们在Meta-Dataset上进行了实验(Triantafillou等人,2019年),并比较了表4中在Image Net-1k(ILSVRC)上进行的元训练的换能器微调性能。 传输精细-调优比Meta-Dataset中8个任务中的6个任务的最先进大多数情况下都是最先进的;它在所有任务中的平均排名是1.4375(使用Triantafill中报告的结果计算 欧等人。 (2019))。 由于获取数据的问题,没有包括真菌和快速绘图数据集;访问前者数据集的链接似乎不起作用,而后者则是请求 我们正在努力获得的某些法律条件。

 小镜头集采样是按照Triantafillou等人所描述的方式进行的。 (2019年);除了图像Net-1k(ILSVRC)和Omniglot的少数镜头类抽样外,这是一致的 在所有的少数类(Triantafillou等人。 (2019)使用分层抽样技术对层次结构中彼此相距甚远的类进行抽样,从而更容易区分)。 用于元训练和少射微调的超参数与第4节中的超参数保持不变,不适合这些实验。

 D 经常问的问题

1. 为什么还没有注意到这种简单的方法效果得这么好?

以前曾考虑过非传导微调作为基线(Vinyals等人,2016年;Chen等人,2018年)。 这与最先进的技术相当,这一事实可能没有被注意到,因为 以下原因:

  • 鉴于在少镜头设置中只提供了几个标记的支持样本,初始化分类器变得重要。 基于支持的初始化(参见。 第3.1节)动机从深层度量学习文献(Hu等人,2015年;Movshovitz-Attias等人,2017年;Qi等人,2018年;Gidaris和Komodakis,2018年)正确分类支持样本(支持镜头为1,t 他的可能不是正确的更高的支持镜头)。 与随机初始化分类器的权重相比,这种初始化对于我们的实验中的性能至关重要。
  •  根据我们的经验,现有的元训练方法,无论是基于梯度的方法还是基于度量的方法,都很难对更大的体系结构进行调优。 我们推测这是大部分o的原因现有文献侧重于较小的骨干结构。 为数不多的学习文献最近才开始转向更大的骨干架构(Oreshkin等人,2018年;Ru苏等人,2018年)。 从表3中我们看到,非传统的细化随着更深的骨干结构而变得更好。 类似的观察是由(Chen等人,2018年)提出的)。 我们可以的观察 从标准的监督学习中使用“简单”,从标准的监督学习,扩展到大型骨干架构的少镜头分类是我们论文的一个关键贡献。

传输方法最近在少数镜头学习文献中开始流行(Nichol等人,2018年;Liu等人,2018年a)。 由于标记支持样本的稀缺性, 在少射系统中使用未标记的查询样本是至关重要的。

 我们提倡的基线利用了一个良好的初始化和转导,在少数几次学习文献中相对较新,这使得这种简单化的方法到目前为止还没有被认识到。

 2. 因为一个大的骨干结构传输微调工作比现有算法更好。  人们应该比较与现有算法相同的骨干结构,以便进行公平的比较。

 目前的文献是本着越来越复杂的方法来获得适度的性能增益,通常是不同的体系结构(参见。 表1)。 这就是为什么我们着手建立一个基线。 我们的简单基线比现有方法具有可比性或更好。 我们使用的骨干在最近的几次学习文献中是常见的(Rusu等人,2018年;乔等人,2018年)(Cf.表1)。 此外,我们还在附录C.4中包含了关于较小的通用骨干结构的结果,即conv(64)×4和ResNet-12,以及附录C.2中的一些额外实验。 这些e 实验表明,换能器微调是各种不同骨干结构的良好基线。 这表明,我们应该在现有的基准上取得成果。 另见对上文问题1的答复。

3. 表1和表3中缺少条目。 这还是一个公平的比较吗?

表1和表3显示了原始作者发表的所有相关结果。 重新实现现有的算法,以填补缺失的条目,而不访问原始代码是不切实际的,而且往往会产生结果不如公布的结果,这可能被认为是不公平的。 基准的目的是使其他人能够轻松地测试他们的方法。 这在今天不存在,因为无数的性能-CRI设计选择往往没有在论文中详细说明。 事实上,表中缺少的条目表明了当前文献的不足状态。 我们的工作使基准相对于简单 系统基线。

4. 对小样本学习进行微调不是新的

 我们在这篇论文中没有声称新颖性。 传输微调是我们提倡的少镜头分类的基线。 它是不新颖的不同技术的结合。 然而,它的表现 在所有具有固定超参数的少镜头协议上,优于现有的算法。 我们强调,这表明需要重新解释基准上的现有结果,并重新评估文献现状。

 5. 传输微调在推理时具有很高的延迟,这是不实际的。

 我们的目标是建立一个系统的精度基线,这可能有助于判断未来几镜头学习算法的准确性。 测试时间延迟的问题确实很重要 我们在这篇论文中没有集中精力。 附录C.3提供了使用较小主干网的结果,我们看到WRN-16-4网络比使用基于度量的方法慢20-70倍相同的主干,同时具有明显更好的准确性。 使用WRN-28-10的延迟较大(见4.3节中的计算复杂性部分),但在这方面具有更大的优势 准确性。

还有其他用于少镜头分类的换能器方法(Nichol等人,2018年;Liu等人,2018年a),预计也会很慢。

 6. 当查询样本显示在序列中时,在在线设置中传输微调是没有意义的。

 传输微调可以执行,即使有一个单一的测试基准。 事实上,网络可以完全专业化地对这一基准进行分类。 我们在4.3节和图2a中探索了类似的场景。  讨论了用单样本进行换能器微调的性能( 这意味着5个查询样本,每个类一个用于5way评估)。 注 注意,(8)中的损失函数在可用时利用多个查询样本。 它不要求查询样本按其真实类进行平衡。  特别是,即使对于单个测试基准,(8)中的损失函数也是定义良好的。 有关延迟的关注,请参见上面的问题5。

7. 使用转换方法将激励黑客入侵查询集。

 已经发表了使用换能器方法的方法(Nichol等人,2018年;Liu等人,2018年a),除了支持集,依赖于查询集是换能器范式的基本属性。 为了防止查询集被黑客攻击,我们将使测试集公开,这将使一致的基准,即使是传感器方法。

 8. 为什么对于不同的少镜头协议有相同的超参数如此重要?

 一个实用的小镜头学习算法应该能够处理任何小镜头协议。 在现实世界中,每个不同场景都有一个模型是不合理的,因为不同场景的数量原则上是无限的。 目前的算法处理不好。 因此,可以处理任何小镜头场景的单一模型是可取的。

9、 这个是否与测试基准过度拟合?

 否,损失功能中不使用测试基准的标签。

 10. 你能给出一些关于硬度度量的直觉吗? 你是怎么得出这个公式的?

 硬度度量是聚类损失,其中标记的支持样本构成类特定簇的中心。 特殊形式,即(9),允许对日志的解释。 我们使用这种形式是因为它对少数类的数量很敏感(参见。 图3)。 类似的度量,例如E(x,y)∈Dq[[logp(y|x)]也可以使用,但它们会来 有几个警告。 请注意,对于小的方式,p(y|x)更容易变大,因为Softmax中的归一化常数有较少的项。 对于大的方式,p(y|x)可能更小。  这个效果更好地被我们的度量捕获。

11. 图3寻找算法X,Y,Z怎么做?

我们比较了图3中的两种算法,即传感器微调和基于支持的初始化。 第4.4节和图3的标题。 解释了前一种算法是如何更好。  我们将考虑在未来的情节中添加与其他算法的比较。

 

 

  相关解决方案