PMLR 2017 Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks


遗留问题

  1. pre-train为什么只走一步?pre-train也走两步,不就是reptile?
    tianyu的解释:pre-train只能走一步吧 他只是在一个大的数据集上预训练 本质上就是个train 怎么走两步

  2. 如何理解MAML、Reptile、Pre-train走一步,走两步?


参考

论文
代码
Meta Learning 入门:MAML 和 Reptile
fine tuning
MAML toy example


Motivation

学习一个网络初始化参数,能够快速泛化到新任务上。
PMLR 2017 Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks


Method

PMLR 2017 Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks
α\alpha是base-learner的学习率;β\beta是meta-learner的学习率。

  1. 随机初始化元学习参数θ\theta
  2. while循环迭代
  3.   采样一个批次的任务Ti\mathcal T_i
  4.   对于每一个采样任务
  5.     计算K个训练样本下,任务Ti\mathcal T_i的梯度
  6.     用θ\theta初始化网络参数,然后用梯度下降法更新base-learner参数为θ\theta'
  7.   对于每一个采样任务
  8.   计算所有任务测试集上的损失,根据梯度下降更新meta-learner的参数θ\theta
  9. 结束循环

PMLR 2017 Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks
PMLR 2017 Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks


Experiment

PMLR 2017 Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks

PMLR 2017 Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks

PMLR 2017 Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks
PMLR 2017 Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks
PMLR 2017 Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks


分析

MAML只是学习一个初始化参数,限制是所有任务使用同样的网络结构和更新规则。
MAML用的网络是浅层网络,为了不在小样本上过拟合。