大多数的小样本图像分类方法是基于任务训练的。通常,任务构建在具有大量标记图像的基类上,这消耗了大量的工作量。无监督小样本图像分类方法不需要标记图像,因为它们需要在未标记图像上构建任务。为了有效地利用未标记图像构建任务,提出了一种新的单阶段聚类方法:将特征学习到聚类空间(LF 2CS),该算法首先通过固定聚类中心来建立一个可分离的聚类空间,然后使用一个可学习的模型将特征学习到聚类空间。在LF 2CS的基础上,提出了一种基于图像采样和c-way k-shot的任务构建方法。在此基础上,提出了一种新的无监督少镜头图像分类方法,该方法将可学习模型、聚类和少镜头图像分类联合学习。实验和可视化结果表明,LF 2CS具有较强的泛化能力。
从不同的角度看四条基线。
(a)基于标签的基线,这是一种监督基线。由于图像具有类别标签,所以四个采样图像中的两个属于同一类别。
(b)基于随机的基线,其中四个图像被随机采样,并且任务的标签被随机确定。
(c)基于CSS的基线,其中随机采样三幅图像,然后选择其中一幅图像通过数据扩增获得另一个视图。
(d)基于聚类的基线,其中首先通过聚类算法将所有图像划分为多个聚类,然后以聚类ID作为标签选择四个图像。
FSL学习与任务相关的元知识,而不是与特定类别相关的知识,从而将元知识推广到新的类别。辅助数据集通常包含大量注释图像。例如,tieredImageNet [41]的训练集包含448,695个图像。当FSL方法直接应用于一个新的字段时,我们需要对辅助数据集进行标注,这将消耗大量的工作量。为了减轻辅助数据集带来的负担,无监督FSL(UFSL)引起了人们的关注。在有监督的FSL设置下,辅助数据集的标签用于构建任务(如图1(a)所示),而在UFSL设置下,辅助数据集没有可用的标签。我们的工作将探索如何通过未标记的辅助数据集来构建任务。
从辅助数据集构建任务有两种常见的无监督方式:
1)基于CSS的方法:(比较自监督[Comparative Self-Supervised],如上图c所示)使用数据增强获得图像的另一个视图,以构建图像对,然后使用图像对构建任务[21,18]。
2)基于聚类的方法:([Clustering-based methods],如上图d所示),通过聚类算法将图像分成簇,得到伪标签,然后利用伪标签构建任务[17,5]。由于基于CSS的方法基于不同的视图构建任务,这些方法简洁有效,但任务的多样性较差。而且,由于基于聚类的方法基于聚类构建任务,所以任务的多样性可能是好的,但是这些方法通常包含多个步骤。
例如,CACTU使用现有的无监督模型来提取特征,然后对这些特征进行聚类以获得聚类ID(聚类分配)。该方法将特征学习和聚类作为两个独立的步骤,并需要额外的无监督模型。
为了联合这两种方法的优点,我们提出了一种单阶段聚类方法--学习特征到聚类空间(LF 2CS)方法。
LF2CS通过将聚类中心矩阵固定在单位矩阵上,建立一个可分离的聚类空间,然后使用一个可学习模型将特征学习到聚类空间中。通过这种方式,LF2CS在确定每个图像的群集ID时不需要任何其它图像。在LF2CS的基础上,提出了一种图像采样和任务构建方法,并在此基础上提出了一种基于聚类的无监督小样本图像分类方法,如下图所示。首先,将图像xi送入随机初始化网络,得到特征zi,再利用LF2CS得到初始聚类id yi,从而初始化所有图像的聚类id Y。然后,对于每个图像xi,基于聚类ID Y采样c×k个图像,其中k个图像具有与图像xi相同的聚类ID,因此可以基于这c×k+1个图像构建任务。最后,使用编码器提取任务中图像的特征,并使用LF2CS计算图像xi的新聚类id yi,并将其更新为聚类id Y。
上图以3-way 1-shot任务为例。聚类ID Y'将所有图像的聚类ID存储在Dunlabel中,首先,对于图像xi,从Y'(图像遍历)获得其聚类id yi。然后,根据yi和Y,从Dunlabel采样三个图像:其中一个图像的cluster id为yi,另外两个图像的cluster id不为yi(图像采样),因此可以构建3-way 1-shot任务(任务构建)。然后,通过编码器获得任务的特征(任务编码),并且通过减小具有与图像xi相同的聚类id的特征的距离(拉)和增大具有不同聚类id的特征到图像xi的距离(推)来优化编码器(网络优化)。最后,更新群集id yi(群集ID更新)。
该方法首先生成图像的聚类标识,然后对图像进行采样构建任务,实现了特征提取、聚类和模糊语义学习的联合学习。任务建立后,任何基于任务的小样本学习方法[44,45,46]都可以用于优化网络,如MatchNet [46]。为了展示我们的方法的性能,如图所示,我们根据如何从图像采样的角度构建任务总结了四个基线。基于Conv-4 [46]和ResNet-12主干,我们在Omniglot [24]、miniImageNet [46]、tieredImageNet [41]和CIFARFS [3]数据集上进行了实验。综上所述,我们的主要贡献如下:
1)通过将聚类中心矩阵固定在单位矩阵上,首先建立一个可分离的聚类空间,然后利用可学习模型将特征学习到聚类空间中;
2)通过图像采样和任务构建,提出了基于聚类的无监督少镜头图像分类方法,将特征学习、聚类、小样本图像分类联合学习;
3)从采样的角度来看,我们根据如何构建任务实现了四个基线:基于标签、基于随机、基于CSS和基于聚类;4)在Conv-4和ResNet-12上进行了一系列测试,实验结果表明,该方法具有较强的泛化能力,取得了较好的分类效果。
Unsupervised Feature Learning
无监督特征学习包括很多方法,主要介绍了聚类和自监督学习。聚类是根据数据的内在信息将数据划分为不同的类,如高斯混合模型、K-means 、谱聚类、层次聚类,近年来基于深度的聚类方法表现出了优秀的性能。自监督学习利用数据本身构造一些监督信号来代替标记,如彩色化[49]、解拼图[36]、旋转[14]等。近年来,比较自监督学习方法[9,15,16,33,11]取得了很大进展,该方法从图像的多个视角进行学习。这些方法获得多个不同的视图,从而构建正像和负像对,使得正像对在特征空间中相似,而负像对不相似[16]。
Unsupervised Few-Shot Learning
与FSL不同,UFSL通常包含未标记的辅助数据集。有两种常用方法:基于CSS和基于群集。基于CSS的方法利用数据扩充技术获取图像的多个视图,构造图像对,用于任务构建。通常,数据扩充包含公共图像变换[2,6,18,21,26,39],诸如随机调整大小的裁剪和颜色抖动,和(或)生成模型[22,39],诸如自动编码器和生成对抗网络。基于聚类的方法[5,17]将辅助数据集中的图像划分为多个聚类,得到图像的伪标签,然后利用伪标签构建任务。
在FSL中,辅助数据集Daux用于训练可学习模型,然后将该模型应用于目标数据集Dtarget,从而能够对标记图像较少的目标数据集进行分类。Daux和Dtarget也分别称为基类和新类。Daux包含大量带标签的图像。UFSL旨在使用包含大量未标记图像的未标记辅助数据集Dunlabel来训练模型,然后也将该模型应用于Dtarget。基于任务的FSL以c-way k-shot的形式将图像组织成任务。任务Ti由支持集Tsuppi、查询集Tqueri和标签ytask i组成,Ti {quer}包含c个类,每个类有k个标记图像。在我们的工作中,Tquer i仅包含一个图像xi。
Avoiding Trivial Solution
大多数基于聚类的方法都有无效解。为了避免无效解,LF 2CS通过限制每个聚类中图像的最大数量来强制所有图像分散到聚类空间中。当第m个聚类中的图像数量超过nmax = Naux/d时,我们将不再向第m个聚类分配任何图像,而是寻找满足约束的下一个聚类。每个簇的图像的最大数目nmax意味着每个簇几乎是相同大小。通过这种方式,我们的方法避免了过度聚类(许多聚类相对较小)和欠聚类(一些聚类相对较大)。