小樣本學習&元學習經典論文整理||持續更新
核心思想
本文是繼Siamese Network, Matching Network 和 Prototypical Network之後又一篇采用度量學習思路解決小樣本分類任務的文章。與先前的研究聚焦學習一整可遷移的嵌入式表示并采用預先定義好的固定的度量方法不同,本文進一步學習一種可遷移的深度度量方式能夠比較圖像之間的關系。整個網絡分成兩個階段,第一階段是一個嵌入式子產品(用于提取特征資訊),第二階段是一個相關性子產品(用于輸出兩幅圖之間的相似程度得分,進而判斷兩幅圖像是否來自同一類别)
和Matching Network一樣,訓練集分為支援集(Support Set)和查詢集(Query Set),将支援集的圖像和查詢集的圖像分别輸入嵌入式子產品 f φ f_{\varphi} fφ,提取得到特征資訊。然後将查詢集圖像對應的特征資訊分别于支援集中各個圖像對應的特征資訊級聯起來(也可以采用其他的連接配接方式),然後進入相關性子產品 g ϕ g_{\phi} gϕ計算得到相關性得分,最後輸出一個獨熱向量(one-hot vector),表示查詢集中圖像屬于與支援集中圖像相似程度最高的那一類别。
實作過程
網絡結構
嵌入式子產品仍然是采用四個卷積塊構成,相關性子產品現有兩個卷積塊,再經過兩個全連接配接層,最後利用Sigmoid函數得到相似程度得分。特别的是,在處理同一類别包含多幅圖像的資料集的時候(如:5-shot),本文采用将支援集中同一類别的圖像得到的特征向量采用逐像素相加的方式得到對應類别的特征向量,再與查詢集圖像進行級聯和計算得分的操作。
損失函數
與常見分類任務采用交叉熵損失函數不同,本文采用均方差對相似程度得分進行監督,優化目标函數如下
訓練政策
與Matching Network等基本相同,分成多個Episode,包含支援集和查詢集。
算法推廣
本文提出的模型稍加改造也可以用于zero-shot學習任務,所謂zero-shot學習就是訓練集中不包含圖像,隻有圖像對應的一個語義特征向量或者描述向量。
如圖所示,本文對網絡進行相應的改進,對于描述向量經過兩個全連接配接層(帶有L2正則化,實作權重衰減)得到對應的特征向量,對于查詢集中圖像則是經過一個深層卷積神經網絡(Inception or ResNet)得到對應的特征向量。然後将二者級聯起來計算相似程度得分。
創新點
- 提出一種可學習的非線性相似性度量方式,用于實作小樣本甚至one-shot學習任務
算法評價
在學習了Matching Network等一系列文章後,本文的思路是非常好了解的,就是改進了相似性度量的方式,由預先定義的固定的相似性度量函數(Matching Network——餘弦距離,Prototypical Network——平方歐氏距離)或者Siamese Network中線性度量方式,更新為利用神經網絡訓練得到一個可學習的非線性相似性度量函數。實驗結果表示在多個資料集上都取得了不錯的成績,但本文對于5-shot問題采用将特征圖逐元素相加的方式來擷取每個類别對應的特征資訊的方式,我是存在異議的,這種做法是否過于簡單粗暴?特征圖直接相加是否會導緻特征資訊遭到破壞?這可能也是本文在5-shot任務中表現普遍較差的原因吧。本文在介紹相關工作時,将小樣本學習算法分成了:學習微調算法(Learning to fine-tune)如MAML等;基于RNN的記憶型算法(RNN Memory Based Another)如MANN等和嵌入式度量學習算法(Embedding and Metric Learning Approaches )如Matching Network和本文等。我覺得是一個比較科學的分類方式,比較系統的涵蓋了各個類型的小樣本學習算法。
如果大家對于深度學習與計算機視覺領域感興趣,希望獲得更多的知識分享與最新的論文解讀,歡迎關注我的個人公衆号“深視”。