学会比较:用于小样本学习的关系网络外文翻译资料

 2021-12-15 22:11:33

英语原文共 10 页

学会比较:用于小样本学习的关系网络

摘要

我们提出了一个概念上简单、灵活并且通用的用于小样本学习的框架,分类器必须在每个类只给定少量样本的情况下识别出新类。我们的方法,叫做关系网络,是从头开始端到端的训练的。在元学习时,它学着学习一个深度距离度量方法来比较同一个episode中的少量图像,每一个episode都设计成模拟小样本的设置。一旦训练完成,一个RN能够通过计算每个新类的查询图像和少量样本的关系分数来对新类的图像进行分类,而无需进一步更新网络。除了在小样本学习上有良好的性能表现,我们的框架也能轻易的扩展应用到零样本学习上。基于四项基准测试的大量实验证明了我们的方法为这两个任务提供了一个统一有效的方法。

1. 介绍

深度学习模型已经在视觉识别领域取得了巨大成功。然而,这些监督学习模型需要大量的带标签数据和迭代次数来训练他们的大量参数。由于注释成本,这严重限制了他们对于新类的可扩展性,也更根本的限制了他们对于新兴的或者罕见的类别的实用性。相比较,人类非常善于通过极少的直接观察或者根本不观察来识别物体,即小样本学习和零样本学习。由于传统的深度学习方法在one-shot或者few-shot中表现良好,并且受到了人类few-shot或者zero-shot学习的启发,对于one/few shot或zero-shot的研究也有一个重新的兴起。

小样本学习旨在从少量的带标签样本中识别新奇的类别。这种只有一个或者少数样本的可扩展性方法挑战了深度学习中标准微调(fine-tuning)方法的应用。数据增强和正则化技术能够减轻这种有限数据体系中的过拟合问题,但是它们不能解决。因此针对小样本学习的现代方法通常将训练分解成一个辅助元学习阶段,其中可转移知识以一个较好的初始条件、嵌入模块或者最优化策略的方式进行学习。然后,通过学习的优化策略或者在前馈传递中计算进行微调,而无需更新网络权重,来进行目标小样本学习问题的学习。

大多数现有的小样本学习方法要么需要复杂的推理,复杂的递归神经网络架构或者微调目标问题。我们的方法和那些旨在为one-shot learning训练一个有效的距离度量方法最相关。但是它们关注可转移的嵌入单元的学习,并且它们预定义一个固定的度量方法(例如Euclidean),而我们却更关注学习一个可转移的深度度量方法来比较图像间的关系。通过对深度解决方案(嵌入和关系模块中的多个非线性学习阶段)的归纳性偏差的表达,我们可以更轻易的学习到问题的一般性解决方案。

具体来说,我们提出了一个双分支关系网络,通过将小样本中带标签的样本图像和查询图像进行比较来实现小样本识别。首先,嵌入模块生成查询样本和训练样本的特征表示。然后嵌入模块通过关系模块进行比较,从而确定他们是否匹配到同一个类。受到[【39,36】的启发,我们定义一个基于episode的策略,嵌入和关系模块都是端到端元学习的,用于实现小样本学习。这也可以看作是【39,36】策略的一个扩展,但它包含了一个可学习的非线性的比较器,而不是一个固定的线性比较器。我们的方法由于先前的方法,比【39,32,29】更简单(没有RNN),比【29,10】更快(没有fine-tuning)。

总的来说,我们的贡献是提供一个包含小样本和零样本学习的简洁的框架。我们对四个基准测试的评估表明,它提供了全面的引人注目的性能,同时比替代方案更简单,更快速。

2. 相关工作

对于one/few shot目标识别的研究已经有一段时间了【9】。早期对于few-shot learning的研究往往采用具有复杂性推理策略【9,23】的泛化模型。随着基于判别式深度学习的方法在含有大量数据的多样本任务【22,15,35】中的成功,将这种深度学习方法应用到小样本学习中也引起了极大的兴趣。这些方法中的大多数都是使用元学习或learning-to-learn的策略,他们从辅助任务集中学习一些可转移的知识,这些知识能够帮助它们很好的学习目标是few-shot learning的问题,并且不用担心将深度模型应用到稀疏数据时可能出现的过拟合问题。

学会微调 MAML方法的成功之处在于元学习到一个好的初始条件(神经网络权重的集合),从而有利于小样本学习上的微调问题。这里的策略是寻找一个给定的神经网络的权重配置,使得可以在少数梯度下降更新步骤中对稀疏数据问题进行有效的微调。从多任务训练集中抽取一些不同的目标任务,基础神经网络为解决各个任务而进行微调,微调后各个任务的成功驱动这基础模型的更新,从而驱动产生一个易于微调的初始条件。小样本优化方法在元学习中不仅进一步发展为一个好的初始条件,而且发展为一个基于LSTM的能够被训练为对微调很有效的优化器。然而这两种方法都受到要在目标问题上进行微调的影响。相比之下,我们的方法以完全前馈的方式解决目标问题,无需模型更新,使其对于低延迟、低功耗问题更便利。

基于记忆递归神经网络 另一类方法使用具有记忆的递归神经网络【27,32】。思想是一个RNN在给定问题的一个例子上进行迭代,并且积累知识(要解决在其隐藏激活层或者外部存储器中的问题所需要的知识)。可以对新类进行分类,例如通过将他们与存储在存储器中的历史信息进行比较。因此,“学习”一个单一的目标问题会在展开RNN时发生,而learning-to-learn 则是通过学习不同的目标问题来训练RNN中的权重。虽然具有吸引力,但他们也面临着如何可靠的长期保存所有的相关历史信息。在我们的方法中,我们避免了经常性网络的复杂性和确保存储器充分性的问题。相反,我们的方法完全由简单快速的前馈神经网络定义。

嵌入和距离度量方法 在学习小样本问题时,先前的方法都比较复杂。另一类方法旨在学习一组映射函数,这些映射函数从目标问题中获取查询和样本图像,并以前馈方式对其进行分类【39,36,4】。一种方法是根据样本集来参数化前馈分类器的权重。这里的元学习是训练辅助参数化网络,该网络学习如何根据几个样本集来对给定的前馈分类问题进行参数化。基于度量学习的方法旨在学习一组映射函数,使得当用嵌入模块表示时,使用简单的最近邻或者线性分类器就能够轻易的识别图像【39,36,20】。在这种情况下,元学习的可转移知识是映射函数,目标问题是简单的前馈计算。

和我们的模型最相关的是【36】的原型网络和【20】的siamese networks。这些方法专注于嵌入模块的学习,嵌入模块能够转化数据,使其被最近邻或线性分类器识别。相反,我们的框架定义了一个关系分类器CNN,类似于【343,44,14】的形式。与【20,36】相比,我们的方法能提供一个可学习的而不是固定的度量方法,一个非线性的而不是线性的分类器。相比于【20】,我们从头开始以端到端的学习方式受益于一种基于episode的训练策略,并且与【32】相比,我们避免了RNN样本集的集合设置的复杂性,并且仅仅依赖于pooling【33】。

3. 方法

3.1 问题定义

我们考虑小样本分类器学习任务。以前,我们有三个数据集:一个训练集(training set)、一个支持集(support set)、一个测试机(test set)。支持集和测试集共享一个标签空间,但是训练集有它自己的和支持/测试集不一样的标签空间。如果支持集中对于每个类别(共有C个不同的类别)都包含K个带标签的样本,则此小样本问题叫做C-way K-shot。

仅使用支持集时,原则上我们可以训练一个分类器以将类标签y分配给测试集中的每个样本x。然而,由于支持集中带标签样本的缺少,这样的分类器的效果很差。因此我们要在训练集上进行元学习,从而获得可转移知识,从而能够在支持集中更好的实现小样本学习,并且更成功的对测试集进行分类。

一个有效的方法是通过基于episode训练来模仿小样本学习的设置。在每一次训练迭代中,一个episode是通过从训练集中随机选择C个类别,每个类别带有K个标签组成的。样本集(support set)为:

C个类剩下的类中的一部分组成查询集(query set):

样本/查询集(sample/query set)的拆分是为了模拟将会在测试时用到的支持/测试集(support/test set)的设置。如果需要,可以使用支持集进一步微调从样本/查询集训练的模型。在这项工作中,我们采用了这种基于episode的训练策略。在我们的几次小样本实验中,我们考虑了one-shot(K=1)和5-shot(K=5)的设置。

3.2 模型

One-shot 我们的关系网络包含了两个模块:一个嵌入模块和一个关系模块

如图1。样本集中的样本xi和查询集中的样本xj通过嵌入模块馈送,嵌入模块产生特征映射和这两个特征映射通过函数进行结合,本文中我们假设是特征映射在深度上的串联。

样本和查询的特征映射结合送入关系模块,关系模块最终产生一个(0,1)的标量代表xi和xj的相似度,也叫做relation score。因此,在C-way 1-shot情景下,每个查询图像xj和训练样本集xi我们共生成C个关联分数:

图1:具有1个查询示例的5-way 1-shot问题的关系网络框架

K-shot 对于K-shot(Kgt;1),我们对每个训练类的所有样本的嵌入模块输出进行逐元素求和,来形成该类的特征映射。这个池化的类-级别的特征映射与上述查询图像的特征映射相结合。因此,一个查询图像的关联分数也是C个(无论是1-shot还是few-shot)

目标函数 我们使用均方误差损失来训练模型(如下公式):将关联分数回归到常识:1表示匹配,0表示不匹配。

MSE的选择有点不标准。 我们的问题似乎是标签空间{0,1}的分类问题。然而,概念上讲我们正在预测关系分数,这可以被认为是一个回归问题,尽管事实上我们只能自动生成{0,1}目标。

图2 用于few-shot learning的关系网络架构(b),它由卷积块(a)的元素组成。

3.3 网络架构

大多数小样本学习模型使用4个卷积块用于嵌入模块【39,36】,为了比较,我们采用相同的网络架构,如图2。更准确的说,每个卷积块包含一个64-filter3*3卷积,一个批量归一化层,和一个ReLU非线性层。前两个块还各自包含一个2*2最大池化层,后两个块没有。这样做的原因是我们需要输出的特征映射来用于关系模块中更深的卷积层。关系模块包含两个卷积层和两个全连接层。每个卷积层都是:带有64-filter的3*3卷积,一个批量归一化(batch normalization),一个ReLU非线性层和一个2*2最大池化层。最后一个最大池化层的输出尺寸是H=64(Omniglot)和H=64*3*3(miniImageNet)。两个全连接层分别是8维和1维。所有的全连接层都是ReLU除了输出层是Sigmoid,以便为我们网络架构的所有版本生成一个合理范围内的关联得分。

4. 实验

我们使用以下任务来评估我们的模型:在Omniglot和miniImageNet数据集上的小样本实验。所有的实验都是用PyTorch实现的。

4.1 小样本识别

设置 小样本学习使用Adam【19】,初始学习率为0.001,每100000个episode后减少一半。所有的模型都没有使用额外的训练集,并且是从头开始端到端的训练的。

Baselines 我们比较了当前小样本识别的几种先进方法,包括【8】中的neural statistician,【39】中的匹配网络,【32】的MANN,【18】的带有记忆的Siamese Nets,【20】的卷积Siamese Nets,【10】的MAML,【27】的元网络,【36】的原型网络和【29】的基于LSTM的元学习。

4.1.1 Omniglot

数据集 Omniglot包含1623个来自于50个不同字母表的类,每个类包含20个不同人写的样本,仿照【32,39,36】,我们通过将现有数据旋转90,180,270度得到新的类别。并且我们使用1200个原始的加上旋转后的类别用于训练,剩余的423个原始的加上旋转后的类别用于测试。所有的输入图像的大小都是28*28。

训练 每个训练episode中的每个类别,除了包含K个样本图像,5-way 1-shot问题中包含19个查询图像,5-way 5-shot问题中包含15个查询图像,20-way 1-shot问题中包含10个查询图像,20-way 5-shot问题中包含5个查询图像。例如在5-way 1-shot实验中,每个训练episode中有19*5 1*5=100个图像。

结果 仿照【36】,我们通过对来自测试集的1000多个随机生成的episode进行平均来计算Omniglot上的小样本分类准确度。对于1-shot和5-shot实验,我们分别为每个类划分一个和五个查询图像,以便在测试期间进行评估

资料编号:[5107]

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。