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

下面介紹兩個(gè)經(jīng)典的小樣本學(xué)習(xí)模型:

02 Matching Networks for One Shot Learning

這篇文章是谷歌的DeepMind團(tuán)隊(duì)提出的,被李飛飛高徒Andrej Karpathy點(diǎn)贊過(guò),成為之后相關(guān)研究中經(jīng)常被對(duì)比的參照,該文章在不改變網(wǎng)絡(luò)模型的前提下能對(duì)未知類別生成標(biāo)簽,其主要?jiǎng)?chuàng)新體現(xiàn)在兩個(gè)方面:建模過(guò)程和訓(xùn)練過(guò)程。對(duì)于建模過(guò)程的創(chuàng)新,文章提出了基于memory和attention的matching nets,使得可以快速學(xué)習(xí)。對(duì)于訓(xùn)練過(guò)程的創(chuàng)新,文章基于傳統(tǒng)機(jī)器學(xué)習(xí)的一個(gè)原則,即訓(xùn)練和測(cè)試是要在同樣條件下進(jìn)行的,提出在訓(xùn)練的時(shí)候不斷地讓網(wǎng)絡(luò)只看每一類的少量樣本,這將和測(cè)試的過(guò)程是一致的。

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

其中f,g是兩個(gè)嵌入函數(shù)(可由神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn),如:VGG or Inception)。訓(xùn)練策略的創(chuàng)新:

模型在Omniglot數(shù)據(jù)集上進(jìn)行了測(cè)試,Omniglot數(shù)據(jù)集包含來(lái)自 50個(gè)不同字符的 1623個(gè)不同手寫字符。每一個(gè)字符都是由 20個(gè)不同的人通過(guò)亞馬遜的Mechanical Turk 在線繪制的。測(cè)試過(guò)程中,將這些分成一組包含 30個(gè)字母的背景(background)集和一組包含 20個(gè)字母的評(píng)估(evaluation)集。測(cè)試結(jié)果如下:

03 原型網(wǎng)絡(luò)Prototypical Networks[2]

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

算法的偽代碼如下,非常的簡(jiǎn)單清晰:

作者在miniImageNet的數(shù)據(jù)集上進(jìn)行了測(cè)試,miniImageNet數(shù)據(jù)集包含了100個(gè)類別的圖片,每類600張,共60000張圖片。其中64個(gè)類別作為訓(xùn)練集,16個(gè)類別作為驗(yàn)證集,20個(gè)類別作為測(cè)試集,測(cè)試結(jié)果如下:

從上圖中的實(shí)驗(yàn)結(jié)果可以看出,squared Euclidean距離比cosine距離要好14到17個(gè)點(diǎn)。另外,文章在訓(xùn)練時(shí)采用相對(duì)測(cè)試時(shí)更多的類別數(shù),即訓(xùn)練時(shí)每個(gè)episodes采用20個(gè)類(20 way),而測(cè)試對(duì)在5個(gè)類(5 way)中進(jìn)行,其效果相對(duì)訓(xùn)練時(shí)也采用5 way的提升了2.5個(gè)點(diǎn)。

Prototypical Networks與Matching Networks十分相似,在one shot的場(chǎng)景下,他倆是一樣的,但也有幾個(gè)不同點(diǎn):1.距離度量方式不同,Matching Networks采用的是cosine度量距離,Prototypical Networks中使用的是基于Bregman的歐幾里得距離; 2.網(wǎng)絡(luò)結(jié)構(gòu)上,Prototypical Networks相比Matching Networks將編碼層和分類層合一,參數(shù)更少,訓(xùn)練起來(lái)也更加方便。

參考文獻(xiàn):[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.

文章轉(zhuǎn)自微信公眾號(hào)@算法進(jìn)階

上一篇:

人工神經(jīng)網(wǎng)絡(luò)中的腦啟發(fā)學(xué)習(xí)綜述

下一篇:

關(guān)于大模型的思考及研究熱點(diǎn)
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊(cè)

多API并行試用

數(shù)據(jù)驅(qū)動(dòng)選型,提升決策效率

查看全部API→
??

熱門場(chǎng)景實(shí)測(cè),選對(duì)API

#AI文本生成大模型API

對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)

#AI深度推理大模型API

對(duì)比大模型API的邏輯推理準(zhǔn)確性、分析深度、可視化建議合理性

10個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)