Few-Shot Learning小样本学习概述

article/2025/10/24 18:19:16

观看王树森老师的课程之后的一些记录,视频地址如下:

ShusenWang的个人空间_哔哩哔哩_BilibiliShusenWang,Educator;ShusenWang的主页、动态、视频、专栏、频道、收藏、订阅等。哔哩哔哩Bilibili,你感兴趣的视频都在B站。https://space.bilibili.com/1369507485?spm_id_from=333.788.b_765f7570696e666f.1讲解清晰透彻,推荐给大家(#^.^#)

基本概念

小样本学习与传统的监督学习有所不同,其目标不是让机器识别训练集里的图片并泛化到测试集,而是让机器自己学会学习。也就是说需要让机器学会理解事物间的异同,区分不同的事物。比如输入两张图片,不需要让模型识别出来两张图片是什么,而是要区分出这两张图片是相同的东西还是不同的东西。

 (训练集中没有松鼠这个类别,训练后模型并不知道识别出来的东西是松鼠,但是可以判断这两张图片很可能是相同的东西)

 

 support set是meta learning中的概念,将这些带标签的图片称作support set。

training set和support set的区别:training set的规模很大,每一个类别下面都有很多图片。由于训练集足够大,所以可以用来训练一个深度神经网络;相比之下,support set很小,每一个类别下面只有一张或者几张图片,不足以训练一个大的神经网络,因此support set只能在预测时提供一些额外信息。

用足够大的数据集来训练一个大模型,训练目的不是用来识别出目标类别,而是要知道事物间的异同。现在靠support set提供的少量信息,模型就可以判断出query图片是水獭,尽管训练集里没有水獭这个类别。

Few-shot Learning and Meta Learning

· 小样本学习可以看做是元学习的一种 

· 元学习的目标是“学会学习”

 Supervised Learning vs. Few-shot Learning

监督学习: 

小样本学习:

k-way  support set 中有k各类别;   n-shot 每个类别有n个样本

 通常来说,类别数越多,样本数越少,分类准确度越低

 

 

 Idea:Learn a Similarity Function

1. 在大数据集上学习一个相似度函数

2.用学习的相似度函数做预测,给一个query图片,与support图片逐一做对比计算相似度,扎弄出相似度最高的作为计算结果

 Siamese Network

训练方法1:每次取两个样本,比较它们的相似度

每次取两张图片作为训练样本,标签为0(不同类)或1(同类),孪生网络输出一个介于0~1之间的相似度数值,把标签与预测之间的差别作为损失函数。训练目标是让预测尽量接近标签,这样训练出的网络可以判别两个样本间的相似度。两个图片越相似,神经网络的输出值越接近于1。

选取数据

 搭建神经网络

(相同类别输出接近1,不同类别输出接近0)将标签与预测的差别作为损失函数

 

 训练方法2:Triplet Loss

每次选取三张图片作为输入样本,一个锚点(anchor) xa,正样本x+和负样本x-,用神经网络提取特征得到三个特征向量,将锚点与正样本间的距离记做d+,锚点与负样本之间的距离记做d-,训练目标是让d+尽量小,d+尽量大。有了这种神经网络就可以提取特征,比较图片在特征空间上的距离,从而做出小样本分类。

选取数据

使d+尽量小,d-尽量大(使d-比d+大至少α)

 

使用神经网络提取特征得到每个类别的特征向量,给一个query图片,比较特征向量之间的距离。

 

 总结:

①用一个大的数据集来训练孪生网络,让网络知道事物间的异同

②训练结束后,可以用孪生网络做预测,解决小样本问题

③由于query的类别不在训练集中,所以还需要额外的信息来识别图片,也就是support set。将query与support set中的样本做对比,将距离最小或相似度最高的作为分类结果。

Pretraining and Fine Tuninig

在大规模数据集上预训练,在小数据集上微调

Cosine Similarity

 

 softmax 函数

将向量映射成概率分布,让最大的值变大,最小的值变小。

 

 softmax分类器:全连接层+softmax函数

 (k是类别数量,d是特征数量)W的每一行对应一个类别

Few-shot Prediction Using Pretrained CNN

Pretraining

 搭建一个神经网络用来提取特征,输入是一张图片x,输出是提取的特征向量f(x)

可以用传统的监督学习训练网络,训练完成后去掉全连接层;也可以使用孪生网络。

用训练的神经网络做小样本预测

分类时,将query的特征向量分别与μ1μ2μ3做对比

 

 Fine-Tuning

 

 yj是真实标签,pj是分类器做出的预测

 Trick

1.初始化设置 W=M ; b=0

2.正则化防止过拟合 Entropy Regularization

 3.Cosine Similarity + Softmax Classfier

在求w与q的内积之前做一个归一化,把两个向量的二范数变为1

 总结:

 

 


http://chatgpt.dhexx.cn/article/mFAioIir.shtml

相关文章

融合零样本学习和小样本学习的弱监督学习方法综述

融合零样本学习和小样本学习的弱监督学习方法综述 人工智能技术与咨询 来源:《系统工程与电子技术》,作者潘崇煜等 摘 要: 深度学习模型严重依赖于大量人工标注的数据,使得其在数据缺乏的特殊领域内应用严重受限。面对数据缺乏等现实挑战&…

最小样本量计算

总第179篇/张俊红 这一篇我们讲讲统计中的最小样本量计算。大家先想想为什么叫最小样本量,而不是最大或者直接叫样本量计算呢? 这是因为最小样本量这个概念主要用在抽样统计中,抽样统计为了研究某一事物的情况而从整体中抽取部分样本来进行研…

小样本算法库LibFewShot

小样本学习算法库 LibFewShot包含了 17 个 2017 年到 2020 年具有代表性的小样本学习算法,为小样本学习领域中算法对比采用统一框架、统一设置、实现公平对比等提供便利。 论文链接:https://arxiv.org/abs/2109.04898 Github 链接:https://g…

小样本学习之半监督的小样本分类

本次介绍的论文: 2018 - ICLR - 《Meta-Learning for Semi-Supervised Few-ShotClassification》 在上篇博客中介绍了原型网络,一种基于度量的小样本分类方法,核心思想便是在一个嵌入空间中将所有同类的样本拉到较近的位置,然后通过距离度量的方式来判断一个样本x属于哪一…

小样本学习之原型网络

本次介绍的论文 《Prototypical Networks for Few-shot Learning》 原型网络是解决小样本分类问题的一个比较实用且效果还不错的方法,这篇论文是在2016年NIPS上的一篇论文《Matching Networks for One Shot Learning》的基础上,进行了改进后而来的,改进后的方法简单且实用。…

小样本学习研究综述

小样本学习方法分类 基于模型微调的小样本学习方法基于数据增强的小样本学习基于无标签数据的方法基于数据合成的方法基于特征增强的方法 基于迁移学习的小样本学习基于度量学习的方法基于元学习的方法基于图神经网络的方法 展望 小样本学习目标:从少量样本中学习到…

小样本语义分割

小样本学习旨在通过极少的样本来完成新类的识别,在深度学习中,如果类别有充足的标注样本,深度模型可以从海量的数据分布中抽取到准确的类别表达,随着标注数据量的减少,数据将不能涵盖类别的完整分布,深度模…

小样本深度学习图像识别

深度学习方法极度依赖大规模标注数据, 这一缺陷极大地限制了深度学习方法在实际图像识别任务中的应用。 因此我们提出了小样本的图像识别 小样本图像识别任务需要机器学习模型在少量标注数据上进行训练和学习, 目前经常研究的问题为N-way K-shot形式, 即问题包括N种数据, 每种数…

小样本训练方法

在机器学习模型训练中,往往希望训练得到得模型具有很好的泛化能力,得到一个在训练集上表现很好的模型。为了达到这个目的,应该从训练样本中尽可能学出适用于所有潜在样本的“普遍规律”。然而,学得“太好”很可能出现过拟合现象。…

小样本学习综述

原文链接:https://mp.weixin.qq.com/s/-73CC3JqnM7wxEqIWCejWQ 问题定义 人类非常擅长通过极少量的样本识别一个新物体,比如小孩子只需要书中的一些图片就可以认识什么是“斑马”,什么是“犀牛”。在人类的快速学习能力的启发下,研…

小样本学习概述

前言 小样本学习(Few-Shot Learning)是近几年兴起的一个研究领域,小样本学习旨在解决在数据有限的机器学习任务。 小样本学习存在的意义? 近些年,以深度卷积神经网络为代表的深度学习方法在各类机器学习任务上取得了…

【少样本】学习综述:小样本学习研究综述

点击下面卡片,关注我呀,每天给你送来AI技术干货! 来源:知乎—Jy的炼丹炉 地址:https://zhuanlan.zhihu.com/p/389781532(侵删) 随着大数据时代的到来,深度学习模型已经在图像分类、文本分类等任务中取得了先进成果。但…

小样本学习

机器学习就是从数据中学习,从而使完成任务的表现越来越好。小样本学习是具有有限监督数据的机器学习。类似的,其他的机器学习定义也都是在机器学习定义的基础上加上不同的限制条件衍生出来。例如,弱监督学习是强调在不完整、不准确、有噪声、…

小样本(少样本)目标检测概述(few-shot object detection)

文章目录 一、小样本目标检测 vs 少样本目标检测二、小样本目标检测简介三、小样本目标检测的方法四、小样本目标检测现有的问题五、参考资料 一、小样本目标检测 vs 少样本目标检测 首先必须要分辨这两个概念。如果光看名字,我们可能会单纯的认为小样本就是代检测…

【学习笔记】小样本学习(Few-shot Learning)

参考视频:https://www.youtube.com/watch?vUkQ2FVpDxHg 文章目录 基本概念孪生网络(Siamese Network)Pretraining and Fine TuningFew-shot常用数据集参考资料 基本概念 小样本学习(few-shot learning)是什么&#x…

localStorage与location的用法

1、localStorage 是h5提供的客户端存储数据的新方法: 之前,这些都是由 cookie 完成的。但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不高。 设置存储时localStorage.s…

Locality-sensitive hashing

Locality-sensitive hashing (LSH) reduces the dimensionality of high-dimensional data. LSH hashes input items so that similar items map to the same “buckets” with high probability (the number of buckets being much smaller than the universe of possible inp…

localStorage 简介

localStorage是全局的公共对象 浏览器关闭了后不丢失,是永久存在的。(runoob.com上Window localStorage 属性里的笔记很清晰) // localStorage.user"sky"; console.log(localStorage.user);能够看出,存储过localStora…

localStroage

一、什么是localStroage、sessionStroage 在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的…

localstorage用法

一、什么是localStorage、sessionStorage 在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的…