Few-shot Learning(少样本学习)是Meta Learning(元学习)中的一个实例1,所以在了解什么是Few-shot Learning之前有必要对Meta Learning有一个简单的认识。不过在了解什么是Meta Learning之前还是要了解一下什么是Meta。因此,阅读本文后你将对如下知识有一个初步的了解。
- What is Meta
- What is Meta Learning
- What is Few-shot Learning
1. What is Meta?
meta就是描述数据的数据。
比如照片,我们看到的是它呈现出来的数据, 即Data,但它还含有许多描述它拍摄参数的数据,比如光圈、快门速度、相机品牌等,即Meta。
对于一片博客而言,博客内容就是Data,博客的网址,标题,作者信息等就是Meta 2。
2. What is Meta Learning?
机器学习模型一般要求训练集样本量足够大,才能取得不错的预测效果。但对于人来说却不需要,对于一个从没有见过小猫和小狗的小朋友来说,给他几张照片他就能轻松的学会如何分辨两只动物。如果一个人已经掌握了如何骑自信车,那么学习如何骑摩托车对他来说会非常轻松。我们能否设计一个模型,让模型仅从一点点训练样本就能学会新的“知识”呢?即让模型“自己学会去学习”1。
举个简单的例子,一个小朋友去动物园,里面有些动物他没有见过所以不知道叫什么名字,然后你给他一些小卡片,卡片上有各个动物的照片和名称,小朋友就可以自己学习,从这些卡片中找出这些动物的名字。这里的未知动物叫做query,小卡片叫做support set。培养小朋友从小卡片中自主学习就叫做meta learning3。如果一个类别的小卡片只有一张,那么就叫做one-shot learning。
Meta learning是一种学习其它机器学习任务输出的机器学习算法(有一点绕,不过理解了meta data理解meta learning就会相对容易一些)。
Machine learning algorithm从历史数据中学习知识,然后泛化到新的数据样本中。
- Learning Algorithm: Learn from historical data and make predictions given new examples of data.
而meta learning是从其它学习算法(learning algorithm)的输出中学习,这就要求其它学习算法以及被预训练过。即meta learning算法将其它机器学习算法的输出作为输入,然后进行回归和分类预测。
- Meta Learning Algorithm: Learn from the output of learning algorithms and make a prediction given predictions made by other models.
如果说machine learning是如果使用信息做出更好的预测,那么meta learning就是利用machine learning的预测作出最好的预测3