精华内容
下载资源
问答
  • 小样本学习
    万次阅读
    2020-10-30 20:38:46

    众所周知,深度学习是机器学习发展中一个非常重要的里程碑,在很多任务上深度学习都取得了巨大的成功。然而,由于深度模型包含的参数很多,通常需要大量的有标签的数据才能进行模型训练,这点严重地限制了它的应用:在很多场景下,收集大量的有标签的数据是非常昂贵、困难、甚至不可能的,比如医疗数据、手机上用户手动标注的数据等。是否能仅利用少量带标签的数据来训练就得到一个好的模型?这已经成为机器学习的发展中一个十分重要的课题,不论是学术界还是工业界都高度关注。

    1.有一类小样本学习的思路是元学习 (meta-learning) 方法。元学习的大致想法是利用大量跟目标任务相似的任务(或者历史任务)来学习一个元学习器 (meta-learner),然后作用到目标任务上获得一个不错的模型初值,从而能够仅利用少量目标任务的数据对模型进行快速适配。我们在 Pac-Bayes 的框架下提出了一个元学习算法来得到一个好的目标任务模型的先验,并且给出了泛化误差的上界,这是为数不多的元学习的理论工作。仿真实验也验证了我们的算法比传统的方法(比如 MAML)要更好。

    2.元学习中有一类是基于度量学习 (metric learning) 的小样本学习。度量学习的大致想法是学习一个强大的、具有良好迁移能力的特征提取器 (feature extractor) 来直接应用到目标任务上。这样,通过一个少参或者无参的分类器(比如 nearest neighbour)就可以做小样本分类任务了。传统小样本学习的方法,通常只使用基类数据进行学习。由于基类和新类之间存在严重的样本不均衡问题,导致容易过拟合到基类数据,这一点在广义小样本问题中(在广义小样本问题中,测试样本不仅包含新类,还包含了基类)尤为突出。我们提出在训练阶段引入新类的数据,同时对基类和新类学习基于度量学习的全局类别表征,能够有效防止训练模型在基类数据中出现过拟合的现象,从而提高了模型泛化到新类的能力。

    除了上面两种直接针对小样本学习的思路,我们也尝试了通过自动机器学习 (AutoML) 来进行神经网络架构搜索 (Neural Architecture Search, NAS),从而获得性能更优的 CNN 结构。神经网络架构搜索的常见做法是首先设计一个架构搜索空间,然后用某种搜索策略,从中找出一个最优的网络架构。其中比较具有代表性的是 DARTS 算法(Differentiable Architecture Search,可微分的神经网络架构搜索)。它把搜索空间从离散的放松到连续的,从而能够用梯度下降来同时搜索架构和学习权重。我们提出一种可微分的神经网络架构搜索算法 DARTS+,第一次将早停机制(early stopping)引入到 DARTS 中,不仅减小了 DARTS 搜索的时间,而且极大地提升了 DARTS 的性能。此后陆续有一些工作(比如 RobustDARTS,FairDARTS 等)也开始跟进研究早停机制的设计。

    明年,我认为小样本学习这个课题可以重点考虑以下几个方向:

    • 小样本物体检测:目前的小样本学习大多集中在图片分类任务上,物体检测任务今年才刚刚开始起步。相比于图片分类,物体检测在实际应用中更重要、更实用。
    • 无监督小样本学习:小样本学习的传统设定是从大量的有标签的基类数据迁移知识到小样本的新类任务上。在实际很多场景中,大量有标签的基类数据也是难以获得的,能否利用大量无标签的基类数据(或者少量有标签的基类数据+大量无标签的基类数据)来做小样本学习?
    • 联邦学习:当一个用户本地的数据非常少时,如何利用其它用户的数据,在保证隐私的情况下来帮助训练模型?或者当某个用户的数据分布式存储在多个设备上且每个设备的数据都很少的情况下,如何用最小的通信代价将分布式的数据进行联合训练?
    • 小样本学习在更多领域的应用:小样本文本分类,推荐系统冷启动(对仅有少量交互的新用户如何做推荐)等。



      


    通过知识诱导来表达每种学习方法如何在不同的学习问题上执行,从而发现元知识。元数据是由学习问题中的数据特征(一般的,统计的,信息论的......)以及学习算法的特征(类型,参数设置,性能测量...)形成的。然后,另一个学习算法学习数据特征如何与算法特征相关。给定一个新的学习问题,测量数据特征,并且可以预测不同学习算法的性能。因此,至少在诱导关系成立的情况下,可以选择最适合新问题的算法。
    stacking. 通过组合一些(不同的)学习算法,即堆叠泛化。元数据是由这些不同算法的预测而形成的。然后,另一个学习算法从这个元数据中学习,以预测哪些算法的组合会给出好的结果。在给定新的学习问题的情况下,所选择的一组算法的预测被组合(例如通过加权投票)以提供最终的预测。由于每种算法都被认为是在一个问题子集上工作,所以希望这种组合能够更加灵活,并且能够做出好的预测。
    boosting. 多次使用相同的算法,训练数据中的示例在每次运行中获得不同的权重。这产生了不同的预测,每个预测都集中于正确预测数据的一个子集,并且结合这些预测导致更好(但更昂贵)的结果。
    动态偏选择(Dynamic bias selection)通过改变学习算法的感应偏来匹配给定的问题。这通过改变学习算法的关键方面来完成,例如假设表示,启发式公式或参数。
    learning to learn,研究如何随着时间的推移改进学习过程。元数据由关于以前的学习事件的知识组成,并被用于高效地开发新任务的有效假设。其目标是使用从一个领域获得的知识来帮助其他领域的学习。

    更多相关内容
  • 小样本学习简介

    千次阅读 2020-10-26 17:58:17
    小样本学习(Few-Shot Learning)简介。

    小样本学习(Few-Shot Learning)是 元学习(meta learning)的一种。而元学习可以理解为学会去学习(learning to learn)。举个例子,一个小朋友去海洋馆发现一只特别喜欢的动物,然而并不知道它是什么?此时假如给他一套卡片,他只需要将每张图片认真过一遍就能认出水里的动物了。 就算他之前既没有见过眼前的动物,也没见过卡片上的动物,他依旧能分辨出水里的动物,这是因为他已经具备了自主学习的能力。其实元学习就是希望模型也能够具备这种能力,可以依靠少量的样本完成自主推理的过程。(参考:LINK


    原题:Advances in few-shot learning: a guided tour
    原文:HTML
    作者:Oscar Knagg


    目前,小样本学习(Few-Shot Learning)是机器学习的一个令人兴奋的领域。深度神经网络从大量数据集中提取复杂统计和学习高级特征的能力得到了证明。然而,目前的深度学习方法与人类的感知形成鲜明对比,样本效率很低——甚至一个孩子在看到一张照片后就能认出长颈鹿。微调一个预先训练好的模型是实现高样本效率的一个流行策略,但这是事后理解。机器学习能做的更好吗?

    小样本学习旨在解决这些问题。在这篇文章中,我将通过深入研究三篇前沿论文来探索一些近期在小样本学习方面的进展:

    我将从对 n-shot,k-way 分类任务的简要说明开始,这些任务是小样本学习基准(benchmark)。

    我已经在Github中复现了这些论文的主要结果。可以查看这篇文章,以了解我实施这项研究的经验。


    The n-shot, k-way task

    算法执行小样本学习的能力通常由其在 n-shot,k-way 任务上的性能来衡量。这些运行如下:

    • 给模型一个查询样本(query sample),该样本属于一个新的,以前未见过的类,
    • 还给它一个支持集S(support set),它由n个来自k个不同看不见类的样本组成,
    • 然后算法必须确定查询样本是哪个支持集类(support set classes)属于:
      在这里插入图片描述
    A 1-shot, 20-way task from the Omniglot dataset. The query sample is in top-center.
    • k-way:the support set has k classes.
    • n-shot:every class has n exampples.
    • Omniglot:共1623类(包含50多张字母表,每个字母表有很多字符),每类有20个样本。图片大小105×105。训练集:30个字母,964类,19280个样本。测试集:20个字母,659类,13180个样本。(参考:LINK

    Matching Networks

    Matching Networks

    Vinyals et al.

    尽管之前有很多关于深度学习的小样本方法的研究,但匹配网络(Matching Networks)是第一个对n-shot, k-way任务进行训练和测试的。这样做的原因很简单:对相同任务的训练和评估,使我们能够以端到端的方式针对目标任务进行优化。较早的方法如孪生网络(siamese networks)使用成对验证损失来执行度量学习(metric learning),然后在单独的阶段中使用学习的度量空间来执行最近邻居分类。这不是最佳方法,因为已训练了初始嵌入函数(embedding function),以最大程度地提高执行其他任务的性能!但是,匹配网络将嵌入和分类结合起来,形成了端到端的可区分最近邻居分类器(differentiable nearest neighbours classifier)。

    匹配网络首先将高维样本嵌入到低维空间中,然后执行以下等式描述的广义近邻分类形式。
    y ^ = ∑ i = 1 k a ( x ^ , x i ) y i \hat{y} = \sum^k_{i=1} a(\hat{x},x_i)y_i y^=i=1ka(x^,xi)yi

    Equation (1) from Matching Networks

    这意味着模型的预测 y ^ \hat{y} y^ 是支持集的标签 y i y_i yi 的加权和,其中权重是查询样本 x ^ \hat{x} x^ 和支持集样本 x i x_i xi 之间的成对相似性函数 a ( x ^ , x i ) a(\hat{x}, x_i) a(x^,xi) 。该等式中的标签 y i y_i yi 是one-hot编码的标记矢量。

    注意,如果我们选择 a ( x ^ , x i ) a(\hat{x},x_i) a(x^,xi) 对于与查询样本最接近的 k k k 个样本是 1 / k 1/k 1/k,否则我们恢复k近邻算法。需要注意的关键是匹配网络是端到端可微的(end-to-end differentiable),前提是注意函数 a ( x ^ , x i ) a(\hat{x},x_i) a(x^,xi) 是可微的。

    作者在嵌入空间中选择一个简单的软最大值而不是余弦相似度作为他们的注意函数 a ( x ^ , x i ) a(\hat{x},x_i) a(x^,xi)。他们用于小样本图像分类问题的嵌入函数是一个CNN,当然,它是可微分的,因此使注意力和匹配网络完全可微分!这意味着用典型的方法(如随机梯度下降)来首尾相连地拟合整个模型是很简单的。

    在这里插入图片描述

    Attention function used in the Matching Networks paper

    在上式中, c c c 代表余弦相似度,函数 f f f g g g 分别是查询和支持集样本的嵌入函数。对这个等式的另一种解释是,支持集是一种记忆形式,当看到新样本时,网络通过从这个记忆中检索具有相似内容的样本的标签来生成预测。

    有趣的是,支持集(support set)和查询集(query set)嵌入函数 f f f g g g 不同的可能性是开放的,以便赋予模型更多的灵活性。事实上,Vinyals等人正是这样做的,并引入了 **全上下文嵌入(full context embeddings,FCE)**的概念。

    在实践中,作者使用一个LSTM来计算支持的FCE,然后使用另一个LSTM来修改查询样本的嵌入。这导致了可观的性能提升,代价是引入了大量的计算和稍微没有吸引力的支持集的任意排序。

    总之,这是一篇非常新颖的论文,拓展了完全可微的神经邻居算法(neural neighbours algorithm)的思想。


    Prototypical Networks

    在这里插入图片描述
    在原型网络(Prototypical Networks)中,Snell 等人以类原型的形式应用引人注目的归纳偏置(inductive bias),以实现令人印象深刻的小样本性能——在没有FCE复杂性的情况下超过匹配网络(Matching Networks)。关键的假设是存在一个嵌入,其中来自每个类的样本聚集在一个简单的单个样本平均值的原型表示周围。在n > 1的情况下,这种思想简化了 n-shot 分类,因为分类简单地通过采用最接近的类原型的标签来执行。
    在这里插入图片描述

    Equation (1) from Prototypical Networks — calculating class prototypes. S_k is the support set belonging to class k and f_phi is the embedding function.

    本文的另一个贡献是 在度量学习中使用欧几里德距离而不是余弦距离的有说服力的理论论证,这也证明了使用类方法作为原型表示的合理性。关键是要认识到平方欧几里德距离(而不是余弦距离)是一种特殊的距离函数,称为Bregman散度(Bregman divergences)。

    考虑寻找一簇点的质心的聚类问题,使得质心和所有其他点之间的总距离最小。已经证明,如果距离函数是Bregman散度(比如平方欧几里德距离),那么满足这个条件的质心就是聚类的均值——然而余弦距离不是这样!当将一组点表示为单个点时,该质心是最小化信息损失的点。

    这种直觉得到了实验的支持,因为作者发现 ProtoNets 和它们自己的匹配网络实现都通过从余弦到欧几里德距离的交换得到了全面的改进。

    原型网络也适用于 zero-shot learning,人们可以简单地直接从一个类的高级描述中学习类原型,比如标记属性或自然语言描述。一旦做到了这一点,就有可能将新的图像分类为一个特定的类,而不需要看到该类的图像。在他们的实验中,他们只根据颜色、形状和羽毛图案等属性对鸟类图像进行小样本物种分类。

    我非常喜欢这篇文章,因为它在本文中所有方法的典型基准测试中取得了最高的性能,同时也很优雅,是我最容易复现的。


    Model-agnostic Meta-learning (MAML)

    Finn 等人采用了一种非常不同的方法来进行小样本学习,即学习一种能够快速适应新任务的网络初始化——这是一种元学习(meta-learning)或学会去学习(learning-to-learn)的形式。这种元学习的最终结果是一个模型,它可以在一个新任务上达到高性能,只需一步规则梯度下降。这种方法的优点是,它不仅可以用于有监督的回归和分类问题,还可以用于使用任何可微分模型的强化学习!

    在这里插入图片描述

    Figure 1 from Model-Agnostic Meta-Learning. Theta represents the weights of the meta-learner. Gradient L_i are the losses for tasks, i, in a meta-batch and the starred theta_i are the optimal weights for each task.

    MAML不像大多数深度学习算法那样学习成批的样本,而是学习成批的任务,即元批次(meta-batches)。对于元批次处理中的每个任务,我们首先使用基本元学习者的权重初始化一个新的“快速模型”。然后,计算梯度,并根据从该任务提取的样本更新参数,更新快速模型的权重,即对快速模型的权重执行典型的小批量随机梯度下降。
    在这里插入图片描述

    The weight update due to a single task T_i. Alpha is a learning rate hyperparameter.

    在参数更新之后,我们从同一任务中抽取更多的未被发现的样本,并计算元学习者的更新权重(即快速模型)在任务中的损失。最后一步是通过从更新后的权重中获取损失总和的梯度来更新元学习器的权重。这实际上是取梯度的梯度,因此是二阶更新——MAML算法通过展开的训练过程进行区分。

    在这里插入图片描述

    Weight update for meta-learner. Beta is a learning rate hyperparameter and p(T) is the distribution of tasks.

    这是关键的一步,因为这意味着正在优化基础模型在梯度步之后的性能,也就是说,正在优化快速和简单的梯度下降。这样做的结果是,元学习器可以通过梯度下降在小至每类单个例子的数据集上进行训练,而不会过拟合。

    OpenAI的一篇后续论文提供了一些有价值的直觉,说明了为什么这种方法可以使用梯度更新的泰勒展开。他们得出的结论是,MAML不仅最小化了任务分布的预期损失,而且最大化了同一任务梯度更新之间的预期内积。因此,它优化了批次之间的一般化。
    在这里插入图片描述

    Results of a Taylor expansion analysis from “On First-Order Meta-Learning Algorithms” by Nichol et al.

    上述方程组显示了MAML梯度的期望,MAML(FOMALML)的一阶简化和Reptile,在同一篇论文中介绍的一阶元学习算法。AvgGrad项表示任务的损失,AvgGradInner项表示概括项(generalisation term)。注意,为了在学习率α中领先,所有的算法都在执行非常相似的更新,二阶MAML对广义项赋予最高的权重。

    也许MAML的唯一缺点是二阶更新,因为计算损失的二阶导数非常耗费内存和计算。然而,一阶简化如FOMAML和Reptile产生非常相似的性能,这暗示二阶更新可以用更新的权重上的梯度来近似。

    然而,高计算要求与模型不可知论元学习是一篇为机器学习开辟了令人兴奋的新途径的精彩论文这一事实无关。

    小样本学习领域正在取得快速进展,尽管还有很多东西需要学习,但我相信该领域的研究人员将继续缩小机器和人类在少拍学习这一挑战性任务上的差距。我希望你喜欢读这篇文章。


    展开全文
  • 目录一、基于模型微调的小样本学习二、基于数据增强的小样本学习1.基于无标签数据的方法2.基于数据合成的方法3.基于特征增强的方法三、基于迁移学习的小样本学习1.基于度量学习的方法2.基于元学习的方法3.基于图神经...

    本篇博客总结了三大类当前小样本学习的研究方法并总结了这些方法的优缺点。
    参考:小样本学习研究综述 赵凯琳 , 靳小龙 , 王元卓。

    一、基于模型微调的小样本学习

    • 基于模型微调的方法是小样本学习较为传统的方法,该方法通常在大规模数据上预训练模型,在目标小样本数据集上对神经网络模型的全连接层或者顶端几层进行参数微,得到微调后的模型。
    • 若目标数据集和源数据集分布较类似,可采用模型微调的方法。
    • 基于模型微调的方法较简单,但是在真实场景中目标数据集和源数据集往往并不类似,采用模型微调的方法会导致模型在目标数据集上过拟合。

    二、基于数据增强的小样本学习

    • 数据增强指借助辅助数据或辅助信息,对原有的小样本数据集进行数据扩充或特征增强。
    • 数据扩充:向原有数据集添加新的数据,可以是无标签数据或者合成的带标签数据。
    • 特征增强:在原样本的特征空间中添加便于分类的特征,增加特征多样性。

    基于无标签数据的方法

    • 基于无标签数据的方法是指利用无标签数据对小样本数据集进行扩充,常见的方法有半监督学习和直推式学习等。

    基于数据合成的方法

    • 为小样本类别合成新的带标签数据来扩充训练数据,常用的算法有生成对抗网络。

    基于特征增强的方法

    • 通过增强样本特征空间来提高样本多样性的一个关键是如何得到一个泛化性好的特征提取器。

    三、基于迁移学习的小样本学习

    • 迁移学习是指利用旧知识来学习新知识,主要目标是将已经学会的知识很快地迁移到一个新的领域中。
    • 基于模型微调的方法在源数据集和目标数据集分布大致相同时有效,分布不相似时会导致过拟合问题,迁移学习则解决了这个问题。
    • 迁移学习只需要源领域和目标领域存在一定关联,使得在源领域和数据中学习到的知识和特征能够帮助在目标领域训练分类模型,从而实现知识在不同领域之间的迁移。
    • 一般来说,源领域和目标领域之间的关联性越强,那么迁移学习的效果就会越好。

    基于度量学习的方法

    • 在数学概念中,度量指衡量两个元素之间距离的函数,也叫做距离函数。
    • 度量学习也称为相似度学习,是指通过给定的距离函数计算两个样本之间的距离,从而度量它们的相似度。
    • 将度量学习的框架应用到小样本学习上,顾名思义,就是通过计算待分类样本和已知分类样本之间的距离,找到邻近类别来确定待分类样本的分类结果。
      在这里插入图片描述
    • 由上面的模型可以看出,基于度量学习的方法经历了从解决单样本问题到解决小样本问题,再到同时解决小样本问题和零样本问题的变革,模型逐渐趋近于成熟。
    • 同时,也经历了从基于传统距离函数的方法到基于深度网络的方法的改进。
    • 继续采用基于传统距离函数的方法很难在小样本分类准确率方面得到较大的提升,所以加强对基于神经网络进行度量方法的研究将是今后重点关注的方向。

    基于元学习的方法

    • 元学习方法经历了从单样本学习到小样本学习的转变,同时也从图像领域迁移到了文本领域。
    • 元学习方法为小样本学习带来了很大突破,到今后很长一段时间都将是小样本学习的主流方法。

    之前博主有写过一篇博客介绍什么是元学习,以及为什么元学习可以解决小样本问题:
    元学习(Meta Learning)为什么能解决小样本问题(Few-shot Learning):一个例子搞懂
    [元学习是“学习如何学习”,先学习其他任务掌握能力,再处理目标任务。比如我们先学会了c语言,c++语言之后,学习python就会更加容易。]

    基于 图 神 经 网 络 \color{red}{图神经网络} 的方法⭐

    • 在计算机科学中,图作为一种数据结构,由点和边构成。

    • 图这种数据结构,具有表现力强和展示直观的优点,随着近年来机器学习的兴起,机器学习逐渐被应用到图的分析上。

    • 图神经网络是一种基于深度学习的处理图领域信息的模型,由于其较好的性能和可解释性,它最近已成为一种广泛应用的图分析方法。

    • 在 Few-Shot Learning with Graph Neural Networks 里,每一个样本看做图中的一个节点,该模型不仅学习每个节点的嵌入向量,还学习每条边的嵌入向量

    • 卷积神经网络将所有样本嵌入到向量空间中,将样本向量与标签向量连接后输入图神经网络,构建每个节点之间的连边,然后通过图卷积更新结点向量,再通过结点向量不断更新边的向量,这就构成了一个深度神经网络。

    • 如下图所示:5个不同的结点输入到GNN中,用公式A构建边,然后通过图卷积更新结点向量,再根据A更新边,再通过一层卷积得到最后的点向量,最后计算概率。

    在这里插入图片描述

    用图神经解决小样本问题的相关文献:
    [49] Zhou J, Cui G, Zhang Z, et al. Graph Neural Networks: A Review of Methods and Applications
    [50] Garcia V, Bruna J. Few-Shot Learning with Graph Neural Networks . 2017. 🔥☀️🌈🌈
    [102] Kim J, Kim T, Kim S, et al. Edge-Labeling Graph Neural Network for Few-shot Learning
    [108] Gidaris S, Komodakis N. Generating Classification Weights with GNN Denoising Autoencoders for Few-Shot Learning

    四、小样本学习总结与展望

    小样本学习总结

    1. 基于数据增强的方法是对小样本数据集进行数据扩充或特征增强,这种方法可以不对模型进行参数调整,但是容易引入噪声数据。
    2. 基于迁移学习的方法是将旧领域学到的知识迁移到新领域,并且不需要两者之间有很强的关联性,但关联性越强迁移效果越好。
    3. 基于迁移学习的方法中,基于度量学习的方法最简单、容易操作,只需要通过距离来衡量样本之间的相似度,但是学习到的知识太少。基于元学习比基于度量学习的方法学习能力更强,可以学习到更多知识。基于图神经网络的方法在三种方法中展示最为直观、可解释性较强,但样本总数变大时会导致计算复杂度增高。

    五、总结

    在这里插入图片描述

    展开全文
  • 小样本学习概述

    万次阅读 多人点赞 2020-12-09 16:44:05
    小样本学习(Few-Shot Learning)是近几年兴起的一个研究领域,小样本学习旨在解决在数据有限的机器学习任务。 小样本学习存在的意义? 近些年,以深度卷积神经网络为代表的深度学习方法在各类机器学习任务上...

    前言

    小样本学习(Few-Shot Learning)是近几年兴起的一个研究领域,小样本学习旨在解决在数据有限的机器学习任务。

     

    小样本学习存在的意义?

    近些年,以深度卷积神经网络为代表的深度学习方法在各类机器学习任务上取得了优异的成绩——很多任务上已经超越了人类表现。狂欢背后,危机四伏。因为这些深度学习方法work的关键之一是海量标注数据的支持。

    但是在工业界,很多时候难以获得海量的训练数据,更别提还要标注了。这里我脑洞一下:不久的将来,深度学习会沦为高科技公司和大型科研机构的专属玩具——因为小公司、小科研机构根本无法接触到高品质的、海量的数据。

    那么,有没有一种方法可以让我们只需要少量的样本,就能训练出良好的模型呢?于是,小样本学习就登上了历史舞台。

    实际上,我们人类就比较擅长小样本学习。给人几张不同角度的图片,人就可以对新的图片进行分辨——这种强大的学习能力恰恰是当前深度学习所缺乏的,也是鼓舞我们探索的动力所在。

     

    什么是小样本学习?

    这里给出小样本学习的严格定义,在介绍小样本学习之前,我们先看机器学习的定义。

    Machine Learing : A computer program is said to learn from experience E with respect to some classes of task T and performance measure P, if its performance can improve with E on T measured by P.

    然后我们引入小样本学习的定义。

    Few-Shot Learning (FSL) : A type of machine learning problems (specified by E,T and P), where E contains only a limited number of examples with supervised information for the target T.

    总结起来,机器学习就是从数据中学习,从而使完成任务的表现越来越好。小样本学习是具有有限监督数据的机器学习。类似的,其他的机器学习定义也都是在机器学习定义的基础上加上不同的限制条件衍生出来。例如,弱监督学习是强调在不完整、不准确、有噪声、数据少的数据上学习,半监督学习是强调在少量标注数据和大量非标注数据上学习,迁移学习是把充足数据上学习的知识迁移到数据匮乏的任务上。

     

    小样本学习的方法有哪些?

    如果把小样本学习比作一个黑盒子,给这个黑盒子喂少量的数据,凭什么能让它表现得好呢?显然我们需要外力来帮助,这个外力就是“先验知识”。

    小样本学习的先验知识来自三方面:数据、模型、算法,小样本学习的研究也都是从这三方面着手。因此,小样本学习方法大致可分为基于数据增强的方法、基于模型改进的方法、基于算法优化的方法。

    一、基于数据增强的方法。主要思路就是数据增强,通俗地讲就是扩充样本。想到数据增强,我们通常会想到平移、裁剪、翻转、加噪声等操作,但是这些操作可能在特定数据集表现很好,不具有普适性。而且设计这些操作需要对所处理的领域具有足够的了解。小样本学习所使用的数据增强方法主要有三个思路:1)只有小样本数据集:可以训练一个transformer学习样本之间的变化,然后使用该transformer对小样本数据集进行扩充;2)有小样本数据集+弱标注数据集:可以训练transformer从弱标注数据集中“挑选”样本来扩充小样本数据集;3)有小样本数据集+相似的数据集:可以训练一个GAN网络,通过学习给小样本数据集加上扰动来生成新样本。

    数据的三种来源

    基于数据的方法比较容易理解,但是存在的问题是:很多工作都不具备普适性,难以迁移到别的数据集。

    二、基于模型改进的方法。每个模型经过迭代都会得到近似解,而当样本有限时,在假设空间搜索解就变得困难。这类方法为了缩小假设空间,主要有四种方法:

    1.多任务学习(Multitask Learning):这种模型可以处理多个任务,因此也就兼备了模型的普适性和一般性。在处理多个任务时,模型的参数可以是共享的,也可以是相关联的;

    多任务学习共享参数(左)、关联参数(右)模型示意图

    2.嵌入学习(Embedding Learning):将样本映射到一个低维度空间,从而达到了缩小假设空间的效果,然后就可以通过少量的样本求出模型在该假设空间下的近似解。根据映射到低维空间的方法又分为三类:任务特定型(结合任务的具体特点进行映射)、通用型、结合型(结合任务和通用);

    嵌入学习模型示意图

    3.基于外部记忆的学习(Learning with External Memory):通过对小样本数据集学习得到知识,然后存储到外部,对于新样本,都使用存储在外部的知识进行表示,并根据表示来完成匹配。这种方法大大降低假设空间;

    基于外部记忆的学习模型示意图

    4.生成模型(Generative Modeling):生成模型学习小样本数据集的数据分布,并可将其用于各种任务。

    生成模型模型示意图

     

    三、基于算法优化的方法。这类方法的核心是通过改进优化算法来更快地搜索到合适解。主要方法有三种:

    1.改善已有参数。这种方法从参数初始化的角度着手,主要思路是借助已训练好的模型参数来调整小样本模型的参数,例如:在大数据集训练好模型来初始化小样本模型;聚合其他已训练好的模型到一个模型;给已训练好的模型加一些特用于小样本任务的参数;等等。

    改善模型已有参数流程示意图

    2.改善元学习参数。元学习(meta-learning)是当下很火的一个研究方向,它的思想是学习如何学习。它的结构一般是由一个底层模型和一个顶层模型组成,底层模型是model的主体,顶层模型是meta-learner。更新参数时,它除了要更新底层model,还要更新meta参数。改善策略大致有三类:1)结合不同特定任务模型参数来对新任务的参数进行初始化;2)对模型不确定性建模,以备后续提升;3)改进参数调整流程。

    改善元学习参数流程示意图

    3.学习优化器。如下图所示,optimizer每次都迭代会更新上一次的模型参数,现在通过学习小样本数据集中每个迭代的更新值,从而应用在新的测试数据上。

    学习优化器流程示意图

     

    结语

    小样本学习是机器学习领域未来很有前景的一个发展方向,它要解决的问题很有挑战性、也很有意义。小样本学习中最重要的一点就是先验知识的利用,如果我们妥善解决了先验知识的利用,能够做到很好的迁移性,想必那时我们距离通用AI也不远了。

    参考文献

    Y. Wang, J. Kwok, L. M. Ni and Q. Yao, "Generalizing from a few examples: A survey on few-shot learning", arXiv:1904.05046, 2019

    展开全文
  • 在机器学习应用领域,小样本学习(Few-shot Learning)(在刚刚描述的情况下称为单样本学习(one-shot learning))是一个热门话题,它能够基于少量的训练样本去预测。本文将讨论以下几个方面: 目录 1. 什么是小样本...
  • 小样本学习研究综述

    千次阅读 2020-12-11 16:34:30
    小样本学习方法分类基于模型微调的小样本学习方法基于数据增强的小样本学习基于无标签数据的方法基于数据合成的方法基于特征增强的方法基于迁移学习的小样本学习基于度量学习的方法基于元学习的方法基于图神经网络的...
  • A survey on Few-shot Learning (小样本学习)   机器学习已经成功地在数据密集型任务上得以应用,但通常却不能够处理数据很少的情况。最近,小样本学习(Few-shot Learning,FSL)被提出用于解决这个问题。在...
  • 小样本学习综述

    千次阅读 2019-04-02 11:02:32
    问题定义 人类非常擅长通过极少量的样本识别一个新...在人类的快速学习能力的启发下,研究人员希望机器学习模型在学习了一定类别的大量数据后,对于新的类别,只需要少量的样本就能快速学习,这就是 Few-sh...
  • 带间隔的小样本学习是一个通用的框架,可以同各种基于度量的小样本学习模型结合。 本文将带间隔的小样本学习引入到两种已有模型中,分别是原型网络和匹配网络。 另外, 数据的分布往往都有内在结...
  • 浅述小样本学习以及元学习

    万次阅读 多人点赞 2019-03-11 22:59:51
    自深度学习发展起来之后, 智能化的各种设备也慢慢变多,但是对于智能化的程序来说,需要数以万计甚至百万千万的数据行进训练,以近年来最为出名的AlphaGo为例,虽然下棋的是一台电脑,但其后台需要庞大的数据支持...
  • 模型学习方式相关
  • 深度学习之小样本学习

    千次阅读 2021-03-29 07:06:53
    深 度 学 习 之 样 本 学 习 深度学习之小样本学习 深度学习之小样本学习 百度网盘 提取码:1234 《零样本图像分类综述 : 十年进展》 零样本也称作零样本学习 零样本图像分类指训练集和测试集在数据的类别上没有...
  • 小样本学习,路在何方?

    千次阅读 2020-05-15 13:51:11
    目前已有基于度量学习、语义信息以及数据增强等多种方法,而至于大小样本的边界、小样本学习的方法论等问题还备受关注。在本文中,复旦大学付彦伟、上海科技大学何旭明、北京邮电大学马占宇、中科院计算所王瑞平(按...
  • 小样本学习(one/few-shot learning)

    万次阅读 多人点赞 2019-04-03 19:42:14
    原文:...小样本学习 来源:我们人类是具有快速从少量(单)样本中快速学习能力的,其实在我们学习的过程中,人类的大脑将对象和类别组成有用的信息将之分类。 首先需要声明的是,小样...
  • 传统监督学习: 对于一个给定训练数据集,通过训练使模型可以识别训练数据集,并将其泛化到测试数据集中。要求测试数据集中数据标签类别包含在训练数据集中。 meta learning: 目的是让模型learn to learn,使模型...
  • 论文分享:2020小样本学习综述

    千次阅读 多人点赞 2020-06-03 17:48:45
    应用2.2 相关机器学习问题2.3 FSL核心问题2.4 FSL方法分类2.5 FSL方法研究现状S3 数据3.1 数据扩充方法3.2 数据扩充方法的GAPS4 模型4.1 模型选择方法4.2 模型选择方法的GAPS5 算法5.1 优化算法方法5.2 优化算法方法...
  • Few-shot learning (FSL)在机器学习领域具有重大意义和挑战性,是否拥有从少量样本学习和概括的能力,是将人工智能和人类智能进行区分的明显分界点,因为人类可以仅通过一...
  • 最近在做华为杯的竞赛,... 小样本学习(Few-shot Learning)2.1基于度量的小样本学习(Metric Based)(主流方法)2.1.1孪生网络(Siamese Network)2.1.2匹配网络(Match Network)2.1.3原型网络(Prototype Netwo
  • 小样本学习论文笔记

    千次阅读 2022-01-24 16:34:04
    博客记录小样本学习相关论文的笔记。
  • 小样本学习之半监督的样本分类

    千次阅读 2019-03-13 21:59:57
    在上篇博客中介绍了原型网络,一种基于度量的小样本分类方法,核心思想便是在一个嵌入空间中将所有同类的样本拉到较近的位置,然后通过距离度量的方式来判断一个样本x属于哪一个类。对于原型网络,这是一个监督学习...
  • LibFewShot:小样本学习与细粒度分类(二) -- 工程应用、单图测试__天涯__的博客-CSDN博客 目录 环境部署 论文研究 卷积相关知识复习 扩展:零次学习(Zero-Shot Learning) 概念 目的 原理和问题 样本训练学习...
  • 此外,在测试过程中,我们不仅仅计算了未见类数据每个任务的小样本学习识别正确率,也把未见类中的每个任务(纪元)拆分成两个子纪元,一个当作源领域,另一个当作目标领域,用以计算这两个子纪元之间的间隔差异...
  • 小样本学习最新综述

    千次阅读 2020-05-04 23:51:19
    本文转载自机器之心。什么是小样本学习?它与弱监督学习等问题有何差异?其核心问题是什么?来自港科大和第四范式的这篇综述论文提供了解答。数据是机器学习领域的重要资源,在数据缺少的情况下如何训...
  • 元学习系列(零):小样本学习与元学习综述

    千次阅读 多人点赞 2020-01-03 17:38:03
    最近几周一直在看meta learning的模型,从最初的小样本学习模型开始看到最近的MAML各种改进版本,算是有了一点初步的了解,这次就主要介绍一下,什么是小样本学习,什么是元学习,以及在这个领域有哪些经典的值得...
  • 学习初步 1998年,Thrun和Pratt指出,对于一个指定的任务,一个算法“如果随着经验的增长,在该任务上的表现得到改进”,则认为该算法能够学习。 与此同时,对于一族待解决的多个任务,一个算法“如果随着经验和...
  • 从 CVPR 2019 一览小样本学习研究进展

    千次阅读 2019-07-26 10:46:18
    随着研究者们对样本利用效率的要求日益提高,小样本学习逐渐成为了 AI 领域以及相关顶会最热门的话题之一。色列特拉维夫大学的在读博士研究生 Eli Schwarts 参加完CVPR 2019 后,针对今年CVPR 2019 的热点之一——...
  • 小样本学习之原型网络

    万次阅读 多人点赞 2019-03-12 23:11:15
    原型网络是解决小样本分类问题的一个比较实用且效果还不错的方法,这篇论文是在2016年NIPS上的一篇论文《Matching Networks for One Shot Learning》的基础上,进行了改进后而来的,改进后的方法简单且实用。...
  • 目录小样本学习研究现状Are Large-scale Datasets Necessary for Self-Supervised Pre-training? 小样本学习 研究现状 目前,计算机视觉神经网络被大量参数化:它们通常有数千万或数亿个参数,这是它们成功利用大型...
  • few shot learning-小样本学习入门

    千次阅读 2020-04-22 20:48:44
    基本概念 小样本学习(few shot learning,FSL)可以看做每个类别样本数目远远小于类别数目,也就是说每个类别仅仅只有几个样本可供训练。
  • 那篇论文中讨论了如何将样本投影到一个嵌入空间中,使得相似样本间的距离较近,他学习的是如何投影这个过程,而样本间的距离度量方法是人为设定的,这样的话那个投影过程也就是基于人为设定的度量方法来学习的了。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 373,647
精华内容 149,458
关键字:

小样本学习

友情链接: SBL.rar