小样本学习之N-way K-shot - 知乎

一:N和K的具体指代git

元学习(Meta learning)引入了一系列的概念,这其中包括N-way K-shot,Meta-training、Meta-testing、Base class和Novel class,Support set和Query set等,如图一。github

其中Base class是Meta Training阶段借助的源域数据;Novel class是Meta Testing阶段要学习的目标域数据,其中Base class和Novel class没有交集。

具体可参见下面连接中Few-shot learning methods部分。https://annotation-efficient-learning.github.io/学习

图一:元学习相关概念

N-way K-shot在广义上来说N表明类别数量,K表明每一类别中样本数量,可是类别数量N和每一类样本数量K分别指的是Base class仍是 Novel class中的Support set仍是Query set目前尚未看到一个明确的说明。测试

为了明确N和K的具体指代,从小样本学习的源头探索下:小样本学习要解决的是Novel class样本量少的问题,因为深度学习是吃数据的,没有办法直接在Novel class小样本上进行训练,因此借助Base class的数据进行学习(ps:元学习和迁移学习异曲同工过),因为Novel class的样本量少,即便在Base class上微调的很好,在Novel class上过拟合也会很严重,因此出现了构造episode的想法,统一训练和测试的标准:Novel class上不是(N-way K-shot)小样本嘛,在 Base class也构形成多个(N-way K-shot)小样本任务。优化

这样一来,再回顾下刚才N和K具体的指代问题彷佛有了答案。N-way K-shot 问题中N和K一般是指meta testing阶段Novel class中Support set下样本类别数量和每一类的样本量。一般为了保持meta training阶段和meta testing阶段的一致性,meta training阶段中Base class的Support set也会相同的设置N和K。(图一中在meta training和meta testing阶段N的不一致状况也常常存在,在此不作解释,但愿大佬对此进行补充spa

二:N和K对元学习结果的影响blog

这一内容在论文Meta-Dataset: A Dataset of Datasets for Learning to Learn from Few Examples 中进行了研究。如图二所示:ci

图二:N和K对小样本学习结果的影响

显然随着N的增长,会增长分类任务的难度,从而使预测的准确率降低;随着K的增长,对于度量学习来讲,至关于减少了有偏,下降了指望风险,对于MAML和Reptile等优化二阶梯度问题而言,至关于下降了每一个episodes的过拟合程度,都会提升预测的准确率。然而每种模型受K增长的影响状况不一样,好比:Prototypical Networks和fo-Proto-MAML随着K的增长一开始表现很好,但很快就饱和了,当K值超过20后,Finetune baseline成了表现最优秀的。get

总结:当K值小时,使用元学习方法;K值增大,Finetune的结果更好深度学习

上述内容仅为我的愚见,欢迎讨论交流。

相关文章
相关标签/搜索