Few-Shot Learning (FSL): 小样本学习简介及其应用

摘自: https://research.aimultiple.com/few-shot-learning/

论文 :A Survey on Few-Shot Learning: https://arxiv.org/abs/1904.05046

wss介绍视频:https://www.youtube.com/c/ShusenWang

课件:https://github.com/wangshusen/DeepLearning

  如果手机需要成千上万张照片来训练才能进行人脸识别解锁,这是很不友好的。在机器学习应用领域,小样本学习(Few-shot Learning)(在刚刚描述的情况下称为单样本学习(one-shot learning))是一个热门话题,它能够基于少量的训练样本去预测。本文将讨论以下几个方面:

  • 什么是少样本学习(FSL)?
  • 它为什么如此重要?
  • 少样本学习有哪些应用?
  • 它是如何工作的?
  • 少样本学习和零样本学习有什么区别?
  • 少样本学习有哪些不同的方法?
  • 它是如何在 Python 中实现的?
  • 机器学习的未来

case:以相似度函数来进行图片分类:

训练:可以在大规模数据集中学习不同类别的相似性,使得同一类的相似度高,不同类别相似度低。

测试:输入query(测试图片)和 surport set(带标签的图片,要进行比较的不同类别的数据集不等于训练集)目的就是要让模型识别query和 surport set 中那个更相似。

1. 什么是小样本学习?

        小样本学习(Few-shot learning, FSL),在少数资料中也被称为low-shot learning(LSL)。小样本学习是一种训练数据集包含有限信息的机器学习问题。

        对于机器学习应用来说,通常的做法是提供尽可能多的数据。这是因为在大多数机器学习应用中,输入更多的数据训练能使模型的预测效果更好。然而,小样本学习的目标是使用数量较少的训练集来构建准确的机器学习模型。由于输入数据的维度是一个决定资源消耗成本(如,时间成本,计算成本等)的因素,我们可以通过使用小样本学习来降低数据分析/机器学习消耗成本。

2. 小样本学习为什么重要 ?

  • 类似人的学习方式:人在看过少量例子后就可以认出手写字符之间的不同。然而,计算机需要大量的数据去“分类”它看到的东西,并识别出手写字符之间的不同。小样本学习是一种test base的方法,我们期望它能像人一样从少量的样本中学习。
  • 稀有样本学习:小样本学习能用于稀有样本的学习。例如,当对动物图片进行分类时,用小样本学习训练的机器学习模型,在只得到少量的先验信息后,可以正确地对稀有样本的图像进行分类。
  • 降低数据收集和计算成本:由于小样本学习仅需要少量的数据来训练模型,消除了数据收集和标记相关的高成本。训练数据量少意味着训练数据集的维数低,这可以显着降低计算成本。

3. 小样本学习(Few-shot Learning)和零样本学习(Zero-shot Learning)的区别 

  小样本学习的目的是在有少量训练数据的情况下能获得准确分类测试样本的模型。零样本学习的目的是预测训练数据集中没有出现过的类别。零样本学习和小样本学习有很多共同的应用,例如:

  • 图像分类(image classification)
  • 语义分割(semantic segmentation)
  • 图像生成(image generation)
  • 目标检测(object detection)
  • 自然语言处理(natural language processing)

还有一种叫单样本学习(one-shot learning)的,它经常会和零样本学习混在一起。单样本学习是小样本学习问题的一个特例,它的目的是从一个训练样本或图片中学习到有关物体类别的信息。单样本学习的一个例子是,智能手机中使用的人脸识别技术。

4. 小样本学习的方法

5. 小样本学习的应用

5.1 计算机视觉:计算机视觉探索如何从数字图像或视频中获得高级理解。小样本学习在计算机视觉中主要用于处理以下问题:

5.2 自然语言处理:小样本学习使自然语言处理应用程序能够用很少的文本数据样本来完成任务。例如:

5.3 机器人:为了让机器人的行为更像人类,它们应该能够从少量的示例中归纳出信息。因此,小样本学习在训练机器人完成特定任务中扮演了一个关键角色,例如:

  • 通过模仿一个动作来学习该动作-learning a movement by imitating a single demonstration。IEEE****
  • 从少量示例中学习操作动作-learning manipulation actions from a few demonstrations。IEEE*****
  • 视觉导航-visual navigation。PMLR
  • 连续控制-continuous control。NIPS*****

5.4 声信号处理:包含有关声音信息的数据可以通过声信号处理进行分析,小样本在该方向的应用有:

5.5 其它应用

6. Python实现

机器学习的未来

IBM研究表明,机器学习在未来将围绕以下领域发展:

  • 经典机器学习:一次处理一个数据集、一个任务和一个繁重训练的问题
  • 基于小样本的机器学习:处理大量的离线训练,然后在类似的任务上轻松学习
  • 发展中的机器学习:持续学习各种任务。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注