【综述专栏】元学习综述
翻译自: 《Meta-Learning in Neural Networks: A Survey》
https://arxiv.org/pdf/2004.05439.pdf
其他安利资源:
1. awesome-meta-learning
https://github.com/dragen1860/awesome-meta-learning
2. Meta-Learning元学习聚焦在任务上的一些工作
https://www.bilibili.com/video/BV11E411G7V9
3. 李宏毅 meta learning课程、斯坦福CS 330 Deep Multi-Task and Meta Learning
https://cs330.stanford.edu/
元学习/learning-to-learn旨在根据多次学习事件的经验来改善学习算法本身,它有助于解决深度学习中数据、计算瓶颈以及泛化相关的基本问题。
相关领域:迁移学习,多任务学习和超参数优化……
有希望的应用和成功案例:few-shot learning,强化学习和架构搜索。
01
引言
元学习有望将神经网络中各种选择的tradeoff、组合设计自动化,我觉得它有望成为提升DL整体效能的很大推手,有望通过提供更好的数据效率,利用先验知识迁移并实现无监督和自我指导的学习。
什么是元学习?
见仁见智,很难定义。有论文将元学习视为一种管理“免费午餐”定理的工具,并通过搜索最适合给定问题或family的算法(归纳偏差)来提高泛化能力[29]。但是,从广义上讲,元学习的定义可包括迁移,多任务,特征选择和模型集成学习。还有人认为元学习广泛涵盖了基于数据集特征的算法选择和配置技术,并且很难与自动机器学习(AutoML)区别开来。本文则专注于当代神经网络元学习。我们将元学习表示为按照[29]的算法或归纳偏差搜索,但重点是通过端到端学习明确定义的目标函数(如交叉熵损失,准确性或速度)来实现此目标。
02
背景
2.1 Formalizing Meta-Learning
常规机器学习
L是策略真标签和由f_θ预测的估计值的匹配度的损失函数。ω表示“条件”,它体现了求解方案对一些因素如针对θ的优化器选择或针对f的函数类的选择的依赖性。我们通过评估带有已知标签的多个测试点来度量泛化。
常规假设是针对每个问题D从头开始执行优化且ω是预先规定的。但是,w,作为“如何学习”θ的规范,会极大影响泛化性,数据效率,计算成本等。元学习通过learning the learning algorithm itself来解决性能提升问题,而不是假设w是预先指定和固定的。
元学习:任务-分布(Task-Distribution)视角
元学习旨在通过学习“如何学习”来提高绩效。特别地,我们通常希望学习通用学习算法以在各个任务间进行泛化,并且理想地使每个新任务的学习效果都比上一个更好。因此,ω可以表示“学习方法”,它通常根据任务分布p(T)的绩效进行评估。
将任务定义为数据集和损失函数T = {D,L}, 因此学习如何学习的过程变成
其中L(D;ω)衡量在数据集D上使用ω训练的模型的性能。我们称The knowledge ω of ‘how to learn’ 为跨任务知识或元知识。
为在实践中解决该问题,我们通常假定访问从p(T)采样的一组源任务,并通过这些源任务学习ω。形式上,我们将元训练阶段中使用的M个源任务表示为
其中每个任务都有训练和验证数据。通常,源训练和验证数据集分别被称为支持集和查询集。将元知识表示为ω,则“学习方法”的元训练步骤为:
现在,我们将在元测试阶段使用的Q个目标任务表示为
其中每个任务都有训练和测试数据。在元测试阶段,我们使用学习到的元知识在每个先前看不见的目标任务i上训练基本模型:
与式1中的常规学习不同,现在对目标任务i的训练集的学习得益于元知识ω。w可采取初始参数的估计形式,也可以更广泛地编码其他对象,如整个学习模型[40]或优化策略[41]。最后,我们可通过每个目标任务
的测试拆分上的
的性能来评估元学习器的准确性。
这种设置可以和传统的欠拟合和过拟合进行类比:元欠拟合和元过拟合。其中的元过拟合表示在源任务上学习的元知识不会推广到目标任务。这是相对常见的,尤其在只有少量源任务可用的情况下。用元学习作为归纳偏置学习,元过拟合对应于学习归纳偏置ω的时候,该偏见将θ的假设空间过于严格地限制在源任务的解周围。
元学习:双层优化(Bilevel Optimization)视角
前面的讨论概述了多任务场景中元学习的常见流程,但没有指定如何解决式3中的元训练步骤。这通常是通过将元训练步骤转换为双层优化问题来完成的。虽说这个视角仅适用于基于优化器的方法(参阅第3.1节),但它有助于更全面地看待元学习的机制。
双层优化[42]指的是分层优化问题,其中一个优化包含另一种优化以作为约束[25],[43]。使用双层优化表示法,我们将元训练如下形式化:
其中L_meta和L_task分别指外层目标和内层目标,例如在进行few-shot分类情况下的交叉熵(??)。bilevel paradigm的一个关键特性是内层和内层间leader-follower的不对称性:式6的内层优化的条件是由外层定义的学习策略ω,在训练过程中它不能改变ω。
(这里的ω可能表示非凸优化[19]的初始条件,如表示正则化强度的超参数[25]甚至是损失函数的参数化以优化L_task[44]。 第4.1节详细讨论了ω的选择空间。)
外层优化训练学习策略ω,从而生成训练后在其验证集上表现良好的模型
。 第4.2节详细讨论了如何优化ω。
注意,虽然L_meta可以测量简单的验证性能,但我们将看到它也可以衡量更细微的quantities,例如学习速度和模型鲁棒性,如第4.3节所述。
最后,我们注意到上述元训练的formulation使用了任务分布的概念,并使用了来自分布的M个样本。尽管它功能强大且在元学习文献中得到了广泛使用,但这并不是元学习的必要条件。更正式地讲,如果给定单个训练和测试数据集,则我们可以拆分训练集以获取验证数据,使得
用于元训练,对于元测试,我们可以使用
。我们仍在多个episodes中学习ω,且可以考虑M = Q = 1,尽管在元训练期间通常会使用不同的train-val分裂。
元学习:前馈模型视角
我们将看到,有许多元学习方法以前馈方式合成模型,而不是像公式5-6中那样通过显式的迭代优化来合成模型。虽然它们的复杂程度各不相同,但通过实例化式2中的抽象目标来定义元训练线性回归[45]的玩具实例,对理解这个方法族是有启发的。
上式通过优化distribution of tasks进行元训练。对于每个任务,我们都制定训练和验证(又名查询和支持)集。训练集Dtr嵌入向量g_ω中,该向量定义线性回归权重以预测从测试集中得出的示例x。
通过优化函数gω以实例化将训练集映射到权重向量的学习算法,可以优化上述目标,从而“学习如何学习”。因此,如果从p(T)得出新的元测试任务 ,我们也可以期望g_ω提供一个好的解决方案。这一系列的不同方法在所提出的预测模型的复杂性(它们实例化的参数g)以及支持集的嵌入方式(例如,通过简单的pooling, CNN or RNN)方面有所差异。
2.2 元学习的历史背景
元学习于1987年首次出现在J. Schmidhuber和G. Hinton [17],[46]的两份独立的著作中。Schmidhuber[17]使用自参照学习为一个新的可以学习如何学习的方法族建立了理论框架。自参照学习包括训练神经网络,这些神经网络可以接收自己的权重作为输入,并预测所述权重的更新。Schmidhuber进一步提出,模型本身可以使用进化算法进行学习。
Hinton等人[46]提出的每个神经网络连接都使用两种权重:第一类权重是标准的慢速权重,它在优化器更新过程中缓慢地获取知识(称为慢速知识),而第二类权重(快速权重)在推理过程中快速获取知识(称为快速知识)。快速权重的职责是能够去掉或恢复过去学到的慢速权重,否则这些知识会由于优化器更新而被遗忘。这篇论文引入了一些基本概念,这些概念在后来分支出来,产生了当代的元学习。
在引入元学习之后,此思想在多个不同领域的使用量迅速增加。Bengio等人[47]、[48]提出了试图元学习生物上可信的学习规则的系统。Schmidhuber等人在随后的工作中继续探索自参照系统和元学习[49],[50]。S.Thrun等人在[8]中创造了learning to learn术语以作为元学习的替代,并继续探索和剖析元学习中的现有文献,以寻找元学习的一般定义。[51],[52]在2001年首次提出了使用梯度下降和反向传播训练元学习系统的建议。随后不久,对元学习文献的综述出现[29]。在Schweighofer等人的工作中,元学习首次被用于强化学习[53],之后Larochelle等人[54]首次将元学习用于few-shot学习。最后在2012年Thrun等人[8]在现代DNN时代重新引入了metalearning,这标志着本综述所讨论的现代元学习类型的开始。
元学习还与用于分组数据的统计中的分层和多级模型的方法密切相关。分层模型中,使用组内模型对分组的数据元素进行建模,使用组间模型对每个组间的差异进行建模, 典型例子如主题模型(Latent Dirichlet分配[55]及其变体)。
2.3 相关领域
迁移学习(TL)
TL [34]利用源任务的过去经验来改善目标任务的学习(速度,数据效率,准确性)–通过从之前任务的解中迁移参数先验,初始条件或特征提取器。TL refers both to this endeavour to a problem area。在当代的神经网络环境中,它通常指参数传递加上可选的fine tuning(尽管有许多其他方法可以解决此问题[34])。
虽然TL可以refer to a problem area,但元学习可用来改善TL和其他问题。TL的方法论与元学习不同——TL的先验是通过对源任务的原始学习而提取的,而无需使用元目标。在元学习中,相应的先验将由外层优化定义,该外层优化评估先验在帮助学习新任务时的表现,如MAML元学习方法。一般而言,元学习处理的元表示形式范围比单纯的模型参数要广得多(第4.1节)。
Domain Adaptation (DA) and Domain Generalization (DG)
Domain-shift是指源任务和目标任务具有相同类别,但目标任务的输入分布相对于源任务发生了偏移[34],[57],从而导致迁移时模型性能降低的情况。DA是迁移学习的一种变体,它试图通过使用来自目标的稀疏或未标记数据来适应源训练的模型从而缓解上述问题。DG是指训练源模型对这种域偏移具有鲁棒性而无需进一步调整的方法。
同时,元学习方法可用于执行DA和DG,我们将在5.9节中介绍。
Continual learning (CL)
持续和终身学习[59],[60]是指学习从潜在的非平稳分布中提取一系列任务的能力,它在加速学习新任务而又不忘旧任务的时候很重要。元学习为持续学习提供了一个潜在框架,并且最近的一些研究已经开始通过开发编码持续学习表现的元目标来做到这一点[61]-[63]。
Multi-Task Learning (MTL)
MTL旨在共同学习一些相关的任务,并受益于参数共享和所产生的共享表示的多样性带来的效果正则化[64]-[66]。与TL、DA和CL一样,传统的MTL是一种没有元目标的单层优化。此外,MTL的目标是解决固定数量的已知任务,而元学习的关键往往是解决未曾见过的未来任务。尽管如此,元学习也可被引入MTL中,例如通过学习任务之间的关联性[67],或者学习如何在多个任务中进行优先级排序[68]。
Hyperparameter Optimization (HO)
超参数优化(HO)属于元学习,因为“学习方法”可包含诸如学习率或正则化强度之类的超参数。在这里,我们专注于定义了使用神经网络进行端到端训练的元目标的HO任务。相关工作是基于梯度的超参数学习[67]和神经体系结构搜索[26]。
Hierarchical Bayesian Models (HBM)
贝叶斯分层模型为元学习提供了宝贵的视角,因为它们为理解元学习过程提供了一个建模而非算法框架。在实践中,贝叶斯分层模型的前期工作通常集中在学习简单的tractable模型θ;然而,大多数元学习工作考虑的是复杂的内环学习过程,涉及许多迭代。尽管如此,一些元学习方法如MAML[19],可以通过HBM的视角来理解[72]。
AutoML
AutoML [31],[32]是一种相当广泛的工具,它是旨在将机器学习过程中通常手工操作的部分(如数据准备和清洗、特征选择、算法选择、超参数调整、架构搜索等)自动化的方法。AutoML通常会使用元学习范围外的许多启发式方法,并解决数据清洗等对元学习来说不太核心的任务。但是,AutoML有时会利用元学习,对元目标进行端到端的优化,所以元学习可以看作AutoML的一个specialization。
03
分类
3.1 之前的分类
基于优化的方法,基于模型的方法(或黑盒方法)和基于度量的方法(或非参数方法)。
Optimization
基于优化的方法包括将内层任务(式6)看作一个优化问题来解决的方法,并着重于提取提高优化性能所需的元知识ω。基于优化的方法最著名的可能是MAML[19],元知识ω是内层优化中模型参数的初始化,即θ0。目标是学习θ0,使在少量训练实例上进行少量的内层迭代就能产生一个在验证数据上表现良好的分类器。这是通过梯度下降来实现的(differentiating through the updates to the base model)。更详细的替代方案还可学习步长大小[75],[76],或者训练循环网络从梯度中预测步长[41],[77],[78]。通过梯度进行元优化会带来以下挑战:如何有效评估昂贵的二阶导数并通过可能数千个内层优化迭代步的图进行微分(参阅第6节)。由于这个原因,它通常应用于很少的内循环步骤就足够的few-shot learning。
Black Box / Model-based
在基于模型的方法中,内层学习迭代步(式6,式4)被包裹在单个模型的前馈过程中,如式7所示。模型将当前数据集D嵌入激活状态,并基于此状态对测试数据进行预测。典型的体系结构包括循环网络[41],[51],卷积网络[40]或超网络[79],[80],它们嵌入训练实例和给定任务的标签以定义输入测试示例并预测其标签的预测变量。此时,所有内层学习都被包含在模型的激活状态中,并且完全是feed-forward。外层学习is performed with包含CNN,RNN或超网络参数的ω。因为ω直接指定θ,外层和内层优化紧密耦合。记忆增强神经网络[81]使用显式存储缓冲区,也可用作基于模型的算法[82],[83]。与基于优化的方法相比,基于模型的方法通常无法推广到分布外任务中[84]。此外,尽管它们通常非常擅长于data efficient few-shot learning,但由于尚不清楚黑盒模型能否成功将大型训练集嵌入到丰富的基本模型中而被批评为asymptotically weaker[84]。
Metric-Learning
迄今为止,Metric-learning或非参数算法在很大程度上仅限于few-shot应用(5.1.1节)。
其想法是通过简单地将验证点与训练点进行比较,并预测匹配训练点的标签,在内部(任务)层面进行非参数 '学习'。这已被诸如siamese网络[85]、匹配网络[86]、原型网络[20]、关系网络[87]和图神经网络[88]等方法实现。这里的外层学习对应的是度量学习(找到一个特征提取器ω,将数据编码成适合于比较的表示)。和之前一样,ω在源任务上学习,并用于目标任务。
Discussion
上面讨论不全面,且不足以让我们理解各种元学习框架之间的联系。因此,在以下各小节中,我们将介绍元学习方法的新的跨领域细分。
3.2 新分类
Meta-Representation (“What?”)
Meta-Optimizer (“How?”)
Meta-Optimizer 代表在元训练期间用于外层优化器的选择(参见式5)。ω的外层优化器可以采用多种形式:梯度下降[19]、强化学习[89]、进化搜索[23]……
Meta-Objective (“Why?”)
Meta-Objective 由选择元目标L_meta(参见式5),任务分布p(T)和内外层间的数据流确定。它们可一起为不同目的(如sample efficient few-shot learning [19], [40], fast many-shot optimization [89], [91], or robustness to domain-shift [44], [92], label noise [93], and adversarial attack [94])自定义元学习。
04
方法
样本效率(红色),学习速度(绿色),渐近性能(紫色),跨域(蓝色)。
颜色代码如下:样本效率(红色),学习速度(绿色),渐近性能(紫色),跨域(蓝色)。
4.1Meta-Representation
抱歉,由于我不打算使用Meta-Representation,所以此节略过;
4.2 Meta-Optimizer
Gradient
许多方法对元参数ω使用梯度下降[19],[41],[44],[67]。这需要计算外部目标的导数
(θ是模型参数)。这些方法可能很有效,但也面临不少挑战:
(i)如何通过内部优化使用许多迭代步的长计算图进行有效微分,例如通过精心设计自动微分算法[25],[178]和隐式微分 [145],[153], [179],同时处理昂贵的二阶梯度[180]。
(ii)如何减少不可避免的梯度退化问题,该问题的严重性随着内环优化步骤的数量增加而增加。
(iii)当基础学习器,ω或L任务包括离散或其他不可微操作时,如何计算梯度。
Reinforcement Learning
当基础学习者包括不可微分步骤[133]或元目标L_meta本身不可微分[117]时,许多方法[22]求助于RL来优化外部目标(式5)——通常使用策略梯度定理来估计梯度
。但是,以这种方式减轻对可微性的需求通常非常昂贵。
的高阶策略梯度估计意味着需要许多外层优化步骤才能收敛,而这些步骤中的每一步由于将任务模型优化包裹在其中,本身的成本就很高。
Evolution
优化元目标的另一种方法是进化算法(EA)[17],[123],[181]。
许多进化算法与强化学习算法有很强的联系[182]。但是,对于RL,它们的性能并不取决于内部优化的长度和奖励稀疏性。
EA具有吸引力的原因[181]:(i)EA可以优化任何类型的基本模型和元目标,而无需可微性。(ii)它们不依赖于反向传播,从而解决了梯度下降问题,并避免了上述常规基于梯度方法所需的高阶梯度计算成本。(iii)它们是高度可并行化的,从而使元训练更易于扩展。(iv)通过保持多样化的解群体,他们可以避免困扰梯度法的局部最小值[123]。
但是,它们具有许多缺点:(i)训练模型所需的总规模随可学习参数的数量而迅速增加。(ii)它们可能对突变策略(例如,噪声的大小和方向)敏感,因此可能需要仔细进行超参数优化。(iii)它们的拟合能力通常不如基于梯度的方法如CNN,尤其是对于大型模型。
EA相对更普遍地应用于RL applications中[23],[158](其中的模型通常较小,内部优化又长又不可微)。然而,它们也已被应用于在监督学习中学习learning rules[183],优化器[184],体系结构[27],[123]和数据增强策略[135]。它们在学习人类可解释的符号元表示中也特别重要[115]。
4.3 Meta-Objective and Episode Design
Meta-Objective 由选择元目标L_meta(参见式5),任务分布p(T)和内外层间的数据流确定。文献中的大多数方法都依赖于用ω更新任务模型后,在验证集上计算出某种形式的性能指标,并将该指标作为元目标。这与经典的基于验证集的超参数调整和架构选择方法是一致的。这个框架有几种设计方案:
Many vs Few-Shot Episode Design
Fast Adaptation vs Asymptotic Performance
Multi vs Single-Task
Online vs Offline
(在线元学习指基本模型θ和学习者ω在单个episode中共同演化,此时提高样本效率很重要)
Other Episode Design Factors
(可以将其他运算符插入episode generation pipeline以自定义针对特定应用的元学习。例如,可以在训练和验证之间模拟域转换、模拟网络压缩(在训练和验证之间进行quantization)、 在元训练期间提供嘈杂标签以优化标签噪声的鲁棒性,或生成对抗验证集以进行元优化从而进行对抗防御。)
05
应用
5.1 Computer Vision and Graphics
5.1.1 Few-Shot Learning Methods
Classification
Object Detection
Landmark Prediction
Object Segmentation
Image Generation
Video Synthesis
Density Estimation
5.1.2 Few-Shot Learning Benchmarks
5.2 Meta Reinforcement Learning and Robotics
强化学习通常关注的是学习控制策略,使智能体在环境中实现连续动作任务时获得高回报,这与监督学习关注给定数据集上的准确性不同。由于稀疏的奖励、探索的必要性和高变异的优化算法,RL通常存在严重的低样本效率问题。另外,RL的一堆应用经常自然地包含可以利用元学习的任务--例如定位到不同位置[172],在不同的地图/环境中导航[40]或穿越不同的地形[63],驾驶不同的汽车[171],与不同的智能体[61]竞争,以及处理不同的障碍……
因此,RL为元学习提供了一个肥沃的应用领域,在此领域任务分布上的元学习比标准RL算法在提升样本效率方面取得了显著成功。元学习的成功是很有道理的,比如人形机器人关于'如何站立 '的元知识对于其他所有需要运动的任务来说几乎都是一种可迁移技能。
5.2.1 Methods
我们已经在RL中探索了元表示方法如学习初始条件[19],[159],超参数[159],[164],步长方向[75]和步长[163]…… 这有助于基于梯度的学习只需与环境进行较少交互,就能训练快速CNN[40]/RNN[22][106]黑盒模型,以嵌入迄今为止给定环境的经验,并使用它来合成一个前馈策略。最近的工作针对上述操作开发了改进的元优化算法[155]、[156]、[158],并为Meta RL[216]提供了理论保证。
Exploration
探索策略的元表示法是RL特有的元表示法。RL的复杂性在于数据分布不是固定的,而是根据智能体的操作而变化的。此外,稀疏奖励可能意味着智能体必须采取许多行动才能获得可用于指导学习的奖励。
因此,如何探索和获取用于学习的数据是任何RL算法的关键因素。传统上,探索是基于对随机动作的采样[90]或手工探索的启发式方法[217]。但一些meta RL研究将探索策略或好奇心函数明确视为元知识ω, 并将其获取建模为元学习问题[24],[170],[171] –通过“学习如何探索”显着提高了样本效率。
Optimization
在SL中,优化通常会导致在训练集上具有完美精度的良好局部最小值;而RL通常面临一个非常困难的优化问题,即使在 '训练集 '上,学到的策略也远非最佳。这意味着,与元-SL相比,元-RL方法的发挥空间更大——更常用来提高渐进训练性能[23]、[164]、[167]以及样本效率,并且可以在整体上得到明显更好的解决方案。事实上,大多数元RL框架的元目标是智能体在一个完整的训练episode中的净收益,因此对样本有效的学习和渐进式的学习都给予了奖励。优化难度还意味着在学习损失(或奖励)上也有相对较多的工作[RL],[167],[218],RL智能体应替换常规的稀疏奖励目标以更好地进行优化。
(可以考虑和探索联系起来,实例化元学习方法来学习内在动机[168]~)
Online MetaRL
我们注意到,相当一部分元RL研究解决了在线单任务环境,其中元知识如损失[113]、[167]、奖励[164]、[168]、超参数[162]、[163]或探索策略[169]是在学习单任务时与基本策略一起在线训练的。因此,这些方法不需要任务族,并对各自的基础学习器进行了直接改进。
On- vs Off-Policy Meta-RL
传统RL方法的主要分歧是在On- vs Off-Policy 之间,例如PPO [90]与SAC [219]。对于常规RL,Off-Policy通常会大大提高样本效率。但是,Off-Policy方法很难扩展到meta-RL,导致大多数Meta-RL方法基于on-Policy的算法构建,因此限制了Meta-RL的绝对性能。最近的一些工作已经开始设计对Off-Policy方法的meta-RL概括,从而获得了强有力的结果[109],[113],[157],[218]。值得注意的是,Off-Policy的学习还提高了元训练阶段的效率[109],(这阶段本来可能非常昂贵)。它也提供了其他新机会,如,可以通过从元训练阶段replay buffer sample来加速元测试[157]。
Other Trends and Challenges
[63]——机器人技术中的知识迁移,study compositionally 。
[131]——模块化元学习。
[221]——无监督的meta-RL变体旨在无需手动指定奖励即可进行元训练。
[222]——适应于环境已变化但没有新奖励的元测试。
Continual adaptation利用元学习为智能体提供适应于one meta-test episode [61]-[63]中与连续学习相关的一系列任务的能力。
最后,元学习也已应用于模仿[105]和逆强化学习[223]领域。
5.2.2 Benchmarks
Discrete Control RL
Continuous Control RL
Discussion:meta-RL基准有待改进!
5.3 Environment Learning and Sim2Real
5.4 Neural Architecture Search (NAS)
5.5 Bayesian Meta-learning
5.6 Unsupervised Meta-Learning and Meta-Learning Unsupervised Learning
5.7 Active Learning
5.8 Continual, Online and Adaptive Learning
5.9 Domain Adaptation and Domain Generalization
5.10 Hyper-parameter Optimization
5.11 Novel and Biologically Plausible Learners
5.12 Language and Speech
5.13 Meta-learning for Social Good
5.14 Abstract and Compositional Reasoning
5.15 Systems
Network Compression
Communications
Learning with Label Noise
Adversarial Attacks and Defenses
06
挑战和未解决的问题
Meta-generalization
Multi-modality of task distribution
Task families
Computation Cost
Cross-modal transfer and heterogeneous tasks