如果觉得我的算法分享对你有帮助,欢迎关注我的微信公众号“ 圆圆的算法笔记”,更多算法笔记和世间万物的学习记录~更多干货都在“ 圆圆的算法笔记”~
Meta-learning可以理解为一种求解问题的工具,下面举一个例子,通俗的说明meta-learning的作用。在正常的machine learning中,需要将数据集分成trainset和testset,模型在trainset上进行训练,在testset上评测效果。但是,在trainset上的训练过程可能导致过拟合,进而引起在testset上效果较差。如何才能设计一种面向testset上效果的训练方法呢?Meta-learning就能达到这个目的。Meta-learning直接评测在trainset训练几轮后的模型在testset上的效果,再使用这个效果作为信号计算并回传梯度,指导模型更新。Meta-learning的learn to learn,相比传统的机器学习,进行了一个两层的优化,第一层在trainset上训练,第二层在testset上评测效果。
本文首先从不同角度介绍对meta-learning的理解,然后进一步介绍meta-learning的典型模型MAML的原理。在此基础上,介绍了5篇近3年的顶会的论文,从3个角度揭示了meta-learning在学术界的优化方向。
1. Meta-learning的不同角度解释
本小节从不同角度理解meta-learning,相关资料可以参考这篇meta-learning的survey,介绍的比较全面:Meta-Learning in Neural Networks: A Survey(2020)。下图给出了论文中对于meta-learning的详细分类。
Meta-learning经常被理解为learn to learn,可以分为两个阶段:内循环和外循环。内循环阶段,模型利用训练样本拟合某个特定任务;在外循环阶段,对外循环的某个目标函数进行优化。内循环和外循环迭代交替进行。在上一节的例子中,在trainset上训练就可以理解为内循环,而评估testset上的效果并以此为信号更新网络参数则可以理解为外循环。内循环的优化目标是trainset的效果,即模型的拟合能力,外循环的优化目标是testset的效果,即模型的泛化能力,也可以理解为外循环以泛化能力作为优化目标。对于meta-learning,从不同的视角也有不同的解释