本文主要講解當前最新小樣本學習綜述A Survey of Few-Shot Learning的

Model

部分,包括Multitask Learning、Embedding Learning、Learning with External Memory、Generative Modeling四種模型方法,具體目錄如下:

最新小樣本學習Few-Shot Learning的四大Model方法

想要閱讀該綜述更多的內容,可以訪問下面的連結。小樣本學習綜述: 三大資料增強方法

A Survey on Few-shot Learning | Introduction and Overview

✎ Tip

全文共計10015字,預計閱讀時間26分鐘

後臺回覆“200430”,即可獲取論文原文

給定少數樣本的DtrainDtrain,僅使用簡單模型(例如線性分類器)就可以選擇較小的H (假設空間)[92,94]。但是,現實世界中的問題通常很複雜,並且不能由小H的假設h很好地表示[45]。因此,在FSL中最好使用足夠大的H,這使得標準的機器學習模型不可行。本節中的FSL方法透過根據E中的先驗知識將H約束到較小的假設空間H 來進行學習(圖2(b))。這樣,經驗風險最小化器將更加可靠,並降低過度擬合的風險。 根據所使用的先驗知識,可以將屬於該類別的方法進一步分為四種類型(表4)。

最新小樣本學習Few-Shot Learning的四大Model方法

下面我們會分別介紹這四種類型

01 Multitask Learning

在存在多個相關任務的情況下,多工學習[23,161]透過利用任務通用資訊和特定於任務的資訊同時學習這些任務。因此,它們自然可以用於FSL。在這裡,我們介紹了在FSL中使用多工學習的一些例項。我們獲得了與C有關的任務

T1T1,……,TCTC,其中一些樣本很少,而每個任務的樣本數很多。每個任務TcTc都有一個數據集Dc={Dctrain,Dctest}Dc={Dtrainc,Dtestc},其中前者是訓練集,後者是測試集。在這些C任務中,我們將few-shot任務作為目標任務,其餘作為源任務。多工學習從DctrainDtrainc學習TcTc的引數θcθc。

由於這些任務是聯合學習的,因此為任務TcTc學習的hchc的引數θcθc受其他任務的約束。根據任務引數的約束方式,我們將該策略中的方法劃分為(i)引數共享;(ii)引數繫結[45]。 Parameter Sharing該策略直接在任務之間共享一些引數(圖5)。在[160]中,兩個任務網路共享通用資訊的前幾層,並學習不同的最終層以處理不同的輸出。在[61]中,法律文字上的兩個自然語言處理任務被一起解決:收費預測和法律屬性預測。單個嵌入功能用於對犯罪案件描述進行編碼,然後將其饋送到特定於任務的嵌入功能和分類器。在[95]中,首先從源任務中訓練變型自動編碼器,然後將其克隆到目標任務。為了捕獲通用資訊,兩個變體自動編碼器中的某些層是共享的,同時允許兩個任務都具有一些特定於任務的層。目標任務只能更新其特定於任務的層,而源任務可以同時更新共享和特定於任務的層。在[12]中,首先透過學習針對源任務和目標任務的單獨的嵌入函式,將原始樣本和生成的樣本都對映到特定於任務的空間,然後透過共享的可變自動編碼器進行嵌入。

最新小樣本學習Few-Shot Learning的四大Model方法

Parameter Tying這種策略要求不同任務的引數(θ′cs)(θc′s)相似(圖6)[45]。一種流行的方法是對(θ′cs)(θc′s)進行正則化。在[151]中,θ′csθc′s的所有成對差異都受到了懲罰。在[85]中,有一個CNN用於源任務,另一個用於目標任務。這兩個CNN的層使用一些特殊設計的正則化術語對齊。

最新小樣本學習Few-Shot Learning的四大Model方法

02 Embedding Learning

嵌入學習[63,122]將每個樣本xi∈X⊆Rdxi∈X⊆Rd嵌入到低維zi∈Z⊆Rmzi∈Z⊆Rm,這樣相似的樣本會緊密靠近,而異類的樣本則更容易區分。然後,在這個較低維的Z中,可以構造一個較小的假設空間H,隨後需要較少的訓練樣本。嵌入功能主要是從先驗知識中學到的,並且可以額外使用DtrainDtrain的任務特定資訊。 嵌入學習具有以下關鍵組成部分: (i)將測試樣本xtest∈Dtestxtest∈Dtest嵌入Z的函式f, (ii)將訓練樣本xi∈Dtrainxi∈Dtrain嵌入Z的函式g (iii)相似性函式s(⋅,⋅)s(·,·)來測量f(xtest)f(xtest)和Z中的g(xi)g(xi)之間的相似度。根據該類的嵌入g(xi)g(xi)與Z中的f(xtest)f(xtest)最相似, 將測試樣本xtestxtest分配給xixi類。儘管可以為xixi和xtestxtest使用通用的嵌入函式,但是使用兩個單獨的嵌入函式可以獲得更好的準確性[14,138]。表5總結了現有的嵌入學習方法。根據嵌入函式f和g的引數是否隨任務而變化,我們將這些FSL方法歸類為(i)特定於任務的嵌入模型;(ii)不變任務(即一般)嵌入模型;(iii)混合嵌入模型,可同時編碼特定於任務的資訊和不變於任務的資訊。

最新小樣本學習Few-Shot Learning的四大Model方法

Task-Specific Embedding Model。Task-specific embedding methods 透過僅使用來自該任務的資訊為每個任務量身定製嵌入函式。例如:給定任務TcTc的few-shot資料DctrainDtrainc,DctrainDtrainc中樣本之間的所有成對排名都被列舉為樣本對[130], 訓練樣本的數量因此增加,並且即使僅使用特定於任務的資訊也可以學習嵌入函式。Task-Invariant Embedding Model任務不變的嵌入方法從包含足夠樣本且具有各種輸出的大規模資料集中學習通用嵌入函式,然後將其直接用於新的few-shot DtrainDtrain,而無需重新訓練(圖7)。第一個FSL嵌入模型[36]使用核心嵌入樣本。最近,卷積孿生網路[20]學會了更復雜的嵌入[70,150]。

最新小樣本學習Few-Shot Learning的四大Model方法

儘管任務不變式嵌入不會使用few-shot DtrainDtrain的嵌入模型更新引數,但該類別中的許多方法[121、126、138]都會在訓練嵌入模型的時候模擬few-shot場景。假設我們有訓練集{Dc},每個訓練集都有N個類別。在每個Dc中,僅從N個類別中取樣U個類別進行訓練。嵌入模型透過最大化剩下的N-U個類別的效能來進行最佳化。因此,學習到的模型對於few-shot 任務具有較好的泛化性。一個早期的嘗試[127]從{Dc}中學習了一個線性嵌入。最近,一個更加複雜的task-invariant 嵌入模型透過meta-learning 方法學習得出。 (1) Matching Nets[138] and its variants[4,8,24] Matching Nets 為訓練樣本xixi和測試樣本xtestxtest元學習了不同的嵌入函式(f and g)。The residual LSTM(resLSTM)[4] 為f和g提出了更好的設計。Matching Nets的一個主動學習變體[8] 添加了一個樣本選擇步驟,用來標記最好的無標籤樣本以此來增強DtrainDtrain。 Matching Nets也擴充套件到了Set-to-Set匹配[24],這在標記樣本的多個部分時很有用。 (2)Prototypical Networks (ProtoNet) [121] and its variants [100, 108, 141] ProtoNet[121]只比較f(xtest)f(xtest)和類訓練集中的類原形。對類n,其原型由如下公式計算得出:

最新小樣本學習Few-Shot Learning的四大Model方法

這種方法可以使得結果更穩定且減少計算損失。使用原型的思想被引入到Matching Nets中[141]。 ProtoNet的半監督變體在學習過程中透過soft-assignment來分配未標記的樣本以增強Dtrain [108]。 (3)Other methods。 例子包括Attentive Recurrent Comparators(ARC)[119],它使用LSTM引起關注[9],將xtestxtest的不同區域與原型cncn進行比較,然後將比較結果作為中間嵌入。此外,它使用雙向LSTM(biLSTM)嵌入所有比較作為最終嵌入。[84,115]中使用圖神經網路(GNN)來利用來自本地鄰居的資訊。在few-shot的強化學習應用程式中(如在連續控制和視覺導航中),時間資訊很重要。簡單神經注意力學習者(SNAIL)[91]是一個具有交錯的時間卷積層和注意力層的嵌入網路。時間卷積層聚合來自過去時間步長的資訊,而注意層選擇性地關注與當前輸入相關的特定時間步長。

Hybrid Embedding Model。儘管可以將task-invariant的嵌入方法以較低的計算成本應用於新任務,但是它們沒有利用當前任務的特定知識。當任務特性是Dtrain僅提供一些示例的原因(例如,學習稀有案例)時,僅應用task-invariant的嵌入函式可能不適合。為了緩解這個問題,混合嵌入模型(Hybrid)透過Dtrain中的特定於任務的資訊來適應從先驗知識中學到的通用任務不變式嵌入模型。這是透過學習將Dtrain中提取的資訊作為輸入並返回一個嵌入來作為f(·)的引數(圖8)。

最新小樣本學習Few-Shot Learning的四大Model方法

Learnet [14]透過結合Dtrain的特定資訊來改進任務不變卷積孿生網路[70]。它從多個元訓練集中學習一個元學習器,並將每個訓練示例xi∈Dtrainxi∈Dtrain對映到學習器的引數(卷積孿生網路)。這樣,f(⋅)f(·)的引數隨給定的xixi改變,從而導致混合嵌入。[13] 在Learnet上進行了改進,將學習器的分類層替換為ridge迴歸,從而可以有效地以封閉形式獲取引數。以下兩項工作[100,162]將Dtrain作為一個整體來輸出f(⋅)f(·)的任務特定引數。任務相關的自適應量度(TADAM)[100]將類原型平均化到任務嵌入中,並使用元學習函式將其對映到ProtoNet引數。動態條件卷積網路(DCCN)[162]使用一組固定的濾波器,並使用Dtrain學習組合係數。

03 Learning with External Memory

使用外部儲存器[49、89、124、145]學習從DtrainDtrain中提取知識,並將其儲存在外部儲存器中(圖9)。然後,每個新樣本xtestxtest由從記憶體中提取的內容的加權平均值表示。這限制了xtestxtest由記憶體中的內容表示,因此實質上減小了H的大小。

最新小樣本學習Few-Shot Learning的四大Model方法

FSL中通常使用鍵值儲存器[89]。令儲存器為M∈Rb×mM∈Rb×m,其b個儲存插槽M(i)∈RmM(i)∈Rm中的每一個都由鍵值對M(i)=(Mkey(i),Mvalue(i))M(i)=(Mkey(i),Mvalue(i))組成。首先透過嵌入函式f嵌入測試樣本xtestxtest。但是,與嵌入方法不同,f(xtest)f(xtest)不能直接用作xtestxtest的表示形式。相反,它僅用於基於f(xtest)f(xtest)與每個鍵Mkey(i)Mkey(i)之間的相似度s(f(xtest),Mkey(i))s(f(xtest),Mkey(i))查詢最相似的記憶體插槽。提取最相似的記憶體插槽(Mvalue(i)Mvalue(i))的值並將其組合起來,以表示xtestxtest。然後將其用作簡單分類器(例如softmax函式)的輸入以進行預測。由於操縱M的成本很高,因此M通常尺寸較小。當M未滿時,可以將新樣本寫入空閒的儲存插槽。當M已滿時,必須決定要更換的記憶體插槽。 表6介紹了帶有外部儲存器的方法的特性。

最新小樣本學習Few-Shot Learning的四大Model方法

由於每個xtestxtest表示為從記憶體中提取的值的加權平均值,因此記憶體中鍵值對的質量非常重要。根據儲存器的功能,該類別中的FSL方法可以細分為兩種型別。Refining Representations。下列方法將DtrainDtrain小心地放入記憶體中,以便儲存的鍵值對可以更準確地表示xtestxtest。記憶增強神經網路(MANN)[114]元學習嵌入f,並將相同類別的樣本對映到相同值。然後,同一類的樣本一起在記憶體中最佳化它們的類表示。在ProtoNet [121]中,可以將此類表示形式視為精緻的類原型。surprise-based 儲存模組[104]僅在其不能很好地表示xixi時更新M。因此,使用該xixi更新M使得M更具表達性,並且還降低了計算成本。抽象儲存器[149]使用兩個儲存器。一種從包含大型機器註釋資料集的固定儲存器中提取相關的鍵值對,另一種則對提取的值進行精煉並提取出最有用的資訊,以進行few-shot(影象)分類。這個想法在[164]中擴充套件到了few-shot影片分類。沿著這條思路,一些方法特別注意保護記憶體中的few-shot類。請注意,few-shot類很小,因此保留在M中的機會較小。M中的每個few-shot樣本也可以很容易地用更豐富類中的樣本替換。為了減輕這個問題,提出了lifelong memory(終生記憶)[65]。與以前的儲存器[104、114、149、164]會擦除任務中的儲存器內容不同,終身儲存器會在儲存器已滿時擦除“最舊”的儲存器值,然後將所有儲存器插槽的使用期限重置為零。對於新樣本,當返回的Mvalue(i)Mvalue(i)值與其實際輸出匹配時,它將與當前MkeyMkey(i)合併,而不是寫入新的記憶體插槽,因此,所有類都更有可能被佔用相同數量的記憶體插槽,並保護了稀有類,最近,這種終身記憶體適用於學習單詞表示[125]。但是,即使使用了終生記憶,仍然可以忘記稀有樣品。每次更新後,終生記憶體會將所選M(i)M(i)的使用期限重置為零,並將其他非空記憶體插槽的使用期限增加一。當記憶體已滿且返回值錯誤時,將替換最早的記憶體插槽。由於稀有類別的樣本很少更新其M(i)M(i),因此它們被擦除的可能性更高。Refining Parameters。回想一下,Learnet [14]及其變體(第4。2。3節)從DtrainDtrain對映資訊,以引數化新xtestxtest的嵌入函式g(⋅)g(·)。可以使用儲存器來完善此引數。元網路(MetaNet)[96]使用從多個數據集元學習的“慢”權重和作為DtrainDtrain特定任務的嵌入的“快速”權重,對分類模型進行引數化。如[97]所示,透過學習修改每個神經元而不是完整的引數,可以降低MetaNet的計算成本。MN-Net [22]使用記憶體來完善在Matching Nets中學習的嵌入,如Learnet一樣,其輸出用於對CNN進行引數化。

04 Generative Modeling

生成建模方法藉助先驗知識(圖10)從觀測到的xixi估計機率分佈p(x)p(x)。p(x)p(x)的估計通常涉及p(x|y)p(x|y)和p(y)p(y)的估計。此類中的方法可以處理許多工,例如生成[34、76、107、109],識別[34、35、47、76、113、129、159],重構[47]和影象翻轉[107]。

最新小樣本學習Few-Shot Learning的四大Model方法

在生成建模中,假定觀察到的xx是從由θθ引數化的某些分佈p(x;θ)p(x;θ)得出的。通常,存在一個潛在變數z〜p(z;γ)z〜p(z;γ),因此x〜∫p(x|z;θ)p(z;γ)dzx〜∫p(x|z;θ)p(z;γ)dz。從其他資料集獲悉的先驗分佈p(z;γ)p(z;γ)帶來了對FSL至關重要的先驗知識。透過將提供的訓練集DtrainDtrain與此p(z;γ)p(z;γ)結合,約束了後驗機率分佈。換句話說,將H約束為更小的H ̃。 根據潛在變數zz表示的內容,我們將這些FSL生成建模方法分為三種類型。Decomposable Components。

可分解成分。儘管在FSL問題中缺少具有監督資訊的樣本,但它們可能與其他任務的樣本共享一些較小的可分解元件。例如,考慮僅使用提供的幾張面部照片識別一個人。儘管可能很難找到相似的面孔,但可以輕鬆找到眼睛,鼻子或嘴巴相似的照片。使用大量樣本,可以輕鬆瞭解這些可分解元件的模型。然後,僅需要找到這些可分解元件的正確組合,並確定該組合屬於哪個目標類。由於可分解成分是由人類選擇的,因此這種策略更具可解釋性。Bayesian One-Shot [35]使用生成模型來捕獲可分解元件(即物件的形狀和外觀)與目標類別(即要識別的物件)之間的互動。貝葉斯程式學習(BPL)[76]透過將字元分為型別,標記以及其他模板,部分和原語來對字元進行建模。為了產生一個新的角色,需要搜尋一個包含這些成分的大組合空間。在[76]中,僅透過考慮可能的最高組合就可以降低這種推理成本。在自然語言處理中,最近的工作[64]建立了跨度而不是完整的解析樹的模型,並透過訓練跨度的單個分類器來使語法分離的域之間的解析器適應。

Groupwise Shared Prior。

分組共享優先。通常,相似的任務具有相似的先驗機率,並且可以在FSL中使用。例如,考慮“橙色貓”,“豹”和“孟加拉虎”的三級分類,這三個物種相似,但孟加拉虎瀕臨滅絕,而橙色貓和豹則豐富,因此,人們可以學習一種 來自“橙色貓”的先驗機率,以及“豹”,並以此作為few-shot類級“孟加拉虎”的先決條件。在[113]中,一組資料集{

DcDc}透過無監督學習被分組為一個層次結構。每個組中的資料集一起學習類級先驗機率。對於一個新的few-shot類,首先找到該新類所屬的組,然後根據從按組共享的先驗機率中提取的先驗類對它進行建模。在[129]中,[113]中的特徵學習步驟透過使用深度玻爾茲曼機[112]得到進一步改進。Parameters of Inference Networks。

推理網路的引數。為了找到最佳的θ,必須最大化後驗:

最新小樣本學習Few-Shot Learning的四大Model方法

由於分母中的積分,所以難於求解(2)。從資料中學習到的變化分佈q(z;δ)q(z;δ)通常用於近似p(z|x;θ,γ)p(z|x;θ,γ)。最近,這個q(z;δ)q(z;δ)是透過使用推理網路進行攤銷的變數推理來近似的[158]。儘管z不再具有語義含義,但是這些深度模型學習到的強大表示形式可以帶來更好的效能。 一旦學習,推理網路就可以直接應用於新任務,這將更加高效並且需要更少的人類知識。由於推理網路具有大量引數,因此通常使用一些輔助大規模資料集對其進行訓練。許多經典的推理網路都適用於FSL問題。例如,在[34,57,109]中使用變分自編碼器(VAE)[68],在[107]中使用自迴歸模型[135],在[159]中使用生成對抗網路(GAN)[46], 並在[47]中提出了VAE和GAN的組合。

05 Discussion and Summary

當存在相似的任務或輔助任務時,可以使用多工學習來約束few-shot任務的H。但是,請注意,需要共同訓練所有任務。因此,當一個新的few-shot任務到達時,整個多工模型必須再次訓練,這可能既昂貴又緩慢。此外,D和

DcDc的大小不應具有可比性,否則,多次執行的任務可能會被具有許多樣本的任務淹沒。當存在一個包含足夠的各種類別樣本的大規模資料集時,可以使用嵌入學習方法。這些方法將樣本對映到良好的嵌入空間,在其中可以很好地分離來自不同類別的樣本,因此需要較小的H ̃。但是,當few-shot任務與其他任務沒有密切關係時,它們可能無法很好地工作。此外,更多有關如何混合任務的不變和特定於任務的資訊的探索是有幫助的。當有可用的記憶體網路時,可以透過在記憶體的基礎上訓練一個簡單的模型(例如,分類器)將其輕鬆用於FSL。透過使用精心設計的更新規則,可以有選擇地保護記憶體插槽。 該策略的弱點在於,它會導致額外的空間和計算成本,隨著記憶體大小的增加而增加。因此,當前的外部儲存器具有有限的大小。最後,當除了FSL之外還想要執行諸如生成和重構之類的任務時,可以使用生成模型。他們從其他資料集中學習了先驗機率p(z;γ)p(z;γ),這將H減小為更小的H ̃。 學習的生成模型也可以用於生成樣本以進行資料擴充。但是,生成建模方法具有較高的推理成本,比確定性模型更難於推導。

Recommended references

部分推薦參考文獻如下:

[13] L。 Bertinetto, J。 F。 Henriques, P。 Torr, and A。 Vedaldi。 2019。 Meta-learning with differentiable closed-form solvers。 In International Conference on Learning Representations。

[14] L。 Bertinetto, J。 F。 Henriques, J。 Valmadre, P。 Torr, and A。 Vedaldi。 2016。 Learning feed-forward one-shot learners。 In Advances in Neural Information Processing Systems。 523–531。

[35] L。 Fei-Fei, R。 Fergus, and P。 Perona。 2006。 One-shot learning of object categories。 IEEE Transactions on Pattern Analysis and Machine Intelligence 28, 4 (2006), 594–611。

[47] J。 Gordon, J。 Bronskill, M。 Bauer, S。 Nowozin, and R。 Turner。 2019。 Meta-learning probabilistic inference for prediction。 In International Conference on Learning Representations。

[65] Ł。 Kaiser, O。 Nachum, A。 Roy, and S。 Bengio。 2017。 Learning to remember rare events。 In International Conference on Learning Representations。

[89] A。 Miller, A。 Fisch, J。 Dodge, A。-H。 Karimi, A。 Bordes, and J。 Weston。 2016。 Key-value memory networks for directly reading documents。 In Conference on Empirical Methods in Natural Language Processing。 1400–1409。

[91] N。 Mishra, M。 Rohaninejad, X。 Chen, and P。 Abbeel。 2018。 A simple neural attentive meta-learner。 In International Conference on Learning Representations。[96] T。 Munkhdalai and H。 Yu。 2017。 Meta networks。 In International Conference on Machine Learning。 2554–2563。

[97] T。 Munkhdalai, X。 Yuan, S。 Mehri, and A。 Trischler。 2018。 Rapid adaptation with conditionally shifted neurons。 In International Conference on Machine Learning。 3661–3670。

[113] R。 Salakhutdinov, J。 Tenenbaum, and A。 Torralba。 2012。 One-shot learning with a hierarchical nonparametric Bayesian model。 In ICML Workshop on Unsupervised and Transfer Learning。 195–206。

[114] A。 Santoro, S。 Bartunov, M。 Botvinick, D。 Wierstra, and T。 Lillicrap。 2016。 Meta-learning with memory-augmented neural networks。 In International Conference on Machine Learning。 1842–1850。

[158] C。 Zhang, J。 Butepage, H。 Kjellstrom, and S。 Mandt。 2019。 Advances in variational inference。 IEEE Transactions on Pattern Analysis and Machine Intelligence 41, 8 (2019), 2008–2026。

[164] L。 Zhu and Y。 Yang。 2018。 Compound memory networks for few-shot video classification。 In European Conference on Computer Vision。 751–766。

想要訪問更多參考文獻,歡迎進入後臺回覆關鍵字“200430”獲取。

最新小樣本學習Few-Shot Learning的四大Model方法

最新小樣本學習Few-Shot Learning的四大Model方法

最新小樣本學習Few-Shot Learning的四大Model方法