[论文阅读] Nearest Neighbor Classifier Embedded Network for Active Learning

论文地址: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)。分类头可以简化为一个参数为 w w w b b b的小网络,至此,输入图像 x x x,提取到了特征 f x f_{x} fx,在此特征基础上利用分类头进行分类得到的概率 p ( f x ) p(f_x) p(fx)为: p c ( f x ) = exp ⁡ ( w c ⋅ f x + b c ) ∑ c exp ⁡ ( w c ⋅ f x + b c ) p_{c}\left(f_{x}\right)=\frac{\exp \left(w_{c} \cdot f_{x}+b_{c}\right)}{\sum_{c} \exp \left(w_{c} \cdot f_{x}+b_{c}\right)} pc(fx)=cexp(wcfx+bc)exp(wcfx+bc) 这里的 p c ( f x ) p_{c}\left(f_{x}\right) pc(fx)指的是样本属于类别 c c c的概率。最终网络的训练损失为: L softmax  = − log ⁡ p y x ( f x ) \mathcal{L}_{\text {softmax }}=-\log p_{y_{x}}\left(f_{x}\right) Lsoftmax =logpyx(fx) y x ∈ { 1 , 2 , . . . , C } y_{x} \in \{1,2,...,C\} yx{1,2,...,C}表示样本 x x x的真实标签, C C C为总类别数。

III. Soft Nearest Neighbor Classifier

基于softmax的主动学习大多有个如下隐藏假设,即在已标注小样本集上训练的softmax分类器,能够比较好的泛化到完整样本集上,也就是这么个意思:
在这里插入图片描述
但这实际上是比较难成立的(如motivation中所述),为此,考虑直接把softmax分类头去掉,换成最近邻分类头(Soft Nearest Neighbor Classifier),如下: y ∗ = arg ⁡ max ⁡ c ∑ i δ ( − d ( f x , f x i c ) ) y^{*}=\arg \max _{c} \sum_{i} \delta\left(-d\left(f_{x}, f_{x_{i}}^{c}\right)\right) y=argcmaxiδ(d(fx,fxic)) 这个思想简单来说其实就是KNN聚类。对于给定的一个未标注样本,如果其特征向量 f x f_x fx与类别 c c c的已标注向量 f x i c f_{x_i}^c fxic最近,那么我们将该样本 x x x预测为类别 c c c δ ( ⋅ ) \delta(·) δ()为激活函数, d ( ⋅ ) d(·) d()为距离函数,可以选用欧氏距离或者余弦距离。

IV. Nearest Neighbor Classifier Embedded Network

本节我们继续对上节中所提到的SNN分类头进行分析。很容易发现SNN分类头有个问题,即在进行推理的时候,每个样本需要与所有已标注的样本进行比较,会非常消耗时间。为此,本文的解法是为每一类样本各学习 N N N个原型向量,这 N N N个原型向量将作为相应类的代表,到时候只需要将新样本的特征向量与原型向量进行比较即可: p c ( f x ) = max ⁡ n δ ( − d ( f x , m c , n ) ) p_{c}\left(f_{x}\right)=\max _{n} \delta\left(-d\left(f_{x}, m_{c, n}\right)\right) pc(fx)=nmaxδ(d(fx,mc,n)) 这样使得SNN分类头变得可训练。

V. Sample Selection

由于本文把softmax给直接搞掉了,所以之前的entropy之类的都没法用了…为此本文提出了两种新的样本选择策略:

Rejection Confidence

M r e j ( x ) = ∑ c 1 − p c ( f x ) \mathcal{M}_{r e j}(x)=\sum_{c} 1-p_{c}\left(f_{x}\right) Mrej(x)=c1pc(fx)

Confusion Confidence

M conf  ( x ) = ∑ c ( 1 + p c ( f x ) − max ⁡ c p c ( f x ) ) \mathcal{M}_{\text {conf }}(x)=\sum_{c}\left(1+p_{c}\left(f_{x}\right)-\max _{c} p_{c}\left(f_{x}\right)\right) Mconf (x)=c(1+pc(fx)cmaxpc(fx))

这两种策略思想上与entropy都是比较接近的,算是SNN场景下的entropy。

VI. Experiment

在这里插入图片描述
这里有个比较神奇的实验结果,即使用本文的方法,在只进行随机初始化采样的情况下。本文的方法都能在softmax的基础上直接涨5%。不过该实验结果目前只在Cifar-10数据集上观察得到。

注: 主动学习在分类上的benchmark一般只在cifar-10/cifar-100上跑,不会去刷ImageNet这种。

Summary

简单来说本文的意思是,由于softmax分类器带来的分类边界本身不会很准,为此会拖累那些基于softmax的AL方法(entropy之类的)。为此本文把softmax分类器换成了soft nearest neighbor分类器,直接算距离来判别样本类别,避免了这一问题。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值