【机器学习】Meta-Learning(元学习)_meta learning-程序员宅基地

技术标签: 机器学习  人工智能  


What is Meta-learning doing?

元学习Meta Learning,含义为学会学习,即learn to learn,带着对人类的“学习能力”的期望诞生的。Meta Learning希望使得模型获取一种 “学会学习” 的能力,使其可以在获取已有“知识”的基础上快速学习新的任务。

在了解什么是Meta Learning之前还是要了解一下什么是Meta。


What is Meta?

meta就是描述数据的数据。

比如照片,我们看到的是它呈现出来的数据, 即Data,但它还含有许多描述它拍摄参数的数据,比如光圈、快门速度、相机品牌等,即Meta。
在这里插入图片描述
对于一片博客而言,博客内容就是Data,博客的网址,标题,作者信息等就是Meta。
在这里插入图片描述


Motivation of Meta-learning

传统的机器学习方法是针对一个特定的,一般是有大量数据的数据集 ,试图学习出一个预测模型 ,使得模型对于测试集上的数据的预测有最小的误差。这个思路在数据集 D 有大量可得数据的情况下是行得通的。然而事实上在很多情况下,有的数据集数据量非常少,我们很难在上面直接训练出来一个有用的机器学习模型。那么这个问题如何解决呢?

也就是说,机器学习模型一般要求训练集样本量足够大,才能取得不错的预测效果。但对于人来说却不需要,对于一个从没有见过小猫和小狗的小朋友来说,给他几张照片他就能轻松的学会如何分辨两只动物。如果一个人已经掌握了如何骑自信车,那么学习如何骑摩托车对他来说会非常轻松。我们能否设计一个模型,让模型仅从一点点训练样本就能学会新的“知识”呢?即让模型“自己学会去学习”。

展开解释:从人类学习分类物体的过程来看,人类认识新的物体并不需要很多的样本作为支撑,这从某些角度说明人类在学习一个新任务的时候,比机器学习模型拥有更多的先验知识。比如说,我小的时候知道了书本是方的,杯子是圆的,那么我不光知道了如何分类书本和杯子,我还同时建立了这么一个概念:“形状不同的物体很可能不是同一类物体”。同理我有很多其它的知识,比如”颜色不同,物体不同“,”查克拉不同,物体不同“。这些知识归结起来,可以认为是规定了我 “如何去学习一个新知识” 的方法。所以很多年以后我再看到鼠标和键盘的时候,我不需要见识特别多的键盘和鼠标,只要根据以往的经验,看看颜色,看看形状,识别一下查克拉,我发现根据形状能很轻易地判断鼠标和键盘,于是我就很快知道了该如何区分这两者。所以有的人就这么想:虽然我要做的这个数据集数据很少,但是我有很多其它数据很多的数据集呀。如果模型可以先在其它数据比较多的数据集上学到这些有关“该如何学习新的知识”的先验知识,由此让模型先学会“如何快速学习一个新的知识”,岂不美哉?到这里差不多就是meta-learning的motivation了。

举个简单的例子,一个小朋友去动物园,里面有些动物他没有见过所以不知道叫什么名字,然后你给他一些小卡片,卡片上有各个动物的照片和名称,小朋友就可以自己学习,从这些卡片中找出这些动物的名字。这里的未知动物叫做query,小卡片叫做support set。培养小朋友从小卡片中自主学习就叫做meta learning。如果一个类别的小卡片只有一张,那么就叫做one-shot learning。
在这里插入图片描述


Comparison between Machine learning and Meta-learning

  • 机器学习:通过训练数据,在输入 X 与输出 Y 之间找到映射函数 f 。

  • 通过很多训练任务 T 及对应的训练数据 D ,找到函数F。F可以输出一个函数 f ,f 可用于新的任务。
    也就是说,函数 F 可以找到新任务所适合的映射函数 f 。而原学习的任务就是找到这个会学习的函数 F 。
    在这里插入图片描述
    在机器学习中,训练单位是一条数据,通过数据来对模型进行优化;数据可以分为训练集、测试集和验证集。
    在元学习中,训练单位分层级了,第一层训练单位是任务,也就是说,元学习中要准备许多任务来进行学习,第二层训练单位才是每个任务对应的数据。

    也就是说,Meta learning是一种学习其它机器学习任务输出的机器学习算法。

    Machine learning algorithm从历史数据中学习知识,然后泛化到新的数据样本中。

    而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的预测作出最好的预测。


How to realize Meta-learning?

首先我们先来明确一下meta-learning的目标:从多个给定的数据丰富的数据集捕捉跨数据集的总体信息(颜色,形状和查克拉很重要),从而当我们有一个新的数据较少的数据集时,可以根据其特征( 比如根据数据集的特征来看,可能得出内的分类和形状比较相关)。来利用这些从其它数据集学到的先验知识来做出判断。

然后根据解决方案的建模方法不同,meta-learning可以分为两种思路:

在这里插入图片描述


Reference

  1. 一文入门元学习(Meta-Learning)(附代码)
  2. 知乎:作者SleepyBag
  3. 一位学有余力的同学:什么是Few-shot Learning
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44211968/article/details/121313918

智能推荐

C++数字图像处理篇之图像加马赛克_mfc马赛克-程序员宅基地

文章浏览阅读5.4k次,点赞4次,收藏15次。马赛克是一种广为使用的图像处理手段,它是将影像特定区域的色阶细节劣化并造成色块打乱的效果。这种模糊看样子像一个个小格子,所以被称为马赛克。马赛克主要的目的就是使图像内容无法辨认,以保护特殊图像内容。这样的例子我们经常遇到,例如在新闻中保护当事人的隐私。图像加马赛克类似与图像重采样。我们在实验中采用的算法就是比较简单的加马赛克的算法,就是按固定间隔取像素点,将图片分割成一些嗯小块,每个小块的灰度..._mfc马赛克

Linux>命令参数介绍_linux >> 参数-程序员宅基地

文章浏览阅读169次。ls 命令常用选项及功能ls命令的基本格式 ls [选项] 目录名称选项功能-a显示全部的文件,包括隐藏文件(开头为 . 的文件)也一起罗列出来,这是最常用的选项之一。-A显示全部的文件,连同隐藏文件,但不包括 . 与 … 这两个目录。-d仅列出目录本身,而不是列出目录内的文件数据。-fls 默认会以文件名排序,使用 -f 选项会直接列出结果..._linux >> 参数

以太网 知识-MII接口 RMII / SMII接口 MII / RGMII接口_mii/rmii怎么接两个phy-程序员宅基地

文章浏览阅读2w次。本文主要分析MII/RMII/SMII,以及GMII/RGMII/SGMII接口的信号定义,及相关知识,同时本文也对RJ-45接口进行了总结,分析了在10/100模式下和1000M模式下的设计方法。1. MII接口分析 MII接口提供了MAC与PHY之间、PHY与STA(Station Management)之间的互联技术,该接口支持10Mb/s与100Mb/s的数据传输速率,数据传输的位宽为4位。 提到MII,就有可能涉及到RS,PLS,STA等名词术语,下面讲一下他们之间对应的关系_mii/rmii怎么接两个phy

K210 图像识别 (加训练模型)_k210图像识别-程序员宅基地

文章浏览阅读3.4w次,点赞85次,收藏742次。以管理员的方式运行下载模式 高速改为低速模式_k210图像识别

解决Unity开启多个协程卡顿问题_unity 多个协程-程序员宅基地

文章浏览阅读3.1k次。Unity开启多个协程往往造成卡顿,因此需要每完成一个协程再新开启一个协程。for (int i = 0; i < result.result.Count; i++) { try { BaseStation responses = JsonMapper.ToObject<BaseStation>(JsonMapper.ToJson(result.result[i])); ..._unity 多个协程

spring+SpringMvc+Mybaits配置多个数据库_springmvc+mybatis配置多个数据库-程序员宅基地

文章浏览阅读410次。一、配置文件二、创建一个实体类,切换数据库三、切换数据库的代码_springmvc+mybatis配置多个数据库

随便推点

[MySQL] 查看正在执行的sql语句 show processlist_show processlist 能显示sql 语句吗-程序员宅基地

文章浏览阅读8.9k次。processlist命令的输出结果显示了有哪些线程在运行可以帮助识别出有问题的查询语句,两种方式使用这个命令。 1. 进入mysql/bin目录下输入mysql admin processlist; 2. 启动mysql,输入show processlist; 如果有SUPER权限,则可以看到全部的线程,否则,只能看到自己发起的线程(这是指,当前对应的MySQL帐户..._show processlist 能显示sql 语句吗

小学生学python到底能干什么-颤抖 | 小学生都开始学Python了,十年后你还有工作么?...-程序员宅基地

文章浏览阅读156次。原标题:颤抖 | 小学生都开始学Python了,十年后你还有工作么?今 日 摘 要AI火爆全球,Python技能需求达到174%!小学生已经开始学Python,还成为高考必备项目,十年后你还有工作么?今日活动:Python数据学习交流群进群福利:超过10万人下载的10本最火数据书籍+ 1000+Python高清教学视频+ Python数据分析工具书+ 名企导师专场AI & Python专场讲座德勤...

《鸟哥的Linux私房菜》第四版导学_好了a18第四-程序员宅基地

文章浏览阅读1.1w次。鸟哥的Linux私房菜0、计算机概论0.1、电脑:辅助人脑的好工具(什么是电脑?什么是计算机a3)0.1.1、电脑硬件的五大单元(电脑硬件大致可分为三个部分b3)(什么是CPU a4)(CPU主要的组成部分b4)(算术逻辑单元的功能c4)(控制单元的功能d4)(CPU读取的数据来源e4)(电脑硬件的五个组成部分f4)(数据在内存流动的基本知识g4)0.1.2、一切设计的起点:CPU架构(常见的两种CPU架构a5)(世界上使用最广的CPU b5)(常见的RISC指令集CPU c5)(常见的CISC指_好了a18第四

卡莱特led显示屏调试教程_卡莱特A接收卡调屏步骤-程序员宅基地

文章浏览阅读3.8k次。卡莱特5A接收卡调屏步骤卡莱特5A接收卡支持千兆网卡和发送卡两种发送方式,两种方式在5A接收卡的设置方面步骤相似,本文将讲述在千兆网卡发送条件下,5A接收卡的参数设置步骤。一、硬件连接1、发送卡连接图详见《卡莱特发送卡设备连接操作》2、千兆网卡连接图千兆网卡连接拓扑图千兆网卡硬件连接注意事项:a)电脑网卡必须是千兆网卡;b)电脑千兆网卡驱动必须安装正确;c)千兆网卡与5A接收卡、5A接收卡之间的网..._卡莱特指示灯

react Link跳转无效_React Native开发之react-navigation详解-程序员宅基地

文章浏览阅读299次。众所周知,在多页面应用程序中,页面的跳转是通过路由或导航器来实现的。在0.44版本之前,开发者可以直接使用官方提供的Navigator组件来实现页面的跳转,不过从0.44版本开始,Navigator被官方从react native的核心组件库中剥离出来,放到react-native-deprecated-custom-components的模块中。 如果开发者需要继续使用Navigator,则需要..._react navigate(-1) url不生效

python倒计时60,Python微项目分享之重要事件倒计时-程序员宅基地

文章浏览阅读109次。作者:JiawuZhang出品:JiawuLab(ID:jiawulab)微项目系列是JiawuLab原创栏目,每期选取一个自创项目或发现有趣的项目,进行代码、逻辑分析,达到python学习目的。大家好,我是JiawuZhang,本期微项目是——事件倒计时。项目介绍“11月11日0点0分0秒!”你是不是也在等着这个时间?看看电视,玩玩手机,刷刷购物车,只为等着这个时间到来。图片来自网络我老婆也是这..._python倒计时60秒

推荐文章

热门文章

相关标签