元学习(Meta-learning):一种让机器快速学习的新方法
元学习(Meta-learning):一种让机器快速学习的新方法
元学习(Meta-learning)是人工智能领域的一个重要研究方向,它解决了传统机器学习中需要大量标注数据才能进行有效学习的问题。本文将通过生动的案例和详细的解释,帮助读者理解元学习的核心概念及其与传统监督学习的区别。
1 引言
人工智能技术包括机器学习、深度学习、强化学习和元学习。元学习是深度学习的一个重要发展方向,主要用于解决小样本学习问题,与传统的监督学习和深度学习有本质区别。
接下来,我们通过一个具体的例子来讲解Meta-learning是什么、怎么做,以及它与机器学习或深度学习中的监督学习的区别。
2 提出问题
假设你见过右边图片中的动物,现在给出左边四张图片,你能判断右边图片是什么动物吗?
毫无疑问,答案是穿山甲。因为我们都知道左边图片给出了穿山甲的图片以及名字。这是一个小样本学习的例子。仔细思考在这个过程中,我们自己的大脑做的工作是对比图片,找出最类似的图片,从而判断是什么动物。如果用计算机去做这件事,就叫meta-learning。但如果用传统的监督学习方法,就需要大量的图片去训练模型,才能识别出图片中动物是什么。而这只有四张图片,显然无法训练出一个有效的神经网络。这就是与监督学习的一个最大区别。
3 Few-shot learning小样本学习
在介绍Meta-learning之前,我们先从一个简单例子入手。Few-shot learning意思是小样本学习,是Meta-learning中的一种。其中提供参考的图片集合叫Support Set。是在做预测的时候提供的额外信息。
小样本学习的目标不是让机器学习去识别数据集里的图片,而是让机器学习去学会区分事物之间的异同。简单来说,就是让机器学习出来的模型判断两张图片是不是同一种东西。
4 Meta-learning元学习
Meta-learning元学习(learn to learn),是指通过训练集去训练出一个有学习能力的函数或模型。举个例子,比如一个朋友从来没有见过某种动物,但是他是有学习能力的,是有区分动物的能力,能够判断不同事物之间的异同。当给他一堆卡片,他就能识别出,当前的动物是对应图片里的哪种动物。
其中这一堆卡片就是Support set,教小朋友区分不同的动物,就是learn to learn,即Meta-learning。教小朋友学习的过程就是模型训练的过程。
5 如何通过机器学习学习出区分不同事物的能力?
就是如何教小男孩去学会去区分不同的动物?答:让机器学习学习出一个相似度函数。
如果给出以下三张图片作为数据集,那机器学习去做的事情就是去学习出一个相似度函数Sim,在以下图片中表示Sim(x1,X2)=1,Sim(x1,X3)=0,Sim(x2,X3)=0.那训练集就是{(Sim(x1,X2),1),(Sim(x1,X3),0),(SIm(X2,X3),0)}
在测试的时候,提供一个support set ,用上面机器学习学习到的相似度函数,分别计算图片与Support Set中每一张图片的相似度,以相似度最高的做出类别的输出。这就是整个Meta-learning的过程。
6 传统监督学习与小样本学习的区别
(1)在传统的监督学习中
为了识别右边的图片是什么,训练集中必须要有同类别成百上千张的图片数据。才能准确识别。
(2)在小样本学习中
如下所示,在训练集中是没有兔子类别的。这个数据集只是用来学习区分辨别能力的。
然后在预测的时候,用这个能力去Support set中去找出类似的图片,作为分类的结果
7 Meta-learning中相关概念
(1)在Support set中有两个变量
• k:k表示Support Set的总共类别
• n:表示每个类别的样本数
比如以下是有4个类别,每个类别有两个样本,称为4-way,2-shot
在分类任务中,准确率会受k,n两个变量影响,随着K的增大,准确率下降,因为,区分难度变大了。类似于给小男孩100张卡片,让他找出动物园看的某个动物,宝宝就不会做了或者出错概率大了。
随着n的增大,准确率上升,因为参考的资料更过了。
参考资料
•Meta Learning(元学习)-Bilibili