【元学习meta-learning】通俗易懂讲解元学习以及与监督学习的区别

简介: 本文通过通俗易懂的方式解释了元学习(Meta-learning)的概念及其与传统监督学习的区别,并通过实例说明了元学习是如何让模型具备快速学习新任务的能力。

1 引言

人工智能技术有机器学习、深度学习、强化学习、元学习。元学习是其实是深度学习上的一个发展,为了解决小样本问题的,注意这是有区别机器学习和深度学习中的有监督学习的。
接下来举例来讲解Meta-learning是什么?怎么做?以及和机器学习或深度学习中的监督学习的区别

2 提出问题

请问:假设你有见过右边图片的动物是什么,现在给出左边四张图片,你能右边图片是什么动物吗?

1.png

毫无疑问,答案是穿山甲。因为我们都知道左边图片给出了穿山甲的图片以及名字。这就一个小样本学习的例子。仔细思考在这个过程中,我们自己的大脑做的工作是对比图片,找出最类似的图片,就是哪种动物。那如果用计算机去做这件事,就叫meta-learning。但是如果用机器学习的有监督学习的神经网络去做,那就需要大量的图片去训练,模型才能识别出图片中动物是什么。但这只有四张图片,是不可能训练处一个神经网络的。这就是与监督学习的一个最大的区别。

3 Few-shot learning小样本学习

在介绍Meta-learning之前,从简单例子入手。Few-shot learning意思是小样本学习,是Meta-learning中的一种。其中提供参考的图片集合叫Support Set。是在做预测的时候提供的额外信息。
小样本学习的目标不是让机器学习去识别数据集里的图片,而是让机器学习去学会区分事物之间的异同。简单来说,就是让机器学习出来的模型判断两张图片是不是同一种东西。

2.png

4 Meta-learning元学习

Meta-learning元学习(learn to learn),是指通过训练集去训练出一个有学习能力的函数或模型。举个例子,比如下朋友从来没有见过这种动物,但是他是有学习能力的,是有区分动物的能力,能够判断不同事物之间的异同。当给他一堆卡片,他就能识别出,当前的动物是对应图片里的哪种动物。

3.png

其中这一堆卡片就是Support set,教小朋友区分不同的动物,就是learn to learn,即Meta-learning。教小朋友学习的过程就是模型训练的过程。

4.png

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)}

5.png

在测试的时候,提供一个support set ,用上面机器学习学习到的相似度函数,分别计算图片与Support Set中每一张图片的相似度,以相似度最高的做出类别的输出。这就是整个Meta-learning的过程。

6.png

6 传统监督学习与小样本学习的区别

(1)在传统的监督学习中
为了识别右边的图片是什么,训练集中必须要有同类别成百上千张的图片数据。才能准确识别。

7.png

(2)在小样本学习中
如下所示,在训练集中是没有兔子类别的。这个数据集只是用来学习区分辨别能力的。

8.png

然后在预测的时候,用这个能力去Support set中去找出类似的图片,作为分类的结果

9.png

7 Meta-learning中相关概念

(1)在Support set中有两个变量
• k:k表示Support Set的总共类别
• n:表示每个类别的样本数
比如以下是有4个类别,每个类别有两个样本,称为4-way,2-shot

10.png

在分类任务中,准确率会受k,n两个变量影响,随着K的增大,准确率下降,因为,区分难度变大了。类似于给小男孩100张卡片,让他找出动物园看的某个动物,宝宝就不会做了或者出错概率大了。
随着n的增大,准确率上升,因为参考的资料更过了。

参考资料
Meta Learning(元学习)-Bilibili

目录
相关文章
|
机器学习/深度学习 编解码 算法
DL之DeepLabv2:DeepLab v2算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
DL之DeepLabv2:DeepLab v2算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
DL之DeepLabv2:DeepLab v2算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
|
6月前
|
机器学习/深度学习 算法 Python
使用Python实现深度学习模型:元学习与模型无关优化(MAML)
使用Python实现深度学习模型:元学习与模型无关优化(MAML)
389 0
使用Python实现深度学习模型:元学习与模型无关优化(MAML)
|
2月前
|
机器学习/深度学习 PyTorch 算法框架/工具
深度学习入门案例:运用神经网络实现价格分类
深度学习入门案例:运用神经网络实现价格分类
|
机器学习/深度学习 人工智能 算法
深度学习应用篇-元学习[14]:基于优化的元学习-MAML模型、LEO模型、Reptile模型
深度学习应用篇-元学习[14]:基于优化的元学习-MAML模型、LEO模型、Reptile模型
深度学习应用篇-元学习[14]:基于优化的元学习-MAML模型、LEO模型、Reptile模型
|
机器学习/深度学习 人工智能 移动开发
深度学习应用篇-元学习[13]:元学习概念、学习期、工作原理、模型分类等
深度学习应用篇-元学习[13]:元学习概念、学习期、工作原理、模型分类等
深度学习应用篇-元学习[13]:元学习概念、学习期、工作原理、模型分类等
|
机器学习/深度学习 人工智能 资源调度
深度学习应用篇-元学习[16]:基于模型的元学习-Learning to Learn优化策略、Meta-Learner LSTM
深度学习应用篇-元学习[16]:基于模型的元学习-Learning to Learn优化策略、Meta-Learner LSTM
深度学习应用篇-元学习[16]:基于模型的元学习-Learning to Learn优化策略、Meta-Learner LSTM
ML之GB:GB算法相关论文、相关思路、关键步骤、代码实现、配图集合、案例应用之详细攻略(一)
ML之GB:GB算法相关论文、相关思路、关键步骤、代码实现、配图集合、案例应用之详细攻略
ML之GB:GB算法相关论文、相关思路、关键步骤、代码实现、配图集合、案例应用之详细攻略(一)
|
机器学习/深度学习 算法 数据挖掘
DL之Xception:Xception算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
DL之Xception:Xception算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
DL之Xception:Xception算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
|
机器学习/深度学习 算法 数据挖掘
DL之ResNet:ResNet算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
DL之ResNet:ResNet算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
DL之ResNet:ResNet算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
|
算法 数据挖掘 计算机视觉
DL之MobileNetV2:MobileNetV2算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
DL之MobileNetV2:MobileNetV2算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
DL之MobileNetV2:MobileNetV2算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略