【目标检测】小样本度量学习
小样本度量学习(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 张)。