(a)烏鴉試圖從高空把堅果扔下摔碎;(b)堅果落地后沒有摔碎;(c)烏鴉站著紅綠燈上方的電線上將堅果扔下;(d)烏鴉在紅綠燈上方的電線上等待;(e)烏鴉觀察到了行人綠燈亮了;(f)烏鴉到人行橫道上吃被壓碎的堅果
小樣本學習,可以認為是Meta Learning在監督學習上的應用,即,在訓練階段,每次迭代(episode)會對樣本采樣,得到一個meta task;在不同的迭代中,訓練數據包含了不同的組合,使得模型會去學習不同的meta task中的共性部分,忘掉和task相關的部分。因此在面對meta test時也能進行較好的分類。

下面介紹兩個經典的小樣本學習模型:

02 Matching Networks for One Shot Learning

這篇文章是谷歌的DeepMind團隊提出的,被李飛飛高徒Andrej Karpathy點贊過,成為之后相關研究中經常被對比的參照,該文章在不改變網絡模型的前提下能對未知類別生成標簽,其主要創新體現在兩個方面:建模過程和訓練過程。對于建模過程的創新,文章提出了基于memory和attention的matching nets,使得可以快速學習。對于訓練過程的創新,文章基于傳統機器學習的一個原則,即訓練和測試是要在同樣條件下進行的,提出在訓練的時候不斷地讓網絡只看每一類的少量樣本,這將和測試的過程是一致的。

上圖所示為Matching Networks的主要結構,這是一個明顯的 4-way,1-shot 模型,左邊4張小狗的圖片形成一組,每類狗一張圖片,稱為support set;右下1個單身狗,稱為test example。全部5個圖片稱為1個task。

其中f,g是兩個嵌入函數(可由神經網絡實現,如:VGG or Inception)。訓練策略的創新:

模型在Omniglot數據集上進行了測試,Omniglot數據集包含來自 50個不同字符的 1623個不同手寫字符。每一個字符都是由 20個不同的人通過亞馬遜的Mechanical Turk 在線繪制的。測試過程中,將這些分成一組包含 30個字母的背景(background)集和一組包含 20個字母的評估(evaluation)集。測試結果如下:

03 原型網絡Prototypical Networks[2]

這篇論文提出的方法思想十分簡單,效果也非常好。它學習一個度量空間, 通過計算測試樣本和每個類別的原型表達之間的距離來進行分類。文章基于這樣的想法:每個類別都存在一個原型表達embedding,這個embedding可以代表這個類別的表征,該類的原型是support set在embedding空間中的均值。然后,分類問題變成在embedding空間中的最近鄰。如圖所示,c1、c2、c3分別是三個類別的均值中心(稱Prototype),將測試樣本x進行embedding后,與這3個中心進行距離計算,從而獲得x的類別。

算法的偽代碼如下,非常的簡單清晰:

作者在miniImageNet的數據集上進行了測試,miniImageNet數據集包含了100個類別的圖片,每類600張,共60000張圖片。其中64個類別作為訓練集,16個類別作為驗證集,20個類別作為測試集,測試結果如下:

從上圖中的實驗結果可以看出,squared Euclidean距離比cosine距離要好14到17個點。另外,文章在訓練時采用相對測試時更多的類別數,即訓練時每個episodes采用20個類(20 way),而測試對在5個類(5 way)中進行,其效果相對訓練時也采用5 way的提升了2.5個點。

Prototypical Networks與Matching Networks十分相似,在one shot的場景下,他倆是一樣的,但也有幾個不同點:1.距離度量方式不同,Matching Networks采用的是cosine度量距離,Prototypical Networks中使用的是基于Bregman的歐幾里得距離; 2.網絡結構上,Prototypical Networks相比Matching Networks將編碼層和分類層合一,參數更少,訓練起來也更加方便。

參考文獻:[1] Oriol Vinyals, Charles Blundell, Tim Lillicrap, Daan Wierstra, et al. Matching networks for one shot learning. In Advances in Neural Information Processing Systems, pages 3630–3638, 2016.

[2] Jake Snell, Kevin Swersky, and Richard S Zemel. Prototypical networks for few-shot learning. arXiv preprint arXiv:1703.05175, 2017

[3] Allen, Kelsey R, Shelhamer, Evan, Shin, Hanul, et al. Infinite Mixture Prototypes for Few-Shot Learning[J]. 2019.

[4] Li C, Wang G, Melo G D. Context-Based Few-Shot Word Representation Learning[C]// IEEE International Conference on Semantic Computing. 2018.

[5] Wang, Yaqing, Yao, Quanming, Kwok, James, et al. Generalizing from a Few Examples: A Survey on Few-Shot Learning[J]. 2019.

文章轉自微信公眾號@算法進階

上一篇:

人工神經網絡中的腦啟發學習綜述

下一篇:

關于大模型的思考及研究熱點
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費