内容纲要

文章来源:https://arxiv.org/abs/1904.05046

机器学习在数据密集型应用程序中非常成功,但是在数据集较小时通常会受到阻碍。 近来,提出了“少量学习”(FSL)来解决这个问题。 使用现有知识,FSL可以快速推广到仅包含少量带有监督信息的样本的新任务。 在本文中,我们进行了彻底的调查,以全面了解FSL。 从FSL的正式定义开始,我们将FSL与几个相关的机器学习问题区分开来。 然后,我们指出FSL的核心问题是经验风险最小化工具不可靠。 根据如何使用先验知识来处理此核心问题,我们从三个角度对FSL方法进行了分类:(i)数据,它使用先验知识来增强监督经验; (ii)模型,它使用先验知识来减小假设空间的大小; (iii)算法,该算法使用先验知识来改变对给定假设空间中最佳假设的搜索。 通过这种分类法,我们将审查和讨论每个类别的利弊。 在FSL问题设置,技术,应用和理论方面,也提出了有希望的方向,以为未来的研究提供见识。

1 introduction

“机器可以思考吗?” 这是艾伦·图灵(Alan Turing)在1950年发表的开创性论文《计算机与智能计算》 [134]中提出的问题。这话可以这样解释计算机:这些计算机旨在执行人机可以执行的任何操作。” 换句话说,机器的最终目标是要像人类一样聪明。 近年来,由于功能强大的计算设备(例如GPU和分布式平台)的出现,大数据集(例如具有1000类的ImageNet数据[30]),高级模型和算法(例如卷积神经网络(CNN)) [73]和长短期记忆(LSTM)[58]),人工智能加快了步伐,使其像人类一样在许多领域击败了人类。 仅举几例,AlphaGo [120]在古老的Go游戏中击败了人类冠军; 残差网络(ResNet)[55]在ImageNet上获得了比人类更好的分类性能。 AI还支持日常生活中许多方面的智能工具的开发,例如语音助手,搜索引擎,自动驾驶汽车和工业机器人。

尽管繁荣,但当前的AI技术无法从几个示例中快速概括。前述成功的AI应用程序依赖于从大规模数据中学习。 相反,人类能够利用过去的经验快速学习新任务。 例如,一个学习了加法的孩子可以迅速给出自己的知识来学习乘法(例如2×3 = 2 + 2 + 2和1×3 = 1 + 1 + 1)。 另一个例子是,给定几张陌生人的照片,孩子可以轻松地从大量照片中识别同一个人。

弥合人工智能与人类之间的鸿沟是一个重要的方向。 机器学习可以解决这个问题,机器学习涉及如何构建随经验而自动提高的计算机程序[92,94]。 为了从有限数量的带有监督信息的示例中学习,提出了一种新的机器学习范式,称为“少量学习(FSL)” [35,36]。 一个典型的例子是字符生成[76],在其中给出了一些例子,要求计算机程序解析并生成新的手写字符。 要处理此任务,可以将字符分解为可跨字符转移的较小部分,然后将这些较小的组件聚合为新字符。 这是一种像人类一样的学习方法[77]。 当然,FSL还可以推进机器人技术[26],后者开发出可以复制人类行为的机器。 例子包括一杆模仿[147],多臂匪[33],视觉导航[37]和连续控制[156]。

另一个经典的FSL场景是,由于隐私,安全或道德问题,很难或不可能获取带有监督信息的示例。 一个典型的例子是药物发现,它试图发现新分子的特性,以便将有用的分子识别为新药[4]。 由于可能的毒性,低活性和低溶解度,新分子在临床候选药物上没有很多真实的生物学记录。 因此,重要的是要从少量样本中有效学习。 目标任务没有很多示例的类似示例包括FSL转换[65]和冷启动项目推荐[137]。 通过FSL,可以为这些罕见情况学习合适的模型。

FSL还可以帮助减轻收集大规模监督数据的负担。 例如,尽管ResNet [55]在ImageNet上的表现优于人类,但每个类别都需要有足够的带标签的图像,这些图像可能很难收集。 FSL可以减少数据密集型应用程序的数据收集工作。 示例包括图像分类[138],图像检索[130],对象跟踪[14],手势识别[102],图像字幕,视觉问题解答[31],视频事件检测[151],语言建模[138]和 神经体系结构搜索[19]。

在AI接近人类的学术目标以及对廉价学习的工业需求的推动下,FSL引起了很多关注,并且现在已成为热门话题。 已经提出了许多相关的机器学习方法,例如元学习[37,106,114],嵌入学习[14,126,138]和生成建模[34,35,113]。 但是,目前尚无任何工作可以提供有组织的分类法来连接这些FSL方法,也无法解释为什么某些方法有效而其他方法却无效,也没有讨论不同方法的优缺点。 因此,在本文中,我们对FSL问题进行了调查。 相反,[118]中的调查仅关注概念学习和小样本经验学习。

这项调查的贡献可以总结如下:

  • 我们对FSL给出了正式的定义,它自然地与[92,94]中的经典机器学习定义相关。 该定义不仅足够笼统地包括现有的FSL作品​​,而且足够具体以阐明FSL的目标是什么以及我们如何解决它。 该定义有助于在FSL领域设定未来的研究目标。
  • 我们通过具体示例列出了FSL的相关学习问题,阐明了它们与FSL的相关性和差异。 这些讨论可以帮助更好地区分FSL,并将其定位在各种学习问题之间。
  • 我们指出,FSL监督学习问题的核心问题是不可靠的经验风险最小化器,它是基于机器学习中的错误分解[17]进行分析的。 这为以更组织和系统的方式改进FSL方法提供了见识。
  • 我们进行了广泛的文献综述,并从数据,模型和算法的角度将它们组织在统一的分类法中。 我们还提供了一些见解的摘要,并就每种类别的利弊进行了讨论。 这些可以帮助您更好地理解FSL方法。
  • 我们在问题设置,技术,应用和理论方面为FSL提出了有希望的未来方向。 这些见解基于FSL当前发展的弱点,并可能在将来进行改进。

1.1 Organization of the Survey

本调查的其余部分安排如下。 第2节概述了FSL,包括FSL的正式定义,相关的学习问题,核心问题以及现有作品的数据,模型和算法分类。 第3节介绍用于扩充数据以解决FSL问题的方法。 第4节介绍了减少假设空间大小以使FSL可行的方法。 第5节介绍了更改算法搜索策略以处理FSL问题的方法。 在第6节中,我们在问题设置,技术,应用和理论方面提出了FSL的未来方向。 最后,调查在第7节中结束。

1.2 Notation and Terminology

考虑学习任务T,FSL处理数据集D = {Dtrain,Dtest},其中包括训练集Dtrain = {(xi,yi)} I(其中I很小)测试集Dtest = {xtest}。令p(x,y)为真值的输入x输出y的联合概率分布,ˆh是从x到y的最优假设映射。 FSL通过拟合Dtrain并在Dtest上进行测试来学习发现ˆh。 为了逼近ˆh,FSL模型确定了假设h(·;θ)的假设空间H,其中θ表示h使用的所有参数。 这里使用参数h,因为非参数模型通常需要大量数据集,因此不适合FSL。 FSL算法是一种搜索H的优化策略,以找到参数化最佳h ∗∈H的θ。FSL性能由预测yy = h(x;)上定义的损失函数ℓ(yy,y)来衡量和观察到的输出y。

2 OVERVIEW

在本节中,我们首先在2.1节中提供FSL问题的正式定义,并提供具体示例。 为了区分FSL问题和相关的机器学习问题,我们将在2.2节中讨论它们的相关性和差异。 在第2.3节中,我们讨论了导致FSL困难的核心问题。 然后,第2.4节根据现有作品如何处理核心问题提出了统一的分类法。

2.1 Problem Definition

由于FSL是机器学习的一个子领域,因此在给出FSL的定义之前,让我们回顾一下文献中机器学习是如何定义的。

定义2.1(MachineLearning [92,94])。 如果计算机的性能可以通过性能测评P基于经验E提升在学习人物T改善,则计算机程序可以从经验E中学习某些任务T和性能测评P。

例如,考虑图像分类任务(T),机器学习程序可以通过对大量标记图像(例如ImageNet数据集[73])进行训练而获得的E来提高其分类精度(P)。 另一个例子是最近的计算机程序AlphaGo [120],该程序在玩古代Go(T)游戏时击败了人类冠军。 通过在数据库(E)上训练大约3,000万个人的专家动作记录并反复与自己比赛,它提高了对对手的获胜率(P)。 这些总结在表1中。

如上述示例中所示,典型的机器学习应用程序需要大量带有监督信息的示例。 但是,如引言中所述,这可能是困难的,甚至是不可能的。 FSL是机器学习的一种特殊情况,在训练集Dtrain中提供有限的监督信息的情况下,其目标是获得良好的学习性能,该训练集包括输入xi以及其对应的输出yi的示例[15]。 正式地,我们在定义2.2中定义FSL。

定义2.2。 少量学习(FSL)是一类机器学习问题(由E,T和P指定),其中E仅包含有限数量的示例,其中包含针对目标T的监督信息.

现有的FSL问题主要是监督学习问题。 具体来说,仅在每个类别的几个带标签的示例中,分类学习分类器。 示例应用包括图像分类[138],来自短文本的情感分类[157]和对象识别[35]。 形式上,使用1.2节中的符号,少样本分类学习了一个分类器h,它预测每个输入xi的标签yi。 通常,人们会考虑使用N-way K-shot分类法[37,138],其中Dtrain包含I = KN个示例,这些示例来自N个类别,每个类别都有K个例子。 少样本回归[37,156]在仅从该函数采样的几个输入-输出示例对的情况下估计回归函数h,其中输出yi是因变量y的观测值,而xi是记录观测值的输入自变量x的值。 除了少样本的监督学习之外,FSL的另一个实例是少样本的强化学习[3,33],其目标是在仅给出少数由状态-动作对组成的轨迹的情况下找到一种策略。

现在,我们展示FSL的三种典型情况(表2):

  • 像人类一样充当学习的试验床。 为了迈向人类智能,计算机程序能够解决FSL问题至关重要。 一个流行的任务(T)是仅给出几个例子就生成一个新角色的样本[76]。 受人类学习方式的启发,计算机程序使用E进行学习,E由既有监督信息的给定示例以及受过训练的概念(如零件和关系)作为先验知识组成。 通过视觉图灵测试(P)的通过率评估生成的字符,该测试可区分图像是由人还是由机器生成的。 有了这些先验知识,计算机程序还可以学习分类,解析和生成新的手写字符,其中包括人类的一些示例。
  • 例如在罕见情况下的“人类学习”。 当很难或不可能获得带有监督信息的足够示例时,FSL可以为罕见情况学习模型。 例如,考虑一个药物发现任务(T),该任务试图预测一个新分子是否具有毒性作用[4]。 通过新分子的有限测定和许多类似分子的测定获得的E,正确分配为有毒或无毒(P)分子的百分比会提高
  • 减少数据收集工作量和计算成本。 FSL可以帮助减轻收集大量带有监督信息的示例的负担。 考虑少拍图像分类任务(T)[35]图像分类精度(P)随目标T的每个类别的少量标记图像获得的E以及从其他类别中提取的先验知识(例如原始图像到共同训练)而提高。 成功完成此任务的方法通常具有较高的通用性。 因此,它们可以轻松地应用于许多样本的任务。

与表1相比,表2在“体验E”下有一个额外的列,被标记为“先验知识”。 由于E仅包含几个与T直接相关的受监督信息的示例,因此自然而然,常见的受监督学习方法通​​常会因FSL问题而失败。 因此,FSL方法通过将E中可用的监督信息与一些先验知识相结合来使对targetT的学习变得可行,这些先验知识是“学习者在看到示例之前就拥有有关未知功能的任何信息” [86]。 贝叶斯学习[35,76],它结合了提供的训练集Dtrain和一些先验的概率分布,这些概率分布在给出Dtrain之前就可用[15]。

备注1.当E中只有一个带有监督信息的示例时,FSL被称为单样本学习[14,35,138]。 当E不包含任何带有目标T监督信息的示例时,FSL成为零样本学习问题(ZSL)[78]。 由于目标类不包含带有监督信息的示例,因此ZSL要求E包含来自其他模态的信息(例如属性,WordNet和罕见对象识别任务中使用的单词嵌入),以便传递一些监督信息并使得学习成为可能 。

2.2 Relevant Learning Problems

在本节中,我们讨论一些相关的机器学习问题。 阐明了与FSL的相关性和差异。

  • 弱监督学习[163]:从经验E中学习,该经验E仅包含弱监督(例如不完整,不精确,不准确或嘈杂的受监督信息)。与FSL最相关的问题是缺乏监督的弱监督学习,其中只有少量样本具有监督信息。 根据是利用Oracle还是通过人工干预,可以将其进一步分类为:
    • –半监督学习[165],它从E中的少量标记样本和(通常是大量)未标记样本中学习示例应用程序是文本和网页分类。正无标记学习[81]是半监督学习的一种特殊情况,其中仅给出正样本和未标记的样本。 例如,为了推荐社交网络中的朋友,我们仅根据朋友列表了解用户的当前朋友,而他们与其他人的关系是未知的。
    • –主动学习[117],它选择内容丰富的未标记数据,以向oracle查询输出y。 通常用于注释标签昂贵的应用,例如行人检测。

根据定义,弱监督学习和不完全监督仅包括分类和回归,而FSL还包括强化学习问题。 而且,弱监督学习和不完全监督的学习主要使用未标记的数据作为E中的附加信息,而FSL利用了各种先验知识,例如预训练模型,来自其他领域或方式的监督数据,并且不限于使用未标记的数据。 因此,只有当先验知识是未标记的数据并且任务是分类或回归时,FSL才成为弱监督学习问题。

  • 不平衡学习[54]从经验E中学习,y的分布偏斜。 当很少使用y的某些值时(例如在欺诈检测和巨灾预测应用程序中),就会发生这种情况。它会进行训练和测试,以便在所有可能的y中进行选择。 相比之下,FSL通过一些示例对y进行训练和测试,同时可能将其他y作为学习的先验知识.
  • 转移学习[101]将知识从训练数据丰富的源域/任务转移到缺乏训练数据的目标域/任务。 它可用于跨域推荐,跨时间段,空间和移动设备的WiFi本地化等应用。 域适应[11]是一种转移学习,其中源/目标任务相同,但源/目标域不同。 例如,在情感分析中,源域数据包含电影的客户评论,而目标域数据包含日用品的客户评论。 转移学习方法广泛用于FSL [7,82,85],其中先验知识从源任务转移到快照任务
  • 元学习[59]通过提供的数据集和元学习者跨任务提取的元知识来改进新任务T的P。 具体而言,元学习者逐渐学习跨任务的通用信息(元知识),并且学习者使用任务特定信息将元学习者概括为新任务T。 它已成功应用于学习优化器[5,80],在协作过滤中处理冷启动问题[137]和通过自然语言指导政策[25]等问题。 元学习方法可用于处理FSL问题。 如第4节和第5节所示,元学习器被视为指导每个特定FSL任务的先验知识。 附录A中提供了元学习的正式定义以及如何将其用于FSL问题。

2.3 Core Issue

在任何机器学习问题中,通常都存在预测错误,并且无法获得完美的预测。 在本节中,我们将说明基于错误分解的监督机器学习的FSL的核心问题。该分析适用于FSL监督学习,包括分类和回归,也可以为理解FSL强化学习提供见解。

2.3.1 Empirical Risk Minimization.

给定假设h,我们希望将其预期风险R最小化,R是相对于p(x,y)测得的损失。 具体而言:

由于p(x,y)是未知的,因此存在经验风险(这是I个样本的训练集Dtrain上样本损失的平均值)

通常用作R(h)的代理,从而使经验风险最小化[94,136](可能有一些调节器)。 为了说明,让

由于ˆh是未知的,因此必须将其近似某个h∈H。h ∗是H中ˆh的最佳近似值,而hI是通过经验风险最小化获得的H中的最佳假设。 为简单起见,我们假设ˆh,h ∗和hI是唯一的。 总误差可分解为[17,18]:

期望是关于Dtrain的随机选择。 近似误差Eapp(H)衡量H中的函数可以接近最佳假设ˆh的程度,估计误差Eest(H,I)衡量将经验风险RI(h)最小化而不是预期风险R( h)在H之内。

如图所示,总误差受H(假设空间)和I(Dtrain中的示例数)影响。 换句话说,可以从(i)提供Dtrain的数据的角度尝试学习减少总误差。 (ii)确定H的模型; (iii)算法,该算法搜索适合Dtrain的最优hI∈H

2.3.2 Unreliable Empirical Risk Minimizer

通常,可以通过使用更多示例[17、18、41]来减少Eest(H,I)。 因此,当有足够的带有监督信息的训练数据时(即,I大),经验风险最小化器hI可以为H中的h提供最佳的R(h *)近似值R(hI)。 FSL,可用示例数很少。 然后,经验风险RI(h)可能远远不能与预期风险R(h)很好地近似。

但是,在FSL中,可用示例I的数量很少。 然后,经验风险RI(h)可能远远不能与预期风险R(h)很好地近似,因此,经验风险最小化器hI会过度拟合。 的确,这是FSL监督学习的核心问题,即经验风险最小化工具hI不再可靠。 因此,FSL困难得多。 图1显示了学习量与训练量足够少的比较。

2.4 Taxonomy

为了缓解在FSL监督学习中具有不可靠的经验风险最小化工具hI的问题,必须使用先验知识。 基于使用先验知识对哪个方面进行了增强,可以将现有的FSL作品​​分为以下几个方面(图2)。

  • Data 这些方法使用先验知识来增强Dtrain,并将样本数量从I增加到〜I,其中〜I≫I。然后,可以在扩增后的数据上使用标准的机器学习模型和算法,并使用更准确的经验风险最小化因子h 可以得到h〜(图2(a))
  • Model. 这些方法使用先验知识来约束H的复杂度,这导致更小的假设空间H。 如图2(b)所示,灰色区域不考虑进行优化,因为根据先验知识,灰色区域不大可能包含最佳h *。 对于这个较小的H〜,Dtrain足以学习可靠的hI [43,86,99]
  • Algorithm这些方法使用先验知识来搜索参数化H中最佳假设h ∗的θ。先验知识通过提供良好的初始化(图2(c)中的灰色三角形)或指导搜索步骤(灰色来改变搜索策略)。 图2(b)中的虚线)。 对于后者,最终的搜索步骤受先验知识和经验风险最小化因素的影响。

因此,现有作品可以归为一个统一的分类法,如图3所示。我们将在以下各节中详细介绍每个类别。

3 DATA

本节中的FSL方法使用先验知识来增强数据Dtrain,从而丰富了E中的受监管信息。 使用扩充样本集,数据足以获得可靠的hI(图4)。

通过手工制定的规则进行数据扩充通常在FSL方法中用作预处理。 他们可以为模型引入不同种类的不变性。例如,在图像上,可以使用平移[12、76、114、119],翻转[103、119],剪切[119],缩放[76、160],反射[34、72],裁剪[103, 160]和旋转[114,138]。但是,设计这些规则在很大程度上取决于领域知识,并且需要昂贵的人工成本。 此外,扩充规则可以特定于数据集,从而使其难以应用于其他数据集。 而且,人类不可能列举出所有可能的不变性。 因此,手动数据扩充不能完全解决FSL问题[12、34、72、76、114、119]。

除了这些手工制定的规则,我们还将在以下更高级的数据扩充方法中进行回顾。 根据要转换并添加到Dtrain的样本,我们将这些方法分类,如表3所示。

3.1 Transforming Samples from Dtrain

该策略通过将每个(xi,yi)∈Dtrain转换为多个具有变化的样本来增强Dtrain。 转换过程作为先验知识包含在经验E中,以便生成其他样本。 早期的FSL论文[90]通过将每个样本与其他样本反复对齐,从相似的类中学习了一组几何变换。 将学习到的变换应用于每个(xi,yi),以形成一个大数据集,然后可以通过标准机器学习方法来学习该数据集。 类似地,从[116]中的相似类中学习了一组自动编码器,每个自动编码器代表一个类内可变性。 通过将习得的变化量添加到xi来生成新样本。 在[53]中,通过假设所有类别在样本之间共享一些可变换的可变性,可以学习单个变换函数,以将从其他类别学习到的样本对之间的差异传递给(xi,yi)。 在[74]中,不是枚举成对的变量,而是使用从大量场景图像中获悉的一组独立的属性强度回归将每个xi转换为几个样本,并将原始xi的标签分配给这些新样本。 在[74]的基础上进行了改进,在[82]中,连续属性子空间用于向x添加属性变化。

3.2 Transforming Samples from a Weakly Labeled or Unlabeled Data Set

此策略通过从标记弱或未标记的大数据集中选择带有目标标记的样本来增强Dtrain。 例如,在用监控摄像头拍摄的照片中,有人,汽车和道路,但没有一个被标记。 另一个示例是一段较长的演示视频。 它包含说话者的一系列手势,但是没有一个被明确注释。 由于此类数据集包含样本的较大变化,因此将其增加到Dtrain有助于描绘更清晰的p(x,y)。 而且,由于不需要人工来标记,因此收集这样的数据集更加容易。 但是,尽管收集成本很低,但主要问题是如何选择带有目标标签的样本以增加到Dtrain。 在[102]中,为Dtrain中的每个目标标签学习了一个示例SVM,然后将其用于从弱标签数据集中预测样本的标签。 然后将具有目标标签的样品添加到Dtrain中。 在[32]中,标签传播直接用于标记未标记的数据集,而不是学习分类器。 在[148]中,采用渐进策略选择信息丰富的未标记样品。 然后为选定的样本分配伪标签,并用于更新CNN。

3.3 Transforming Samples from Similar Data Sets

该策略通过汇总和改编来自相似但较大数据集的输入输出对来增强Dtrain。 聚集权重通常基于样本之间的某种相似性度量。 在[133]中,它从辅助文本语料库中提取聚合权重[133]。 由于这些样本可能不是来自目标FSL类,因此直接将汇总样本增加到Dtrain可能会产生误导。 因此,生成对抗网络(GAN)[46]被设计为从许多样本的数据集中生成不可区分的合成x〜[42]。 它有两个生成器,一个生成器将少样本的样本映射到大规模类,另一个生成器将大样本类的样本映射到少数类(以弥补GAN训练中样本的不足)

3.4 Discussion and Summary

使用哪种增强策略的选择取决于应用程序。 有时,对于目标任务(或类)存在大量弱监督或未标记的样本,但由于收集注释数据和/或计算成本高昂(这对应于引入的第三种情况),因此优选少量学习在第2.1节中)。 在这种情况下,可以通过转换标记较弱或未标记的数据集中的样本来执行增强。 当难以收集大规模的未标记数据集,但是少量类具有某些相似类时,可以从这些相似类中转换样本。 如果只有一些学习的转换器而不是原始样本可用,则可以通过转换Dtrain中的原始样本来进行扩充。

通常,通过增加Dtrain解决FSL问题非常简单明了。通过利用目标任务的先验信息来扩充数据。 另一方面,通过数据扩充来解决FSL问题的缺点在于,扩充策略通常是针对每个数据集量身定制的,并且不能轻易地用于其他数据集(尤其是来自其他数据集的数据集或域)。 最近,提出了自动学习用于深度网络训练的增强策略的AutoAugment [27]来解决这个问题。 除此之外,现有的方法主要是针对图像设计的,因为生成的图像可以很容易地被人在视觉上评估。 相反,文本和音频涉及语法和结构,并且较难生成。 在[144]中报告了最近对文本使用数据增强的尝试。

4 MODEL

为了近似地面真假说ˆh,模型必须确定包含一系列假想h’s的假想空间H,以使最优h ∗∈H和ˆh之间的距离很小。

给定少数样本的Dtrain,仅使用简单模型(例如线性分类器)就可以选择较小的H [92,94]。 但是,现实世界中的问题通常很复杂,并且不能由小H的假设h很好地表示(这可能导致(1)中的Eapp(H)大)[45]。 因此,在FSL中最好使用足够大的H,这使得标准的机器学习模型不可行。 通过E中的先验知识,本节中的FSL方法设法通过将H约束到较小的假设空间H来学习(图2(b))。这样,经验风险最小化器将更加可靠,并降低过度拟合的风险。

根据使用的先验知识,可以将属于该类别的方法进一步分为四种类型(表4)

4.1 Multitask Learning

在存在多个相关任务的情况下,多任务学习[23,161]通过利用任务通用信息和特定于任务的信息同时学习这些任务。 因此,它们自然可以用于FSL。 在这里,我们介绍了在FSL中使用多任务学习的一些实例。

我们获得了与C有关的任务T1,…TC,其中一些样本数量很少,而另一些样本数量较多。 每个任务Tc都有一个数据集Dc = {Dc train,Dc test},其中Dc train是训练集,而Dc test是测试集。 在这些C任务中,我们将少量任务视为目标任务,将其余任务视为源任务。 多任务学习是从Dc train中学习的,以获得每个Tc的θc。 当这些任务被共同学习时,为任务Tc学习的hc的参数θc受到其他任务的约束。 根据任务参数的约束方式,我们将该策略中的方法划分为(i)参数共享; (ii)参数绑定[45]。

4.1.1 Parameter Sharing

该策略直接在任务之间共享一些参数(图5)。 在[160]中,两个任务网络共享通用信息的前几层,并学习不同的最终层以处理不同的输出。 在[61]中,法律文本上的两个自然语言处理任务被一起解决:收费预测和法律属性预测。单个嵌入功能用于对犯罪案件描述进行编码,然后将其馈送到特定于任务的嵌入功能和分类器。 在[95]中,首先从源任务中训练变型自动编码器,然后将其克隆到目标任务。 为了捕获通用信息,两个变体自动编码器中的某些层是共享的,同时允许两个任务都具有一些特定于任务的层。 目标任务只能更新其特定于任务的层,而源任务可以同时更新共享和特定于任务的层。在[12]原样本和生成样本首先映射到一个具体任务空间,通过学习各自的原任务和目标任务的嵌入函数,然后由共享的可变自动编码器嵌入。

4.1.2 Parameter Tying

这种策略鼓励不同任务的参数(θc)相似(图6)[45]。 一种流行的方法是对θc进行正则化。 在[151]中,θc的所有成对差异都受到了惩罚。 在[85]中,有一个CNN用于源任务,另一个用于目标任务。 这两个CNN的层使用一些特殊设计的正则化术语对齐。

4.2 Embedding Learning

嵌入学习[63,122]将每个样本xi∈X⊆Rd嵌入到低维zi∈Z⊆Rm这样相似的样本就可以紧密靠近,而不同的样本就可以更容易地区分。 然后,在这个较低维度的Z中,可以构造一个较小的假设空间H〜,随后需要较少的训练样本。 嵌入功能主要是从先验知识中学到的,并且可以额外使用Dtrain的任务特定信息。

嵌入学习具有以下关键组成部分:(i)将测试样本xtest∈Dtest嵌入Z的函数f,(ii)将训练样本xi∈Dtrain嵌入Z的函数д,以及(iii)相似性函数s(· ,·),它测量Z中f(xtest)和д(xi)之间的相似性。根据s,将测试样本xtest分配到xi类,其嵌入д(xi)与Z中的f(xtest)最相似。尽管可以为xi和xtest使用通用的嵌入函数,但是使用两个单独的嵌入函数可以获得更好的准确性[14,138]。 表5总结了现有的嵌入学习方法。

根据嵌入函数f和д的参数是否随任务而变化,我们将这些FSL方法归类为(i)特定于任务的嵌入模型; (ii)不变任务(即一般)嵌入模型; (iii)混合嵌入模型,可同时编码特定于任务的信息和不变于任务的信息。

4.2.1 Task-Specific Embedding Model

特定于任务的嵌入方法通过仅使用来自该任务的信息来学习针对每个任务量身定制的嵌入功能。 例如,使用任务Tc的快照数据Dc列,将Dc列中样本之间的所有成对排名枚举为样本对[130]。 因此,训练样本的数量增加,并且即使仅使用特定于任务的信息也可以学习嵌入函数。

4.2.2 Task-Invariant Embedding Model

任务不变的嵌入方法从包含足够样本且具有各种输出的大规模数据集中学习通用嵌入函数,然后无需重新训练就将其直接用于新的少样本Dtrain(图7)。 第一个FSL嵌入模型[36]使用内核嵌入样本。 最近,卷积siamese网络[20]学会了更复杂的嵌入[70,150]。

尽管任务不变式嵌入不会使用少样本Dtrain来更新嵌入模型参数,但该类别中的许多方法[121、126、138]在训练嵌入模型时都模拟了少样本场景。 假设我们有训练集{Dc},每个训练集都有N个class。在每个Dc中,仅从N个类别中的U个样本进行训练。 通过最大化其余N -U类的性能来优化嵌入模型。 因此,学习的模型将对少量任务具有良好的概括性。 早期尝试[127]从{Dc}学习线性嵌入。 最近,通过meta-learning2方法学习了更复杂的任务不变嵌入模型:

  • 匹配网络[138]及其变体[4、8、24]:匹配网络[138]元学习训练样本xi和测试样本xtest的不同嵌入函数(f和д)。残余LSTM(resLSTM)[4]为f和д提出了更好的设计。 Matching Nets的一种主动学习变体[8]添加了一个样本选择步骤,该步骤标记了最有益的未标记样本,并使用它来增强Dtrain。 Matching Nets也扩展到了Set-to-Set匹配[24],这在标记样品的多个部分时很有用。
  • 原型网络(ProtoNet)[121]及其变体[100,108,141]:ProtoNet [121]仅将f(xtest)与该类进行比较,而不是将f(xtest)与每个xi∈Dtrain的д(xi)进行比较。 Dtrain中的原型。 对于n类,其原型只是n类的cn = 1K。 根据经验,这将导致更稳定的结果并降低计算成本。使用原型的想法被引入了Matching Nets。 ProtoNet的半监督变体在学习过程中通过软分配来分配未标记的样本以增强Dtrain [108]。
  • 其他方法。 例子包括Attentive Recurrent比较器(ARC)[119],它使用LSTM引起关注[9],将xtest的不同区域与原型cn进行比较,然后将比较结果作为中间嵌入进行嵌入。 此外,它使用双向LSTM(biLSTM)嵌入所有比较作为最终嵌入。 关系网[126]使用CNN将xtest和xi嵌入Z,然后将它们串联在一起作为嵌入,然后将其馈送到另一个CNN以输出相似度得分。 图神经网络(GNN)为[84,115]中所使用的方法来利用来自本地社区的信息。 在少样本的强化学习应用程序中(如在连续控制和视觉导航中),时间信息很重要。 简单神经注意力学习者(SNAIL)[91]是一个具有交错的时间卷积层和注意力层的嵌入网络。 时间卷积层聚合来自过去时间步长的信息,而注意层选择性地关注与当前输入相关的特定时间步长。

4.2.3 Hybrid Embedding Model

尽管可以将任务不变的嵌入方法以较低的计算成本应用于新任务,但是它们没有利用当前任务的特定知识。 当任务专长是Dtrain仅提供一些示例的原因(例如,学习稀有案例)时,仅应用任务不变的嵌入功能可能不适合。 为了缓解这个问题,混合嵌入模型通过Dtrain中的特定于任务的信息来适应从先验知识中学到的通用任务不变式嵌入模型。这是通过学习将Dtrain提取的信息作为输入并返回一个嵌入函数的函数来完成的 f(·)的参数(图8)。

Learnet [14]通过合并Dtrain的特定信息来改进任务不变卷积暹罗网络[70]。 它从多个元训练集中学习一个元学习器,并将每个训练示例xi∈Dtrain映射到学习者的参数(卷积暹罗网络)。 这样,f(·)的参数随给定的xi改变,从而导致混合嵌入。 在Learnet上进行了改进,在[13]中,将学习者的分类层替换为ridge回归,从而可以有效地以封闭形式获取参数。 以下两项工作[100,162]将Dtrain作为一个整体来输出f(·)的任务特定参数。 任务相关的自适应量度(TADAM)[100]将类原型平均化到任务嵌入中,并使用元学习函数将其映射到ProtoNet参数。 动态条件卷积网络(DCCN)[162]使用一组固定的滤波器,并使用Dtrain学习组合系数。

4.3 Learning with External Memory

使用外部存储器学习[49、89、124、145]从Dtrain中提取知识,并将其存储在外部存储器中(图9)。 然后,每个新样本xtest由从内存中提取的内容的加权平均值表示。 这限制了xtest由内存中的内容表示,因此实质上减小了H的大小。

FSL中通常使用键值存储器[89]。 令内存为M∈Rb×m,其b个内存插槽M(i)∈Rm中的每一个都由键值对M(i)=(Mkey(i),Mvalue(i))组成。 首先通过嵌入函数f嵌入测试样本xtest。 但是,与嵌入方法不同,f(xtest)不能直接用作xtest的表示。相反,它仅用于查询基于f(xtest)与每个密钥Mkey(i)之间的相似度s(f(xtest),Mkey(i)),确定最相似的内存插槽。 提取最相似的内存插槽(Mvalue(i))的值并将其合并以形成xtest的表示形式。 然后将其用作简单分类器(例如softmax函数)的输入以进行预测。 由于操纵M的成本很高,因此M通常尺寸较小。 当M未满时,可以将新样本写入空闲的存储插槽。 当M已满时,必须决定要更换的内存插槽。 表6介绍了带有外部存储器的方法的特性.

由于每个xtest表示为从内存中提取的值的加权平均值,因此内存中键值对的质量非常重要。 根据存储器的功能,该类别中的FSL方法可分为两种类型。

4.3.1 Refining Representations

下列方法将Dtrain小心地放入内存,以便存储的键值对可以更准确地表示xtest。 记忆增强神经网络(MANN)[114]元学习嵌入f,并将相同类别的样本映射到相同值。 然后,同一类的样本将一起在内存中优化其类表示。 在ProtoNet [121]中,可以将此类表示形式视为精致的类原型。基于惊奇的存储模块[104]仅在其不能很好地表示xi时更新M。 因此,使用该xi更新M使M更具表现力,并且还降低了计算成本。 抽象存储器[149]使用两个存储器。 一种从包含大型机器注释数据集的固定存储器中提取相关的键值对,另一种则对提取的值进行精炼并提取出最有用的信息,以进行少量拍摄(图像)分类。 这个想法在[164]中扩展到了少样本视频分类。

沿着这条思路,一些方法特别注意保护内存中的少量类。 请注意,少量类很小,因此保留在M中的机会较小。M中的每个少样本样本也可以很容易地用更丰富类中的样本替换。 为了减轻这个问题,提出了终生记忆[65]。 与以前的存储器[104、114、149、164]会擦除任务中的存储器内容不同,终生存储器会在存储器已满时擦除“最旧”的存储器值,然后将所有存储器插槽的使用期限重置为零。 对于一个新样本,当返回的Mvalue(i)值与其实际输出匹配时,它将与当前Mkey(i)合并,而不是写入新的内存插槽,因此,所有类都更有可能被占用相同数量的内存插槽,稀有类受到保护,近来,这种终身内存适用于学习[125]中的单词表示。

但是,即使使用了终身内存,仍然会忘记稀有样本 ,则终身内存会将所选M(i)的使用期限重置为零,并将其他非空内存插槽的使用期限增加一,当内存已满且返回值错误时,将替换最早的内存插槽 由于稀有类别的样本很少更新其M(i),因此它们具有很高被擦除的机会。

4.3.2 Refining Parameters

回想一下,Learnet [14]及其变体(第4.2.3节)从Dtrain映射信息以参数化新xtest的嵌入函数д(·),可以使用存储器来完善此参数。 元网络(MetaNet)[96]使用从多个数据集元学习的“慢”权重和作为Dtrain特定任务的嵌入的“快速”权重,对分类模型进行参数化。 如[97]所示,通过学习修改每个神经元而不是完整的参数,可以减少MetaNet的计算成本。 MN-Net [22]使用内存来优化在Matching Nets中学习的嵌入,如Learnet所示,其输出用于对CNN进行参数化。

4.4 Generative Modeling

生成建模方法借助先验知识(图10)从观测到的xi估计概率分布p(x)。 p(x)的估计通常涉及p(x | y)和p(y)的估计。 此类中的方法可以处理许多任务,例如生成[34、76、107、109],识别[34、35、47、76、113、129、159],重建[47]和图像翻转[107] ]。

在生成建模中,假定观察到的x是从由θ参数化的某个分布p(x;θ)得出的。 通常,存在一个潜在变量z〜p(z;γ),因此x〜∫p(x | z;θ)p(z;γ)dz。从其他数据集获悉的先验分布p(z;γ)带来了先验知识,即对于FSL至关重要。 通过将提供的训练集Dtrain与此p(z;γ)组合,可以约束所得的后验概率分布。 换句话说,H被约束为小得多的H。
根据潜在变量z表示的内容,我们将这些FSL生成建模方法分为三种类型。

4.4.1 Decomposable Components

尽管在FSL问题中缺少具有监督信息的样本,但它们可能与其他任务的样本共享一些较小的可分解组件。 例如,考虑仅使用提供的几张面部照片识别一个人。 尽管可能很难找到相似的面孔,但可以轻松找到眼睛,鼻子或嘴巴相似的照片。 使用大量样本,可以轻松了解这些可分解组件的模型。 然后,仅需要找到这些可分解组件的正确组合,并确定该组合属于哪个目标类。 由于可分解成分是人为选择的,因此这种策略更具解释性。 Bayesian One-Shot [35]使用生成模型来捕获可分解组件(即对象的形状和外观)与目标类别(即要识别的对象)之间的交互。 贝叶斯程序学习(BPL)[76]通过将字符分为类型,标记以及其他模板,部分和原语来对字符进行建模。 为了产生一个新角色,需要搜索一个包含这些成分的大组合空间。 在[76]中,仅通过考虑可能的最高组合就可以降低这种推理成本。 在自然语言处理中,最近的著作[64]建立了跨度而不是完整的解析树的模型,并通过训练跨度的各个分类器来适应语法上相距较远的域之间的解析器。

4.4.2 Groupwise Shared Prior

通常,相似的任务具有相似的先验概率,并且可以在FSL中使用。 例如,考虑“橘猫”,“豹”和“孟加拉虎”的三级分类,这三个物种相似,但孟加拉虎濒临灭绝,而橙猫和豹则丰富,因此,人们可以学习 先验概率来自“橙色猫”和“豹”,并以此作为先发几率的“孟加拉虎”类。

在[113]中,一组数据集{Dc}通过无监督学习被分组为一个层次结构。 每个组中的数据集一起学习类别先验概率。 对于新的少样本类,首先要找到该新类所属的组,然后根据从按组共享的先验概率中提取的先验类对它进行建模。 在[129]中,[113]中的特征学习步骤通过使用深度玻尔兹曼机[112]得到进一步改进。

4.4.3 Parameters ofInference Networks

为了找到最佳θ,必须使后验p(z | x;)最大化。

由于分母中的积分,所以难于求解。 从数据中获悉的变化分布q(z;δ)通常用于近似p(z | x;θ,γ)。 最近,这个q(z;δ)通过使用推理网络的摊销变分推理来近似[158]。 尽管z不再具有语义含义,但是这些深度模型学习到的强大表示形式可以带来更好的性能。 一旦学习,推理网络就可以直接应用于新任务,这将更加高效并且需要更少的人类知识。 由于推理网络具有大量参数,因此通常使用一些辅助大规模数据集对其进行训练。 许多经典的推理网络都适用于FSL问题。 例如可变得自编码器(VAE)[68]用于[34,57,109],自回归模型[135]用于[107],生成对抗网络(GAN)[46]用于[159],以及VAE的组合 GAN在[47]中提出。

4.5 Discussion and Summary

当存在相似的任务或辅助任务时,可以使用多任务学习来约束少样本任务的H。 但是,请注意,需要共同训练所有任务。 因此,当一个新的少样本任务到达时,整个多任务模型必须再次训练,这可能既昂贵又缓慢。 此外,D和Dc的大小不应具有可比性,否则,多样本的任务可能会被具有许多样本的任务淹没。

当存在包含足够各种类别样本的大规模数据集时,可以使用嵌入学习方法。 这些方法将样本映射到良好的嵌入空间,在其中可以很好地分离来自不同类别的样本,因此需要较小的H〜。 但是,当少样本任务与其他任务没有密切关系时,它们可能无法很好地工作。 此外,对如何混合任务的不变和特定于任务的信息的更多探索是有帮助的。

当有可用的内存网络时,可以通过在内存顶部训练简单模型(例如,分类器)将其轻松用于FSL。 通过使用精心设计的更新规则,可以有选择地保护内存插槽。 该策略的弱点在于,它会导致额外的空间和计算成本,随着内存大小的增加而增加。 因此,当前的外部存储器具有有限的大小。

最后,当除了FSL之外还想要执行诸如生成和重构之类的任务时,可以使用生成模型。 他们从其他数据集中学习了先验概率p(z;γ),这将H减小为更小的H。 学习的生成模型也可以用于生成样本以进行数据扩充。 但是,生成建模方法具有较高的推理成本,比确定性模型更难于推导。

5 ALGORITHM

该算法是在假设空间H中搜索最佳假设h  [17,18]的参数θ的策略。 在第t次迭代中,θt=θt-1+ ∆θt-1,其中∆θt-1是更新。 例如,对于流行的随机梯度下降(SGD)及其变体[17,18],θ更新为:

其中αt是步长。 将θ初始化为θ0时,可以将θt写成:

当监督信息丰富时,有足够的训练样本来更新θ,并通过交叉验证找到合适的步长α。 但是,在FSL中,提供的Dtrain不够大,并且获得的经验风险最小化器不可靠。

本节中的方法使用先验知识来影响如何获得θ,方法是(i)提供良好的初始化参数θ0,或者(ii)直接学习优化器以输出搜索步骤。 根据搜索策略如何受先验知识影响,我们将本节中的方法分为三类(表7):

  • 完善现有参数。 从其他任务中学到的初始θ0,然后使用Dtrain进行优化。
  • 完善元学习参数。 初始θ0是从一组任务中元学习的,这些任务是从与少样本任务相同的任务分布中得出的,然后由学习者使用Dtrain进一步完善。
  • 学习优化器。 此策略将学习元学习器作为优化器,以直接为每个学习者输出搜索步骤,例如更改搜索方向或步骤大小。

5.1 Refining Existing Parameters

该策略以从相关任务中学习到的预训练模型的θ0作为良好的初始化,并通过Dtrain使它适应θ。 假设θ0捕获了大规模数据的一些一般结构。 因此,可以通过几次迭代将其适应于D。

5.1.1 Fine-Tuning Existing Parameter by Regularization

该策略通过正则化来微调少样本任务的预训练θ0(图11),并在实践中广泛使用。 在[21]中,使用大型数据集对在ImageNet上进行预训练的CNN进行图像调整,以进行前景分割,然后使用分割后的物体的one shot对物体进行进一步的微调。 给定很少的Dtrain,仅通过梯度下降来微调θ0可能会导致过度拟合。 因此,如何在不过度拟合Dtrain的情况下适应θ0是一个关键设计问题

在本节中,方法通过正则化微调θ0以防止过度拟合。 它们可以分为以下几类:

  1. 尽早停止。 它需要将验证集与Dtrain分开以监视训练过程。 当验证集的性能没有提高时,学习就会停止[6]。
  2. Selectively updating θ0。为了避免过度拟合,仅更新θ0的一部分。 例如,在[67]中,给定一组预训练的滤波器,它仅学习与该滤波器相乘的强度参数。
  3. 一起更新θ0的相关部分。 可以将θ0的元素(例如深层神经网络中的神经元)分组,并使用相同的更新信息共同更新每个组。 在[155]中,预训练的CNN的滤波器根据一些辅助信息聚类在一起,然后使用Dtrain通过逐组反向传播进行微调。
  4. Using a model regression network:一个模型回归网络[143]捕获与任务无关的转换,该转换将通过对几个示例进行训练而获得的参数值映射到将对大量样本进行训练而获得的参数值。 类似地,在[72]中,学习了将嵌入嵌入映射到分类决策边界的变换函数。

5.1.2 Aggregating a Set of Parameters

有时,我们没有合适的θ0开始。 相反,我们有许多模型是从相关任务中学到的。 例如,在面部识别中,我们可能已经具有针对眼睛,鼻子和耳朵的识别模型。 因此,人们可以将这些模型参数汇总为一个合适的模型,然后直接使用它或由Dtrain对其进行完善(图12)。

如第3节所述,可以使用来自未标记数据集(第3.2节)和类似标记数据集(第3.3节)的样本来增强速射Dtrain代替直接使用样本,以下方法使用从这些数据集中预先训练的模型(参数为θ0),然后的问题是如何使用Dtrain使它们有效地适应新任务

  1. 未标记的数据集。 尽管没有监督信息,但是可以将相似的样本分组在一起。 因此,可以从未标记的数据中预训练功能,以很好地聚类和分离样本。 然后,使用神经网络通过少量的Dtrain使其适应新任务[142,143]。
  2. 相似的数据集。 在[10]中,通过利用来自相似类的样本和分类器来进行少量物体分类。 首先,它用新类的特征替换了这些相似类的样本特征。 然后将学习的分类器重新使用,并且仅针对新类调整分类阈值。 在[44,157]中,他们学习使用Dtrain结合从相似数据集中学习的现有参数。

5.1.3 Fine-Tuning Existing Parameter with New Parameters

预训练的θ0可能不足以完全编码新的FSL任务。 因此,使用一个附加参数δ来考虑Dtrain的特殊性(图13)。 具体而言,该策略将模型参数扩展为θ= {θ0,δ},并在学习δ的同时微调θ0。 在[60]中,它使用预训练的CNN的较低层进行特征嵌入,并使用Dtrain学习嵌入特征上的线性分类器。 在字体样式转换[7]中,首先对网络进行预训练,以捕获灰色图像中的字体。 为了生成时尚的彩色字体,需要对它进行微调并与其他网络进行训练。

5.2 Refining Meta-Learned Parameter

本节中的方法使用元学习来细化元学习参数θ0(图14)。 元学习器根据学习者的表现不断优化θ0。 这与第5.1节中的θ0固定不同。

通常将元学习的θ0通过梯度下降进行精化。 代表性的方法是模型无关元学习(MAML)[37]。 它元学习θ0,然后通过一些有效的梯度下降步骤将其调整为一些Ts〜P(T)以获得良好的任务特定参数ϕs,例如:ϕs =θ0-α∇θ0Ls train(θ0)。 在此,Ls train(θ0)是Dtrain中训练样本的损耗之和,而α是步长。 请注意,s对样本的排列是不变的。 元学习参数θ0由多个元训练任务的反馈更新为θ0←θ0-β∇θ0Ts〜P(T)Ls test(θ0),其中Ls test(θ0)是测试损失总和 Dtest中的样本,β是另一个步长。 通过使用Dtrain中的几次采样不断地完善θ0,元学习器提高了θ0以快速适应几次快照训练集。

最近,针对MAML提出了许多改进,主要是在以下三个方面:

  1. 合并特定于任务的信息。 MAML为所有任务提供相同的初始化。 但是,这忽略了特定于任务的信息,并且仅在任务集都非常相似时才适用。 为了解决这个问题,在[79]中,它学习从一个好的初始化参数的子集中为新任务选择{θ0}。
  2. 对使用元学习的θ0的不确定性进行建模。 学习一些例子不可避免地会导致模型具有更高的不确定性[39]。 因此,学习到的模型可能无法以高置信度对新任务执行预测。 测量这种不确定性的能力为主动学习和进一步的数据收集提供了提示[39]。 有一些工作考虑了元学习的θ0[39,156]的不确定性,特定任务的ϕs [48,105]的不确定性以及n类的特定类参数ϕs,n [111]的不确定性。
  3. 完善refine程序。 通过几个梯度下降步骤进行细化可能不可靠。 正则化可用于校正下降方向。 在[50]中,模型回归网络[143]用于将任务Ts的regulars正则化,使其更接近于使用大规模样本训练的模型。

5.3 Learning the Optimizer

在第5.2节中,元学习器θ0可以很好地初始化数据D的T〜P(T),并通过一些有效的梯度下降步骤将其调整为特定于任务的参数。 相反,本节中的方法不是使用梯度下降,而是学习一种可以直接输出更新的优化器((4)中的i = 1 ∆θi-1)(图15)。 这样就无需调整步长α或找到搜索方向,因为学习算法会自动执行此操作。

在第t次迭代中,这些工作[5,106]学习一个元学习器,该元学习器采用在第(t − 1)次迭代中计算出的误差信号,并直接输出update ∆ϕt-1来更新特定于任务的参数ϕt 学习者的-1为ϕt = ϕt-1 + ∆ϕt-1。 因此,与第5.1节和第5.2节中提到的策略相反,该策略为新任务提供了优化器(由学习者对其进行了优化)。 然后,使用第t个样本(xt,yt)∈Dtrain,将此ϕt用于计算损耗ℓt(ϕt)=ℓ(h(xt; ϕt),yt),它充当要馈入下一次迭代的学习元数据的误差信号。 学习任务后,通过对测试集Dtest的损失进行梯度下降来改进元学习器。 通过从P(T)得出的一组Ts中学习,元学习器改进了为FSL提出高效算法的建议。 最近,[106]通过用LSTM中的单元状态更新实例化(3)(其中ϕ设置为LSTM的单元状态)来获得。

5.4 Discussion and Summary

细化现有参数可以减少H的搜索工作。通过使用现有的θ0作为初始化,这些方法通常需要较低的计算成本才能获得良好的假设h∈H。学习着重于细化这些现有参数。 但是,由于从与当前任务不同的任务获知θ0,因此该策略可能会牺牲速度的精度

另外两种策略依赖于元学习。 通过从一组相关任务中学习,元学习的θ0可以更接近于新任务Tt的任务特定参数ϕt。 元学习者学习搜索步骤可以直接指导学习算法。 换句话说,元学习器充当优化器。 然而,诸如如何跨不同粒度进行元学习(例如动物的粗粒度分类与狗物种的细粒度分类)或不同的数据源(例如图像与文本)[131]等重要问题仍然存在。 从这个角度来看,元学习和多任务是相似的,因此也存在着如何避免负迁移的担忧[28]

6 FUTUREWORKS

在本节中,我们讨论了进一步发展FSL的四个关键方向,即(i)问题设置,(ii)技术,(iii)应用程序和(iv)理论。

6.1 Problem Setups

现有的FSL方法通常使用一种模态(例如图像,文本或视频)中的先验知识。 但是,尽管Dtrain有一些当前使用的模态示例,但是可能存在另一种模式,其中受监督的样本很多。 灭绝动物的研究就是一个例子。 尽管这种动物可能只有有限的视觉示例,但在文本领域(例如教科书或网页)中可能有很多关于它的信息,因为人们倾向于特别注意这种稀有动物。 因此,来自多个模态的先验知识可以为补充视图提供先验知识。 在零镜头学习(ZSL)中,经常使用多模态数据。 示例先验信息是属性[2、62],WordNet [2、62],词嵌入[133、139],同时出现统计信息[88]和知识图[140]。

最近,人们一直在努力从ZSL方法到FSL问题借用技术。例如,一个人可以使用few shot的Dtrain来微调通过ZSL方法学习的参数[2,62]。 但是,使用少量样本进行微调可能会导致过度拟合。 另一种可能性是迫使通过多种模态学习的嵌入在共享空间中进行匹配[133,139]。 最近的工作[110]利用标签之间的结构化关系,并利用GNN来对齐FSL的嵌入。 由于不同的模式可能包含不同的结构,因此应谨慎处理。 例如,文本需要服从句法结构,而图像则不需要。 将来,一个有希望的方向是在设计FSL方法时考虑使用多模式信息

6.2 Techniques

在前面的部分中,根据如何使用FSL中的先验知识,我们从数据(第3节),模型(第4节)和算法(第5节)的角度对FSL方法进行了分类。 这些组件中的每一个都可以改进。 例如,使用最新的ResNet [55]作为嵌入功能可能比使用VGG [123]更好。

如第4和第5节所述,基于元学习的FSL方法特别有趣。通过跨任务学习,元学习可以以很小的推理成本快速适应新任务。但是,通常认为在元学习中考虑的任务是从单个任务分布p(T)中提取的。 在实践中,我们可以拥有大量任务相关性未知或确定成本高的任务。 在这种情况下,直接从所有这些任务中学习可能会导致负迁移[28]。 此外,当前的FSL方法通常考虑静态和固定的P(T)[37,106]。 然而,在流应用中,p(T)是动态的[38],并且新任务不断出现。 因此,这也应纳入p(T)。 一个重要的问题是如何在动态环境中避免灾难性的遗忘[69],这意味着不应忘记有关旧任务的信息。

如前几节所述,不同的FSL方法各有利弊,在所有情况下都没有绝对的赢家。 此外,假设空间H和H中的搜索策略通常都依赖于人类设计。 自动化机器学习(AutoML)[153]通过构造任务感知机器学习模型,已经在许多应用程序上达到了最新水平。 最近,AutoML已用于数据增强[27]。 另一个方向是将自动特征工程[66],模型选择[71]和神经体系结构搜索[166]的AutoML方法扩展到FSL。 然后,人们可以获得更好的算法设计,AutoML以经济,高效和有效的方式学习其组成。

6.3 Applications

回想一下,由于样本稀少,努力减少数据收集工作量和计算成本,或者作为模仿类人学习的垫脚石,因此需要FSL。 因此,许多实际应用程序都涉及FSL。 计算机视觉是FSL算法的最早测试平台之一。 FSL在许多其他应用程序中也引起了很多近期关注,例如机器人技术,自然语言处理和声音信号处理。 总之,FSL有许多有趣的领域和应用程序可供探索。

6.3.1 Computer Vision

现有的大多数作品都针对计算机视觉中的FSL问题。 最受欢迎的两个应用是字符识别[14、36、37、65、70、96、113、114、119、121、130、138、146]和图像分类[37、70、96、106、119、121 ,127、130、132、138、142、143、149]。 在标准基准数据集(例如Ominiglot和miniImageNet)上已经获得了很高的准确性,几乎没有进一步改进的空间[131]。 最近,在[131]中提出了一个由多个图像数据源构成的庞大而多样化的基准数据集。 除了字符识别和图像分类外,还考虑了其​​他图像应用程序。 这些包括对象识别[35、36、82],字体样式转移[7],短语基础[162],图像检索[130],对象跟踪[14],图像中的特定对象计数[162],场景位置识别[ 74],手势识别[102],零件标签[24],图像生成[34、76、107、109],跨域的图像平移[12],3D对象的形状视图重构[47]以及图像字幕和可视化 问题回答[31]。 FSL还已经成功地用于视频应用中,包括运动预测[50],视频分类[164],动作定位[152],人员重新识别[148],事件检测[151]和对象分割[21]。

还有其他任务,因为我主要关注计算机视觉,因此就不举例了。

6.4 Theories

FSL使用先验知识来弥补缺少监督信息的情况。这与样本复杂度的理论研究有关,样本复杂度是获得具有较高概率的小经验风险RI(h)的模型所需的训练样本数[92,94]。 H不必那么复杂,以使所提供的I样本足够。 回想一下,FSL方法使用先验知识来增加更多样本(即增加I),约束H(即降低H的复杂度)并更改搜索策略(即增加找到良好h的可能性)。这表明FSL方法可以使用先验知识来降低所需的样本复杂度。 在这方面进行详细分析将很有用。

此外,回想一下FSL与领域适应有关[85,95,102],关于领域适应的现有理论界限可能会启发人[11,16]。 例如,最近的分析表明,通过微调前馈神经网络可以获得更好的风险范围[87]。 通过考虑一种特定的元学习方法,在[29]中研究了将一个任务训练的模型转移到另一任务的风险。 但是,到目前为止,仅研究了少数方法。 仍然有许多理论问题需要探索。

最后,对FSL算法的收敛性还没有完全了解。 特别地,元学习方法在任务分配而不是单个任务上优化θ。 [40]中的最新分析为一种元学习方法的融合提供了充分的条件。元学习者学习深度网络的较低层,而学习者则学习最后一层,全部使用梯度下降。 对元学习方法的融合进行更一般的分析将非常有用。

7 CONCLUSION

少量学习(FSL)旨在弥合AI与人类学习之间的鸿沟。 通过合并现有知识,它可以学习仅包含几个带有监督信息的示例的新任务。FSL充当AI的测试平台,使学习罕见情况成为可能,或有助于减轻在工业应用中收集大型监督日期的负担。 在本次调查中,我们对FSL进行了全面而系统的审查。 我们首先正式定义FSL,并讨论FSL与相关学习问题的相关性和差异,例如弱监督学习,不平衡学习,迁移学习和元学习。 然后,我们指出FSL的核心问题是使FSL难以学习的不可靠的经验风险最小化工具。 了解核心问题有助于根据使用先验知识解决问题的方式将不同的作品分类为数据,模型和算法:数据增加了FSL的监督经验,模型将FSL的假设空间缩小了,算法改变了搜索 给定假设空间中最佳假设的策略。 在每个类别中,都将详细讨论其优缺点,并提供一些总结和见解。 为了激发FSL的未来研究,我们还提供了有关问题设置,技术,应用程序和理论探索的可能方向。

 

最后修改日期:2020年4月4日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。