理解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. 随机的初始化网络参数
2. 用 中的训练样本,步长 α 进行训练得到
3. 在上一步训练得到的 基础上用
的验证(query)集测试,得到
下的损失
4. 用所有 的
,meta步长
重新以
为初始参数进行训练,得到网络参数
,以这个
为初始参数进行测试步骤(以
替换
)。
【测试】:
在 的网络中,用task中的微调样本训练微调网络参数,然后在微调后的网络对测试样本进行测试,输出结果