当前位置:   article > 正文

一文通俗讲解元学习(Meta-Learning)

元学习

ea5d9f698972714b23926f3fa914928d.gif

©PaperWeekly 原创 · 作者 | 孙裕道

学校 | 北京邮电大学博士生

研究方向 | GAN图像生成、情绪对抗样本生成

元学习(meta-learning)是过去几年最火爆的学习方法之一,各式各样的 paper 都是基于元学习展开的。深度学习模型训练模型特别吃计算硬件,尤其是人为调超参数时候,更需要大量的计算。另一个头疼的问题是在某个任务下大量数据训练的模型,切换到另一个任务后,模型就需要重新训练,这样非常耗时耗力。工业界财大气粗有大量的 GPU 可以承担起这样的计算成本,但是学术界因为经费有限经不起这样的消耗。元学习可以有效的缓解大量调参和任务切换模型重新训练带来的计算成本问题。

f4cf1856edf31996b8012e11d58885b1.png

元学习介绍

元学习希望使得模型获取一种学会学习调参的能力,使其可以在获取已有知识的基础上快速学习新的任务。机器学习是先人为调参,之后直接训练特定任务下深度模型。元学习则是先通过其它的任务训练出一个较好的超参数,然后再对特定任务进行训练。

2d22bae103b632450424415621138f47.png

在机器学习中,训练单位是样本数据,通过数据来对模型进行优化;数据可以分为训练集、测试集和验证集。在元学习中,训练单位是任务,一般有两个任务分别是训练任务(Train Tasks)亦称跨任务(Across Tasks)和测试任务(Test Task)亦称单任务(Within Task)。训练任务要准备许多子任务来进行学习,目的是学习出一个较好的超参数,测试任务是利用训练任务学习出的超参数对特定任务进行训练。训练任务中的每个任务的数据分为 Support set 和 Query set;Test Task 中数据分为训练集和测试集。

令 表示需要设置的超参数, 表示神经网络待训练的参数。元学习的目的就是让函数 在训练任务中自动训练出 ,再利用 这个先验知识在测试任务中训练出特定任务下模型 中的参数 ,如下所示的依赖关系:

d6c29acacfb319ff1d02f4673c0fd6f2.png

当训练一个神经网络的时候,具体一般步骤有,预处理数据集 ,选择网络结构 ,设置超参数 ,初始化参数 ,选择优化器 ,定义损失函数 ,梯度下降更新参数 。具体步骤如下图所示:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/679408
推荐阅读
相关标签
  

闽ICP备14008679号