Java教程

小样本算法库LibFewShot

本文主要是介绍小样本算法库LibFewShot,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

小样本学习算法库 LibFewShot包含了 17 个 2017 年到 2020 年具有代表性的小样本学习算法,为小样本学习领域中算法对比采用统一框架、统一设置、实现公平对比等提供便利。

  • 论文链接:https://arxiv.org/abs/2109.04898

  • Github 链接:https://github.com/RL-VIG/LibFewShot

  • 小样本任务概念

小样本任务通常包含两部分数据,一部分是用来学习的有标签的支撑集(support set),另一部分是待分类的无标签的查询集(query set)。为了获得对每个任务快速学习的能力,通常还有一个大的辅助集(auxiliary set),通常支撑集和查询集的实际类别是一致的,而辅助集的类别和它们是不相交的。小样本学习中 「小」 的概念来自于支撑集,支撑集有 C 类图像,每类图像有 K 张,称为 C-way K-shot 小样本问题,C 通常取 5 或 10,K 通常取 1 或者 5。小样本学习任务的重点是如何通过在辅助集上的进行学习,使得在面对新的任务时,仅仅通过支撑集的少量样本,就能够完成对查询集的识别和分类。

根据在辅助集上以及支撑集上训练策略的不同,将小样本学习分为三类,分别是基于微调的方法、基于元学习的方法、基于度量的方法,图 1 中给出了三类方法的代表性框架图。

  • 基于微调的方法:基于微调的方法和迁移学习有着相似的过程,一般可分为使用辅助集的预训练阶段和使用支撑集的微调阶段。代表方法有 Baseline[1],Baseline++[1],RFS[2],SKD[3]等;

  • 基于元学习的方法:基于元学习的方法在训练阶段采用元训练的方式来在辅助集上进行训练,通常采用二阶段的优化,一个阶段是支撑集更新基学习器,另一阶段用查询集更新元学习器、适应新的任务。代表方法有 MAML[4],R2D2[5]等;

  • 基于度量的方法:基于度量的方法通常在辅助集上的训练采用的是 episodic training 的方式,即在这个阶段从辅助集中采样相似的小样本学习任务,使用大量相似任务来训练网络,使得网络能够学习到快速适应新任务的能力。代表方法有 ProtoNet[6],RelationNet[7],DN4[8]等。

图 1. 小样本学习方法分类,(a) 基于微调的方法;(b) 基于元学习的方法;(c) 基于度量的方法.

  • 思考

小样本学习和自监督学习有什么联系么?


 A4算法技术,专注深度学习、计算机视觉等理论和应用分享。 

这篇关于小样本算法库LibFewShot的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!