Generalizing from a Few Examples: A Survey on Few-Shot Learning(从几个例子总结:关于少镜头学习的调查)

Posted 2008nmj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Generalizing from a Few Examples: A Survey on Few-Shot Learning(从几个例子总结:关于少镜头学习的调查)相关的知识,希望对你有一定的参考价值。

摘要:人工智能在数据密集型应用中取得了成功,但它缺乏从有限的示例中学习的能力。为了解决这一问题,提出了少镜头学习(FSL)。利用先验知识,可以快速地从有限监督经验的新任务中归纳出来。为了全面了解FSL,我们进行了一项调查研究。我们首先要澄清对FSL的正式定义。进而得出不可靠经验风险最小化是FSL的核心问题。基于如何利用先验知识来处理核心问题,我们将不同的FSL方法分为三类:数据利用先验知识来增加监督经验,模型利用先验知识来约束假设空间,算法利用先验知识来改变对最优假设参数的搜索在假设空间里。在这种统一的分类法下,我们对不同类别的利弊进行了深入的讨论。最后,从问题设置、技术、应用和理论等方面提出了可行性研究方向,希望能为后续研究提供一些启示。

附加关键词和短语:少镜头学习、单镜头学习、低镜头学习、小样本学习、元学习、先验知识

1.简介

“机器能思考吗?这是1950年艾伦·图灵(Alan Turing)题为“计算机械与智能”的开创性论文中提出的问题。他说,“数字计算机背后的想法可以解释为,这些机器旨在执行任何可以由人类计算机完成的操作”。换句话说,机器的最终目标是和人类一样聪明。近年来,由于GPU等强大计算设备的出现,ImageNet等大规模数据集[26],CNN等先进模型和算法[64],人工智能加快了向人类靠拢的步伐,在许多领域击败了人类。举几个例子,AlphaGo[106]在玩古老的围棋游戏中击败了人类冠军,ResNet[50]在1000个类的ImageNet数据集上的分类精度高于人类。在其他领域,人工智能作为高度智能的工具,如语音助手、搜索引擎、自动驾驶汽车和工业机器人,参与到人类的日常生活中。

尽管人工智能很繁荣,但目前的人工智能还不能从几个例子中迅速概括出执行任务的方法。上述人工智能的成功应用依赖于对大规模数据的详尽学习。相比之下,人类能够通过利用过去所学的知识快速地学习新的任务场景。例如,一个学会了加法的孩子,只要举几个例子,就可以迅速地把知识转移到乘法上,例如2×3=2+2+2和1×3=1+1+1。另一个例子是,给一个陌生人的几张照片,一个孩子可以很容易地从大量的照片中辨认出同一个人。

弥合人工智能和类人学习之间的鸿沟是一个重要的方向。这可以通过机器学习来解决,机器学习是人工智能的一个子领域,它支持诸如模型、算法和理论等科学研究基础。具体地说,机器学习关注的是如何构造能够随着经验自动改进的计算机程序的问题[80]。为了满足从有限的有监督信息中学习以获得任务挂起的渴望,提出了一个新的机器学习问题,称为少镜头学习(FSL)[32,33]。当只有一个例子需要学习时,FSL也被称为一次性学习问题。通过融合先验知识,FSL可以学习有限监督信息的新任务。

FSL是人工智能的试验台。因此,它是否像人类一样学习是一个考验。一个典型的例子是字符识别[66],在这里计算机程序被要求分类,解析和生成新的手写字符给出了几个例子。要处理这个任务,可以将字符分解成可以跨字符转移的较小部分,然后将这些较小的组件聚合成新字符。这是一种像人一样的学习方式[67]。自然,FSL推动了机器人学的发展[24],其目标是开发能够复制人类行为的机器,以便在某些情况下取代人类。例如单次模拟[30]、多武装匪徒[30]、视觉导航[30]、移动中的连续控制[34]。

除了测试人工智能之外,FSL还可以帮助减轻为工业需要收集大规模监督数据的负担。例如,ResNet[50]在1000个类的ImageNet数据上获得了比人类更高的分类精度。然而,这是在每个类都有足够的标记图像的情况下。相比之下,人类可以识别大约30000个类[16],其中收集每一个类的足够图像供机器学习是非常困难的。相反,FSL可以帮助降低这些数据密集型应用的数据收集效果,例如图像分类[127]、图像检索[118]、对象跟踪[15]、手势识别[88]、图像字幕和视觉问答[28]、视频事件检测[137]和语言建模[127]。此外,能够执行FSL可以降低那些计算成本高昂的应用程序的成本,例如一次性架构搜索[21]。当模型和算法成功地用于FSL时,它们自然地应用于许多样本的数据集,这些样本更容易学习。

FSL的另一个经典场景是,由于隐私、安全或道德问题等原因,很难或不可能获取受监督信息的任务。例如,药物发现就是发现新分子的特性,从而将有用的分子识别为新药的过程[3]。然而,由于可能的毒性、低活性和低溶解度,这些新分子在临床候选上没有许多真实的生物记录。这使得药物发现任务成为一个FSL问题。类似的罕见案例学习应用程序可以是FSL翻译[56],冷启动项目建议[126],其中目标任务没有很多示例。正是通过FSL,学习适合这些罕见情况的模型成为可能。

随着人工智能的学术梦想和廉价学习的工业需求,FSL引起了人们的广泛关注,成为一个热门话题。作为一种学习范式,许多方法都试图解决这一问题,如元学习方法[100]、嵌入学习方法[127]和生成建模方法[31]。然而,目前还没有现有的工作提供了有组织的分类法来连接FSL方法,解释了为什么某些方法在其他方法失效时工作,也不讨论二者的优缺点。因此,我们对FSL问题进行了调查。本次调查的贡献总结如下1。

•我们正式定义FSL。它可以自然地链接到[80]中提出的经典机器学习定义。缺陷不仅是足够的,包括所有现有的FSL作品,但也足够明确,以明确什么是FSL的目标,以及我们如何解决它。这样的认识有助于确定未来FSL领域的研究目标

•我们指出了机器学习中基于错误分解的FSL的核心问题[19]。我们认为,正是不可靠的经验风险最小化使得FSL难以学习。这可以通过满足或减少学习的样本复杂度来缓解。更重要的是,这为以更有组织和系统的方式改进FSL方法提供了见解。

•我们对从FSL诞生到最新发表的文献进行了广泛的文献回顾,并将它们按数据、模型和算法进行了统一分类。深入讨论了不同类别的利弊。我们还总结了每个类别下的见解。这有助于更好地理解FSL方法。

•我们提议FSL在问题解决、技术、应用和理论等术语方面的四个未来方向。这些见解是以FSL当前发展缓慢为基础的,并有可能改进今后的发展。我们希望他们能提供一些见解。

1.1调查的组织

本次调查的其余部分安排如下。第2节提供了调查的概述,包括FSL的正式缺陷、核心问题、相关的学习问题以及现有作品在数据、模型和算法方面的分类。第3节是关于增加数据以解决FSL问题的方法。第4节是用于约束模型以使FSL可行的方法。第五节是改变算法搜索策略来处理FSL问题的方法。在第六部分中,我们从问题设置、技术、应用和理论等方面提出了FSL的未来发展方向。最后,调查在第7节得出结论。

2概述

在这一节中,我们首先在第2.1节中提供整篇论文中使用的符号。第2.2节给出了FSL问题的形式化定义,并给出了具体的例子。由于FSL问题涉及到许多机器学习问题,我们在第2.3节讨论了它们之间的联系和区别。在第2.4节中,我们揭示了使FSL问题变得困难的核心问题。然后根据现有作品如何处理核心问题,在第2.5节中提出了统一的分类法。

2.1符号

假设一个有监督的学习任务T,FSL处理一个数据集D={Dtrain,D test}由训练集Dtrain={(x(i),y(i))}iI=1组成,其中i很小,测试集Dtest={xtest}。通常,人们考虑N-way-K-shot分类任务[34127],其中Dtrain包含N个类中的I=KN个示例,每个类都有K个示例。设p(x,y)为输入x和输出y的基真联合概率分布,hˆ为x到y的最优假设,FSL通过Dtrain和Dtest测试学习发现hˆ。为了近似H,模型确定假设H(·,Th)参数的假设空间H(2)。算法是通过搜索H来获得参数化Dtrain最优H∈H的θ的优化策略。性能是通过预测yˆ(例如,yˆ=h(x;θ))和实际输出y上的损耗函数Ψ(yˆ,y)来衡量的。

2.2问题定义

由于FSL自然是机器学习的一个子领域,在给出FSL的定义之前,让我们回顾一下机器学习是如何被文学地定义的。这里我们采用米切尔的定义[80],如定义2.1所示。

定义2.1(机器学习[80])。如果一个计算机程序的性能能随着用P度量的E-on-T而提高,则它可以从一些任务T和性能度量P的经验E中学习。

我们可以看到,机器学习问题是由E,T和P来描述的。例如,考虑到图像分类任务(T),机器学习程序可以通过使用大规模标记图像(如ImageNet数据集[64])进行训练获得E来提高其分类精度(P)。另一个例子是最近的计算机程序AlphaGo[106],它在玩古老的围棋(T)游戏时击败了人类冠军。它通过使用一个记录了3000万次人类专家动作的数据库进行训练,以及反复与自己比赛,提高了对对手的胜率(P)。

上述典型的机器学习应用对给定的任务需要大量的监督信息。然而,如导言中所述,这可能是困难的,甚至是不可能的。FSL是机器学习的一个特例,它的目标是在数据集D提供有限的监督信息的情况下获得良好的学习性能。监督信息是指训练数据集Dtrain包括输入x(i)及其相应的输出y(i)的示例[17]。正式地,我们在定义2.2中定义了FSL。

定义2.2 少镜头学习(FSL)是一类机器学习问题(由E、T和P指定),其中E包含少量目标T的监督信息。

为了更好地理解这一定义,让我们展示FSL的三个典型场景(表1):

•充当类似人类学习的试验台:要走向人类智能,计算机程序解决FSL问题的能力至关重要。一个流行的任务(T)是生成一个新字符的样本,只给出几个例子[66]。受人类学习方式的启发,计算机程序使用E进行学习,E既包括作为监督信息的给定示例,也包括作为先验知识的预先训练的概念,例如部分和关系。通过视觉图灵测试(P)的通过率对生成的字符进行评价,判断图像是由人生成的还是由机器生成的。有了这些先验知识,计算机程序还可以学习分类、解析和生成一些像人类这样的例子的新手写字符。

以上是关于Generalizing from a Few Examples: A Survey on Few-Shot Learning(从几个例子总结:关于少镜头学习的调查)的主要内容,如果未能解决你的问题,请参考以下文章

[Cycle.js] Generalizing run() function for more types of sources

A few notes on Blockchain

A few words at the beginning

[翻译]Review——Learn these core JavaScript concepts in just a few minutes

caffe在进行图片数据转化的时候报错create_annoset.py: error: too few arguments

小样本元学习综述:A Concise Review of Recent Few-shot Meta-learning Methods