论文阅读:Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks

论文地址:https://arxiv.org/abs/1703.03400

代码:https://github.com/cbfinn/maml

发表:ICML 2017


假设图里面,Task_1, Task_2, Task_3这3个点,是三个Task对应的最佳参数的位置。而我们的优化从A点(灰色点)开始。如果针对Task 1, 2, 3单独作fine-tune(或者adaption), 那参数优化的方向分别为Adaption_1, Adaption_2和 Adaption3.

在普通的Pretraining的过程中(下面这张图), Adaption是完全不考虑的,它只会找到离Task1,2,3都距离最短的那个点。但这个点不能保障再做完Adaption_1~Adaption_3之后,他们各自能离最佳点最近

在Meta Learning(MAML)的过程中(下面这张图),优化器带着原点以及Adaption_1 ~ Adaption_3三条线一起移动,他的目标是找到一个位置,使得Adaption_1 ~ Adaption_3三条线的末端刚好离Task_1 ~ Task_3最近


 

https://www.zhihu.com/question/357515885 


摘要:

这篇文章提出了一种与模型无关(model-agnostic)的元学习算法,即它可以与任何经过梯度下降训练的模型兼容,并适用于各种不同的学习,包括分类、回归和强化学习。而元学习的目的是在各种学习任务上训练一个模型,使得在少量训练样本的情况下解决新的学习任务,同样也是解决小样本学习的方法。MAML的关键思想在于训练模型的初始参数,使得模型的参数经过几步梯度下降就可以适应新任务,并表现出良好的泛化性能。实际上,这种方法比微调容易,并在两种小样本数据集上表现出sota性能, 并加速了用神经网络策略对梯度增强学习的微调。

1 介绍

本文提出了一种通用的MAML算法,它可以直接应用于任何学习问题和经过梯度下降训练的模型。作者重点在深度神经网络模型,但也说明了这种方法能轻松地处理不同的体系结构和不同的问题,包括分类、回归和梯度强化学习。 在元学习中,训练后的模型的目标是从少量的新数据中快速学习一个新的任务,并且该模型由元学习者(meta-learner)训练,以便能够学习不同的任务。 作者方法的关键思想是训练模型的初始参数,使得模型的参数经过几步梯度下降就可以适应新任务,并表现出良好的泛化性能。与之前的元学习方法不同,我们的算法不扩展学习参数的数量,也不对模型体系结构施加约束。 

这项工作的主要贡献是一个简单的模型和任务无关的元学习算法,它训练一个模型的参数,使得少量的梯度更新将导致对新任务的快速学习。 

而为什么总是看到few-shot在用meta-learning的setting呢?因为确实巧妇难为无米之炊,新任务如果真的只有一两个样本可以训练,这个问题几乎无解。而meta-learning则提供了合理的假设: 虽然我没有目标任务上的大量训练样本,但是我有大量相似任务的少量训练样本作为代偿。

2 MAML

 Meta-Learning的目标在于从多个不同的学习任务(这些任务只包含少量训练样本)中,学习到一个模型,这个模型能够快速学习如何解决一个只含有少量训练样本的新任务。更通俗的来说,Meta-Learning的关键在于让机器学习如何去“学习”。我们的目标是训练能够实现快速适应的模型,这个问题通常被形式化为few-shot learning。

2.1  元学习问题设置(模型任务设定)

 小样本元学习的目标是训练一个模型,它可以只使用几个数据点和训练迭代来快速适应一个新的任务。 为了实现这一点,模型或学习者在一组任务的元学习阶段被训练,这样训练的模型就可以只使用少量的例子快速适应新的任务。 实际上,元学习问题将整个任务视为训练的例子。

 我们考虑一个模型,表示f,它将观测值x映射到输出a。 在元学习过程中,模型被训练成能够适应大量或无限数量的任务。任务可以形式化的定义为T={L(x1,a1,...,xH,aH),q(x1),q(xt+1|xt,at),H},由损失函数L、初始观测值的分布q(x1)、迁移分布q(xt+1|xt,at)和任务长度H组成。该模型可以通过在每个时间t处选择输出来生成长度为H的样本。 损失L(x1,a1,...,xH,aH)→R提供特定于任务的反馈,

 大致训练过程:在元学习场景中,考虑任务p(T)上的分布。 在K样本学习设置中,对模型进行训练,从p(T)中学习一个新的任务Ti,再从qi中提取K个样本,并由Ti生成反馈LTi。 在元训练过程中,从p(T)中采样任务Ti,用K个样本训练模型,反馈来自Ti中相应的损失LTi,然后在Ti的新样本上进行测试。 然后通过考虑来自qi的新数据上的测试误差相对于参数的变化来改进模型f。 实际上,抽样任务Ti上的测试误差是元学习过程的训练误差。 在元训练结束时,从p(T)中采样新任务,并通过从K个样本学习后的模型性能来测量元性能。 通常,用于元测试的任务是在元训练期间执行的。

2.2 MAML算法

本文提出了一种方法࿰

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值