小樣本學習是什麼

https://blog.csdn.net/xhw205/article/details/79491649

個人博客:https://xhw205.github.io/

小樣本學習

背景

深度學習背景下,每個類至少需要上千張訓練樣本才能使CNN在已知類別上性能飽和。此外,神經網絡 generalization ability 薄弱,當 novel class 來臨時, 模型很難通過少量的標記樣本就學會識別 novel concepts。然而這一切對於人類來說卻不成問題,我們人類是具有快速從少量(單)樣本中快速學習能力的。即使對於一個五六歲的孩子來說,他從沒有見過 “熊貓”,父親給他看了一次熊貓的圖片後,孩子到了動物園也會認識到那個黑眼圈,胖胖的動物叫“熊貓”啊。

有的朋友可能會想,爲什麼我們人類總是能快速的學習到未知的事物?簡單的說,是因爲人類生活中各種知識的積累以及人類天生的思考能力(如:類比能力)。知識的積累意味着我們是存在各種知識的先驗的,天生的思考能力意味着我們擁有強大的類比能力、強大的大腦算力。

以“人類從未見到過澳大利亞的鴨嘴獸,給我們一張鴨嘴獸的照片後,人類就認識了!”這句話爲例。鴨嘴獸就代表未知的事物(new class),而我們生活中已經見到過的鴨子、狸貓、魚等動物就代表知識的先驗,我們把這種知識的先驗稱爲 元知識 (meta Knowledge),我們大腦的能快速的把從未見過的鴨嘴獸與這些元知識快速的類比(可能還存在一些其他腦力活動,如視覺提取物體的特徵),得出結論:這個長得像鴨子嘴,還能像魚一樣游泳、身形扁扁的新動物就是鴨嘴獸。

上一段舉的這個例子,倒是把我們人類的大腦小看了,這裏我只是想說明,novel concepts 和已知知識是存在千絲萬縷的聯繫的。當然,如果對於一件事物,我們完全完全未知,我們人類學習也是需要時間的。

看文字看累了,我們接着用圖的方式來看看的 few shot 吧~

經過我上邊的圖,再加上下面的過程的文字介紹,我們應該可以理解小樣本學習的過程了。

 

到了這裏,還有唯一的疑問就是:小樣本學習如何訓練,就是這個  怎麼用呢?有兩種訓練方式:

1. 就是像 《Matching Nets》《RelationNet》《Prototypical Nets》《Meta-SGD》等等那樣,訓練測試保持統一,訓練過程模擬測試過程。即訓練時候,以 MatchNets,5way-1shot爲例,每次也是隨機採5個類,每類中1張圖像做support sample,剩餘的 99 張圖像中可採15張做query samples ,query 與 support 通過 cosine distance 分類並計算 loss。這屬於一種元學習的訓練策略,往往用於 5-way 的設置

2. 普通分類訓練方式, 直接用普通分類方式來訓練一個魯棒的特徵提取器,  可以直接通過 SVM,Euclid ,權重遷移的方式分出 query set。

 

 測試過程,不會改變任何模型參數。請參閱《Learning to Compare:Relation Networks》等等度量學習做小樣本論文的代碼加以理解,訓練和測試過程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章