这是一篇介绍MAML的老文章了,2017年写的。
元学习是一种用于模型预训练的方法,这篇文章介绍的MAML(Model-Agnostic Meta-Learning)在不增加模型体量和样本数的情况下在few-shot learning里取得了优于传统预训练方法的结果(回归问题成效明显,分类问题一般,见下文贴图)。
MAML最大的特征是它的训练集是a set of tasks,就是它将task作为了training example。
这张图详细解释了MAML算法的工作流程,p(T)可以理解成该算法所使用的训练集,可以看到,在line 4-7,该算法先针对batch中的每一个任务单独做了一遍gradient descent,并记录了更新后的参数(注意,在此时并没有对主模型进行更新,可以理解为对于每一个单独的任务,单独为其复制了一个模型,并在这个模型上进行梯度下降并更新参数,主模型参数不变)。在line8再针对主模型的参数进行梯度下降,有一点很有意思,在针对主模型进行梯度下降时,计算的是每个独立任务模型更新后的参数的梯度,这一步也是元学习和传统预训练模型有区别的地方,从直观上理解就是更注重模型未来的“潜力”。
效果分析:
1.回归
红线是ground truth,蓝三角是训练样本,绿线是MAML训练效果,蓝线是预训练模型的效果。可以看到在回归分析中MAML确实优势很大
2. 分类
分类算法效果只能说一般
指路:
原文章: https://arxiv.org/abs/1703.03400
一篇很好的分析:一文入门元学习(Meta-Learning)(附代码) - 知乎
PS:这是我的第一篇博客啦,博主是刚入学的博士,目前主要在研究漂移检测(drift detection),之所以先写了一篇元学习呢,是因为我之前看到了一篇将元学习和漂移检测结合起来的文章,他做的效果还挺不错的,但是那篇文章总是看了忘看了忘,于是就打算用博客把读过的文章记录下来,如果有人看最好,哪怕没人看也能做个备份。