One-shot learning
Zero-shot learning
Multi-shot learning
Sparse
Fine-grained Fine-tune
背景:CVPR 2018收錄了4篇關於小樣本學習的論文,而到了CVPR 2019,這一數量激增到了近20篇
那么什么是小樣本學習呢?
在機器學習里面,訓練時你有很多的樣本可供訓練,而如果測試集和你的訓練集不一樣,那么這時候稱為支持集support data。在測試時,你會面對新的類別(通常為 5 類),其中每個類別僅有極少量的樣本(通常每類只有 1 個或 5 個樣本,稱為「支持集」),以及來自相同類別的查詢圖像。
接下來,本文將把小樣本方法划分為 5 個不同的類別(盡管這些類別並沒有明確的界定,許多方法同時屬於不止一個類別)。
(1)度量學習。其目標是學習從一個從圖像到嵌入空間的映射,在該空間中,同一類圖像彼此間的距離較近,而不同類的圖像距離則較遠。我們希望這種性質適用於那些沒有見過的類。(建立新樣本和舊樣本的關系)
(2)元學習。這類模型建立在當前所面對的任務的基礎上,因此使用不同的分類器作為支持集的函數。其思路是尋找模型的
(3)數據增強方法。它的思想是通過數據增強的方式,從而通過少量可用的樣本生成更多的樣本。
(4)基於語義的方法。這類方法受到了零樣本學習(Zero-shot learning)的啟發,其中分類任務的完成僅僅基於類別的名稱、文本描述或屬性。當視覺信息稀缺時,這些額外的語義信息也可能很有用。
Revisiting Local Descriptor based Image-to-Class Measure for Few-shot Learning 基於局部描述子的圖像到類度量的少圖像學習
Few-Shot Learning with Localization in Realistic Settings 真實場景中的少圖像定位學習
Dense Classification and Implanting for Few-Shot Learning 密集分類與植入少鏡頭學習
Variational Prototyping-Encoder: One-Shot Learning with Prototypical Images 變分原型編碼器:基於原型圖像的一次學習
Edge-Labeling Graph Neural Network for Few-shot Learning 用於少圖像學習的邊緣標記圖神經網絡
Task Agnostic Meta-Learning for Few-Shot Learning 面向少圖像學習的任務不可知元學習
Meta-Transfer Learning for Few-Shot Learning 元遷移學習在少圖像學習中的應用
Generating Classification Weights with GNN Denoising Autoencoders for Few-Shot Learning 基於GNN去噪自編碼器的分類權值生成
Finding Task-Relevant Features for Few-Shot Learning by Category Traversal 基於類別遍歷的少圖像學習任務相關特征的發現
LaSO: Label-Set Operations networks for multi-label few-shot learning 多標簽少鏡頭學習的標簽集操作網絡
Few-shot Learning via Saliency-guided Hallucination of Samples 通過顯著性引導樣本產生幻覺的少量鏡頭學習
Spot and Learn: A Maximum-Entropy Patch Sampler for Few-Shot Image Classification 點和學習:一種用於最小鏡頭圖像分類的最大熵貼片采樣器
Image Deformation Meta-Networks for One-Shot Learning 一次學習的圖像變形元網絡
Baby steps towards few-shot learning with multiple semantics 嬰兒多語義學走向少鏡頭學習
Generalized Zero- and Few-Shot Learning via Aligned Variational Autoencoders 基於對齊變分自編碼器的廣義零炮和少圖像學習
TAFE-Net: Task-Aware Feature Embeddings for Low Shot Learning TAFE網:用於低鏡頭學習的任務感知特征嵌入
Large-Scale Few-Shot Learning: Knowledge Transfer With Class Hierarchy 大規模少鏡頭學習:基於類層次的知識轉移
物體識別之外(其它任務中的小樣本學習)
RepMet: Representative-based metric learning for classification and few-shot object detection RepMet:基於代表性度量學習的分類與少鏡頭目標檢測
CANet: Class-Agnostic Segmentation Networks with Iterative Refinement and Attentive Few-Shot Learning CANet:具有迭代求精和注意少鏡頭學習的類不可知分割網絡
度量學習方法:《Revisiting Local Descriptor based Image-to-Class Measure for Few-shot Learning 基於局部描述子的圖像到類度量的少鏡頭學習》簡介
在本文中,作者稍微走起了點懷舊風,采用了詞袋(bag-of-words)模型時代使用的局部描述子,但是特征則是使用一個卷積神經網絡(CNN)提取到的,而整個學習框架都是端到端的。它的實驗結果略微低於對比基准。
度量學習方法:《Few-Shot Learning with Localization in Realistic Settings 真實場景中的少圖像定位學習》簡介
本文聲稱,標准的小樣本學習對比基准測試是不符合現實情況的,因為它們使用的不同類別的數據是被人為設定成平衡的,而且測試時使用的是 5 類樣本,因此本文作者建議使用一個新的數據集/對比基准。同時,讓模型同時學習進行定位和分類;這樣做顯而易見的缺點是需要用到帶有邊界框標注的數據集。分類器是建立在原型網絡之上的,但使用的特征向量是由聚合的前景和背景表征連接而成的。
度量學習方法:《Dense Classification and Implanting for Few-Shot Learning 密集分類與植入少鏡頭學習》簡介
在本文中,分類任務是密集地執行的,即所有的空間位置都需要被正確地分類,而不是在最后進行全局平均池化處理。此外,在測試期間,本文作者並不是在最后一層才進行調優,而是通過添加神經元擴大每一層並對它們進行調優(只有額外添加的權重會被訓練,舊的權重會被凍結)。
度量學習方法:《Variational Prototyping-Encoder: One-Shot Learning with Prototypical Images 變分原型編碼器:基於原型圖像的一次學習》簡介
這是一個單樣本分類技術的更具體的應用,針對的是標志或路標分類問題。在本例中,作者將標准圖形化的圖像(與現實中的真實標志/路標相對應)作為原型。他們通過學習一個將真實標志/路標圖像映射到原型圖像上的元任務學習來學習一種良好的表征。
元學習方法:《Edge-Labeling Graph Neural Network for Few-shot Learning 用於少圖像學習的邊緣標記圖神經網絡》簡介
圖神經網絡已經被用於小樣本學習領域。其基本思想是,每個圖像都可以作為圖中的一個節點來表示,而且信息(節點表征)可以根據它們之間的相似度在它們之間傳播。通常而言,分類任務是根據節點表征之間的距離隱式地完成的。在這里,作者建議在每條邊上加上顯式的特征來描述節點之間的相似度。
元學習方法:《Task Agnostic Meta-Learning for Few-Shot Learning 面向少圖像學習的任務不可知元學習》簡介
在這項工作中,為了避免元學習模型對訓練任務過擬合,作者在輸出預測時加入了一個正則化項。正則化要么會使預測具有更高的熵(即預測的概率不會看起來像一個獨熱矢量),要么使模型在不同任務之間的差異更小(即在不同任務上表現相同)。顯然,對於小樣本學習來說,有一個強大的正則化機制是十分重要的,但我並不能直觀地理解為什么我們需要的是文中體到的特定的正則項。本文作者在 MAML 的基礎上測試了該方法,得到了更優的性能。不妨看看將其應用於其它方法上是否也會對性能提升有所幫助!
元學習方法:《Meta-Transfer Learning for Few-Shot Learning 元遷移學習在少圖像學習中的應用》簡介
該方法有兩個主要的組成部分:(1)對一個預訓練的模型調優,其中權值是凍結的,在每一層中只學習放縮和偏置(Scaling and Shifting);(2)困難任務挖掘。如果我沒弄錯的話,MAML 對批量歸一化層進行了調優,這難道不是具有和「學習放縮和偏置」相同的效果嗎?似乎將困難批量挖掘(根據之前的任務中具有較低的准確率的類組成的任務)應用到 MAML 上也是有所幫助的。
元學習方法:《Generating Classification Weights with GNN Denoising Autoencoders for Few-Shot Learning 基於GNN去噪自編碼器的分類權值生成》簡介
在本文中,作者再次建立模型預測分類器對於未見過的類的權重。此外,所有分類器的權重都會被傳遞給一個通過一個圖神經網絡實現的去噪自編碼器(基類和任務中的新類別),從而做到:(1)讓分類器能夠適應當前任務的類別(2)將基類分類器的知識傳播給新類分類器。使用去躁自編碼器有助於修正預測得到的分類器,因為這些分類器僅僅只基於少量的示例預測得到,有明顯的噪聲。
元學習方法:《Finding Task-Relevant Features for Few-Shot Learning by Category Traversal 基於類別遍歷的少圖像學習任務相關特征的發現》簡介
給定一個特征提取器,該模型大體上可以預測一個特征向量上的注意力映射。「Concentrator」會分別查看每個類(或圖像),而「Projector」則會融合來自任務中所有類的信息來生成注意力映射。「Concentrator」和「Projector」都是通過一個小型的卷積神經網絡(CNN)來實現的。我非常喜歡這種簡單的模塊,當在幾個一致的基於度量的方法上使用該模塊時,它們總是可以提升性能。
數據增強方法:《LaSO: Label-Set Operations networks for multi-label few-shot learning 多標簽少鏡頭學習的標簽集操作網絡》簡介
本文的研究課題是多標簽小樣本分類問題。在本文中,作者訓練模型在嵌入空間中對多標簽樣本的標簽集執行集合運算(求並集、差集、交集)。例如,通過對狗和貓的圖像求並集,可以得到同時包含狗和貓的圖像的表征。之后,作者使用這些操作來增強數據並提高分類性能。
數據增強方法:《Few-shot Learning via Saliency-guided Hallucination of Samples 通過顯著性引導樣本產生幻覺的少量鏡頭學習》簡介
本文的研究課題是多標簽小樣本分類問題。在本文中,作者訓練模型在嵌入空間中對多標簽樣本的標簽集執行集合運算(求並集、差集、交集)。例如,通過對狗和貓的圖像求並集,可以得到同時包含狗和貓的圖像的表征。之后,作者使用這些操作來增強數據並提高分類性能。
數據增強方法:《Spot and Learn: A Maximum-Entropy Patch Sampler for Few-Shot Image Classification 點和學習:一種用於最小鏡頭圖像分類的最大熵貼片采樣器》簡介
在本文中,作者計算了每一個圖塊(patch)的表征(而不是僅僅學習整幅圖像的表征),然后通過使用了最優圖塊軌跡的 RNN(即決定下一步應該使用哪一個圖塊)來聚合這種表征,該軌跡是通過一個強化學習模型預測得到的。與簡單的注意力模型相比,我認為該模型由於其具有數據增強方法(對於同一張圖像使用不同的軌跡),要更好一些。然而,基准對比測試的結果只能說馬馬虎虎。我想知道僅僅使用一個隨機的軌跡進行增強是否也會起到相同的作用。
數據增強方法:《Image Deformation Meta-Networks for One-Shot Learning 一次學習的圖像變形元網絡》簡介
這是一種非常酷的數據增強方法。該方法類似於「mixup」(https://arxiv.org/pdf/1710.09412v1.pdf),但是這里的圖像被根據一個網格進行了划分,並且為每個單元使用了不同的預測出的「mixup」系數。模型訓練是端到端的,同時進行分類器的學習和對「mixup」的優化(指更好的分類效果)。本文作者將提出的模型與「mixup」進行了對比,但是我們想知道:如果系數是預測得出的而非隨機的,「mixup」對整幅圖像的效果如何,即不同的「混合」方式對於每個單元的影響如何。
基於語義的方法:《Baby steps towards few-shot learning with multiple semantics 嬰兒多語義學走向少鏡頭學習》簡介
本文作者在 CVPR 的「語言與視覺 Workshop」 上展示了自己的工作。作者基於 AM3 模型[Xing et. al, 2019]構建了自己的模型,並將其泛化,從而利用多種語義。同時,作者還使用了關於類別的短文本描述(這些描述是 ImageNet 的一部分,但是至今仍未被用於小樣本學習)來提升性能。從可視化原型開始,他們便采用一系列語義嵌入迭代地更新這些可視化原型。通過這樣做,該論文提出的方法實現了目前在 miniImageNet 上最佳的性能。
基於語義的方法:《Generalized Zero- and Few-Shot Learning via Aligned Variational Autoencoders 基於對齊變分自編碼器的廣義零炮和少圖像學習》簡介
本文作者訓練了兩個變分自編碼器(VAE),一個用於視覺特征,另一個則用於語義特征。其目的是能夠根據潛在的視覺特征重建語義特征,反之亦然。作者表明,使得兩個潛在空間具有相同的分布也很有幫助。
基於語義的方法:《TAFE-Net: Task-Aware Feature Embeddings for Low Shot Learning TAFE網:用於低鏡頭學習的任務感知特征嵌入》簡介
在這項工作中,標簽嵌入(GloVe)被用來預測數據特征提取模型的權重。他們提出了一種很好的方法來分解權重,從而只需要預測一個較低維的權重向量。此外,通過「嵌入損失」迫使語義嵌入和視覺嵌入對齊。這篇論文的有趣之處在於,它結合了兩種方法:元學習(基於任務來預測模型),以及利用語義信息(標簽)。然而,對於小樣本學習任務而言,似乎本文提出的模型稍微弱於現有的最佳方法。
基於語義的方法:《Large-Scale Few-Shot Learning: Knowledge Transfer With Class Hierarchy 大規模少鏡頭學習:基於類層次的知識轉移》簡介
作者聲稱現有的方法在大規模小樣本學習任務往往會失敗,例如在 ImageNet 而不是在像 miniImageNet 種的 64 個基類這樣的小型數據集上進行預訓練,並且其結果也並沒有優於簡單的對比基線。在本文中,作者也使用了語義標簽。他們使用標簽嵌入來無監督地構建了一個類別的層次結構,這是一種非常有趣的方法,學習以這種層次化的方式進行分類可能有助於模型捕獲那些在未見過的類上表現更好的特征。然而需要警醒的是,將未見過的類標簽用於構建類別的層次結構是不是有作弊之虞?
物體識別之外(其它任務中的小樣本學習):《RepMet: Representative-based metric learning for classification and few-shot object detection RepMet:基於代表性度量學習的分類與少鏡頭目標檢測》簡介
該博文的作者也參與了這篇論文的工作。在本文中,作者率先研究了小樣本目標檢測。他們的解決方案是將一種基於度量的方法(如原型網絡)擴展到目標檢測任務上。他們使用了一種現成的檢測器架構(FPN-DCN),並使用一種基於度量的分類器替換了線性分類器頭,在該方法中,對檢測出的每個區域的分類是基於特征向量到學到的類別的表征的距離而得出的。論文作者建議為小樣本檢測問題使用一種新的對比基准,並且展示了該論文提出的方法相對於對比方法的提升。
物體識別之外(其它任務中的小樣本學習):《CANet: Class-Agnostic Segmentation Networks with Iterative Refinement and Attentive Few-Shot Learning CANet:具有迭代求精和注意少鏡頭學習的類不可知分割網絡》簡介
本文將度量學習擴展到了稠密場景下的小樣本分割任務中。將查詢圖像中的所有局部特征與支持集中物體的所有局部特征進行對比的計算開銷是非常大的。因此,本文作者選擇將查詢圖像中的局部特征與支持集圖像的全局表征進行對比。
參考:色列特拉維夫大學的在讀博士研究生 Eli Schwarts 《從 CVPR 2019 一覽小樣本學習研究進展》