小樣本度量學習(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 張)。
?