开个新坑,长期,不定时更新…一 一+

原文:Timothy M Hospedales, Antreas Antoniou, Paul Micaelli, Amos J Storkey. Meta-Learning in Neural Networks: A Survey[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence. 2021. Early Access.
https://doi.org/10.1109/TPAMI.2021.3079209

神经网络元学习综述

文中参考文献请查阅原始论文

摘要:近年来,元学习,或者说学会学习获得了广泛关注。传统人工智能技术利用固定的学习算法从零开始进行学习,不同的是,给定多个学习过程所学知识后,元学习的目的在于改进算法本身。元学习能够更好处理传统深度学习面临的问题,例如数据和计算瓶颈、泛化能力等。本综述描述当前元学习领域的进展。首先,给出元学习的定义,介绍其在迁移学习和超参数优化等相关领域的进展,其次,给出一种新分类方式,更准确地对当前元学习方法进行划分。然后,给出元学习在少样本学习和强化学习等领域的前景和成功之处。最后,讨论元学习的主要困难和未来前景。

关键字:元学习,学会学习,少样本学习,迁移学习,神经网络架构搜索

1 介绍

目前,对于一个特定学习任务,机器学习模型通常使用人工设计的单一学习方法从零开始训练,其中,深度学习方法已经给不少领域[1]-[3]带来了巨大改进,然而,深度学习也具有明显局限性[4],例如,深度学习只有在数据量很大的场景才能体现出优势,并且需要强大的计算能力,当数据本身非常稀有、数据价值非常昂贵[5]或计算能力不足时[6],深度学习难以发挥优势。
元学习是对多个学习过程(一般含相关任务的分布)进行知识蒸馏的一种方法,用于提升未来的学习性能,这种“学会学习”[7]的方法具有数据和计算效率等优势,而且与人类和动物的终身学习十分类似[8]-[10]。
在过去,机器学习依赖于人工设计的特征[11][12]。深度学习实现了对特征表示的学习,与之前的人工特征相比,大大提高了许多任务上的性能[1][3]。神经网络元学习在于给特征、模型和算法的集成带来进一步改进,也就是说,元学习的目标是用训练后的学习算法代替先前人工设计的学习器[7][14]-[16]。
神经网络元学习由来已久[7][17][18],潜力巨大,可能进一步推进深度学习领域的发展,因此关于元学习的研究出现了爆炸式增长,特别是通过数据效率的提高、知识的迁移和无监督学习,元学习方法也许能够解决目前深度学习的诸多问题[4]。元学习在多任务和单任务场景中都具有较好的性能,其中,在多任务场景是指从一系列任务中提取与任务无关的知识[7][19],单任务场景是指不断解决该单一问题获得知识[15][20][21]。元学习比较成功的应用场景包括少样本图像识别[19][22]、无监督学习[16]、数据高效[23][24]、自主[25]强化学习(RL)、超参数优化[20]与神经网络架构搜索(NAS)[21][26][27]。
不少文献从多个角度看待元学习,部分原因在于不同研究者从不同角度使用元学习。Thrun[7]在实践上将学会学习定义为学习器处理学习任务的性能随任务数量的增加而提升的过程。(参见,传统机器学习方法的性能随单一任务数据量的提升而增强)。这种观点[28]-[30]将元学习看作是一种工具,用于处理“没有免费午餐”定理[31],搜索最适合某个或某些给定问题的算法,提高泛化性。然而,这种定义也涵盖了目前不被看作是元学习的迁移学习、特征选择和模型集成学习。另外,元学习还用于[32]基于数据集特征的算法搜索,从而难以与自动机器学习(AutoML)[33]进行区分。
本文关注目前的神经网络元学习。根据[28][29],本文将元学习视为算法学习,尤其关注含明确定义的目标函数(例如交叉熵损失函数)的端到端学习。另外,本文也介绍单任务元学习,讨论鲁棒性和计算效率等元学习评价指标。
本综述对当前快速发展的神经网络元学习领域进行全面及时的报道。之前的综述要么有些过时,要么只关注了数据挖掘[28][32][34][35]、自动机器学习[33]或类似少样本学习[36]或神经网络架构搜索[37]等元学习特定应用场景的算法搜索。
本文关注元学习方法和应用,首先通过较高层次问题形式化引出元学习,理解并定位本领域的一些工作,其次给出了一种元表示、元目标和元优化器的新分类方式,这种分类方式为设计和定制不同应用场景下的新元学习方法提供了一种设计空间。本文报道了与迁移和多任务学习等方向相关的少样本学习、强化学习与架构搜索等多个流行和新兴的应用场景,并通过对主要问题和未来研究的讨论,在最后进行了一定总结。

2 背景

目前,元学习以不同方式广泛应用于神经网络,难以进行定义。本节首先介绍本文的定义方式和关键术语,然后将元学习定位于相关研究方向上。
传统机器学习利用大量数据实例改进模型预测能力,而元学习通常被看作是学会学习,是一个通过多次学习提高学习算法性能的过程。在基学习过程中,数据集和目标定义的内层(或被称为低层/基)学习算法处理图像分类[13]等任务,而在元学习过程中,外层(或被称为上层/元)学习算法更新内层学习算法,从而使学习到的模型实现外部学习目标,这种学习目标可以是内层算法的泛化性能或学习速度的提高。
如上所述,像基于交叉验证的超参数随机搜索等传统算法可能也属于元学习范畴。目前,神经网络元学习的显著特点是含有明确定义的元目标函数和在此基础上的内层算法端到端优化。元学习通常用于学习从任务集合中采样出的子任务,然后改进在该任务集合中其他子任务上的表现。然而,在有限的情形下,所有训练阶段也可以来自同一个任务。接下来,本文将正式介绍这些部分。

2.1 元学习的形式化表达

传统机器学习 在传统有监督机器学习中,通常会提供一个训练数据集D={(x1,y1),…,(xN,yN)}D = \lbrace(x_1,y_1),…,(x_N,y_N)\rbraceD={(x1​,y1​),…,(xN​,yN​)},例如(输入图像,输出标签)(输入图像,输出标签)(输入图像,输出标签)构成的数据对。可以通过下式:(1)θ∗=arg min⁡θL(D;θ,ω)(1)\theta^*=\argmin_{\theta}L(D;\theta,\omega)(1)θ∗=θargmin​L(D;θ,ω)训练以θθθ为参数的预测模型z^=fθ(x)ẑ = f_θ(x)z^=fθ​(x),其中,LLL是损失函数,度量真实标签和fθ(•)f_θ(•)fθ​(•)预测的标签之间的距离,ωωω指定θθθ的优化器或函数fff的类型等“如何去学习”的方式。在测试数据与真实标签上评估LLL,可以度量模型泛化性能。
传统观念认为以上优化过程需要对每个任务DDD从头开始进行,并事先指定ωωω。然而,ω的选择会极大影响准确性和数据效率等指标。元学习通过学习学习算法本身改进这些指标,而不是假设这些参数已经事先指定。元学习首先改变了上述传统观念,将从头开始学习改变为从一组任务中学习。需要注意的是,虽然为了简单起见,接下来的元学习形式化表达采用了有监督观点,但所有想法都直接来自于第5.2节讨论的强化学习。
从任务分布看元学习 一种元学习的普遍看法是,学习一种可用于不同任务的通用学习算法,并理想化地保证每一个新学习的任务性能比上一个任务更好。可以在一个任务分布p(T)p(T)p(T)上评估ωωω的好坏,每一个任务T={D,L}T=\lbrace D,L\rbraceT={D,L}包含一个数据集DDD和一个损失函数LLL。从上层来看,“学会学习”的过程可写成:(2)min⁡ωET∼p(T)L(D;ω)(2)\min_\omega\mathop{\mathbb{E}}\limits_{T\sim p(T)}L(D;\omega)(2)ωmin​T∼p(T)E​L(D;ω)其中LLL是任务的特定损失。在大多数机器学习设定中,可将DDD划分成D={D训练,D验证}D = \lbrace D^{训练},D^{验证}\rbraceD={D训练,D验证},则可将任务的特定损失定义为L(D;ω)=L(D验证;θ∗(D训练,ω),ω)L(D;ω) =L(D^{验证};θ^*(D^{训练},ω), ω)L(D;ω)=L(D验证;θ∗(D训练,ω),ω),其中,在数据集DDD上利用“学会学习”的元知识训练得到模型参数θ∗θ^*θ∗。
具体来讲,为了更好地描述元学习,通常假设MMM个源任务的集合是从p(T)p(T)p(T)中采样而来。在形式上,用于元训练阶段的MMM个源任务的数据集可表示为D源={(D源训练,D源验证)(i)}i=1MD_源 = \lbrace(D^{训练}_源, D^{验证}_源)^{(i)}\rbrace^M_{i=1}D源​={(D源训练​,D源验证​)(i)}i=1M​,其中每个任务都包含训练数据集和验证数据集,通常将训练数据集和验证数据集分别称为支持集和查询集。“学会学习”的元训练步骤可写为:(3)ω∗=arg min⁡ω∑i=1ML(D源(i);ω)(3)\omega^*=\argmin_\omega\sum^M_{i=1}L(D^{(i)}_源;\omega)(3)ω∗=ωargmin​i=1∑M​L(D源(i)​;ω)现在将元测试阶段的QQQ个目标任务的数据集集合写成D目标={(D目标训练,D目标测试)(i)}i=1MD_{目标}=\lbrace(D^{训练}_{目标},D^{测试}_{目标})^{(i)}\rbrace ^M _{i=1}D目标​={(D目标训练​,D目标测试​)(i)}i=1M​,其中每个任务都包含训练数据集和测试数据集。在元测试阶段,使用学习到的元知识ω∗ω^*ω∗在之前每一个未见过的目标任务iii上训练基模型:(4)θ∗(i)=arg min⁡θL(D目标训练(i);θ,ω∗)(4)\theta^{*(i)}=\argmin_\theta L(D^{训练(i)}_{目标};\theta,\omega^*)(4)θ∗(i)=θargmin​L(D目标训练(i)​;θ,ω∗)与传统学习方式式(1)不同的是,在第iii个目标任务训练数据集的学习过程现在受益于元知识ω∗ω^*ω∗,ω∗ω^*ω∗可以是初始参数[19]、整个学习模型[38]或优化策略[14]的估计。可以基于在每个目标任务的测试数据集D目标测试(i)D^{测试(i)}_{目标}D目标测试(i)​上θ∗(i)θ^{*(i)}θ∗(i)的表现,评估元学习器的准确性。
这种学习方式需要进行传统的欠拟合和过拟合(即元欠拟合和元过拟合)分析。元过拟合是指从源任务学习到的元知识无法较好地泛化到目标任务上,是一种常见现象,尤其发生在源任务数量较少时,可以将这种现象看成因约束θθθ的假设空间而归纳出的偏置ωωω(译者著:由于神经网络的参数包括偏置,所以参数ω\omegaω也可以表示偏置)过于紧致地分布在从源任务中学习到的知识周围。
从双层优化看元学习 之前的讨论指出了元学习在多任务场景下的一般流程,但并没有指出如何优化式(3)的元训练步骤。这个优化过程通常将元训练步骤看成双层优化问题,对基于优化的方法(见第3.1节)最为准确,接下来对这种用于元学习的优化机制进行总体剖析。双层优化[39]用于解决层次性优化问题,其中,一个优化过程含有另一个作为约束的优化过程[20][40],因此元训练可以形式化表达为:(5)ω∗=arg min⁡ω∑i=1ML元(D源验证(i);θ∗(i)(ω),ω)(5)\omega^*=\argmin_\omega\sum^M_{i=1}L^元(D^{验证(i)}_源;\theta^{*(i)}(\omega),\omega)(5)ω∗=ωargmin​i=1∑M​L元(D源验证(i)​;θ∗(i)(ω),ω)(6)s.t.θ∗(i)(ω)=arg min⁡θL任务(D源训练(i);θ,ω)(6)\text{s.t.}\quad \theta^{*(i)}(\omega)=\argmin_\theta L^{任务}(D^{训练(i)}_源;\theta,\omega)(6)s.t.θ∗(i)(ω)=θargmin​L任务(D源训练(i)​;θ,ω)其中,L元L^元L元和L任务L^{任务}L任务分别指外层和内层目标函数,例如用于分类的交叉熵函数,简单起见,不对ωωω显式依赖。注意外层和内层之间的前后不对称性,内层优化过程式(6)以外层定义的学习策略ωωω为条件,但在此过程中无法改变ωωω。
这里,ωωω可以看成非凸优化问题[19]或诸如正则化权重等超参数[20]的初始条件。第4.1节详细讨论了ωωω的取值空间。外层优化过程训练ωωω得到在验证数据集上表现较好的模型θ∗(i)(ω)θ^{*(i)}(ω)θ∗(i)(ω)。第4.2节讨论了如何优化ωωω。要严格区分函数L元L^元L元和L任务L^{任务}L任务,两者完全不同。例如,ωωω可以决定内层任务损失Lω任务L^{任务}_ωLω任务​(见第4.1节,[24],[41]),并且第4.3节提到,L元L^元L元可以度量验证准确率、学习速度或鲁棒性等指标。
最后,上述元学习形式化表达从任务分布角度出发,虽然常见于各元学习文献,但不是元学习的必要组成部分,若给定一个训练和一个测试数据集(M=Q=1M=Q=1M=Q=1),则可从训练集中划分出验证数据集,使元训练的D源={D源训练,D源验证}D_源=\lbrace D^{训练}_源,D^{验证}_源\rbraceD源​={D源训练​,D源验证​},使元测试的D目标={D目标训练⋃D目标验证,D目标测试}D_{目标}=\lbrace D^{训练}_{目标}\bigcup D^{验证}_{目标},D^{测试}_{目标}\rbraceD目标​={D目标训练​⋃D目标验证​,D目标测试​}。另外,ωωω仍需多轮次训练,并且在元训练期间通常使用不同的训练集—验证集划分。
从前馈模型看元学习 许多元学习方法以前馈方式组成模型,而非式(5)-(6)描述的迭代优化。虽然因复杂度不同存在多种前馈方式,但实例化式(2)的抽象目标函数后,可以定义一个简单的元线性回归训练模型[42]。(7)min⁡ωE(D训练,D验证)∈TT∼p(T)∑(x,y)∈D验证(xTgω(D训练)−y)2(7)\min_\omega\mathop{\mathbb{E}}\limits_{\overset{T\sim p(T)}{(D^{训练},D^{验证})\in T}}\sum_{(x,y)\in D^{验证}}(x^Tg_\omega(D^{训练})-y)^2(7)ωmin​(D训练,D验证)∈TT∼p(T)​E​(x,y)∈D验证∑​(xTgω​(D训练)−y)2
上式在一组任务上进行优化执行元训练。对于每个任务,均存在训练和验证数据集,训练数据集D训练D^{训练}D训练输入到一个向量gωg_ωgω​中,该向量定义了线性回归模型权重,用于预测验证集数据xxx的标签。训练函数gωg_ωgω​后,将训练数据集映射成一个权重向量,完成式(7)的优化,使gωg_ωgω​能够泛化来自p(T)p(T)p(T)的元测试任务。此种类型方法因预测模型ggg的复杂性和支持集映射方式(如池化,CNN或RNN)的不同而不同。由于学习一项新任务的代价通过gω(•)g_ω(•)gω​(•)减少成了一次前馈操作,而且ωωω的元训练阶段已经进行迭代式优化,因此这些方法也称为平摊[44]。

2.2 元学习历史

元学习和学会学习于1987年[17]首次提出。Schmidhuber使用自我参照学习,提出了一组学会学习相关方法。自我参照学习训练将自身权重作为输入并更新权重的神经网络。Schmidhuber提出可使用进化算法学习模型。
元学习后来应用于多个领域。Bengio等人[45][46]提出可通过元学习方法学习符合生物学法则的学习规则。Schmidhuber等人进一步研究了自我参照学习与元学习[47][48]。S.Thrun等人在[7]中进一步给出了学会学习的明确定义,并提出了初步理论和实现方法。1991年,首次提出使用梯度下降方法和反向传播算法训练元学习网络[49],后于2001年不断完善[50][51],并于同年提出了相关综述[28]。元学习于1995年开始应用于强化学习[52],随后出现了多种扩展版本[53][54]。

2.3 相关领域

本节介绍元学习的多种应用领域,其中,元学习与其相关应用领域间的关系通常不够明确。
迁移学习(Transfer Learning,TL) 迁移学习[34][55]是指利用从源任务学习到的知识提高目标任务上的学习指标(学习速度、数据效率、预测准确率)。迁移学习最主要的是参数迁移和可选的微调[56](虽然也存在很多其他方法[34])。
元学习是指一种可以用于迁移学习与其他问题的范式。在迁移学习中,利用普通的学习方式学习先验知识,不使用元目标函数,而在元学习中,通过外层优化学习到相关先验知识,并在学习新任务时由外层优化评估先验知识,如MAML[19]所示。总体而言,元学习用于处理比单一模型的参数范围更广的元表示(见第4.1节)。
领域自适应(Domain Adaptation,DA)与领域泛化(Domain Generalization,DG) 领域偏移是指源任务和目标任务具有相同目标,但目标任务的输入分布从源任务上发生了偏移[34][57],从而降低了模型性能。领域自适应是一种迁移学习方法,利用来自目标任务的稀疏或无标签数据调整训练好的源模型。领域泛化是指无需进一步调整,训练出一个对这种领域偏移具有鲁棒性的源模型。近年来出现了许多知识迁移方法提高模型在目标任务上的性能。然而,对于迁移学习,原始的领域自适应和领域泛化没有利用元目标优化不同任务域上的“学会学习”性能,而元学习方法可以用于领域自适应[58]和领域泛化[41](见第5.8节)。
持续学习(Continual Learning,CL) 持续学习或终生学习[59][60]是指对来自于潜在非平稳分布的一系列任务进行学习的能力,尤其是在学习的同时要能够提高新任务学习速度,不对旧任务产生遗忘。持续学习与元学习都考虑了任务分布,并且都以提高学习速度为部分目标。然而,由于该元目标没有明确范式,因此大多数持续学习方法并不是元学习方法。尽管如此,元学习为持续学习的发展提供了潜在框架,最近的几项研究已经开始设计元目标,用于编码持续学习的学习目标[61]-[63]。
多任务学习(Multi-Task Learning,MTL) 的目标是联合学习多个相关任务,受参数共享带来的正则化、由此产生的共享表示的多样性[64][65]以及节省的算力和存储空间改进性能。与迁移学习、领域自适应和持续学习相同的是,传统多任务学习利用无元目标的单层优化,另外,多任务学习旨在解决固定数量的已知任务,而元学习则往往用于解决从未见过的任务。尽管如此,元学习可以通过学习任务之间相似程度[66]或确定多任务优先级等方式[67]应用于多任务学习中。
超参数优化(Hyperparameter Optimization,HO) 属于元学习范畴,因为学习率或正则化权重等超参数描述了“如何学习”。本节包含定义元目标的超参数优化任务,利用端到端训练的神经网络训练元目标,例如梯度下降超参数学习[66][68]和神经网络架构搜索[21],但不包括随机搜索[69]和贝叶斯超参数优化[70]等其他很少看作是元学习的方法。
层次贝叶斯模型(Hierarchical Bayesian Models,HBM) 是参数θθθ在先验知识p(θ∣ω)p(θ|ω)p(θ∣ω)下的贝叶斯学习,其中,变量ωωω存在自身的先验概率p(ω)p(ω)p(ω),先验知识p(θ∣ω)p(θ|ω)p(θ∣ω)是另一个变量ωωω上的条件概率密度。层次贝叶斯模型常用于数据集合D={Di∣i=1,2,…,M}D=\lbrace D_i|i=1,2,…,M\rbraceD={Di​∣i=1,2,…,M},其中,每个子集合含自己的θiθ_iθi​。完整模型是p(ω)∏i=1Mp(Di∣θi)p(θi∣ω)p(ω)\prod^M_{i=1}p(D_i|θ_i)p(θ_i|ω)p(ω)∏i=1M​p(Di​∣θi​)p(θi​∣ω)。可以进一步提高层次化程度,尤其是ωωω可参数化,使p(ω)p(ω)p(ω)可学习。学习一般是全流水线过程,但使用一些形式的贝叶斯边缘化计算ωωω的后验概率:P(ω∣D)∼p(ω)∏i=1M∫dθip(Di∣θi)p(θi∣ω)P(ω|D)\sim p(ω) \prod^M_{i=1}∫dθ_ip(D_i|θ_i)p(θ_i|ω)P(ω∣D)∼p(ω)∏i=1M​∫dθi​p(Di​∣θi​)p(θi​∣ω)。边缘化计算的难易程度取决于模型:在一些情况下(例如隐狄利克雷分布,Latent Dirichlet Allocation,LDA[71]),选择共轭指数模型,可进行精确的边缘化计算,在其他情况下(见示例[72]),利用随机变分方法计算近似后验概率,得到边际似然的下界。
层次贝叶斯模型提供了一种理解元学习过程的建模方法而非算法框架,为元学习提供了一种有价值的观点。实际上,层次贝叶斯模型的先前工作通常集中在学习简单易处理的模型θθθ,而大多数元学习模型工作考虑复杂的内环学习过程,涉及多次迭代。尽管如此,MAML[19]等一些模型也可以从层次贝叶斯模型的角度进行理解[73]。
自动机器学习(AutoML) 自动机器学习[32][33]是一个含很多方法的领域,旨在自动执行通常需人工执行的数据准备、算法选择、超参数调节和架构搜索等机器学习步骤。自动机器学习通常使用数种不属于本文元学习定义范畴的启发式方法,集中应用于数据清洗等元学习以外的任务。然而,自动机器学习有时也使用元目标的端到端优化,因此元学习也可以视作自动机器学习的特例。

3 分类

3.1 旧分类方法

旧分类方法[74][75]将元学习分为三类:基于优化的方法、基于模型(或黑箱)的方法、基于度量(或非参数)的方法。
基于优化的方法 基于优化的方法实际上将内层任务看成优化问题进行学习,主要用于提取元知识ω,改进优化性能,其中,MAML算法是一个不错的例子[19]。MAML算法的目标是学习到好的初始值ω=θ0ω = θ_0ω=θ0​,从而在接下来仅需几次内层训练即可为验证数据集训练出不错的分类器,训练过程也使用梯度下降,在更新基模型参数时计算导数。更复杂的算法也对步长等超参数进行学习[76][77]或训练循环神经网络从梯度中预测步长[14][15][78]。基于梯度的元优化在长内层优化中易导致一些计算和存储问题,第6节对此进行讨论。文献[79]对梯度元学习提出了一种统一观点,将许多现存方法看作是广义的内层元学习框架的特例。
基于模型/黑箱的方法 在基于模型(或黑箱)的方法中,内层学习步骤(式4,式6)被封装在单模型的前馈过程中,如式7所示。模型将当前数据集DDD输入网络,进行激活,并用学习到的模型参数对测试数据进行预测,经典网络架构包括循环神经网络[14][50]、卷积神经网络[38]和超神经网络[80][81]等利用给定任务的训练数据和标签为测试数据训练学习器的网络。在此种方法中,所有内层学习过程都包含在模型的激活状态中,是完全前馈的过程。外层学习依ωωω进行,ωωω可以是卷积神经网络、循环神经网络或超神经网络的参数,外层和内层优化构成ωωω,DDD直接指定θθθ。记忆增强神经网络[82]提出一种显式存储单元,可被视为一种基于模型的方法[83][84]。与基于优化的模型相比,基于模型的方法无需计算二阶梯度,优化过程简单,不过基于模型的方法难以泛化到任务分布之外的任务上[85],另外,基于模型的方法将大数据集嵌入到多个基模型中,虽然在少样本学习上表现较好,但性能递减。
基于度量学习的方法 度量学习或非参数化算法目前主要用于少样本领域的元学习(第5.1.1节),该种方法将非参数化学习用于内层(即每个任务),简单地将验证数据与训练数据进行比较,预测为匹配的训练数据标签。按时间顺序,基于度量学习的方法包括孪生网络[86]、匹配网络[87]、原型网络[22]、关系网络[88]和图[89]神经网络等。这里的外层学习即度量学习,即找到一个可提取数据正确特征的特征提取器ωωω,用于数据比较。与之前相似,ωωω在源任务上进行学习,用于目标任务。
讨论 上文回顾的常见分类没有给出所有感兴趣的方面,也难以理解当前各元学习框架之间的联系。为解决此问题,本文在以下章节提出新分类方法。

3.2 新分类方法

本节通过三个维度,提出一种新分类方法。
元表示(“是什么”) 第一个维度是元知识ωωω的选择,可以是初始模型参数[19]或程序归纳可读编码[90]等。
元优化器(“怎么做”) 第二个维度是选择外层元学习过程(见式5)的优化器。ωωω的外层优化器具有梯度下降[19]、强化学习[90]和进化搜索[24]等多种形式。
元目标(“为什么”) 第三个维度是选择元目标函数L元L^元L元(式5)、任务分布p(T)p(T)p(T)和内外层之间数据流决定的学习目标,共同将元学习应用到少样本学习[19][38]、快速多目标优化[90][91]、领域偏移鲁棒性[41][92]、标签噪声[93]和对抗攻击[94]等不同领域。
以上三个维度共同为元学习方法提供了一种设计空间,有助于为元学习设计新算法,应用特定场景。注意,由于是所选的特定应用定义并优化θθθ,因此基模型的表示θθθ没有含在该分类方法中。

4 方法综述

本节根据提出的新分类方法介绍当前元学习进展。

4.1 元表示

元学习方法决定元知识ωωω应有的形式,即决定应该学习学习策略的哪一方面,或改进哪一方面。
参数初始化 这里,ωωω表示内层优化过程的神经网络的初始参数,MAML是最有名的例子[19][95][96]。在合适初始参数下,只需很少的几次梯度更新,就可到达任务TTT目标函数的最小值点,同时避免少样本学习中的过拟合现象。此种方法的弊端在于外层需要优化与内层优化过程一样多的参数(在大型卷积神经网络中可能是上亿的参数),因此出现了一系列基于子空间[75][97]、层[80][97][98]等方法的工作,也可去除缩放和平移,将部分需要元学习的参数隔离开。另一个问题是单一初始条件是否可以快速学习大量潜在任务,或是否只满足于窄分布p(T)p(T)p(T),因此出现了多种考虑多初始条件[97][100][101]的模型。
优化器 上述用于参数的方法通常要用到带动量的随机梯度下降或Adam[102]等常见优化器,改善新任务下的初始化性能,而用于优化器的方法[14][15][78][91]将θθθ和∇θL任务\nabla_θL^{任务}∇θ​L任务等优化器状态作为输入,训练一个目标函数,为每个基学习过程计算优化步骤,可训练参数ωωω可以是步长等简单超参数,也可以是更复杂的矩阵[103][104],最后,通过对输入梯度和其他元数据[14][15][90][91]进行复杂的非线性变换,可以用ωωω定义一个完全基于梯度的优化器。如果优化器以坐标方式应用在权重之间,则可学习的参数会变少[15]。可以对用于参数和优化器的方法进行联合学习,即将前者学习到的初始参数用于后者[14][76]。优化器学习方法已经不仅用于少样本学习[14],而且可以加速多样本学习速度,改进性能[15][90][91]。最后,也可以元学习不需要梯度等优化器状态的零阶优化器[105]。这些方法[105]与传统贝叶斯优化方法[70]都具有良好性能。
前馈模型 (即黑箱、均摊) 另一类模型训练参数ωωω,ωωω直接提供了从支持集到测试数据分类所需参数的前馈映射,即θ=gω(D训练)θ=g_ω(D^{训练})θ=gω​(D训练),而不依赖于基于梯度的θθθ的迭代优化。这些模型对应于传统分类方式中基于模型的黑箱学习(见第3.1节),包括原始方法[106]到CNAP[107]等最新方法,CNAP等最新方法极大改进了跨领域少样本基准[108]的性能。

【论文阅读】【逐字翻译】 爱丁堡大学IEEE TPAMI 2021年最新元学习综述 《Meta-Learning in Neural Networks: A Survey》相关推荐

  1. 论文阅读:Meta-Learning in Neural Networks: A Survey

    题目:Meta-Learning in Neural Networks: A Survey 论文地址:https://arxiv.org/abs/2004.05439 作者:Timothy Hospe ...

  2. 【论文阅读】保守和适应性惩罚+基于模型的安全强化学习

    [论文阅读]保守和适应性惩罚+基于模型的安全强化学习 Conservative and Adaptive Penalty for Model-Based Safe Reinforcement Lear ...

  3. 《Sequence to Sequence Learning with Neural Networks》阅读笔记

    Abstract DNNs 可用于各种复杂的学习任务并取得很好的效果,但是 DNNs 不能用于序列到序列的映射.这篇论文提出了一种端到端(end-to-end)的神经网络模型,来学习这种映射关系.作者 ...

  4. 《Continual lifelong learning with neural networks : A review》阅读笔记

    增量学习更多的起源于认知科学神经科学对记忆和遗忘机制的研究,Continual lifelong learning with neural networks : A review综述探讨了增量学习在生 ...

  5. 知识+AI融合创新探索,华为云论文被AI顶级学术期刊IEEE TPAMI接受

    摘要:通过利用物体类别之间存在的层级关系约束,自动学习从数据中抽取识别不同类别的规则,一方面对模型的预测过程进行解释,另一方面也提供了一条引入人工先验知识的可行途径. 前言 受益于深度学习技术的突破, ...

  6. Sequence to Sequence Learning with Neural Networks论文翻译

    Sequence to Sequence Learningwith Neural Networks论文翻译 摘要 深度神经网络是在困难的学习任务中取得卓越性能的强大模型.尽管拥有大量的标记训练集,DN ...

  7. 活体检测综述 Deep Learning for Face Anti-Spoofing: A Survey 阅读记录

    论文链接:Deep Learning for Face Anti-Spoofing: A Survey | IEEE Journals & Magazine | IEEE Xplore 代码链 ...

  8. SCI论文阅读神器-翻译-资源

    搜狗 有道 deepl 谷歌 百度翻译 小绿鲸sci阅读器 Xtranslator 专业词汇翻译 cnki

  9. Self-Supervised Pre-Training for Transformer-BasedPerson Re-Identification 论文阅读与翻译

    摘要 基于transformer的监督前训练在reid方面获得了很好的表现.但是,由于ImageNet与ReID数据集之间的域差异,通常需要更大的训练前的数据集(例如ImageNet-21K),因为t ...

最新文章

  1. 云效83行代码重构大师赛-码力全开,重启方舟
  2. Java:选择正确的集合
  3. 编写程序乘法口诀表C语言,陈广川问:c语言编程九九乘法口诀表 怎样用c语言写九九乘法口诀表?...
  4. 冒泡和快速排序的时间复杂度_八大排序算法性能分析及总结
  5. php+loaction+框架,【集锦】nginx【php,location,alias,504】
  6. 基于贪心算法求解TSP问题(JAVA)
  7. 读书笔记Black-Scholes-Merton之二
  8. java项目收获总结_java开发项目收获心得
  9. java计算机毕业设计基于安卓/微信小程序的个人健康打卡系统
  10. 8uftp,8uftp连接不上怎么办
  11. 2022年十大突破性技术,“无密码”排名第一
  12. 转:[IDEA]Java:“程序包XXX不存在”问题的三种解决方案
  13. linux swap
  14. uni-app cli创建项目打包并配置多环境读取配置文件信息
  15. 最小攻击超过最大攻击_贪婪洞窟攻击力解析 最大攻击与最小攻击对比分析
  16. js 动态给style标签内添加样式
  17. 阿里云ACA、ACP和ACE认证考试有什么区别?考生应该如何选择?-阿里云开发者社区
  18. 教你一个无本万利的赚钱方法_一个在股市中稳健赚钱的方法
  19. 【练习七 字符串编程题10. 炸弹】
  20. word 退格键删除不了选中文本,只能按delete

热门文章

  1. 电机控制电流环设计笔记
  2. ForkLift 3.5.6 远程/本地文件管理利器
  3. 国网GIM设备三维模型要求细则 - 框架式电容器
  4. 搜索(2) --丁香园
  5. win7优化设置_Win7旗舰版系统磁盘碎片整理程序几种打开方法
  6. 渗透实战:dedeCMS任意用户密码重置到内网getshell
  7. 常用的网络测试管理工具软件,15款常用的测试管理工具
  8. 供应链管理:获取竞争优势的对策思考
  9. 【python爬虫】selenium爬取淘宝商品图片
  10. Ubuntu下使用unzip或p7zip解压带密码的zip文件