理解MAML:Model-Agnostic Meta-Learning for Fast Adaption of Deep Networks

论文:Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks (arXiv:1703.03400v3 [cs.LG] 18 Jul 2017)


MAML解决的就是few-shot learning的问题。few-shot就是在有限的样本上训练后进行测试,那么问题转化为,用有限的样本进行训练使网络快速适应拟合当前的类别,然后进行测试。

那么网络的目标就是:在有限的样本上进行快速拟合。训练网络的目的就是在有限的样本上快速拟合的能力。

由此MAML将每个快速拟合作为目标,所以以task为单位: 每个Task中包含有训练/微调样本(support)和验证/测试样本(query)。训练、测试时都是以task为样本单位输入的。

task就包含了有限样本的快速拟合过程(support,在网络中属于训练微调步骤),然后测试(query)过程。

【注】为了区分训练和测试时的样本类别名称: 

  • 训练步骤:support表示为训练集,query表示为验证集;
  • 测试步骤:support表示为微调集,query表示为测试集。

【训练】:

1. 随机的初始化网络参数 \theta

2. 用 T_{i} 中的训练样本,步长 α 进行训练得到 \theta _{i}^{'}   

3. 在上一步训练得到的 \theta _{i}^{'}  基础上用 T_{i} 的验证(query)集测试,得到 T_{i} 下的损失 L_{T_{i}}\left ( f\left ( \theta _{i}^{'} \right ) \right )  

4. 用所有 T_{i} 的 L_{T_{i}}\left ( f\left ( \theta _{i}^{'} \right ) \right ) ,meta步长 \beta 重新以 \theta 为初始参数进行训练,得到网络参数 \theta _{new},以这个 \theta _{new} 为初始参数进行测试步骤(以 \theta _{new} 替换 \theta)。

【测试】:

在 \theta _{new}的网络中,用task中的微调样本训练微调网络参数,然后在微调后的网络对测试样本进行测试,输出结果


理解MAML:Model-Agnostic Meta-Learning for Fast Adaption of Deep Networks_第1张图片

 

你可能感兴趣的:(Few-shot,Learning,MAML,Few-shot,Learning)