精华内容
下载资源
问答
  • 小样本学习

    2020-08-15 19:38:29
    小样本学习 目的:学会不同物体的异同。 Support Set不是训练集 用一个大的训练集训练一个大模型,训练的目的不是让模型识别训练集里的大象老虎,而是让模型知道事务之间的异同。(可以用SUpport Set数据集,让模型...

    小样本学习

    目的:学会不同物体的异同。

    在这里插入图片描述
    Support Set不是训练集
    用一个大的训练集训练一个大模型,训练的目的不是让模型识别训练集里的大象老虎,而是让模型知道事务之间的异同。(可以用SUpport Set数据集,让模型判断Query是水塔,尽管训练集里面没有水獭这个类别。)

    在这里插入图片描述

    Meta Learning(这个名字有些故能玄虚,可以把它看做Few-shot learning 小样本学习)

    Few-shot Learning is a kind of meta learning。
    Meta learning :learn to learn。

    1. 小孩子怎么学习
      虽然他没有见过水獭,但是他有区分动物的能力(学习能力),你给他一些卡片和对应的名字,小孩子既没有见过水獭,也没见过卡片里的动物,但是他对比一遍就发现这个动物是水獭了(他有能力把相同的东西对应起来),他判断的依据是眼前的动物和卡片里水獭很像。
      去动物园之前小朋友就用判断不同动物之间异同的能力(学习能力),培养小朋友自主学习就是mata learning.
    2. 靠一张卡片学会识别水獭是one-short learning

    在这里插入图片描述

    传统监督学习和Few-shot learning 之间的区别。

    传统监督学习:首先拿一个训练集训练模型,模型学习好之后,可以拿模型做预测(给模型看测试图,让他做预测),虽然模型没有见过这张哈士奇的图片,看是模型已经看过上百张哈士奇的图片了,所以模型可以判断出这张哈士奇。

    在这里插入图片描述
    few-shot learning:模型经过训练集训练,再拿query和support set对比,知道query是兔子。

    在这里插入图片描述

    1. 小样本学习的术语:
      k-way是指support里面有k个类别,n-shot指每个类别里面有n个样本。

    在这里插入图片描述
    2. 正确率受way和shot影响
    在这里插入图片描述

    在这里插入图片描述

    解决方法

    1. 找出一个相似度函数进行判断,可以在一个很大的训练集上训练一个相似度函数。
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    数据集

    1600个类,每个类20个样本
    在这里插入图片描述
    在这里插入图片描述

    Sinamese Network(孪生网络(reid就是用孪生网络思想))

    1. 训练Sinamese Network要用一个大的有标签数据集。
      正样本告诉网络什么是相似的,负样本告诉网络什么是不同的。
      在这里插入图片描述
    2. 网络:提取特征
      在这里插入图片描述
    3. 训练:这种方法每次取两张训练,计算两两间相似度(取值0-1)
      在这里插入图片描述
    4. 测试
      Support set中的数据都不在训练集里。
      在这里插入图片描述在这里插入图片描述
    5. Triplet loss:每次取三张训练(计算距离)
      在这里插入图片描述

    Pretraining and Fine Tuning

    一种简单而有效的方法:在大规模数据上预训练模型,再在小规模数据上微调。

    1. cosine similarity
      如何衡量两个向量之间的距离呢?对于两个模相同的向量我们可以计算余弦距离。(长度为1时如下)
      在这里插入图片描述
      若两个向量长度不为1,需要归一化
      在这里插入图片描述
    2. support set中同一类别做均值,来代表这一类别。其中用到softmax,这可以强化某些因素,并且让所有向量的模都是1。
      在这里插入图片描述
    3. 比较
      在这里插入图片描述

    Fine-Tuning

    在这里插入图片描述可直接把W设置成M,这样就是用固定的W和b
    M矩阵的每一行都是一个类别的均值向量。
    在这里插入图片描述

    Fine tuning:也可以在support set上学习W和b。
    (Fine tuning可以把预测准确率提高好几个百分点。)
    (用support set中所有的标签来训练这个分类器。分类器中的参数是W和b,也可以让梯度传播到卷积神经网络)
    在这里插入图片描述
    support set往往很小,容易过拟合。所以加一个Regularization防止过拟合。

    1. W和b的初始化很重要,W=M,b=0。
      在这里插入图片描述
    2. 正则化
      在这里插入图片描述
      在这里插入图片描述sim是归一化。
      在这里插入图片描述

    总结

    解决few-shot问题就是预训练一个神经网络,用其来提取特征。比较两张图片在特征空间的相似度,从而做出分类。
    分两步

    1. 用大规模数据预训练神经网络这个网络可以将图片映射成向量。
    2. 做预测:给一个query和一个support set,判断query为哪一类,把support set中的数据提取成特征向量,把每个类别的特征向量做平均,得到一个向量u,如果support set中有k个类别,就会得到k个平均后的特征向量,把query 的向量和这些向量作对比,计算cos相似度,最后做出分类。
      在这里插入图片描述
      在第一步和第二步之间可以加入Fine Tuning进一步训练。
      用support set进行Fine Tuning,用support set训练一个softmax分类器,也可以反向传播到预训练好的神经网络,让提取的特征更有效。
      Fine Tuning有一些有用的技巧。
    3. 用M初始化W,不要随机初始化。
    4. 用Entropy regularization让Entropy尽量小。
    5. 把Cosine similarity和Softmax classifier结合起来。
    展开全文
  • 针对弱监督机器学习方法,系统阐述了小样本学习、零样本学习、零—小样本学习的问题定义、当前主要方法以及主流实验设计,最后基于当前研究中出现的问题,对下一阶段研究方向进行了总结展望。
  • 小样本学习概述

    千次阅读 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

    展开全文
  • 小样本学习调研

    千次阅读 2019-03-11 16:27:07
    小样本学习介绍 小样本学习领域的研究进展 当小样本遇上机器学习 一:零碎纪录 1.最前沿:让神经网络学习比较来实现少样本学习 - Flood Sung的文章 - 知乎 https://zhuanlan.zhihu.com/p/35379027 论文链接 ...

    元学习小样本学习论文总结200篇 vieo.zhu@foxmail.com申请

     

    小样本机器学习算法的特性分析与应用

    小样本学习介绍

    小样本学习领域的研究进展

    当小样本遇上机器学习

    一:零碎纪录

    1.最前沿:让神经网络学习比较来实现少样本学习 - Flood Sung的文章 - 知乎 https://zhuanlan.zhihu.com/p/35379027

    2.几个博客

    小样本学习遇上机器学习--------随笔记录

     

    二:2018年小样本学习年度进展报告(付彦伟-复旦大学)

    1.有监督和无监督方法

    2.基于迁移学习的方法

    目前的实验结果显示:大部分已经发表的one-shot learning方法在miniImageNet数据集上的结果,比不过resnet-18的结果

    • Wang Yuxiong的文章Learning to Learn: Model Regression Networks for Easy Small Sample Learning,他们用原数据构建了很多模型库,然后目标数据直接回归这些模型库。具体就是在source class上训练一个regression network。对于大量样本我们可以得到一个比较好的分类器。对于少量样本我们可以得到一个没那么好的分类器。这个regression network的目的就是把没那么好的分类器映射成比较好的分类器。即,把一个分类器的权重映射到另一个分类器。
    • 640?wx_fmt=png
    • Matching Networks for One Shot Learning,这个文章很有意思,从标题中就能读出大概做了什么工作。对于一张图片,我们训练一个matching network来提取它的feature。然后用一个简单的数学公式来判断feature之间的距离。对于新的图片,根据它与已知图片的距离来进行分类。这篇文章精巧地设计了训练的过程,来使得这个过程与测试时的过程一致。
    • 640?wx_fmt=png
    • (model-agnostic meta-learning for fast adaptation of deep networks)MAML,是与模型无关的meta-learning的方法,它主要侧重于深度网络的快速适应。这篇文章的思想就是找到一个网络最好的初始位置,这个初始位置被定义为:经过几个小样本的调整后可以得到最好的表现。
    • 640?wx_fmt=png
    • Optimization as a model for few-shot learning,也是meta-learning的方法,将任务组织成一个最优化的问题。这篇文章将梯度下降的过程与LSTM的更新相对比,发现它们非常相似。所以可以用LSTM来学习梯度下降的过程,以此使用LSTM来做梯度下降的工作。
    • 640?wx_fmt=png
    • meta networks(ICML2017),也是meta-learning方法。其中利用了少量样本在基础网络中产生的梯度,来快速生成新的参数权重。
    • 640?wx_fmt=png
    • NIPS一篇prototypical network for fast shot learning,主要是在matching networks的基础上做了一些更改。它们给每一个类一个原型,样本与类的距离就是样本与原型的距离。然后选用欧氏距离替代了matching network的余弦距离。
    • 640?wx_fmt=png
    • CVPR的Learning to compare: Relation network for few-shot learning。简单来说就是用embedding module来提取feature。然后用relation module来输出两个feature之间的距离。一次来通过距离进行分类选择。
    • 640?wx_fmt=png
    • 更多论文
    • 640?wx_fmt=png

    3.数据增强的文章介绍 

    • semantic feature augmentation in few-shot learning,作者今年的提交到ECCV的一个工作,用左边的encoder-trinet把视觉特征映射到语义空间。因为语义空间上有更丰富的信息,可以在语义空间上做数据扩充(添加高斯噪声和寻找最近邻),再映射回视觉空间来得到更多的扩充样例。
    • 640?wx_fmt=png
    • ICCV2017这篇文章根据已有的图像去生成新的图像,然后做low-shot 视觉识别。具体来说,比如说你有三张图片:一张是鸟,一张是鸟站在树枝上,一张是猴子。那么你可以学习一个网络让它生成猴子站在树枝上的图片。本质上是,想把一个类的变化迁移到另一个类上,以此来做数据扩充。
    • 640?wx_fmt=png
    • 去年在CVPR上发表的文章AGA,主要针对3D数据,把图像投影到一个属性空间做数据增强。这是一个few-shot learning方法。具体就是,给定几张距离观测者不同距离的桌子的照片,以及一张凳子的照片,让机器学会如何去生成不同距离的凳子的照片,以此来做数据扩充。
    • 640?wx_fmt=png

    4.小样本学习灾难性遗忘的问题

    在 one-shot learning之上,我们还可能遇到一个问题,one-shot learning只关注目标类别上的分类问题,我们希望学习到的模型对源数据类别也适用,否则将带来一个问题,被称为灾难性遗忘。

    • 发表在PNAS的文章提出EWC 模型来解决这个问题。灾难性遗忘往往源于我们学习任务B的时候更新网络,使得任务A做的没那么好了。EWC提供了一种方法来计算权重对于任务A的重要性,把重要性引入到损失函数中,来避免更改会影响A效果的权重。
    • 640?wx_fmt=png
    • 还有learning without forgetting这篇文章,也是侧重于解决这个问题。简单来说就是拿到一个新任务后,我们会更新网络。我们希望在更新网络前后网络没有太大变化,所以我们添加一个loss来限制网络更新前后对于这个新的任务输出的特征不能有太大变化,也就是一个distill loss。
    • 640?wx_fmt=png

     

    小样本学习还有很多可以研究的东西。目前的成果主要还是基于把已知类别的一些信息迁移到新的类别上。可能未来可以尝试下更多的方向,比如利用无监督的信息或者是半监督的方法。

    论文集下载,提取码: ksny 

     

     

     

    展开全文
  • 带间隔的小样本学习是一个通用的框架,可以同各种基于度量的小样本学习模型结合。 本文将带间隔的小样本学习引入到两种已有模型中,分别是原型网络和匹配网络。 另外, 数据的分布往往都有内在结构,现有的基于度量...
  • 小样本学习简介

    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=1ka(x^,xi)yi\hat{y} = \sum^k_{i=1} a(\hat{x},x_i)y_i

    Equation (1) from Matching Networks

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

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

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

    在这里插入图片描述

    Attention function used in the Matching Networks paper

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

    有趣的是,支持集(support set)和查询集(query set)嵌入函数 ffgg 不同的可能性是开放的,以便赋予模型更多的灵活性。事实上,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产生非常相似的性能,这暗示二阶更新可以用更新的权重上的梯度来近似。

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

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


    展开全文
  • 小样本学习研究综述

    2020-12-11 16:34:30
    小样本学习方法分类基于模型微调的小样本学习方法基于数据增强的小样本学习基于无标签数据的方法基于数据合成的方法基于特征增强的方法基于迁移学习的小样本学习基于度量学习的方法基于元学习的方法基于图神经网络的...
  • 小样本学习 文章合集

    2020-03-22 18:30:28
    小样本学习年度进展|VALSE2018 小样本学习,路在何方? 从 CVPR 2019 一览小样本学习研究进展
  • 小样本学习&元学习经典论文整理||持续更新

    万次阅读 多人点赞 2020-05-30 17:30:08
      本文整理了近些年来有关...一、基于度量学习的小样本学习算法 1.《Siamese Neural Networks for One-shot Image Recognition》   网络名称:Siamese Network   文章来源:ICML2015   原文下载:http://www
  • 小样本学习综述

    2019-12-13 15:05:10
    知乎大佬总结的一篇文章,内容还是比较全的。 小样本学习(Few-shot Learning)综述(知乎) 小样本学习综述(微信) 两者是同一个作者写的文章。 ...
  • 小样本学习的悖论

    2019-10-30 21:50:14
    小样本学习的悖论 引言 这两年,学术界开始兴起了一种 “小样本学习” 的技术,小样本学习的本意是想模仿人类的学习过程,研究者认为人类的学习,从来都不是通过大量的数据死记硬背来实现的,机器想要模仿的人类视觉...
  • 今天给大家带来,深度学习 小样本学习-何旭明.pptx,里面对于相关知识讲解的十分清楚明白,相关方向的同学不要错过,一起来学习吧!
  • Large-Scale Few-Shot Learning via Multi-Modal Knowledge Discovery(解决大类别下的小样本学习) 关键点:视觉特征分块;语义弱监督的引入 在视觉空间中,将图片分为三种,原始图片+前景图片+背景图片。其中前景...
  • 点击上方,选择星标,每天给你送干货!作者丨赵俊博 Jake、杨朔、ICOZ来源丨知乎问答编辑丨极市平台导读2020年小样本学习可谓如火如荼,可是顶会论文却越看越懵,2020年到2021年...
  • 今天给大家带来,深度学习 小样本学习-付沿伟.pptx,面对于相关知识讲解的十分清楚明白,相关方向的同学不要错过,一起来学习吧!
  • 今天给大家带来,深度学习 小样本学习stanet_aaai19.pdf,里面对于相关知识讲解的十分清楚明白,相关方向的同学不要错过,一起来学习吧!
  • 图像分类的应用场景非常广泛, 很多场景下难以收集到足够多的数据来训练模型, 利用小样本学习进行图像分类可解决训练数据量小的问题. 本文对近年来的小样本图像分类算法进行了详细综述.
  • 阿里发表的小样本学习的方法,在文本分类领域效果还不错,主要还是 通过计算每个类相对应的特征向量来做有效的区分
  • 小样本学习与元学习--学习随笔1小样本学习(Few-shot learning)解决方法1---数据增强解决方法2---正则化解决方法3---元学习(Meta-learning)1、学习微调 (Learning to Fine-Tune)2、基于 RNN 的记忆 (RNN Memory ...
  • 小样本学习旨在通过少量样本学习到解决问题的模型.近年来在大数据训练模型的趋势下,机器学习和深度学习在许多领域中取得了成功.但是在现实世界中的很多应用场景中,样本量很少或者标注样本很少,而对大量无标签样本...
  • 小样本学习数据集

    万次阅读 多人点赞 2018-07-25 15:04:07
    小样本学习数据集 最近由于实验室项目原因开始研究小样本学习(few shot learning),看了一些论文,发现里面常用的测试数据集主要有Omniglot和miniImagenet两个,但是网上能查到的下载地址都在谷歌网盘上,而且...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,255
精华内容 2,902
关键字:

小样本学习