(二十五)【NIPS 2017】Prototypical Networks for Few-shot Learning
完全參考博文
用來記錄和學習
Introduction
原型網絡的思路非常簡單:對于分類問題,原型網絡將其看做在語義空間中尋找每一類的原型中心。
原型中心: 針對Few-shot的任務定義,原型網絡訓練時學習如何擬合中心。學習一個度量函數,該度量函數可以通過少量的幾個樣本找到所屬類別在該度量空間的原型中心。
聚類中心:測試時,用支持集(Support Set)中的樣本來計算新的類別的聚類中心,再利用最近鄰分類器的思路進行預測。
本文主要針對Few-Show/Zero-Shot任務中過擬合的問題進行研究,將原型網絡和聚類聯系起來,和目前的一些方法進行比較,取得了不錯的效果。
Related Work
本文主要提及了兩類Few-Shot方法:
1. 匹配網絡(Matching Network):
可以理解為在embedding空間中的加權最近鄰分類器。
模型在訓練過程中通過對類標簽和樣本的二次采樣來模仿Few-Shot任務的測試場景,學習一個匹配網絡。
該網絡只在訓練集中的關系基礎上訓練,并且直接應用于測試集中的關系。原型網絡也屬于一種匹配網絡。
2. Optimization-based meta-learning:
這種方法在訓練的過程中的目標是學習如何通過少量樣本更好的擬合數據,因此該類方法會針對測試數據集對網絡進行調整。
例如,在訓練過程中,利用LSTM的網絡結構學習每個訓練step所需要的學習率。
Model
每一個類的原型ckc_kck?是支持集中的樣本embedding的均值向量,其中SkS_kSk?為支持集中每個類的樣本:
計算query instance和各個類原型間的距離,通過softmax得到分類概率分布:
在訓練時,作者結合episodes和mini-batch的思路模擬測試場景進行訓練,偽代碼如下:
接下來作者從幾個角度對模型進行了理論上的分析:
原型網絡的學習過程可以理解為混合概率估計。
對于距離的度量屬于Bregman散度(https://www.zhihu.com/question/22426561/answer/209945856),其中就包括平方歐氏距離和Mahalanobis距離。
該文中正是利用了平方歐氏距離。在此距離度量的基礎上,在support set上利用向量均值(文中公式1)所找到的則為最優的聚類中心。
將原型網絡重新解釋為線性模型,對應用歐式距離進行了分析。
在應用歐式距離時,上文的softmax相當于有特定參數的線性模型,帶入
第一項相對于k來說是常量,不影響softmax的概率結果,對后兩項展開寫成線性形式:
作者猜想embedding function內部已經學到了所需的非線性元素,使用歐式距離使得方法更加簡單有效。
特別與匹配網絡進行了比較
這兩種方法在One-Shot情況下是等價的,匹配網絡在給定支持集的情況下生成一個加權最近鄰分類器;原型網絡使用歐式距離生成一個線性分類器。
當支持集中每個類只有一個樣本的時候,ck=xkc_k=x_kck?=xk?, 二者等價。目前的匹配網絡有相對復雜的結構,比如去耦支持樣本和qurey樣本的embedding函數、用FCE等等,可以融合到原型網絡中,但是卻增加了參數。本文證明用簡單的設計也能達到相當的效果
思考如果每個類的原型數目不是一個而是多個,則需要對支持集中樣本額外分區。目前的方法都需要一個額外的分區階段,和權重更新過程是相互獨立的。而本文提出的方法只需要用簡單的梯度下降方法去學習
Zero-Shot:
對于零樣本學習任務,每個類的原型可以是事先知道的元數據向量vkv_kvk?,也可以通過學習來得到,(之前有研究通過純文本來學習)。
這個時候class embedding和query embedding樣本來自不同域,作者發現可用固定原型embedding的長度為單位長度,對query embedding不限制。
Experimental Result
本文對few-shot任務在Omniglot和miniImageNet version of ILSVRC-2012 圖像數據集上進行了實驗。對zero-shot任務在Caltech UCSD bird dataset (CUB-200 2011) 進行了實驗。
在mini ImageNet數據集上作者還對距離函數的選擇、每個訓練單元中包含的類的數量(5/20),對測試結果(5-way)的影響。作者發現訓練時每個episode中包含的類多一些效果會比較好。
對Zero-Shot本文也達到了目前最好的效果:
Conclusion
本文提出的原型網絡方法雖然結構設計比較簡單,但是卻能達到很好的效果。且作者對于自己的方法做了很多數學分析,進行深入探究,值得我們學習。對于文本領域,我們也可以去遷移和借鑒。
總結
以上是生活随笔為你收集整理的(二十五)【NIPS 2017】Prototypical Networks for Few-shot Learning的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 合并数据 - 方法总结(concat、a
- 下一篇: 知识图谱论文阅读(二十三)【SIGIR2