【文献阅读】小样本学习综述:A Survey on Few-Shot Learning(Y. Wang, 等人,ArXiv,201904)

一、背景

文章题目:《Generalizing from a Few Examples: A Survey on Few-Shot Learning》

VQA的工作暂时告一段落,接下来将要重点关注小样本学习方向,所以先从这篇综述开始

文章下载地址https://arxiv.org/pdf/1904.05046.pdf

文章引用格式:Y. WANG, Q. YAO, J. KWOK, L. NI. Generalizing from a Few Examples: A Survey on Few-Shot Learning. ArXiv. 

项目地址:无

二、文章简要介绍

文章摘要部分:

Artifcial intelligence succeeds in data-intensive applications, but it lacks the ability of learning from a limited number of examples. To tackle this problem, Few-Shot Learning (FSL) is proposed. It can rapidly generalize from new tasks of limited supervised experience using prior knowledge. To fully understand FSL, we conduct a survey study. We frst clarify a formal defnition for FSL. Then we fgure out that the unreliable empirical risk minimizer is the core issue of FSL. Based on how prior knowledge is used to deal with the core issue, we categorize different FSL methods into three perspectives: data uses the prior knowledge to augment the supervised experience, model constrains the hypothesis space by prior knowledge, and algorithm uses prior knowledge to alter the search for the parameter of the best hypothesis in the hypothesis space. Under this unifed taxonomy, we provide thorough discussion of pros and cons across different categories. Finally, we propose possible directions for FSL in terms of problem setup, techniques, applications and theories, in hope of providing insights to following research.

尽管AI在具有充足数据的应用中表现很好,但是仍旧缺乏对有限样本学习的能力。为了解决这类问题,提出了小样本学习FSL(Few-Shot Learning)。为了更好的理解小样本学习,本文做了一个综述。首先阐述小样本学习的定义;然后指出小样本学习的核心问题,即经验的风险最小化不可靠,基于先验知识解决该问题的模式,我们将小样本学习的算法分为了3类;最后,对小样本学习FSL的可能发展方向,包括问题建立,技术,应用和理论,提供一些看法。

三、文章详细介绍

因为这篇文章特别长,所以这里也就挑重要的部分讲。

目前FSL可以用在的领域包括:

image classifcation,图像分类

image retrieval,图像检索 

object tracking,目标追踪 

gesture recognition,姿势识别 

image captioning,看图说话 

visual question answering,视觉问答 

video event detection,视频检测 

language modeling,语言模型

这篇文章的贡献主要为以下4个方面:

We give the formal defnition for FSL. It can naturally link to the classic machine learning defnition proposed in [80]. The defnition is not only general enough to include all existing FSL works, but also specifc enough to clarify what is the goal of FSL and how we can solve it. Such a defnition is helpful for setting future research target in the FSL area.  给出了FSL的一般定义。这里不仅是对已有工作的总结,还阐述了FSL的目标,以及如何解决。

We point out the core issue of FSL based on error decomposition [19] in machine learning. We figure out that it is the unreliable empirical risk minimizer that makes FSL hard to learn. This can be relieved by satisfying or reducing the sample complexity of learning. More importantly, this provides insights to improve FSL methods in a more organized and systematic way. 指出了在机器学习中基于误差分解FSL的核心问题。

We perform extensive literature review from the birth of FSL to the most recent published ones, and categorize them in a unifed taxonomy in terms of data, model and algorithm. The pros and cons of different categories are thoroughly discussed. We also present a summary of the insights under each category. These can help establish a better understanding of FSL methods. 整理了从FSL提出到最新的文献,将他们按照数据,模型,算法进行分类

We propose four promising future directions for FSL in terms of problem setup, techniques, applications and theories. These insights are based on the weakness of the current development of FSL, with possible improvements to make in the future. We hope they can provide some insights. 提出了FSL未来的发展方向。

先来看第一项工作,FSL的定义。FSL是机器学习的一类问题,它具有以下的特点:

Act as a test bed for human-like learning: To move towards human intelligence, the ability of computer programs to solve FSL problem is vital. 像人一样学习

Reduce data gathering effort and computation cost: FSL can also help to relieve the burden of collecting large-scale supervised information. 减少数据收集和计算开支

Learn for rare cases: Finally, it is through FSL that one can learn suitable models for rare cases of limited supervised data. 有限样本下的学习

由于FSL只有很少的监督信息,所以一般的监督学习都不能起到很好的效果。

另外还有一些和FSL很接近的概念,作者在这里也给了说明,包括:

Semi-supervised learning,半监督学习:在有标签和没有标签的混合数据中学习最优假设。典型的两种学习是Positive-unlabeled learningactive learning。FSL与此不同,它可以是监督学习、半监督学习和强化学习,这取决于除了有限的监督信息外还有哪些数据可用,它既不需要存在未标记的样本,也不需要数据库。

Imbalanced learning,不平衡学习:从数据集中学习y的偏态分布(severely skewed distribution)。相比之下,FSL对y的训练和测试只是使用了几个样本。

Transfer learning,迁移学习:从有大量训练数据的源域和源任务学到的知识转移到训练数据有限的目标域和目标任务。典型的两种学习是Domain adaptation和zero-shot learning。FSL不需要是一个迁移学习问题。然而,当给定的监督信息仅限于直接学习时,FSL需要将先验知识转移到当前任务中。然后这类FSL问题就变成了转移学习问题。

Meta-learning,元学习:通过提供的数据集和元学习者(meta-learner)跨任务提取的元知识来改进新任务的P。许多FSL方法是元学习方法,使用元学习者(meta-learner)作为先验知识。

按作者的分类方式,分别对数据集,模型和算法进行分类,可以得到下面的分类结果:

下面看一下模型和算法,也是这方面工作的关键:

1. 不同的模型类别

(1)Multitask Learning多任务学习

多任务学习利用任务间共享的通用信息和每个任务的特定信息,自发地学习多个学习任务。它通常用于多个相关任务的有限训练样本共存的应用程序,因此它们可以自然地应用于FSL问题。注意到多任务问题通常来自于不同的域,因此它也叫域适应(domain adaptation)。

按照是否强制实行参数共享,我们将这类方法分为两类,硬参数共享和软参数共享。区别如下图所示:

(2)Embedding Learning嵌入学习

嵌入学习将一个输入嵌入x到嵌入空间z中,在这个空间中,相似和不相似的数据对就能够很容易识别。嵌入函数主要由先验知识所学得,这类模型通常用于分类问题。

嵌入学习有以下几个关键部分:函数f()用于将测试样本嵌入到嵌入空间,函数g()用于将样本嵌入到嵌入空间,函数s()用于计算嵌入空间中两个嵌入之间的相似度。函数f和函数g尽管可以相同,但是一般设计的时候尽量设计为不同,这是因为嵌入的测试样本可以根据训练集中的信息显式嵌入,以便于调整比较感兴趣部分。整个模型的示意图如下所示:

目前所有的模型包括:

根据嵌入信息的类型,我们可以将这类方法分为3类,task-invariant,task-specifc和两者结合。

Task-specifc为数据集D学习一个嵌入函数。这种模型只考虑到了模型的特殊性。

Task-invariant是从外部的一个很大的数据集(不包括实验数据集D)中学习一个嵌入函数。这种方法基于一种假设,如果一个模型可以在嵌入空间中成功区分不同数据,那么它就能够在不需要训练的情况下,很好的作用在数据集D中。孪生网络siamese net就是一个很好的代表。

两者结合。两种模型都有优缺点,一个具有较好的特殊性,一个不需要重新训练,因此就有一种趋势,即将两种模型结合起来,利用训练集中包含的Task-specifc信息,学习适应从先验知识中学习到的Task-invariant嵌入空间。一些具有代表性的工作如下:

(1) Learnet。是孪生网络的一种改进,

(2) Matching Nets。标记在嵌入空间中和测试样本最相似的样本,两者的嵌入函数不同。

(3) ProtoNet。对测试样本和训练集原型只比较一次。

(4) Relative representations。进一步将测试样本的嵌入与从Dtrain中计算出的每个cn在Z中联合嵌入,然后将其直接映射到分类等相似度评分。

(5) Relation graph。是保持样本间所有成对关系的图。

(6) SNAIL。设计的嵌入网络是由交错的时域卷积(temporal convolution)层和注意力层集成的。

(3)Learning with External Memory外部记忆学习

外部记忆比如NTM(neural Turing machine), memory networks。学习过程是映射有用的训练样本信息到模型参数中。利用外部记忆学习,直接将需要检索或更新的知识存储在外部记忆中,从而减轻了学习的负担。一些比较经典的模型如下表所示:

整个模型的示意图如下图所示:

嵌入函数f是从外部先验知识学习的,因此不要重新训练,原始的假设空间也没有发生变化。当有一个新样本时,相关的内容从记忆中提取出来,并结合到这个样本的局部近似中。然后将近似值反馈给后续经过预训练的预测模型。

通常情况下,当记忆不满时,新的样本都会写入空的记忆中;而记忆已满时,必须设定新的规则以决定新的样本取代或者更新哪一个记忆。根据不同的更新规则,可以分为以下不同类型的工作:

(1) Update the least recently used memory slot.

(2) Update by location-based addressing.

(3) Update according to the age of memory slots.

(4) Update the memory only when the loss is high.

(5) Use the memory as storage without updating.

(6) Aggregate the new information into the most similar one.

(4)Generative Modeling生成模型

这里的生成模型使用先验知识来预估参数的概率分布,模型结构一般如下所示:

下表总结了一些典型生成模型的特点:

根据在y中的θ如何定义和共享,现有方法可以分成parts and relations, super classes和latent variables.

Parts and Relations。这种方法的思路是从先验数据中学习部分和关系。典型的算法包括Bayesian One-Shot和BPL。

Super Classes。部分和关系转化为小样本的建模,而超类通过无监督学习对相似类进行分组。

Latent Variables。前面两个工作大多需要人工制作大量的数据集制作,而Latent Variables这种策略对潜变量建模,没有在类之间共享的隐含意义。由于没有矩阵分解,因此大大减少了计算量,这类模型大多为深度模型,常采用的base model包括(1)Variational auto-encoder (VAE),(2) Autoregressive model,(3) Inference networks,(4) Generative adversarial networks (GAN),(5)generative version of Matching nets(GMN)

2. 不同的算法类别

算法是为了在假设空间H中,找寻最优假设h下的参数θ,一种常见的策略就是使用SGD(随机梯度下降)。按照查找策略是如何受先验知识影响,我们将方法分为了3种。

(1) Refne existing parameters

(2) Refne meta-learned θ

(3) Learn search steps

各种方法的特点如下表所示:

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全部梭哈迟早暴富

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值