元学习系列(零):小样本学习与元学习综述

最近几周一直在看meta learning的模型,从最初的小样本学习模型开始看到最近的MAML各种改进版本,算是有了一点初步的了解,这次就主要介绍一下,什么是小样本学习,什么是元学习,以及在这个领域有哪些经典的值得学习的模型。

首先是小样本学习,按照字面意思,可以理解成在样本量较少的情况下的深度学习。以前也多次提到,其实在样本量较少的时候,往往深度学习模型会过拟合,所以一般不使用深度学习的模型,而小样本学习就是研究如何克服或者缓解这个问题而提出的。

样本量少的话,还用深层神经网络的话,就会导致参数量比训练数据还要多,那还训练什么,这就是以前我们认为样本量少的时候神经网络失效的一个原因。但是有人提出,对人类来说,如果你教一个小孩子什么是斑马,给他看几张照片,他下次就很可能辨认出斑马了,既然人能做到,计算机也应该能做到,那么到底计算机缺少了什么呢,答案就是先验知识。

小孩子能快速学会什么是斑马,是因为他知道什么是马,什么是斑马线,所以他一下子就能把这两者结合起来,认为如果一只马身上有斑马线那样的纹路,它就是斑马,可是普通的深度学习模型的算法中并没有体验出这种对先验知识的利用,只是通过大量的数据进行学习什么是斑马,所以小样本学习就从对先验知识的利用出发,构建全新的神经网络。

说完了小样本学习,再说说元学习,网上有些资料说元学习可以理解成学会学习,可以经过少数几次梯度下降,模型就达到较好的效果,我们从另一个角度来看,只经过少数几次梯度下降,和没有什么训练数据,只能在有限的训练次数中达到较好的效果是不是一个意思,所以我更偏向于认为这两者说的都是一个东西,当然一般来说元学习说的是MAML那些模型,但是为了方便理解,还是把这两者看成同一个东西吧。

然后我们来看看具体的模型,对先验知识的利用我认为可以看成有三个方向,第一个方向是把训练数据看成先验知识进行利用,第二个方向是构建外部记忆,在记忆中引入先验知识,第三个方向是在模型的初始化参数引入先验知识。(也有一说是base-model和model agnostic,前两者我认为是base-model,最后是model agnostic)

接下来我们用分类任务作为例子,看看模型是如何应用的。首先是把训练数据看成先验知识,最初的模型是孪生网络,主要思路就是把测试数据和训练数据一个个对比,看和谁最接近就完成分类,这样效率就很低了,所以就有了原型网络,找出训练数据不同类别的特征向量中心,称为原型,把测试数据和原型对比分析分类。

除此之外,还有匹配网络和关系网络,都是从不同的角度基于训练数据对测试数据进行分析。在这里你可能会想,难道我们以前就没有利用训练数据吗,我的理解是以前我们用训练数据来训练模型,所以先验知识融入到模型的参数中,而现在我们在模型的输入(孪生网络需要输入两个数据)和分析过程中引入了训练数据,就更直接地利用了训练数据辅助判断分析。

第二种思路是构建外部记忆,其实就是最经典的LSTM、GRU、神经图灵机这些模型,虽然一开始我们构建这些模型是为了改善RNN的长期依赖问题,后来发现引入的记忆矩阵有点像人类的记忆机制,所以就在小样本学习这里派上用场了。

最后一种思路就是最经典的从初始化参数入手,最经典的模型就是MAML,个人认为这是元学习最最经典的模型,值得深入学习,大概思路是什么呢,就是训练模型,使得它在各种任务都能取得较好的效果,然后再针对我们特定的任务进行fine tuning,比如我们现在希望训练一个识别海豚的分类器,然后刚好我们的海豚数据又很少,我们就可以把其他差不多样子的鱼的数据,比如三文鱼、鲸鱼等等,让分类器每次训练都进行不同的任务,比如这次训练如何识别三文鱼,下次识别鲸鱼,有时候也学习识别一下海豚,加强它的泛化能力,最后再集中学习如何识别海豚,这个算法的思路有点复杂,详情可看本人的另一篇文章。

总的来说,小样本学习和元学习也算比较新的方向,目前发展前景不错,可以和很多方向结合起来,研究还不算很多,也是一个水论文的新方向。

不知道这样说能不能大概介绍清楚这个方向的内容,如果各位有了解的地方也欢迎交流。

在github写的自然语言处理入门教程,持续更新:NLPBeginner

在github写的机器学习入门教程,持续更新:MachineLearningModels

想浏览更多关于数学、机器学习、深度学习的内容,可浏览本人博客

  • 19
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值