MAML笔记

原文:MAML:Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks

概括

元学习的目的是在一堆学习任务上训练一个模型,这个模型可以使用少量样本来解决新的任务。我们的方法则是训练一个模型使其拥有初始参数,之后只要用少量样本、进行较少梯度训练步,即可使其适应一个新任务。
这个方法就是对模型做了权重初始化工作。

算法

符号、名称解释

一个任务(task)就是一组样本,其中分N个类,每类K个训练样本。
f:模型
x:输入
a:输出,f(x)
L(x1, a1, …, xH, aH) -> R:损失函数
q(x1):初试观测值x1的分布
q(x_t+1|xt, at):过渡分布
H:在独立同分布有监督学习问题中,H为1
T(L(x1, a1, …, xH, aH), q(x1), q(x_t+1|xt, at), H)
p(T):任务的分布

与模型无关(model-agnostic)的元学习算法

目的是找到一个对任务的变化很敏感的模型参数θ,这样的话,当模型的参数发生一点小小的更新时,模型在任意从分布p(T)上采样的任务上的损失都会有极大的改进。
在这里插入图片描述

模型参数训练:先针对每个从p(T)采样的任务Ti,训练对应模型。然后使用各个模型误差的总和作为最优化目标,进行“元优化”。如下式,表示各个模型在各自的任务上进行优化后,其误差的总和。

在这里插入图片描述
元优化:如下式,其中右边的被减项就是超参数β乘以上式。也就是说,这一更新方式是为了让模型的参数θ达到一个相对所有任务Ti都比较优的状态。
在这里插入图片描述
算法流程:
在这里插入图片描述
第6步即表示针对某个任务训练对应模型。第8步表示使用所有第4 步循环中的模型的总损失的梯度。MAML的元梯度更新涉及到梯度上的梯度,在计算上,反向传播时需要计算f的Hessian矩阵(二阶导)。作者在实验中还用了一阶近似来替代。

有监督学习中的MAML

K-shot的MAML算法如下。在循环4中,有两次采样。第一次(第5行)是从当前循环步的任务中采集K个样本,用于更新当前任务对应模型;第二次(第8行)采集的样本集用于循环4结束后的元更新步骤。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值