小样本学习-原型网络
摘要
我们针对小样本分类问题提出了原型网络,在这一场景下要求分类器具有泛化能力。从而当出现训练集中没有的新类时只需少量新类就能有比较好的表现。原型网络学习一个度量空间,在其中可以通过计算到每个类的原型表示的距离来执行分类。与最近的小样本学习方法相比,它们反映了一种更简单的归纳偏差,这在这种有限的数据下是有益的,并取得了良好的结果。我们提供了一个分析,表明一些简单的设计可以比复杂的体系结构和元学习的方法产生更好的效果。我们进一步将原型网络扩展到0样本学习,并在CU-Birds数据集上取得了较好的效果。
1 序言
小样本学习是一项任务,其中分类器必须适应在训练中看不到的新类,只给出这些类的几个例子。一种简单的方法,比如在新数据上重新训练模型,会严重地过度拟合。虽然这个问题相当困难,但已经证明人类有能力执行一次分类,在只给出每个新类的一个例子的前提下,并且能够保持很高程度的准确性。最近的两种方法在小样本学习方面取得了重大进展。Vinyals等人提出了匹配网络,该网络使用注意机制对学习到的标记例子集(支持集)的嵌入来预测未标记点(查询集)的类。匹配网络可以解释为在嵌入空间内应用的加权最近邻分类器。值得注意的是,该模型在训练期间利用了被称为事件的采样小批,其中每个事件都被设计为通过子采样类和数据点来模拟小样本任务。事件的使用使训练问题更忠实于测试环境,从而提高了泛化性。Ravi和拉罗谢尔进一步提出了情景训练的想法,并提出了一种小样本学习的元学习方法。他们的方法包括训练一个LSTM,在给定一个事件时产生对分类器的更新,这样它将很好地推广到一个测试集。在这里,LSTM元学习者不是在多个情节中训练单个模型,而不是学习为每个情节训练一个自定义模型。
我们通过解决过拟合的关键问题来解决小样本学习的问题。由于数据非常有限,我们假设一个分类器应该有一个非常简单的归纳偏差。我们的方法,原型网络,是基于这样一种想法,即存在一个嵌入,其中点围绕着每个类的单个原型表示进行集群。为了做到这一点,我们使用神经网络学习输入到嵌入空间的非线性映射,并将一个类的原型作为其在嵌入空间中的支持集的平均值。然后,通过简单地找到最近的类原型来对嵌入式查询点执行分类。

我们采用相同的方法来处理零样本学习;在这里,每个类都带有元数据,给出了对类的高级描述,而不是少量带标记的示例。因此,我们学习将元数据嵌入到共享空间中,作为每个类的原型。与在少镜头场景中一样,通过为嵌入式查询点找到最近的类原型来执行分类。
在本文中,我们制定了针对少样本和零样本设置的原型网络。我们在一次性设置中绘制与匹配网络的联系,并分析模型中使用的底层距离函数。特别地,我们将原型网络与聚类联系起来,以便证明当使用布雷格曼散度计算距离时,使用类均值作为原型,例如平方欧几里得距离。我们发现,距离的选择是至关重要的,因为欧几里得距离大大优于更常用的余弦相似度。在几个基准测试任务上,我们表现都非常好。原型网络比最近的元学习算法更简单、更有效,这使它们成为少样本和零样本学习的一种很有吸引力的方法。
2 原型网络
2.1 符号表示
在小样本分类中,我们给出了一个N个标记例子的小支持集S={ (x1,y1),(x2,y2)...(xn,yn)}S = \{(x_1,y_1),(x_2,y_2)...(x_n,y_n)\}S={(x1,y1),(x2,y2)...(xn,yn)},其中每一个xi∈RDx_i\in R^Dxi∈RD为一个样本的DDD维特征向量,并且数据对应的标签yi∈{ 1,2,...K},Sky_i\in \{1,2,...K\},S_kyi∈{ 1,2,...K},Sk是类别kkk的有标注数据。
2.2 模型
原型网络计算了一个M维表示,ck∈RMc_k \in R^Mck∈RM,我们也可将其称为原型。原型是将一类数据使用嵌入函数嵌入得到的。fϕ:RD→RMf_{\phi}:R^D \to R^Mfϕ:RD→RM其中ϕ\phiϕ是可以学习的参数。每个原型都是对应类的嵌入求平均得到的:
ck=1∣Sk∣∑(xi,yi)∈Skfϕ(xi) \mathbf{c}_k=\frac{1}{\left|S_k\right|} \sum_{\left(\mathbf{x}_i, y_i\right) \in S_k} f_\phi\left(\mathbf{x}_i\right) ck=∣Sk∣1(xi,yi)∈Sk∑fϕ(xi)
给定一个距离函数d:RM×RM∈[0,+∞)d:R^M \times R^M \in [0,+\infty)d:R


5万+

被折叠的 条评论
为什么被折叠?



