当前位置: 首页 > news >正文

【目标检测】小样本度量学习

小样本度量学习(Few-Shot Metric Learning)通常用于分类任务​(如图像分类),但它也可以与目标检测(Object Detection)结合,解决小样本目标检测(Few-Shot Object Detection, FSOD)​问题。目标检测需要同时完成目标定位(Localization)​和分类(Classification)​,而小样本场景下,某些类别的训练样本极少(如“考拉”只有5张标注图像)。这会导致以下问题:样本不足​,尾部类别(如稀有物体)标注数据稀缺;特征泛化差​,模型容易过拟合到头部类别(如“人”、“车”);定位难度大​,边界框回归需要足够多样本才能稳定学习。

小样本学习

在小样本度量学习中,分为三类数据集——源数据集(open training set)、小样本训练集(support set)以及查询集(query set)。其中源数据集体量很大,可高达几十万张图片,用于训练一个CNN模型来提取图像特征;小样本数据集用C-way类别数和K-shot样本数来衡量,例如有五种类别,每种类别有一个样本,即5-way 1-shot,利用极少量样本学习新类别特征;查询集用来评估模型在新类别上的泛化能力。

例如,小样本训练集是2-way K-shot,这个集合不足以用来训练一个神经网络,只能提供一些参考信息。Few-shot learning与传统的监督学习有所不同,它的目标不是让模型学习测试集当中的图片并泛化到测试集,而是让模型自己学会学习,区分不同的事物。

小样本学习(Few-shot learning)和元学习(Meta learning)

小样本学习(Few-Shot Learning, FSL)​​是在极少量标注样本(如每类1-5张图)下,让模型快速学习新类别或任务,是元学习的一种。而​元学习(Meta-Learning)​​是让模型学会“如何学习”(learn to learn),从而在面对新任务时能快速适应。

学习一个相似函数(Similarity Function)

相似函数(Similarity Function)是小样本度量学习的核心组件,用于衡量两个样本在嵌入空间中的相似程度。它的核心目标​是量化样本特征向量之间的相似性,指导模型学习“同类相近,异类相远”的嵌入空间。

直观上理解, x1 和 x2 是同一类别,那么 sim(x1,x2)=1 ;x1 和 x3 以及x2 和 x3不是同一类别,那么 ,sim(x1,x3)=0,sim(x2,x3)=0

 

相似函数在实现过程中,首先在一个大规模训练集上学习一个相似函数,训练结束之可以用相似度函数来做预测,给出一个query图片,可以用它来跟support集上的样本做对比,计算相似度,找出相似度最高的作为预测结果。通过这样的方法,可以实现one-shot learning。

 

常用数据集

Omniglot 是小样本学习(Few-Shot Learning)和元学习(Meta-Learning)领域最经典的基准数据集之一,由 ​Brenden Lake​ 等人于2015年提出,旨在模拟人类“快速学习新概念”的能力。包含 ​50种不同文字系统​(如拉丁字母、日文假名、藏文等)的 ​1,623个手写字符,每个字符由 ​20个不同书写者​ 绘制,共 ​32,460张图像。测试模型在极少量样本下识别新字符的能力(类似人类学写陌生文字)。

 

Mini-ImageNet 由 ​Stanford 团队​ 于2016年提出,旨在简化原始 ImageNet 的复杂性,同时保留其多样性,便于研究者快速验证小样本学习算法的性能。它包含100 个类别(涵盖动物、植物、日常物品等),每个类别 600 张图片(共 60,000 张)。

 

http://www.lryc.cn/news/603874.html

相关文章:

  • 量子计算革命:重新定义计算的边界与未来
  • DNS污染与劫持
  • Python爬虫02_Requests实战网页采集器
  • MoR vs MoE架构对比:更少参数、更快推理的大模型新选择
  • Ubuntu20.04子系统
  • Oracle发布MCP Server,自然语言交互说“人话”
  • AUTOSAR Mcal Gpt - 模块介绍
  • LeetCode|Day29|1009. 十进制整数的反码|Python刷题笔记
  • Jenkins 详解
  • Java 大视界 -- Java 大数据机器学习模型在金融信用评级模型优化与信用风险动态管理中的应用(371)
  • 当贝纯净版_海信ip811n海思mv320处理器安卓4.42及9.0主板优盘免拆刷机固件及教程
  • 符号计算与算法实践|使用Maple教授​​群论​​和​​图论​​课程
  • JSON解析(day20)
  • 【CF】Day114——杂题 (贪心 + 图论 | LCM + 贪心 | 最大最小子序列 + 图论)
  • 如何创建一个 Solana 钱包?
  • imx6ull-驱动开发篇3——字符设备驱动开发实验
  • C 语言第 12 天学习笔记:函数进阶应用与变量特性解析
  • 每日学习笔记记录(分享更新版-凌乱)
  • imx6ull-驱动开发篇2——字符设备驱动开发步骤
  • 网络通信基础(一)
  • Redis 跨主机连接超时分析:从网络波动到架构优化
  • 使用鼠标在Canvas上绘制矩形
  • 【C++算法】80.BFS解决FloodFill算法_岛屿数量
  • 《Java 程序设计》第 9 章 - 内部类、枚举和注解
  • 实在智能Agent智能体荣登全球“Go_Global_AI_100”百强榜,中国AI走向世界!
  • STM32——HAL库
  • 什么是EasyVR shield 3?如何设置EasyVR shield 3
  • 大模型应用开发模拟面试
  • 用动态的观点看加锁
  • TCMalloc 内存分配原理简析