小样本点云深度学习库_小样本问题该如何选择学习方法?

本文探讨了小样本学习方法,强调其本质是迁移学习,需要借助外部信息作为先验知识。在N-way K-shot任务中,基类和新颖类的数据域相似性至关重要。实验表明,预训练+微调(如Baseline和Baseline++)通常优于元学习方法(如MAML、Reptile)。对于有限样本和不同域的问题,预训练模型(如ImageNet的VGG、ResNet)和AudioSet的VGGish是更好的选择。
摘要由CSDN通过智能技术生成

文中会出现几组论文A Closer Look at Few-shot Classification的实验结果,为了便于大家理解实验设置,在文末进行了极简的图文描述,详细内容可以参见原文。

f7758867419940776efa2b9f863a5abb.png

https://arxiv.org/pdf/1904.04232.pdf

现阶段绝大多数小样本学习任务会转化成本n-way k-shot形式,下面提到的小样本学习默认为n-way k-shot问题。

对于目前刚接触小样本学习或者了解不深入的人来说通常会对小样本学习方法普遍存在这样一个认知:小样本方法在不依靠外部数据的情况下可以独立解决few shot问题,即当我们的样本量有限时,可以将现有样本构建成n-way k-shot的形式,利用(MAML、Reptile或者度量等)进行训练测试,得到一个不错的结果;对小样本学习算法和深度学习有过研究的人会发现这是一种错误的想法,如果这种方法行得通,那确实也就成了如这篇文章所说的悖论。Matrix-11:小样本学习的悖论(https://zhuanlan.zhihu.com/p/120056051)

这里再次强调下,几乎当下所有的小样本学习方法都是迁移学习的一种形式(包括MAML、Reptile、原型网络、关系网络等),小样本学习方法需要借助外部信息做为先验知识,才能有效开展学习任务。这个外部信息在N-way K-shot任务中指的就是Base class,而我们手上有限的样本指的是Novel class,当然这个Base class不可以是任意的,需要和Novel class属于同一个或者接近的Domain(也就是说先验知识要和我们要学习的目标知识相近)。如果相差太大,会大大影响在Novel class上的测试结果,实验结果对比结果如图一。

2bed759a31f791dcf8cb38a9d79f7eea.png

图一:ResNet-18 backbone下不同domain5shot的学习结果

将CUB数据集切分成Base class和Novel class数据集进行学习,效果良好;在miniImageNet上切分成Base class和Novel class数据集进行实验,结果也还不错;但是当以miniImageNet做为Base class,CUB数据集做为Novel class时,学习效果会明显下降。其中Baseline在众多模型里受影响是最小的。

在N-way K-shot任务中,随着N和K变化对实验结果的影响在上一篇文章中做过探讨,可参见下面链接。

https://mp.weixin.qq.com/s/JQ6XMaO0Vi_2BxnAAArm3A

不同模型之间的对比结果在A Closer Look at Few-shot Classification这篇文论中也做过验证,如表一和表二所示。

9967f63219ba774d452f50ca7583753a.png

表一:Meta-testing中准确率随N变化的实验结果

1db6caf9f863953b0b0b239909b3da4a.png

表二:shot=1和shot=5时不同backbone下的实验结果

随着样本类别数量N的增加,虽然各个模型的准确率都呈现不同程度的下滑,但是Baseline ++在大多数情况下都明显优于其他模型;随着每一类样本量K的增加,我们可以看到,1shot时,不同模型在不同backbone下各有优劣;当K值增加到5时,Baseline++在各个backbone下都成了最优的

总结:考虑到Base class和我们目标任务中Novel class没办法完全在同一个domain的情况,同时当我们手上的样本数量又有限时(这里不考虑transform和GAN等一系列数据增强方法),结合上述讨论以及实验结果:首先应该尝试的是pre-training + finetune方法(即Baseline和Baseline++),而不是元学习中MAML、度量学习等方法,例如:针对图片分类问题,可以使用基于ImageNet下的训练好的网络及其模型参数如:VGG、ResNet、Xception等进行finetune;针对音频分类问题,我们可以使用基于AudioSet的VGGish模型网络及参数进行finetune,其中ImageNet和AudioSet就是前面提到的先验知识。

以上内容存在或多或少片面的地方,仅代表个人想法。

图三:Baseline and Baseline++

  • Baseline = pre-training + fine-tuning(linear layer)
  • Baseline++ = pre-training + fine-tuning(Cosine distance)

图四:MatchingNet+ ProtoNet+ RelationNet+ MAML

  • MatchingNet = Meta Training + Meta Testing(Cosine distance)
  • ProtoNet = Meta Training + Meta Testing(classmean + 欧式距离)
  • RelationNet = Meta Training + Meta Testing(classmean + relation mudule)
  • MAML = Meta Training + Meta Testing(two-step gradient)
54ddb76851d8c5ea75a5e8d365268cc9.png

图三:Baseline and Baseline++

4ebfe2bd5104a3d908eee359e1418a5e.png

图四:MatchingNet+ ProtoNet+ RelationNet+ MAML

作者:知乎—Curry

地址:https://www.zhihu.com/people/curry-5-28

33f80507849db2003193112498e10ab3.png
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值