前言
样本合成是解决小样本学习问题的方法之一,所谓样本合成,就是在给定少量训练样本的情况下,在特征空间中利用这些训练样本合成新的样本,然后利用这些合成样本提升小样本学习任务的泛化能力。但是目前的合成方法仅处理的是每个图像中仅有一个类别标签(比如)这样的情况,而多标签的情况还从未被提及过(比如)
本文针对小样本学习问题提出了一种新的解决方法,主要用于处理多标签样本的情况,并且通过任务定义,还可以处理事先并不清楚标签是什么的情况。 如下图所示,假设想要为野生动物构建一个多标签分类器,于是到动物园中拍了几张照片,但所有的动物都在笼子里(图a),而我们想得到的是用于处理野外动物的分类器(图c):
为了解决这个问题,可以在特征空间中通过样本对语义内容进行操作,比如对于一个特征向量,可以隐藏其中对应于另一个特征向量的标签相对应的元素。这里用模型接收两张被关在笼子里的动物的图像(图b),并且生成一个特征向量,用于表示这两张图像的共有语义内容。由于它们共有的内容是“笼子”,因此应该得到表示“笼子”的特征向量,而不应该出现原始相交图像中的笼中动物。接下来考虑另一个模型,它可以从另一个样本中移除某样本存在的内容。将应用到笼中老虎图(图a)和表示“笼子”的特征向量上,那么就可以得到表示“野外的老虎”(图c)的特征向量。也就是上图中的,图a减去图b的交集,就得到一只野外的老虎。
通过以上例子,我们可以得到一个基于样本的语义内容操作模型,表示对标签集进行“交”操作,表示“并”操作,表示“差”操作,将这些模型称为标签集操作网络(Label Set Operation network,LaSO),将成对儿的图像作为输入,首先通过backbone转换为特征向量,然后通过LaSO进行处理,得到相应的标签集的特征向量。如下图所示,使用LaSO在特征空间中对两张图像的特征向量进行操作,得到新的合成的特征向量,进而得到多标签样本。
本文的贡献如下:
- 提出小样本多标签学习任务(few-shot multi-label learning task),是小样本学习的一个新方向;
- 提出“在特征空间中通过样本对标签集进行操作”这一概念,通过结合训练样本得到新的多标签样本;
- 为小样本多标签学习提出一种新的benchmark。
方法实现
如上图所示,输入图像分别为和,每个图像都有一个多标签集,在特征空间中分别被表示为,这个是由backbone特征提取网络得到的。三个LaSO网络将和的结合作为输入,然后在中得到合成的特征向量。可表示为:
对应一个假设的图像,如图所示,中出现的是和的交集:人和狗。同样的,和的输出分别为。注意到,LaSO并没有接收确切的标签信息作为输入,和中是标签集,输入到LaSO网络后,得到的是相应操作的合成向量,该合成向量中也没有指明确切的标签信息。因此,LaSO甚至可以泛化到不属于的标签。
和被送入分类器中,使用二值交叉熵(BCE) 多标签分类损失来训练和LaSO网络:
是分类分数,是得到的标签集向量,是类别索引。使用和的损失的结合来训练分类器:
LaSO网络的损失为:
此外,模型还包含一系列基于均方误差(MSE) 的重构损失,如图中的右下角所示,
-
第一个损失用于增强相交和并集操作的对称性,它由和之间的MSE实现:
-
第二个损失用于降低模型发生崩溃的可能性,模型崩溃可能导致每种可能的标签集组合出现半固定的输出。比如,如果许多不同的图像对儿具有相同的共享标签,那么可能会有非常相似的输出。由和的MSE实现:
结论
本文提出了一种新的小样本学习任务——多标签小样本分类,并提出用LaSO来解决这个问题。