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可行的方法。第5节是改变算法搜索策略来处理FSL问题的方法。在第6部分中,我们从问题设置、技术、应用和理论等方面提出了FSL的未来发展方向。最后,调查在第7节得出结论。

2概述

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

2.1符号

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

2.2问题定义

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

定义2.1(机器学习[80])。如果一个计算机程序的性能能随着用P度量的E-on-T(经验-on-任务)而提高,则它可以从一些任务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)的通过率对生成的字符进行评价,判断图像是由人生成的还是由机器生成的。有了这些先验知识,计算机程序还可以学习分类、解析和生成一些像人类这样的例子的新手写字符。

•减少数据收集的效果和计算成本:FSL也有助于减轻收集大规模监督信息的负担。考虑通过FSL[32]对几个示例的类进行分类。图像分类精度(P)随着目标T中每一类的少量标记图像所获得的E,以及从其他类中提取的先验知识(如原始图像)的增加而提高。成功完成此任务的方法通常具有较高的通用性,因此它们可以很容易地应用于多个样本的任务。

•针对罕见情况的学习:最后,通过FSL,人们可以学习适用于受监督数据有限的罕见情况的模型。例如,考虑一个共同的药物发现任务(T),它预测新分子是否带来毒性E(3)。正确分配给有毒或无毒的分子(P)的百分比与通过新分子的有限测定获得的E和许多类似的分子作为先验知识的检测得到改善。

由于E中只含有少量与T直接相关的监督信息,因此一般的监督机器学习方法在FSL问题上都是失败的。因此,FSL方法通过将E中可用的监督信息与一些先验知识相结合,即“学习者在看到示例之前关于未知功能的任何信息”,使目标T的学习成为可能。

表1。基于定义2.2的三个FSL示例的插图。(T代表任务Task,E代表经验Experience,P代表概率Probability)

2.3相关学习问题

在本节中,我们将讨论FSL的相关学习问题。FSL的相关性和差异是特别明确的。

•半监督学习[147]通过由标记样本和未标记样本组成的经验E学习最优假设hˆ。正无标记学习[71]是半监督学习的一个特例,它只给出正样本和无标记样本。另一个相关的半监督学习问题是主动学习[103],它选择信息性的未标记数据来查询oracle的输出y。通过定义,FSL可以被监督学习、半监督学习和强化学习,这取决于除了有限的监督信息之外,还有什么样的数据可用。它既不需要存在未标记的样本,也不需要Oracle。

•不平衡学习[49]从经验E中学习,y的分布严重倾斜。它训练和测试在所有可能的y中进行选择。相反,FSL训练和测试仅举几个例子,而可能将另一个y作为学习的先验知识。

•转移学习[87]将从源域和源任务(如果有足够的培训数据)学到的知识转移到目标域和目标任务(如果培训数据有限)。领域适应[11]是一种迁移学习问题,任务相同,领域不同。另一个相关的转移学习问题被称为零镜头学习(68),它通过将其链接到现有的类来识别一个没有监督训练实例的新类,该类通常依赖于诸如文本语料库和词汇数据库(135)的外部数据源。FSL不需要是一个转移学习问题。然而,当给定的监督信息被限制为直接学习时,FSL需要将先验知识转移到当前任务中。然后这种FSL问题就变成了转移学习问题。

•元学习或学习[51]通过提供的数据集和元学习者跨任务提取的元知识,提高了新任务t的P。具体来说,元学习者在任务间逐渐学习一般信息(元知识),学习者利用任务特定信息快速地将元学习者概括为新的任务T。许多FSL方法都是以元学习者为先验知识的元学习方法。关于元学习的正式定义见附录a。

2.4核心问题

通常,对于机器学习问题,我们无法得到完美的预测,即存在一些预测错误。在这一部分中,我们说明了机器学习中基于错误分解的FSL下的核心问题[19,20]。

回想一下,机器学习是关于用P来衡量E对T的改进。根据我们的符号,这可以写成

这里,θ参数化了模型选择的假设h∈h。学习的内容是搜索h中最佳假设h的θ的算法。

2.4.1经验风险最小化。实质上,我们希望最小化预期风险R,即相对于p(x,y)的损失。对于某些假设h,R被蔑视为

 然而,p(x,y)是未知的。因此,经验风险RI(h)被用来估计预期风险R(h)。它被定义为训练数据集上样本损失的平均值(I个样本的Dtrain):

 而学习是通过经验风险最小化[124]来完成的(也许还需要一些正则化)。为了说明的目的,让

•hˆ=arg minf R(h),其中R达到其最小值;

•h=arg minh 8712H;R(h),其中R相对于h`8712H最小化;

•hI=arg minh 8712H;RI(h),其中RI相对于h$8712最小化;h。

假设hˆ、h∗和hI是唯一的,因为它们很简单。对于随机选择的训练集,学习的总误差可以分解为

                  (2)

当逼近误差Eapp(H)测量H中的函数如何逼近最优假设H时,估计误差EEST(h,i)测量最小经验风险Ri(h)代替E(19, 20)内的预期风险r(h)的ε。

如图所示,总误差受H(假设空间)和I(Dtrain中的示例数)的影响。换言之,可以尝试从提供Dtrain的数据、确定H的模型和通过H搜索fts Dtrain的最佳H的θ的算法的角度来学习减少总误差。

2.4.2不可靠的经验风险最小化。注意,对于(2)中的Eest(H,I),我们有

                              (3)

这意味着更多的例子可以帮助减少Eest(H,I)。因此,在监督学习任务的一般设置中,训练数据集具有足够的监督信息,即i是大的。经验风险最小化器HI可以提供一个好的,即(根据(3))近似R(HI)到H.中H的最佳可能R(H)。

但是,我在FSL中可用的示例数量很少。这使得经验风险RI(H)远不是预期风险R(H)的良好近似,所得的经验风险极小值HI不好。事实上,这是FSL的核心问题,即经验风险最小化hI不再可靠。因此,FSL比一般的机器学习设置困难得多。图1显示了普通和少量放炮设置之间的比较。 

Fig. 1. Comparison between common seting and few-shot seting in machine learning

从历史上看,经典的机器学习方法是通过正则化来学习的[41],以推广新数据集的学习方法。正则化技术植根于机器学习,有助于减少Eest并获得更好的学习性能[80]。经典的例子包括Tikhonov正则化器[52]和lasso正则化器[116]。不可否认,这些正则化可以限制模型的形式。然而,这些简单的正则化技术并不能解决FSL问题。它们不会带来任何额外的监督信息,因此无法解决由小数据量导致的经验风险最小化的不可靠性。因此,正则化学习不足以为FSL问题提供良好的预测性能。

2.4.3样本复杂度。经验风险最小化与样本复杂性密切相关。具体而言,样本复杂度指的是保证损失最小经验风险RI(H)所需的训练样本数,而不是预期风险R(H *)最多为1概率δ〔80〕。数学上,对于0<,δ<0.5,样本复杂度是一个整数s,使得对于i s s,我们有

                    (4)

当S是fnite时,H是可学习的。对于fnNITE空间H,它的复杂性可以用Vapnk O-S.Celvon(Vc)维数(125)来测量。VC维VC(H)被定义为可以被H分解(以所有可能的方式拆分)的最大输入集的大小。S被紧密地限定为

                             (5)

其中上界和下界分别在[125]和[114]中得到证明。

如(4)和(5)所示,对于fxedδ和ϵ,H需要较少的复杂度,以使所提供的I样本足够S。FSL方法通常使用先验知识来补偿样本的不足。一种典型的FSL方法是贝叶斯学习[32,66]。它将所提供的训练数据集Dtrain与先验概率(Dtrain给出之前可用的概率)结合起来[17]。这样,确定h的fnal概率所需的S可证明地减小了[39,80]。这启发我们怀疑FSL方法可以通过利用先验知识来满足或减少S。从而解决了不可靠经验风险最小化的核心问题。

2.5分类

在前面的章节中,我们发现FSL的核心问题是不可靠的经验风险最小化hI。我们还证明了一个可靠的经验风险最小化可以通过满足或减少所需的样本复杂度。现有的FSL作品使用先验知识来满足或减少S.基于先验知识的使用,我们将这些作品归类为:

•数据:利用先验知识将I样本的Dtrain增加到I●样本的方法。这样,S就可以满足[12107]。如图2(a)所示,我们可以获得更准确的经验风险最小化指标hI∮。随着样本的增多,常用的模型和算法可以直接使用。

•模型:基于经验E中的先验知识来设计H的方法来约束H学习的复杂性,该约束H导致较小的S,如[39, 75, 85 ]中所证明的。如图2(b)所示。灰色区域不考虑以后的优化,因为根据先前的知识,它们不太可能包含最优h*。对于这个较小的H,Dtrain足够学习一个更可靠的hI。

•算法:利用先验知识搜索h中参数化最佳假设h*的θ的方法。先验知识通过提供良好的开始搜索的初始点或直接提供搜索步骤来改变搜索策略。对于这类方法,我们将一些现有参数优化为HI和h的目标,同时利用从一组任务中直接学习的元学习者,在H,H,因此,我们在图2(c)中显示了从“开始”到“H”的两条路径。它们都可以证明S[476]。

图2。FSL方法如何从数据(lef)、模型(middle)和算法(right)的角度解决少镜头问题。在图2(a)中,通过先验知识,I样本的Dtrain增加为I●样本,因此通过经验风险最小化得到更可靠的hI●样本。在图2(b)中,使用先验知识来约束H,消除灰色区域以供以后优化。在图2(c)中,h中最佳假设h*的θ的搜索策略被先验知识改变。特别地,点线意味着经验风险的优化可以跳过,这是元学习方法使用的策略。

因此,现有的工作可以被划分为一个子模式分类法,如图3所示。我们将在下一节详细介绍每个类别。

3数据

本方法通过利用先验知识对数据进行训练,解决了FSL问题,从而丰富了E.中的监督信息,具有更高的样本量,能够满足后续机器学习模型和算法所需的样本复杂度,获得更可靠的HI。

图3。基于每个方法的焦点的FSL分类。

在这里,我们展示了如何使用先验知识在FSL中扩充数据。根据先验知识的类型,我们将这些方法分为四类,如表2所示。因此,图4展示了转换的工作原理。由于对Dtrain中N个类中的每一个类的扩充是独立完成的,因此我们使用Dtrain中N个类的示例(x(i),y(i))进行说明。

图4。通过变压器的输出(x●y●变换某些输入(x,y))来增加数据集Dtrain的说明。

表2。聚焦于数据透视的FSL方法的特点。

原文地址:https://www.cnblogs.com/2008nmj/p/11986454.html