论文地址:https://www.aaai.org/AAAI21Papers/AAAI-39.WanF.pdf
代码:https://github.com/WanFang13/NCE-Net
发表于:AAAI’21
Abstract
深度神经网络(DNN)已被广泛地应用于主动学习。尽管它很有效,但当标记集和未标记集之间存在明显的分布偏差时,判别性分类器(softmax分类器)的泛化能力是值得怀疑的。在本文中,我们试图用最近邻(NN)分类器取代深度神经网络中的softmax分类器,考虑到它在未知子空间中的渐进式泛化能力。我们提出的主动学习方法,即最近邻分类器嵌入式网络(NCE-Net),旨在减少过度估计未标记样本的风险,同时提高查询信息丰富样本的机会。NCE-Net在概念上很简单,但却出乎意料地强大,从子集信息的角度来看,它定义了一个量化模型在主动学习上泛化能力的指标。实验结果表明,通过基于rejection或confusion confidence的简单选择。NCE-Net在图像分类和目标检测任务中,以明显的优势改善了最先进的技术。
I. Motivation
本文是指出了这么个现象:
虚线圈内的空心图案是我们已标注的样本。在这种情况下,我们可以拟合出一个分类边界如灰色的线所示。在这种情形下,利用一些主流的主动学习准则,我们可能会去选择m、p作为最有价值的样本;现在的问题在于,由于实际上的分类边界可能也属于红色这种情况,那么此时选择m、q会更为合适。这种情况在已标注样本数量较小,已标注未标注数据集之间分布差异较大时会更为明显。
II. Active Learning with Softmax Classifier
这里我们考虑传统的基于softmax的主动学习场景。以ResNet-18为例,其可以拆成为一个用于特征提取的backbone以及一个用于分类的softmax分类头(ave-pool + FC + softmax)。分类头可以简化为一个参数为、的小网络,至此,输入图像,提取到了特征,在此特征基础上利用分类头进行分类得到的概率为: 这里的指的是样本属于类别的概率。最终网络的训练损失为: 表示样本的真实标签,为总类别数。
III. Soft Nearest Neighbor Classifier
基于softmax的主动学习大多有个如下隐藏假设,即在已标注小样本集上训练的softmax分类器,能够比较好的泛化到完整样本集上,也就是这么个意思:
但这实际上是比较难成立的(如motivation中所述),为此,考虑直接把softmax分类头去掉,换成最近邻分类头(Soft Nearest Neighbor Classifier),如下: 这个思想简单来说其实就是KNN聚类。对于给定的一个未标注样本,如果其特征向量与类别的已标注向量最近,那么我们将该样本预测为类别。为激活函数,为距离函数,可以选用欧氏距离或者余弦距离。
IV. Nearest Neighbor Classifier Embedded Network
本节我们继续对上节中所提到的SNN分类头进行分析。很容易发现SNN分类头有个问题,即在进行推理的时候,每个样本需要与所有已标注的样本进行比较,会非常消耗时间。为此,本文的解法是为每一类样本各学习个原型向量,这个原型向量将作为相应类的代表,到时候只需要将新样本的特征向量与原型向量进行比较即可:
V. Sample Selection
由于本文把softmax给直接搞掉了,所以之前的entropy之类的都没法用了…为此本文提出了两种新的样本选择策略:
Rejection Confidence
Confusion Confidence
这两种策略思想上与entropy都是比较接近的,算是SNN场景下的entropy。
VI. Experiment
这里有个比较神奇的实验结果,即使用本文的方法,在只进行随机初始化采样的情况下。本文的方法都能在softmax的基础上直接涨5%。不过该实验结果目前只在Cifar-10数据集上观察得到。
注: 主动学习在分类上的benchmark一般只在cifar-10/cifar-100上跑,不会去刷ImageNet这种。
Summary
简单来说本文的意思是,由于softmax分类器带来的分类边界本身不会很准,为此会拖累那些基于softmax的AL方法(entropy之类的)。为此本文把softmax分类器换成了soft nearest neighbor分类器,直接算距离来判别样本类别,避免了这一问题。