本文介绍一篇来自 https://www.analyticsvidhya.com/ 关于少样本学习的的博客。
原文地址

文章目录

  • 1. 少样本学习
    • 1.1 为什么要有少样本学习?什么是少样本学习?
    • 1.2 元学习和传统有监督学习的区别是什么?
    • 1.3 一个小例子
    • 1.4 再回来看少样本学习——从`support set`到`query`
  • 2. 少样本学习预测的准确率
  • 3. 少样本学习的应用
  • 4. 少样本学习的数据集
  • 5. 我对少样本学习的一些思考

1. 少样本学习

1.1 为什么要有少样本学习?什么是少样本学习?

套用原博客中的原话,即:

Few-shot learning is the problem of making predictions based on a limited number of samples.
The goal of few-shot learning is not to let the model recognize the images in the training set and then generalize to the test set. Instead, the goal is to learn.

简单说,就是很多场景样本数量很小,无法做传统的有监督学习,就需要少样本学习。而少样本学习是一种元学习(meta-learning),它的目标是去学习如何学习(learn to learn)。如何理解learn to learn?请看下面的解释。

1.2 元学习和传统有监督学习的区别是什么?

理解元学习,关键要理解支持集(support set)这一概念。support set中每个类别的样本数量很小,无法像有监督学习中的训练集(training set)那样每个类别中样本数量足够大能够训练神经网络。

维基百科中对于元学习有这样一句非常精辟的总结:
Meta learning can be defined as an awareness and understanding of the phenomenon of learning itself as opposed to subject knowledge.

原文博客里是这么说的:
We do not train a big model using a big training set. Rather than training the model to recognize specific objects such as tigers and elephants in the training set, we train the model to know the similarity and differences between objects.

体会这两段话,元学习强调 “自己去学习,而非从大量的数据样本中直接获取知识”,它的意义是去学习不同类别之间的相似度和差异性。请看下面的例子以更加形象的比较两者的区别。

1.3 一个小例子

举一个关于元学习简单的例子(原文博客中提到的),让一个小孩子(kid)去动物园,水中(water)躺着一个之前从未见过(unseen)的动物。给他几张卡片(card),每张卡片上是动物的图片和名字,卡片上的动物也都是孩子没有见过(unseen)的。然后让他自己去学习,根据卡片与水中动物的相似性(similarity)去判断这个动物是什么。这就是元学习

而传统的有监督学习可以这样认为(我的理解),让孩子每周去不同的动物园看动物,一周内在同一个动物园每天看。三个月后,将孩子领到一个陌生的动物园(园内所有的动物之前都见过),让孩子去说各个动物是什么。

1.4 再回来看少样本学习——从support setquery

先总结几个很重要的术语:support setqueryk-wayn-shot
在这个例子里:

  • 卡片(card)里的动物就是support set,用于模型的训练
  • 水(water)里的动物就是query,用于模型的测试
  • k-way表示support set里有k个类别,即卡片(cards)里包含了几种动物
  • n-shot表示每个类别里有n个样本,即卡片(cards)里展示同一种动物的卡片数量
  • support set的规格就被称为k-way and n-shot

在我们的例子中,孩子被每种动物给一张卡片,在这种情况下,这种 “learn to learn by
himself” 的元学习就具象化为one-shot learning,即n-shotn=1时的少样本学习。
少样本学习的基本思想是通过训练得到一个function,以能够预测不同类别之间的相似性(similarity)。 以上面两张图片的例子来说,querysupport set中四个类别的相似度得分/概率我们粗略量化为0.6(猫)、0.4(猴子)、0.2(狮子)、0.9(狗),于是最后预测的结果就是狗。

2. 少样本学习预测的准确率

少样本学习预测的准确率依赖于 support set 中的wayshot的数目,显然这两者越大,最后预测的准确率越大。

3. 少样本学习的应用

少样本学习作为一个专门的机器学习分支,其应用非常广泛:

  • 计算机视觉:文字识别、图像识别、图像分类
  • 自然语言处理方面:机器翻译、文本分类、情感分析
  • 机器人学:用少量训练集训练机器人

4. 少样本学习的数据集

原文博客中推荐了两个数据集供学习少样本学习:

  • Omniglot 手写数据集,请点击链接跳转
  • Mini-ImageNet 数据集,请点击链接跳转

关于对于两个数据集的分析和运行结果,我会之后在专门写另一篇博客,本篇暂不列出。

5. 我对少样本学习的一些思考

回顾我们从小到大的学习成长经历,我们的学习能力不是一成不变的;我们生命的初期,对这个世界的规则所知甚少,这时就需要像有监督学习一样接触大量的样本,才能提炼出其中的知识。在对世界的基本规则有了逐渐深刻的理解了之后,我们的学习能力有了极大的提高,那么在应对一些问题的时候,我们会基于我们脑海中最基本的规则做出判断,尽管这类问题我们之前并没有遇到过,这时实际上就是少样本学习的一种模式。
少样本学习似乎很高效,但是没有足够的学习能力、足够的背景知识与面临的问题相匹配,我们也无法从“少样本”中学习,去举一反三。就像我们进入一个新的领域,纵使在之前的领域我们已经有了很强的、泛化的学习能力,但是由于缺乏足够的新领域的基础知识,我们仍然到处碰壁。这时候有监督学习再次成为了我们学习模式的主要战斗力。
我们当前对于深度学习、机器学习背后的原理仍然所知甚少,但是这些最基本、最经典的机器学习,我们都可以从我们自己的身上找到它们的影子。大道至简,很多创新的、经典的idea实际上都简单又完美。在学习这些idea的时候也帮助我们认识自我、激发我们新的思考,这也是除了学习到idea本身最关键的一点,也是我们不受时空的限制,与前辈、与先驱者交流的一次机会、一种方式。共勉!

本篇博客到这里就结束了。才疏学浅,恐有疏漏和错误。欢迎大家批评指正和交流。本文基于原文博客加入了自己的理解,本文顶部贴出了原文地址,供大家学习。谢谢!

Few-shot learning(少样本学习,入门篇)相关推荐

  1. Few-shot learning 少样本学习

    N-way K-shot用来衡量网络泛化能力,但小样本在实际应用中并不是很好. 背景 深度学习已经广泛应用于各个领域,解决各类问题,在图像分类的问题下,可以很轻松的达到94%之上.然而,deep le ...

  2. DeepLearning | Zero shot learning 零样本学习AWA2 图像数据集预处理

    因为有打算想要写一组关于零样本学习算法的博客,需要用到AWA2数据集作为demo演示 之前想只展示算法部分的代码就好了,但是如果只展示算法部分的代码可能不方便初学者复现,所以这里把我数据预处理的方法也 ...

  3. DeepLearning | Zero Shot Learning 零样本学习(扩展内容、模型、数据集)

    之前写过一篇关于零样本学习的博客,当时写的比较浅.后来导师让我弄个ppt去给本科生做一个关于Zero Shot Learning 的报告,我重新总结了一下,添加了一些新的内容,讲课的效果应该还不错,这 ...

  4. 少样本学习原理快速入门,并翻译《Free Lunch for Few-Shot Learning: Distribution Calibration》

    ICLR2021 Oral<Free Lunch for Few-Shot Learning: Distribution Calibration> 利用一个样本估计类别数据分布 9行代码提 ...

  5. 【机器学习】Few-shot learning(少样本学习)

    文章目录 少样本学习的诞生 元学习 少样本学习 少样本学习中的相关概念 概念1:Support set VS training set 概念2:Supervised learning VS few-s ...

  6. 【转载】Few-shot learning(少样本学习)和 Meta-learning(元学习)概述

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/weixin_37589575/arti ...

  7. Few-shot learning(少样本学习)和 Meta-learning(元学习)概述

    目录 (一)Few-shot learning(少样本学习) 1. 问题定义 2. 解决方法 2.1 数据增强和正则化 2.2 Meta-learning(元学习) (二)Meta-learning( ...

  8. Yann LeCun、吴恩达的新年AI预测:强调“少样本学习”,AI恐慌在减少

    来源:大数据文摘 新年伊始,海外媒体VentureBeat电话访谈了包括吴恩达.Yann Lecun在内的四位人工智能领域领军者,询问了他们对于过去一年人工智能领域发展的看法,以及他们认为新一年人工智 ...

  9. 如何实现少样本学习?先让神经网络get√视觉比较能力

    在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...

最新文章

  1. AUTOVC: Zero-Shot Voice Style Transfer with Only Autoencoder Loss笔记
  2. CentOS6 英文系统安装ibus
  3. win7系统怎么查看服务器IP地址,win7系统的ip地址在哪 小编教你怎么查看
  4. python 之GUI设计:Entry组件
  5. 诺顿本月将发布儿童网络安全软件
  6. 用Python分析了20万场吃鸡数据,有不少有趣的发现
  7. sonar java_修复Sonar中常见的Java安全代码冲突
  8. 技术要求→物理安全→防盗窃和防破坏
  9. 零基础轻松学python pdf 小码哥_零基础轻松学Python
  10. 紧固件基础知识之规格篇和功能篇
  11. lisp princ详解_晓东CAD家园-论坛-A/VLISP-正则表达式lisp实例讲解-通过代码,完整的展示了正则表达式在lisp中使用 - Powered by Discuz!...
  12. layui上传图片(加大小限制)
  13. 朴素贝叶斯实战:人群收入预测(基于美国人口普查收入数据)
  14. CreateFile函数详解 不仅仅是对文件的操作 还有对系统设备的IO的操作
  15. 银达汇智 智慧综合管理平台 FileDownLoad.aspx 任意文件读取漏洞
  16. Analog Trunk Features (模拟中继特征)
  17. python如何计算字典平均值_算出字典中数值的平均值
  18. BuuCTF_crypto(2021.10.8新-->旧)
  19. IDEA之非常复制黏贴
  20. 常见的HTML标签,让你的网页更加精彩

热门文章

  1. 产品迭代更新 | 阿列夫科技基于Linkis+DataSphere Studio的单机安装部署实战
  2. 远程连接mysql拒绝访问_远程连接 Mysql 失败的解决方法
  3. pr / twixtor 补帧
  4. 漫天风口,一地泡沫,消费机器人四年跌宕史
  5. JS中location的用法和作用
  6. pcb二次钻孔_用二次钻法解决PCB半金属化孔故障-PCB技术专题
  7. 如何在Kobo电子书阅读器中添加自定义屏保
  8. 好书推荐——影响力 (作者 Robert B. cIALDINI 译者 闾佳)
  9. Clion配置wsl远程服务器
  10. 中文字符 与 十六进制Unicode编码 相互转换