小样本学习介绍(超详细)

小样本学习介绍

本文首先介绍了什么是小样本学习,其次介绍了为什么小样本学习的很多文章都采用元学习的方法。目的是通过通俗的解释更加清楚的介绍小样本学习是什么,适合初学者的入门。当然,以下更多的是自己的思考,欢迎交流。

什么是小样本学习?

当我开始接触“小样本”这个术语的时候,给我的第一感觉就是他的数据集很小(这也是我入坑小样本学习最开始的原因,以为炼丹不需要太久),相信很多人有个同样的感觉,但是事实上并不是这样的,在我将小样本学习这一方向介绍给自己的同门或者其他同学的过程中,我发现很多人也都对小样本有着同样的误解。实际上,小样本的“小”并不是体现在数据集上。相反,小样本的数据集是很大的,比如常用的mini-imagenet有6万张图片,更大的tiered-ImageNet有779165张图片,所以说数据集并不小。

那么小样本的这个“小”体现在哪里呢?

这个小其实是针对小样本学习的特定任务而言的,比如我在下图例举的five-way one-shot的任务,way代表类别的数量,shot代表每个类别有几张图片,five-way one-shot指的就是有五个类别,每个类别有一张图片,five-way one-shot任务中定义了两个集合,分别是支持集和查询集,小样本学习的任务的目标就是判断查询集的图片是属于支持集中哪一个类别的。讲到这里大家可能就明白了小样本学习的“小”并不是体现在数据量小。而是体现在小样本学习这一特殊任务设定,即每个类别(n-way)只有少量的标记图片(k-shot),也就是我们的支持集,要求我们的模型能根据这几张少量的图片,判断查询集图片的类别。

在这里插入图片描述

为什么元学习能应用到小样本学习?

首先简单的介绍一下什么是元学习:元学习 (Meta-Learning) 是一种机器学习方法,其目标是使计算机系统能够学习如何学习。简单来说,它是关于如何构建和设计机器学习系统的更高层次的学习方法。元学习的一个重要目标是提高机器学习系统的泛化能力,泛化能力是指一个机器学习系统能够从已知的数据中推广到未知的数据。通过元学习,我们可以训练模型具有更好的泛化能力,从而可以更准确地预测未来的数据。
单从元学习的定义来说,我们很难将元学习和小样本学习联系到一起。所以很快就能提出疑问:

为什么大多数的小样本学习的方法大多数都采用元学习的训练策略呢?

在上一节我们提到,小样本学习的任务的目标就是判断查询集的图片是属于支持集中哪一个类别。也就是说我们的目标是判断查询集的图片是属于支持集中哪一个类别(如下图所示,小样本学习的测试方式与传统的训练模型的方式是不同的,其本质上是一种匹配任务(将查询集中的图片匹配到对应的支持集))。既然小样本学习的任务目标是如此,那么,我们在小样本学习任务的训练过程中,为什么不模拟这一测试的过程(n-way k-shot)呢?于是,我们在小样本学习训练的过程中,采用元学习的训练策略,即将训练集划分为支持集和查询集,模拟测试时的小样本场景,相当于划分成一个又一个的小样本学习任务(也叫episode),每一个任务都是一个测试场景下的few-shot task,通过这种方式,就能更好的训练小样本模型(论文实验证明效果确实好)。
在这里插入图片描述
讲到这里,相信大家都清楚了为什呢我们要在训练的时候将小样本学习的训练集划分成支持集和查询集进行训练,如上图所示。同时也从根本上了解了为什么小样本学习的训练策略(元学习的训练策略)与一般的深度学习模型的训练策略的不同。更进一步来说,拿mini-imagenet数据集来举例。mini-imagenet本身有100个类,我们通常将前64个类划分为训练集,16个类划分为验证集,20个类划分为测试集。同时,我们对训练集、验证集和测试集进行进一步的划分,拿5-way 1-shot任务而言,我们首先会随机选取5个类,并在每个类中选取一张图片(也就是5way-1shot),然后再分别从选取的5个类中每个类别选取15张图片,得到了75张图片作为查询集(15*5=75)。在训练的过程中通过不断判断查询集图片的类别,进行有监督的loss的方向传播,更新我们的模型(当然这里并不一定每个类别抽取15张图片,也可以是其他的数量的图片,不过大多数论文都使用15这个数量,目的是更多的query能带来更多的loss的更新,但是query图片太多也不好,会导致support图片的数量变少,总体的episode的数量变少。所以说二者之间需要有一个权衡)。我本人也做过一些尝试性的实验,query图片数量在15上下得到的结果是最优的。

以上就是对小样本学习的一个总体介绍,后续我会不断的更新小样本学习相关的系列工作,其中也会穿插自己的拙见,就此落笔。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/230979.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【CISSP学习笔记】6. 安全开发

该知识领域涉及如下考点,具体内容分布于如下各个子章节: 理解安全并将其融入软件开发生命周期 (SDLC) 中在软件开发环境中识别和应用安全控制评估软件安全的有效性评估获得软件对安全的影响定义并应用安全编码准则和标准 6.1. 系统开发控制 6.1.1. 软…

Python 标准库中的 csv 包

0. Abstract 官方文档很罗嗦,长篇大论例子少。本文将举例说明 csv 包的用法,然后补充一些必要的说明。 1.0 CSV 文件 CSV(Comma-Separated Values,逗号分隔值)文件是一种常见的以纯文本形式存储数据的文件格式。它使用逗号作为字段之间的分隔符&#…

关于目标检测任务中,XML(voc格式)标注文件的可视化

1. 前言 最近在弄关于目标检测的任务,因为检测的图片和标签是分开的,可视化效果不明显,也不知道随便下载的数据集,标注信息对不对。网上看了好多代码,代码风格和本人平时不同,看起来麻烦,也不知…

C#:如何产生一个临时文件

在我们实际编程中,经常有将内容写到一个临时文件的需要。 比如:将网络上的图片下载下来,获取到图片的一些信息。 代码如下,看结果可知: 临时文件都是保存在系统临时文件夹的目录下,临时文件的扩展名统一…

计算机毕业设计 基于Java的供应商管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

Java重修第二天—学习”方法“

通过学习本篇文章可以掌握如下知识 1、方法的定义 2、方法在计算机中的执行流程。 3、方法使用时常见问题 4、Java中方法的参数传递机制 5、方法重载 1 方法是什么 方法是一种语法结构,它可以把一段代码实现的某种功能封装起来,以便重复利用。 方…

代码+视频,手把手教你R语言使用forestploter包绘制单组及双组森林图

森林图在论文中很常见,多用于表示多因素分析中的变量与结果变量的比值效应,可以用图示的方法比较直观的绘制出来。既往我们在文章《R语言快速绘制多因素回归分析森林图(1)》已经介绍了怎么绘制森林图,但是绘图比较简单…

​电脑技巧:​笔记本电脑电流声的原因和解决方案

目录 一、音频设备接口接触不良 二、笔记本电源问题 三、笔记本电脑驱动程序问题 四、音频硬件问题 五、操作系统内部电磁干扰 六、最后总结 大家在日常生活当中,笔记本电脑已经成为我们工作、学习和娱乐的重要工具。但有时我们在使用过程中可能会遇到一个令人…

git回滚操作,常用场景

文章目录 git回滚操作1.git reset --hard 【版本号】2.回滚后的版本v2又想回到之前的版本v32.1 git reflog 3.git checkout -- 文件名4.git reset HEAD 文件名 git回滚操作 假设我们现在有三个版本 现在回滚一个版本 1.git reset --hard 【版本号】 发现只剩下两个版本了 2.…

git在本地创建dev分支并和远程的dev分支关联起来

文章目录 git在本地创建dev分支并和远程的dev分支关联起来1. 使用git命令2. 使用idea2.1 先删除上面建的本地分支dev2.2 通过idea建dev分支并和远程dev分支关联 3. 查看本地分支和远程分支的关系 git在本地创建dev分支并和远程的dev分支关联起来 1. 使用git命令 git checkout…

Spring Boot 3 集成 Thymeleaf

在现代的Web开发中,构建灵活、动态的用户界面是至关重要的。Spring Boot和Thymeleaf的结合为开发者提供了一种简单而强大的方式来创建动态的Web应用。本文将介绍如何在Spring Boot项目中集成Thymeleaf,并展示一些基本的使用方法。 什么是Thymeleaf&#…

2.HDFS 架构

目录 概述架构HDFS副本HDFS数据写入流程NN 工作原理DN 工作原理 结束 概述 官方文档快递 环境:hadoop 版本 3.3.6 相关文章速递 架构 HDFS HDFS 架构总结如下: a master/slave architecture 一主多从架构a file is split into one or more blocks a…

SylixOS各阶段代号说明

SylixOS已经历了多年更新迭代,每个阶段都会新增或完善一个重要领域,并命名一个代号,以表祝愿和纪念。

工具网站DefiLlama全攻略:从零学习链上数据使用与发现

DefiLlama 是一个 DeFi(去中心化金融)信息聚合器,其主要功能是提供各种 DeFi 平台的准确、全面数据。DefiLlama 致力于在不受广告或赞助内容影响的情况下为用户提供这些数据,以确保信息内容的透明度和公正性,该平台聚合来自多个区块链的数据,让用户能够全面了解 DeFi 格局…

全球海洋数据 (GLODAP) v2.2023(海洋碳数据产品)

全球海洋数据分析项目 (GLODAP) v2.2023 全球海洋数据分析项目 (GLODAP) v2.2023 代表了海洋生物地球化学瓶数据合成方面的重大进步。此更新主要关注海水无机碳化学,以 GLODAPv2.2022 为基础,包含多项关键增强功能。值得注意的是,增加了 43 …

大数据StarRocks(三) StarRocks数据表设计

1. 列式存储 1.1 列式存储方式有以下几个优点: 1.快速的数据查询 由于数据是按照列进行存储的,所以查询某个列时只需要读取该列所在的块,而不是整行数据,从而大大提高了查询效率。 2.压缩效率高 由于列式存储的数据块中只有一…

blender mix节点和它的混合模式

Mix 节点是一种用于混合两个颜色或者两个图像的节点,它有以下几个输入和输出: Color1:用于接收第一个颜色或者图像,也就是基色。Color2:用于接收第二个颜色或者图像,也就是混合色。Fac:用于控制…

一文讲透Stata计量经济学中如何分中东西区域回归?

stata如何分中东西区域回归本质上是异质性检验。 异质性检验即针对样本进行分类分组,基于各组样本分别开展的实证检验。异质性检验通常在基准回归之后,基准回归依据的是全部的样本,当基准回归得到的结果较为显著,即核心解释变量显…

2023年03月21日_chatgpt宕机事件的简单回顾

你能想象吗 ChatGPT挂了 昨天半夜呢 来自全球各地的用户纷纷发现 ChatGPT的网站弹出了报错警告的信息 然后立即就无法使用了 即使是有特权的plus账户也未能幸免 一时之间呢 chatgptdown的话题在Twitter刷屏 不少重度的用户表示很着急 有的用户说呢没了ChatGPT 这工作…

Vue3地图选点组件

Vue3地图选点组件 <template><div style"width: 100%; height: 500px"><div class"search-container"><el-autocompletev-model"suggestionKeyWord"class"search-container__input"clearable:fetch-suggestion…