DEEP NEAREST CLASS MEAN CLASSIFIERS

简介:该文是2018年改进NCM的一篇文章。NCM是长尾学习里面十分经典的一个方法,到了2018年还能有人根据这个方法发到 ICLR2018,我认为必定有可取之处。故找来读,记录精要之处。


NCM最大的缺点是,它是一个线性分类器,而且它不能学习深度特征(deep representation)。

2017年的icarl,虽然用了NCM分类器,但是他们的特征是基于softmax分类器学出来的。而且他们是在一个固定大小的训练集里训练——来满足内存限制(代码里是每个epoch只有50个样本)。最后,他们使用蒸馏损失函数,来避免灾难性遗忘。相比之下,我们的deep NCM分类器,可以直接学习visual representation。

2017年的Prototypical Networks(用于小样本学习),虽然是直接基于NCM分类器来学习deep representation的,但是他们的方法很难扩展到大规模的分类。如果在一个minibatch里没有包含所有类的样本,他们的方法就很难使用。


对于NCM分类器,使用哪一种距离函数是对于最终效果至关重要的。

2013年PAMI的Distance-based image classification: Generalizing to new classes at near-zero cost,采用马氏距离。这里d代表距离,L代表待优化的损失函数,uy代表特征均值。
在这里插入图片描述
但是这种方式有点像特殊的softmax。

现在流行的方式摈弃了这种固定结构的马氏距离,一般是去学习深度特征表示:φ(·)的参数。
对于深度表示,由于它本身就具有非线性特性,所以可以直接用欧式距离来表示。本文就采用这种方式。
在这里插入图片描述


对于深度特征表示的学习,难点就在于随着学习的进行,uy的更新。如果每个epoch后都重新计算所有的训练集来得到新的uy,这个开销太大不可接受。如果仅计算minibatch的均值,如果这个batch里缺少某种类,就很难办。
所以本文提出一个更新手段:
在这里插入图片描述
nyi表示第i类的样本数量。这基本就是一个动量更新。


看完了,十分不敢相信,整篇文章的唯一创新点就是加了一个十分不创新的动量更新。我还特意去摘要确认了一下,他们就是针对普通的NCM更新原型困难的痛点,加了一个动量更新的机制。后面勉强提出来对动量更新的两个“改进”,也没什么用,所以我都懒得写。实验是在老掉牙的cifar10和100上做的,甚至参考文献只有7篇。

我之前以为ICLR是个很厉害的会议,这么看来实在是太离谱了,这种文章都能录。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值