1. 綜述 | 小樣本學習在深度學習中的作用

        共 4074字,需瀏覽 9分鐘

         ·

        2022-01-13 21:12

        來源:知乎—沃豐科技

        地址:https://zhuanlan.zhihu.com/p/442235643
        眾所周知,深度學習往往需要大量的標注樣本進行訓練才能達到一個滿意的效果,但是在實際應用場景中,數(shù)據(jù)標注通常非常困難,很難獲得大量的標注數(shù)據(jù),這種情況下,深度學習怎么才能發(fā)揮出應有的魅力呢?

        01

        什么是小樣本學習


        我家小孩在2歲以前,基本上靠書本上的圖畫來認識世界,我給他買了各種動物、交通工具等等各類的圖書。2歲的時候我第一次帶他去動物園,他基本上可以認出動物園里的大多數(shù)動物,雖然每種動物只是在圖片上見過一兩次,這就得益于人類的強大的認知能力,可以通過少量樣本來進行學習,認知世界。當然對于更細的類別,他就分不了那么清了,比如在一堆猴子中間找出哪個是金絲猴,他沒有見過金絲猴,所以他不知道,但是只要我告訴他金絲猴是一種有著金色毛發(fā)的猴子,他認識猴子,也知道金色是什么顏色,所以他可以迅速的在一堆猴子中找到那只金絲猴。人類具有這種只通過少量樣本或者是特征描述就可以識別物體的能力,受人類的這種快速學習能力的啟發(fā),研究人員希望機器學習也能夠只通過學習少量樣本就可以進行快速建模,對不同的類別進行區(qū)分,而且能在不改變模型參數(shù)的情況下,對新類別進行識別,這就是小樣本學習(few-shot learning)。
        很多人都聽過鸚鵡和烏鴉的案例,鸚鵡在人類的教導下可以學習人類說話,但是他只會簡單的重復,不會根據(jù)不同情況說不同的話,更不會創(chuàng)造新的句子;但是烏鴉則不同,烏鴉雖然不會像鸚鵡一樣學舌,但是烏鴉很聰明,它可以利用自然定律來為自己服務。烏鴉弄不開殼的堅果,它會把它帶到高空扔下;如果堅果依然不碎,它把堅果放到馬路上,讓過往的汽車幫他把堅果壓碎之后,食用里面的果肉;它可以通過觀察紅綠燈和汽車行人的關系,來判斷什么地方、什么時間是安全的,可以放心的到馬路上食用被汽車壓碎的堅果。烏鴉的這種智能才是我們真正需要的智能,通過少量的觀察來認知世界,從環(huán)境中總結(jié)經(jīng)驗,只需要經(jīng)過少量的樣本就可以學習到新知識。
        (a)烏鴉試圖從高空把堅果扔下摔碎;(b)堅果落地后沒有摔碎;(c)烏鴉站著紅綠燈上方的電線上將堅果扔下;(d)烏鴉在紅綠燈上方的電線上等待;(e)烏鴉觀察到了行人綠燈亮了;(f)烏鴉到人行橫道上吃被壓碎的堅果
        小樣本學習,可以認為是Meta Learning在監(jiān)督學習上的應用,即,在訓練階段,每次迭代(episode)會對樣本采樣,得到一個meta task;在不同的迭代中,訓練數(shù)據(jù)包含了不同的組合,使得模型會去學習不同的meta task中的共性部分,忘掉和task相關的部分。因此在面對meta test時也能進行較好的分類。
        下面介紹兩個經(jīng)典的小樣本學習模型。

        02

        Matching Networks for One Shot Learning[1]


        這篇文章是谷歌的DeepMind團隊提出的,被李飛飛高徒Andrej Karpathy點贊過,成為之后相關研究中經(jīng)常被對比的參照,該文章在不改變網(wǎng)絡模型的前提下能對未知類別生成標簽,其主要創(chuàng)新體現(xiàn)在兩個方面:建模過程和訓練過程。對于建模過程的創(chuàng)新,文章提出了基于memory和attention的matching nets,使得可以快速學習。對于訓練過程的創(chuàng)新,文章基于傳統(tǒng)機器學習的一個原則,即訓練和測試是要在同樣條件下進行的,提出在訓練的時候不斷地讓網(wǎng)絡只看每一類的少量樣本,這將和測試的過程是一致的。
        上圖所示為Matching Networks的主要結(jié)構(gòu),這是一個明顯的 4-way,1-shot 模型,左邊4張小狗的圖片形成一組,每類狗一張圖片,稱為support set;右下1個單身狗,稱為test example。全部5個圖片稱為1個task。
        該模型用函數(shù)可表示為??,即模型有兩個輸入。該模型用概率可表示為??,其中??,k表示support set中樣本的個數(shù)。上圖support set有4個圖片,k=4。
        Matching Networks作者把該模型表示為:??
        預測值??被看做是support set中樣本的labels的線性組合,組合的權重是test example和support set中1個樣本的關??
        本文??賦予新的形式,將它看做attention kernel。此時,模型的預測結(jié)果就是support set中attention最多的圖片的label。
        常見的attention kernel是cosine距離上的softmax:
        其中f,g是兩個嵌入函數(shù)(可由神經(jīng)網(wǎng)絡實現(xiàn),如:VGG or Inception)。
        訓練策略的創(chuàng)新:
        • 一個batch包括多個task;
        • 一個task包括一個support set和一個test example;
        • 一個support set包括多個sample(image & label);
        • support set中有且只有一個樣本與test example同類。
        模型在Omniglot數(shù)據(jù)集上進行了測試,Omniglot數(shù)據(jù)集包含來自 50個不同字符的 1623個不同手寫字符。每一個字符都是由 20個不同的人通過亞馬遜的Mechanical Turk 在線繪制的。測試過程中,將這些分成一組包含 30個字母的背景(background)集和一組包含 20個字母的評估(evaluation)集。測試結(jié)果如下:

        03

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


        這篇論文提出的方法思想十分簡單,效果也非常好。它學習一個度量空間, 通過計算測試樣本和每個類別的原型表達之間的距離來進行分類。文章基于這樣的想法:每個類別都存在一個原型表達embedding,這個embedding可以代表這個類別的表征,該類的原型是support set在embedding空間
        中的均值。然后,分類問題變成在embedding空間中的最近鄰。如圖所示,c1、c2、c3分別是三個類別的均值中心(稱Prototype),將測試樣本x進行embedding后,與這3個中心進行距離計算,從而獲得x的類別。
        算法的偽代碼如下,非常的簡單清晰:
        作者在miniImageNet的數(shù)據(jù)集上進行了測試,miniImageNet數(shù)據(jù)集包含了100個類別的圖片,每類600張,共60000張圖片。其中64個類別作為訓練集,16個類別作為驗證集,20個類別作為測試集,測試結(jié)果如下:
        從上圖中的實驗結(jié)果可以看出,squared Euclidean距離比cosine距離要好14到17個點。另外,文章在訓練時采用相對測試時更多的類別數(shù),即訓練時每個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.網(wǎng)絡結(jié)構(gòu)上,Prototypical Networks相比Matching Networks將編碼層和分類層合一,參數(shù)更少,訓練起來也更加方便。
        參考文獻:
        [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.



        猜您喜歡:

        超110篇!CVPR 2021最全GAN論文匯總梳理!

        超100篇!CVPR 2020最全GAN論文梳理匯總!

        拆解組新的GAN:解耦表征MixNMatch

        StarGAN第2版:多域多樣性圖像生成


        附下載 |?《可解釋的機器學習》中文版

        附下載 |《TensorFlow 2.0 深度學習算法實戰(zhàn)》

        附下載 |《計算機視覺中的數(shù)學方法》分享


        《基于深度學習的表面缺陷檢測方法綜述》

        《零樣本圖像分類綜述: 十年進展》

        《基于深度神經(jīng)網(wǎng)絡的少樣本學習綜述》


        瀏覽 88
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
          
          

            1. 蜜臀AV国产精品又黃又粗又大 | 日韩成人在线观看 | 色五月婷婷在线观看 | 2021毛片| 日韩精品无码一区AAAA片 |