Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks翻译

用于快适应深度网络的不依赖于模型的元学习方法

MAML是我最近在看的一篇论文,我觉得还算比较重要的一篇文章可惜没有完整的翻译,我在这里对全文进行一个翻译,也帮助我自己理解。只有我认为比较重点部分是我手动翻译的,其余部分皆为机翻,可能读着不是很顺。

摘要 :我们提出了一种与模型无关的元学习算法,因为它与任何受梯度下降训练的模型兼容,适用于各种不同的学习问题,包括分类,回归和强化学习。 元学习的目标是在各种学习任务上训练模型,使得它可以仅使用少量训练样本来解决新的学习任务。 在我们的方法中,模型的参数被明确地训练,使得来自新任务的少量训练数据的少量梯度步骤将在该任务上产生良好的泛化性能。 实际上,我们的方法训练模型易于微调。 我们证明了这种方法在两个几次拍摄图像分类基准测试中获得了最先进的性能,在几次拍摄回归中产生了良好的结果,并加速了使用神经网络策略进行政策梯度强化学习的微调。

1.介绍

快速学习是人类智力的标志,无论是从几个例子中识别物体还是在经历了几分钟后快速学习新技能。 我们的人工智能代理(agents)应该能够做同样的事情,只从少数几个例子中快速学习和适应,并在更多数据可用时继续适应。 这种快速灵活的学习具有挑战性,因为代理必须将其先前的经验与少量的新信息相结合,同时避免过度拟合新数据。 此外,先前经验和新数据的形式将取决于任务。 因此,为了最大的适用性, learning to learn(或元学习(meta-learning))的机制应该是完成任务所需的任务和计算形式的一般性。

在这项工作中,我们提出了一种通用的、和模型无关的元学习算法,因为它可以直接应用于任何学习问题和使用梯度下降程序训练的模型。我们的重点是深度神经网络模型,但我们说明了我们的方法如何轻松处理不同的体系结构和不同的问题设置,包括分类,回归和策略梯度强化学习,只需要很少的修改。在元学习中,训练模型的目标是从少量新数据中快速学习新任务,并且元模拟器训练模型以便能够在大量不同任务上学习。我们方法的关键思想是训练模型的初始参数,使得模型在通过使用来自该新任务的少量数据计算的一个或多个梯度步骤更新参数之后在新任务上具有最大性能。与先前学习更新函数或学习规则的元学习方法不同(Schmidhuber,1987; Bengio等,1992; Andrychowicz等,2016; Ravi&Larochelle,2017),我们的算法不会扩展学习参数的数量也没有对模型架构施加约束(例如,需要一个周期性模型(Santoro等,2016)或一个Siamese网络(Koch,2015)),它可以很容易地与完全连接,卷积或递归神经网络相结合。它还可以用于各种损失函数,包括可微分监督损失和不可区分强化学习目标。

训练模型参数的过程,使得几个梯度步骤,甚至单个梯度步骤,可以在新任务上产生良好的结果,可以从特征学习的角度来看,建立一个广泛适用于许多任务的内部表示。 如果内部表示适用于许多任务,则只需微调( fine-tuning)参数(例如,通过主要修改前馈模型中的顶层权重)就可以产生良好的结果。 实际上,我们的程序优化了易于快速微调的模型,允许适应性发生在适当的空间以便快速学习。 从动力系统的角度来看,我们的学习过程可以被视为最大化新任务相对于参数的损失函数的灵敏度:当灵敏度高时,参数的小的局部变化可以导致任务损失的大幅改善。

这项工作的主要贡献是用于元学习的简单模型和任务不可知算法,该算法训练模型的参数,使得少量梯度更新将导致对新任务的快速学习。 我们在不同的模型类型上演示了算法,包括完全连接和卷积网络,以及几个不同的领域,包括少数回归,图像分类和强化学习。 我们的评估表明,我们的元学习算法优于专门为监督分类设计的最先进的一次性学习方法,同时使用较少的参数,但它也可以很容易地应用于回归,并可以加速强化学习 在存在任务可变性的情况下,基本上优于直接预训练作为初始化。

2.不依赖于模型的元学习方法

我们的目标是培养能够实现快速适应的模型,这个问题设置通常被形式化为小样本学习(few-shot learning)。 在本节中,我们将定义问题设置并呈现算法的一般形式。

2.1元学习问题建立

小样本元学习的目标是训练一个模型,该模型只需使用少量数据点和训练迭代即可快速适应新任务。 为了实现这一点,模型或学习者在元学习阶段就一组任务进行训练,这样训练的模型可以仅使用少量的例子或试验快速适应新的任务。实际上,元学习 问题将整个任务视为训练样例。 在本节中,我们以一般方式将此元学习问题设置正式化,包括不同学习领域的简要示例。我们将在第3节中详细讨论两个不同的学习领域。
我们假定一个模型,用 f f f表示,它将观测值 x x x映射到输出 a a a。 通过元学习,模型被训练为能够适应大量或无限数量的任务。 由于我们希望将我们的框架应用于各种学习问题,从分类到强化学习,我们在下面介绍了学习任务的一般概念。 形式上,每个任务(task)
T = { L ( x 1 , a 1 , . . . , x H , a H ) , q ( x 1 ) , q ( x t + 1 ∣ x t , a t ) , H } T =\left\{L(x 1,a 1,...,x H,a H),q(x 1),q(x t + 1 | xt,at),H \right\} T={ Lx1a1...xHaHqx1qxt+1xtatH}
其中损失函数 L L L,初始观测(observations )上的分布 q ( x 1 ) q(x 1) qx1,过渡(transition )分布 q ( x t + 1 ∣ x t , a t ) q(x t + 1 | xt,at) qxt+1xtat和episode长度 H H H。在i.i.d.监督学习问题中,长度 H H H= 1。 该模型可以通过在每个时刻 t t t选择输出 a t at at来生成长度为 H H H的样本。 损失 L ( x 1 , a 1 , . . . , x H , a H ) → R L(x 1,a 1,...,x H,a H)→R Lx1a1...xHaHR,提供特定任务的反馈,它可能是马尔可夫决策过程中的错误分类损失或成本(cost)函数的形式。
Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks翻译_第1张图片
图1.我们的与模型无关的元学习算法(MAML)图,它优化了可以快速适应新任务的表示θ。

在我们的元学习场景中,我们假定了一种希望我们的模型能够适应的在任务上的分布 p ( T ) p(T) pT。在K-shot学习设定中,训练模型以从仅从 q i q i qi绘制的 K K K个样本和由 T i T i Ti生成的反馈 L T i L T i LTi学习从 p ( T ) p(T) pT绘制的新任务 T i T i Ti。 通过元训练,对 p ( T ) p(T) pT进行采样得到的任务 T i T i Ti,利用 K K K个样本和来自 T i T i Ti的相应损失 L T i L T i LTi的反馈来训练模型,然后在来自 T i T i Ti的新样本上进行测试。
然后通过考虑来自 q i q i qi的新数据的测试误差如何相对于参数改变来改进模型 f f f。实际上,采样任务 T i T i Ti上的测试误差用作元学习过程的训练误差。 在元训练结束时,从 p ( T ) p(T) pT中抽取新任务,并且在从K样本学习之后通过模型的性能来测量元性能。 通常,用于元测试的任务在元培训期间保持不变。

2.2与模型无关的元学习算法

与先前的工作相比,后者试图训练摄取整个数据集的反复神经网络(Santoro等,2016; Duan等,2016b)或在测试时可以与非参数方法结合的嵌入特征(Vinyals等。,2016; Koch,2015),我们提出了一种方法,可以通过元学习来学习任何标准模型的参数,从而为快速适应准备该模型。这种方法背后的直觉是,某些内部表征比其他表示更具可转移性。例如,神经网络可能会学习广泛适用于 p ( T ) p(T) pT中所有任务的内部特征,而不是单个任务。我们如何鼓励这种通用表征的出现?我们采用一种明确的方法解决这个问题:由于模型将使用基于梯度的学习规则对新任务进行微调,我们的目标是以这种基于梯度的学习规则可以快速学习的方式学习模型从 p ( T ) p(T) pT中抽取的新任务的进展,没有过度拟合。实际上,我们的目标是找到对任务变化敏感的模型参数,这样当参数改变时,参数的微小变化将对从 p ( T ) p(T) pT引出的任何任务的损失函数产生很大的改进。损失的梯度(见图1)。我们不假设模型的形式,除了假设它是由一些参数向量θ参数化,并且损失函数在θ中足够平滑让我们可以使用基于梯度的学习技巧。

Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks翻译_第2张图片
形式上,我们考虑用有着参数 θ θ θ的参数化函数 f θ fθ fθ来表示模型。 当适应新任务 T i T i Ti时,模型的参数 θ θ θ变为 θ ′ i θ'i θi。在我们的方法中,使用任务 T i T i Ti上的一个或多个梯度下降更新来计算更新的参数矢量 θ ′ i θ'i θi。 例如,使用一个渐变更新时,
在这里插入图片描述
步长 α α α可以固定为超参数或元测量 (meta-learned)。 为简单起见,我们将在本节其余部分考虑一个梯度更新,但使用多个梯度更新是一个简单的扩展。
通过优化 f θ ′ i fθ'i fθi相对于从 p ( T ) p(T) pT采样的任务的 θ θ θ的性能来训练模型参数。 更具体地说,元目标如下:
在这里插入图片描述
注意,对模型参数 θ θ θ执行元优化,而使用更新的模型参数 θ ′ θ' θ计算目标。 实际上,我们提出的方法旨在优化模型参数,使得新任务上的一个或少量梯度步骤将在该任务上产生最大有效的行为。
跨任务的元优化通过随机梯度下降(SGD)来执行,使得模型参数θ更新如下:
在这里插入图片描述
其中 β β β是元步长。 在一般情况下,完整算法在算法1中概述。
MAML元梯度更新涉及通过梯度的梯度。 在计算上,这需要额外的反向传递 f f f来计算Hessian向量积,这得到标准深度学习库(如TensorFlow)的支持(Abadi等,2016)。 在我们的实验中,我们还包括一个比较,即丢弃这个向后传递并使用一阶近似,我们将在5.2节中讨论。

3.MAML的种类

在本节中,我们将讨论用于监督学习和强化学习的元学习算法的具体实例。 这些域以损失函数的形式以及如何通过任务生成数据并呈现给模型而不同,但是在两种情况下都可以应用相同的基本适应机制。

3.1监督回归和分类

Few-shot learning是在在监督任务领域中被充分研究了的一个方法,其目标是仅使用来自类似任务的早先的数据进行元学习,从该任务的少数输入/输出对中学习新函数。 例如,目标可能是在仅仅看到Segway的一个或几个示例之后对Segway的图像进行分类,其中模型先前已经看到许多其他类型的对象。 同样,在few-shot回归中,目标是在对具有相似统计特性的许多函数进行训练之后,仅从该函数采样的少数数据点预测连续值函数的输出。
为了在第2.1节中的元学习定义的背景中统一化监督回归和分类问题,我们可以定义 horizon H = 1 H = 1 H=1,并将时间步长下标放在 x t xt xt上,因为模型接受单个输入并产生单个输出, 而不是一系列的输入和输出。 任务 T i Ti Ti生成 K K K i.i.d. 观察 x x x来自 q i q i qi,任务损失由模型的x输出与该观察和任务的相应目标值y之间的误差表示。
用于监督分类和回归的两个常见损失函数是交叉熵和均方误差(MSE),我们将在下面描述; 但是,也可以使用其他监督损失函数。 对于使用均方误差的回归任务,损失采用以下形式:
在这里插入图片描述
其中 x ( j ) x(j) xj y ( j ) y(j) yj是从任务 T i T i Ti采样的输入/输出。 在K-shot回归任务中,提供K个输入/输出对用于每个任务的学习。
同样,对于具有交叉熵损失的离散分类任务,损失采用以下形式:
Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks翻译_第3张图片
Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks翻译_第4张图片
根据传统术语, K K K-shot分类任务使用来自每个类的 K K K个输入/输出,用于 N N N个分类的总共个 N K NK NK数据点。 给定任务 p ( T i ) p(T i) pTi上的分布,这些损失函数可以直接插入2.2节中的方程中以执行元学习,如算法2中所详述。

3.2强化学习

在强化学习(RL)中,小样本元学习的目标是使代理能够仅使用测试设置中的少量经验来快速获取新测试任务的策略。 新任务可能涉及实现新目标或在新环境中成功实现先前训练的目标。 例如,代理可能会学会快速找出如何导航迷宫,这样,当面对新的迷宫时,它可以确定如何只用少量样本可靠地到达出口。 在本节中,我们将讨论如何将MAML应用于RL的元学习。
每个RL任务T i包含初始状态分布 q i ( x 1 ) qi(x 1) qix1和转换分布 q i ( x t + 1 ∣ x t , a t ) qi(x t + 1 | xt,at) qixt+1xtat,并且损失 L T i LT i LTi对应于(负)奖励函数 R R R。整个任务因此是具有 horizon H H H的马尔可夫决策过程(MDP),其中允许学习者查询有限数量的样本轨迹以进行 few-shot学习。 MDP的任何方面都可能在 p ( T ) p(T) pT中的任务中发生变化。 被学习的模型fθ是在每个时间步骤 t ∈ 1 , . . . , H t∈{1,...,H} t1...H处从状态 x t x t xt映射到动作 a t a t at的分布的策略。 任务 T i T i Ti和模型 f φ fφ fφ的损失采用的形式
在这里插入图片描述
K K K-shot强化学习中,来自 f θ fθ fθ和任务 T i T i Ti的K展开, ( x 1 , a 1 , . . . x H ) (x 1,a 1,... x H) x1a1...xH和相应的奖励 R ( x t , a t ) R(xt,at) Rxtat可以用于新的适应任务 T i T i Ti
Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks翻译_第5张图片
由于未知动态,预期奖励通常不可微分,我们使用政策梯度方法来估计模型梯度更新和元优化的梯度。 由于策略梯度是策略上算法,因此在调整 f θ fθ fθ期间的每个附加梯度步骤需要来自当前策略 f θ ′ i fθ'i fθi的新样本。 我们在算法3中详述了算法。该算法具有与算法2相同的结构,主要区别在于步骤5和8需要来自对应于任务 T i T i Ti的环境的采样轨迹。该方法的实际实现还可以使用最近为策略梯度算法提出的各种改进,包括状态或动作依赖的基线和信任区域(Schulmanet al。,2015)。

4.相关工作

我们在本文中提出的方法解决了元学习的一般问题(Thrun&Pratt,1998; Schmidhuber,1987; Naik&Mammone,1992),其中包括少数学习。 元学习的一种流行方法是培养学习如何更新学习者模型参数的元学习者(Bengio等,1992; Schmidhuber,1992; Bengio等,1990)。 这种方法已应用于学习优化深层网络(Hochreiter等,2001; Andrychowicz等,2016; Li&Malik,2017),以及学习动态变化的复发网络(Ha等,2017)。 最近的一种方法是学习权重初始化和优化器,用于少数镜头图像识别(Ravi&Larochelle,2017)。 与这些方法不同,MAML学习者的权重使用梯度更新,而不是学习更新;我们的方法不会引入额外的参数学习,也不需要特定的学习者架构。
还针对特定任务开发了Few-shot 学习方法,例如生成建模(Edwards&Storkey,2017; Rezende等,2016)和图像识别(Vinyals等,2016)。 用于Few-shot 分类的一种成功方法是学习使用例如比较学习度量空间中的新示例。 暹罗网络(Koch,2015)或注意机制的复发(Vinyals等,2016; Shyam等,2017; Snell等,2017)。 这些方法产生了一些最成功的结果,但很难直接扩展到其他问题,如强化学习。 相比之下,我们的方法与模型的形式和特定的学习任务无关。
元学习的另一种方法是在许多任务上训练内存增强模型,在这些任务中,重复学习者被训练以适应新任务的推出。 这种网络已应用于少数图像识别(Santoro等,2016; Munkhdalai&Yu,2017)和学习“快速”强化学习代理(Duan等,2016B; Wang等,2016)。 我们的实验表明,我们的方法在几个分类上优于复发方法。 此外,与这些方法不同,我们的方法只是提供了良好的权重初始化,并为学习者和元更新使用相同的梯度下降更新。 因此,可以直接微调学习者以获得额外的梯度步骤。
我们的方法还涉及深度网络初始化的方法。在计算机视觉中,已经证明在大规模图像分类上预训练的模型可以学习一系列问题的有效特征(Donahue等,2014)。相比之下,我们的方法明确优化了模型以实现快速适应性,只需少量示例即可适应新任务。我们的方法也可以被视为明确地最大化新任务损失对模型参数的敏感性。许多先前的工作已经探索了深度网络中的敏感性,通常是在初始化的背景下(Saxe et al。,2014; Kirkpatrick et al。,2016)。这些工作中的大多数已经考虑了良好的随机初始化,尽管许多论文都有解决了数据相关的初始化器(Krähenbühl等,2016; Salimans&Kingma,2016),包括学习初始化(Husken&Goerick,2000; Maclaurin等,2015)。相比之下,我们的方法明确地训练给定任务分布的灵敏度参数,允许非常有效地适应诸如K射击学习和仅在一个或几个梯度步骤中的快速强化学习之类的问题。

5.实验评估

我们的实验评估的目标是回答以下问题:(1)MAML能否快速学习新任务? (2)MAML可以用于多个不同领域的元学习,包括监督回归,分类和强化学习? (3)使用MAML学习的模型是否可以通过额外的梯度更新和/或示例继续改进?
我们考虑的所有元学习问题都需要在测试时对新任务进行一些调整。 在可能的情况下,我们将结果与接收任务身份(这是一个依赖于问题的表示)作为附加输入的oracle进行比较,作为模型性能的上限。 所有实验均使用TensorFlow(Abadi等,2016)进行,允许在元学习期间通过梯度更新自动区分。该代码可在线获取。

5.1回归

我们从一个简单的回归问题开始,该问题说明了MAML的基本原理。每个任务涉及从输入到正弦波输出的回归,其中正弦波的幅度和相位在任务之间变化。因此,p(T)是连续的,其中幅度在[0.1,5.0]内变化,相位在[0,π]内变化,输入和输出都具有1的维数。在训练和测试期间,数据点x是均匀地从[-5.0,5.0]采样。损失是预测f(x)和真值之间的均方误差。回归量是一个神经网络模型,具有2个隐藏层,大小为40,具有ReLU非线性。当使用MAML进行训练时,我们使用一个梯度更新,其中K = 10个示例,具有固定步长α= 0.01,并使用Adam作为元优化器(Kingma&Ba,2015)。基线同样受到亚当的训练。为了评估性能,我们在不同数量的K个示例上微调单个元学习模型,并将性能与两个基线进行比较:(a)预先训练所有任务,这需要训练网络回归到随机正弦函数和然后,在测试时,使用自动调整的步长,在K提供的点上使用梯度下降进行微调,以及(b)接收真实幅度和相位作为输入的oracle。在附录C中,我们展示了与其他多任务和适应方法的比较。
我们通过微调MAML学习的模型和K = {5,10,20}数据点上的预训练模型来评估性能。在微调期间,使用相同的K数据点计算每个梯度步骤。定性结果,如图2所示,并在附录B中进一步扩展,表明学习模型能够快速适应仅5个数据点,显示为紫色三角形,而使用标准监督学习对所有任务进行预训练的模型无法在没有灾难性过度拟合的情况下充分适应如此少的数据点。至关重要的是,当K数据点都在输入范围的一半时,使用MAML训练的模型仍然可以推断出另一半范围内的幅度和相位,这表明MAML训练模型f已经学会模拟周期性正弦波此外,我们在定性和定量结果(图3和附录B)中观察到,尽管在一个梯度步骤之后训练了最大性能,但使用MAML学习的模型通过额外的梯度步骤继续改进。这种改进表明MAML优化了参数,使得它们位于一个易于快速适应的区域,并且对于p(T)的损耗函数很敏感,如2.2节所述,而不是过度拟合到仅在一个后改善的参数θ步。
Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks翻译_第6张图片
图2.简单回归任务的几次调整。 左:请注意,MAML能够估计没有数据点的曲线部分,表明模型已经了解了正弦波的周期结构。 右:在没有MAML的情况下对相同分布的任务预先训练的模型进行微调,并调整步长。 由于预训练任务的输出通常相互矛盾,因此该模型无法恢复合适的表示,无法从少量的测试时间样本中推断出来。
Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks翻译_第7张图片
图3.定量正弦曲线回归结果显示元测试时的学习曲线。 请注意,MAML通过额外的梯度步骤继续改进,而不会在元测试期间过度拟合极小的数据集,从而实现远低于基线微调方法的损失。

5.1分类

为了评估MAML与先前的元学习和few-shot学习算法的比较,我们将我们的方法应用于Omniglot(Lake et al。,2011)和MiniImagenet数据集上的few-shot图像识别。 Omniglot数据集由来自50个不同字母表的20个1623个字符实例组成。 每个实例都是由不同的人绘制的。 MiniImagenet数据集由Ravi&Larochelle(2017)提出,涉及64个培训课程,12个验证课程和24个测试课程。 Omniglot和MiniImagenet图像识别任务是最近使用的最常用的几次学习基准(Vinyals等,2016; Santoro等,2016; Ravi&Larochelle,2017)。
我们遵循Vinyals等人提出的实验方案。(2016),涉及快速学习1路或5路的N路分类。 N路分类的问题设置如下:选择N个看不见的类,为模型提供N个类中每个类的K个不同实例,并评估模型在N个类中对新实例进行分类的能力。 对于Omniglot,我们随机选择1200个字符进行训练,不论字母表如何,并使用剩余的字符进行测试。 按照Santoro等人的提议,Omniglot数据集以90度的倍数进行旋转。(2016)。
我们的模型遵循与Vinyals等人使用的嵌入函数相同的架构。(2016),有4个模块,3×3卷积和64个滤波器,然后是批量归一化(Ioffe&Szegedy,2015),ReLU非线性和2×2最大池。 Omniglot图像被下采样到28×28,因此最后隐藏层的维数为64.如Vinyals等人使用的基线分类器。(2016),最后一层被送入softmax。对于Omniglot,我们使用strided convolutions而不是max-pooling。对于MiniImagenet,我们每层使用32个 filters来减少过度拟合,如(Ravi&Larochelle,2017)所做。为了提供与记忆增强神经网络的公平比较(Santoro等,2016)并测试MAML的灵活性,我们还提供非卷积网络的结果。为此,我们使用具有4个隐藏层的网络,其大小为256,128,64,64,每个层包括批量标准化和ReLU非线性,然后是线性层和softmax。对于所有模型,损失函数是预测类和真类之间的交叉熵误差。附录A.1中包含其他超参数详细信息。
我们将结果呈现在表1中.MAML学习的卷积模型与该任务的最新结果相比较,差别优于现有方法。这些现有方法中的一些,例如匹配网络,连体网络和存储器模型,在设计时考虑了少数分类,并且不容易应用于强化学习等领域。另外,与匹配网络和元学习器LSTM相比,使用MAML学习的模型使用ewer总体参数,因为该算法不引入超出分类器本身的权重的任何附加参数。与这些现有方法相比,记忆增强神经网络(Santoro等,2016)具体而言,以及一般的循环元学习模型,代表了更广泛适用的方法类,如MAML,可用于其他任务,如作为强化学习(Duan et al。,2016b; Wang et al。,2016)。然而,如比较所示,在1-shot和5-shot情况下,MAML在5路Omniglot和MiniImagenet分类上明显优于内存增强网络和元学习器LSTM。

表1.保持的Omniglot字符(顶部)和MiniImagenet测试集(底部)的几次分类。 MAML实现的结果与最先进的卷积和复发模型相当或优于现有技术。 暹罗网,匹配网和内存模块方法都是分类特有的,不能直接应用于回归或RL场景。 ±显示任务的95%置信区间。 请注意,Omniglot结果可能不具有严格的可比性,因为先前工作中使用的列车/测试拆分不可用。 MiniImagenet对基线方法和匹配网络的评估来自Ravi&Larochelle(2017)。
Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks翻译_第8张图片
MAML中的显着计算开销来自于通过元目标中的梯度算子反向传播元梯度时使用二阶导数(参见等式(1))。在MiniImagenet上,我们展示了与MAML的一阶近似的比较,其中省略了这些二阶导数。注意,所得到的方法仍然在更新后参数值 θ ′ i θ'i θi处计算元梯度,这提供了有效的元学习。然而令人惊讶的是,这种方法的性能与完全二阶导数得到的几乎相同,这表明MAML的大部分改进来自更新后参数值的目标梯度,而不是来自更新参数值的二阶更新。通过渐变更新进行区分。过去的工作已经观察到ReLU神经网络局部几乎是线性的(Goodfellow等,2015),这表明在大多数情况下二阶导数可能接近于零,部分解释了一阶近似的良好性能。这种近似消除了在额外的反向传递中计算Hessian向量积的需要,我们发现这导致网络计算的速度提高了大约33%。
Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks翻译_第9张图片
图4.顶部:2D导航任务的定量结果,底部:使用MAML学习的模型与来自预训练网络的微调之间的定性比较。

5.3强化学习

为了评估关于强化学习问题的MAML,我们基于rllab基准套件中的模拟连续控制环境构建了几组任务(Duan等,2016a)。我们将在下面讨论各个领域。在所有领域中,由MAML训练的模型是具有两个大小为100的隐藏层的神经网络策略,具有ReLU非线性。梯度更新使用vanilla策略梯度(REINFORCE)计算(Williams,1992),我们使用信任域策略优化(TRPO)作为元优化器(Schulman等,2015)。为了避免计算三阶导数,我们使用有限差分来计算TRPO的Hessian矢量积。对于学习和元学习更新,我们使用Duan等人提出的标准线性特征基线。 (2016a),对于批次中的每个采样任务,在每次迭代时单独拟合。我们将三个基线模型进行比较:(a)在所有任务上预先训练一个策略然后进行微调,(b)从随机初始化权重中训练策略,以及(c)接收任务参数的oracle策略输入,对于下面的任务,对应于代理的目标位置,目标方向或目标速度。 (a)和(b)的基线模型通过梯度下降和手动调节的步长进行微调。可以在sites.google.com/view/maml 2D导航中查看已学习政策的视频。在我们的第一个meta-RL实验中,我们研究了一组任务,其中点代理必须移动到2D中的不同目标位置,随机选择每个任务以单位正方形。观察是当前的2D位置,并且动作对应于被剪裁为在[-0.1,0.1]范围内的速度命令。奖励是到目标的负平方距离,并且当代理在目标的0.01或者H = 100的范围内时,剧集终止。使用MAML训练策略以在使用20个轨迹的1个策略梯度更新之后最大化性能。此问题的其他超参数设置和以下RL问题在附录A.2中。在我们的评估中,我们将适应性与新任务进行比较,最多包含4个梯度更新,每个更新有40个样本。图4中的结果显示了使用MAML初始化的模型的适应性能,对同一组任务的常规预训练,随机初始化以及接收目标位置作为输入的oracle策略。结果表明,MAML可以学习在单个梯度更新中更快地适应的模型,并且通过额外的更新继续改进。
运动。为了研究MAML如何能够扩展到更复杂的深度RL问题,我们还研究了使用MuJoCo模拟器对高维运动任务的适应性(Todorov等,2012)。这些任务需要两个模拟机器人 - 平面猎豹和3D四足动物(“蚂蚁”) - 以特定方向或特定速度运行。在目标速度实验中,奖励是代理的当前速度与目标之间的负绝对值,其对于猎豹在0.0和2.0之间随机均匀地选择,对于蚂蚁在0.0和3.0之间随机选择。在目标方向实验中,奖励是向前或向后方向的速度大小,对于p(T)中的每个任务随机选择。地平线为H = 200,除了蚂蚁前进/后退任务外,每个梯度步骤有20个卷展栏,每步使用40个卷展栏。图5中的结果表明,MAML学习的模型可以快速调整其速度和方向,甚至只需一次梯度更新,并且可以通过更多的梯度步骤继续改进。结果还表明,在这些具有挑战性的任务中,MAML初始化基本上优于随机初始化和预训练。事实上,预训练在某些情况下比随机初始化更糟糕,这是在之前的RL工作中观察到的事实(Parisotto等,2016)。

6.讨论和未来工作

我们介绍了一种基于通过梯度下降学习容易适应的模型参数的元学习方法。 我们的方法有很多好处。 它很简单,不会为元学习引入任何学习参数。 它可以与任何适合基于梯度的训练的模型表示以及任何可区分的目标相结合,包括分类,回归和强化学习。 最后,由于我们的方法仅产生权重初始化,因此可以使用任意数量的数据和任意数量的梯度步骤进行调整,尽管我们通过每个类别只有一个或五个示例来展示分类的最新结果。 还表明我们的方法可以使用策略梯度和非常适度的经验来调整RL代理。
从过去的任务中重复使用知识可能是制作高容量可扩展模型(如深度神经网络)的关键因素,可以通过小型数据集进行快速培训。 我们相信这项工作是实现简单和通用元学习技术的一步,可以应用于任何问题和任何模型。 在这方面的进一步研究可以使多任务初始化成为深度学习和强化学习的标准组成部分。


总算是翻译完了,译起来感觉还是蛮累的一个事,参考文献直接看原文吧。
接下来我谈谈我个人对算法的理解吧,算法其实比较简单,但可能是因为不基于模型,算法的描述过程就比较抽象,单看文章还是很难看得懂的,推荐一个知乎上的算法详解。


算法的大致思路是:
①我有一个少量数据的数据集,还有一个新的但是类似的同样少量的数据集。
②我将原来的数据集划分为数个task(小的数据集),每个task分为support set 和 query set,然后组成一个task池(每个task会有相互重复的部分),数个task组成一个batch。
③进行元模型训练,对于第一个batch:里面有n个task,就更新n次,根据每个task的support set计算梯度,这是第一次梯度更新;然后计算一个batch里的loss总和,根据query set计算梯度,完成第二次更新。下一个batch重复此过程。
④新的数据集抽取一个task,进行梯度更新。
中心思想是找到对任务变化敏感的模型参数,这样当参数改变时,参数的微小变化将对从 p ( T ) p(T) pT引出的任何task的损失函数产生很大的改进。
因为在元模型的训练过程中,第一步更新就是一个个task进行分别更新的,所以在后面有了新的相似的数据集时,也可以快速完成自动微调。

你可能感兴趣的:(MAML,元学习,小样本学习)