TRANSDUCTIVE PROTOTYPICAL NETWORK FOR FEW-SHOT CLASSIFICATION
Xinyue Liu Pengxin Liu Linlin Zong
School of Software, Dalian University of Technology, Dalian 116620, China ——2021 IEEE
看文章前的预备知识——原型网络:
原型网络(prototype Network)是一种简单有效的小样本学习方法,它只需要为每个目标样本寻找最接近的类原型就可以解决过拟合的关键问题。因此,在原型网络中准确地表示每个类的原型至关重要。然而,prototype Network仅利用一个或几个标记样本来表示每个类,这可能与数据集的真实类分布不一致。
文章提出了一种用于小样本学习的转导原型网络
本文中提出了转导原型网络(Td-PN),这是一种通用而高效的转导方法,无需额外的未标记数据集,就可以生成更具代表性的类原型。具体地说,我们首先使用一个编码器通过加权对比损失将输入映射到一个分类友好的(区别的)嵌入空间。然后通过融合top k高置信度查询样本,细化每个类的原型。最后,通过查找类原型中最近的邻居来预测查询样本的标签。此外,除了特征嵌入模块外,我们提出的方法是非参数的,有效地缓解了过拟合问题。
图1:转导原型网络(Td-PN)的框架,该网络由四个模块组成: 特征嵌入、原型初始化、对比损失和原型改进。
Problem Definition
由于缺少标记样本,小样本分类往往会引起过拟合现象。
目前常采用情景训练机制进行小样本分类,大量文献已证明这是缓解过拟合问题的有效方法。在这种情况下,小样本分类通常涉及一个大型标记数据集,其中包含一组可见的类Ctrain,以及一组不可见的新类Ctest,其中每个类只有几个标记的样本。
本文的算法在已知类Ctrain的每个训练集中训练模型,并将其应用于未知类Ctest的测试集。
原型网络
原型网络采用了一个fθ编码器(例如:卷积神经网络)在支持集S和查询集Q中嵌入样本的特征,其中θ为编码器的参数。然后,从支持集中计算每个类的嵌入特征的均值向量作为对应的原型表示。因此,类j的原型可以用下面的公式表示:
其中Sj 表示在整个支持集中类 j 的支持集。表示支持样本i的嵌入特征。
为了找出每个查询样本中最接近的类原型,prototype Network计算查询集中嵌入特征的软赋值给每个类原型,如下所示:
A为特征矩阵,d (fθ(˜xi)、pj)表示查询样本I的嵌入特征与类j的原型之间的欧氏距离。
对比计算损失
在这个模块中,设计了一个加权对比损失来获得一个分类友好的(区别的)特征嵌入空间。设计损失有助于从查询集中为下一小节中的每个类选择top k个有信心的嵌入特征。具体来说,如果查询样本 i 所属的类别 j。我们期望软赋值Aij接近于1或者接近于0(而不是中间的数字)。因此,对比损耗函数可计算为:
原型改进
虽然原型网络可以直接从查询集预测样本的标签,但是由于支持集只提供了一个或几个样本,每个类的原型表示仍然很弱。因此,我们提出一种通用的转换方法,利用查询集的实例来细化每个类的原型。具体来说,我们首先通过分配矩阵A为每个类选择查询集的前k个置信嵌入特征,得到N个候选集,如下所示:
其中Cj是类j的候选集,表示赋值矩阵A中保留每一列的前k个较大的值,其余的置零。
之后,我们通过选择对应候选集的样本来细化每个类的原型表示:
最后,我们通过通用的基于转换的方法得到了更有代表性的类原型。
因此,通过查找在欧氏距离下最接近的类原型来预测查询样本对应的标签y
值得注意的是,Td-PN中的原型初始化和原型改进模块是非参数化的,编码器的参数只用于特征嵌入模块。由于与参数小样本学习方法相比,我们的模型参数更少,在一定程度上可以缓解过拟合问题。
实验
实验在miniImageNet和tieredImageNet这两个数据集上进行
具体实验细节在文章描述的比较清楚就不放在这里了
实验结果:和其他文献一样,都是比之前的模型方法有几个百分点的提升,这个算法表现还是很好的
从图2可以看出,适当增大的训练方式可以提高它们的泛化性能,在不同的训练方式下,Td-PN的泛化性能始终优于原型网络。