本文主要講解當前最新小樣本學習綜述A Survey of Few-Shot Learning的
Model部分,包括Multitask Learning、Embedding Learning、Learning with External Memory、Generative Modeling四種模型方法,具體目錄如下:
全文共計10015字,預計閱讀時間26分鐘
後臺回復「200430」,即可獲取論文原文
給定少數樣本的DtrainDtrain,僅使用簡單模型(例如線性分類器)就可以選擇較小的H (假設空間)[92,94]。但是,現實世界中的問題通常很複雜,並且不能由小H的假設h很好地表示[45]。因此,在FSL中最好使用足夠大的H,這使得標準的機器學習模型不可行。本節中的FSL方法通過根據E中的先驗知識將H約束到較小的假設空間H 來進行學習(圖2(b))。這樣,經驗風險最小化器將更加可靠,並降低過度擬合的風險。 根據所使用的先驗知識,可以將屬於該類別的方法進一步分為四種類型(表4)。
在存在多個相關任務的情況下,多任務學習[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]。該策略直接在任務之間共享一些參數(圖5)。在[160]中,兩個任務網絡共享通用信息的前幾層,並學習不同的最終層以處理不同的輸出。在[61]中,法律文本上的兩個自然語言處理任務被一起解決:收費預測和法律屬性預測。單個嵌入功能用於對犯罪案件描述進行編碼,然後將其饋送到特定於任務的嵌入功能和分類器。在[95]中,首先從源任務中訓練變型自動編碼器,然後將其克隆到目標任務。為了捕獲通用信息,兩個變體自動編碼器中的某些層是共享的,同時允許兩個任務都具有一些特定於任務的層。目標任務只能更新其特定於任務的層,而源任務可以同時更新共享和特定於任務的層。在[12]中,首先通過學習針對源任務和目標任務的單獨的嵌入函數,將原始樣本和生成的樣本都映射到特定於任務的空間,然後通過共享的可變自動編碼器進行嵌入。
![]()
這種策略要求不同任務的參數(θ′cs)(θc′s)相似(圖6)[45]。一種流行的方法是對(θ′cs)(θc′s)進行正則化。在[151]中,θ′csθc′s的所有成對差異都受到了懲罰。在[85]中,有一個CNN用於源任務,另一個用於目標任務。這兩個CNN的層使用一些特殊設計的正則化術語對齊。
![]()
嵌入學習[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)混合嵌入模型,可同時編碼特定於任務的信息和不變於任務的信息。
![]()
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 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,其原型由如下公式計算得出:
這種方法可以使得結果更穩定且減少計算損失。使用原型的思想被引入到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]是一個具有交錯的時間卷積層和注意力層的嵌入網絡。時間卷積層聚合來自過去時間步長的信息,而注意層選擇性地關注與當前輸入相關的特定時間步長。
儘管可以將task-invariant的嵌入方法以較低的計算成本應用於新任務,但是它們沒有利用當前任務的特定知識。當任務特性是Dtrain僅提供一些示例的原因(例如,學習稀有案例)時,僅應用task-invariant的嵌入函數可能不適合。為了緩解這個問題,混合嵌入模型(Hybrid)通過Dtrain中的特定於任務的信息來適應從先驗知識中學到的通用任務不變式嵌入模型。這是通過學習將Dtrain中提取的信息作為輸入並返回一個嵌入來作為f(·)的參數(圖8)。
![]()
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的大小。![]()
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介紹了帶有外部存儲器的方法的特性。![]()
由於每個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),因此它們被擦除的可能性更高。回想一下,Learnet [14]及其變體(第4.2.3節)從DtrainDtrain映射信息,以參數化新xtestxtest的嵌入函數g(⋅)g(·)。可以使用存儲器來完善此參數。元網絡(MetaNet)[96]使用從多個數據集元學習的「慢」權重和作為DtrainDtrain特定任務的嵌入的「快速」權重,對分類模型進行參數化。如[97]所示,通過學習修改每個神經元而不是完整的參數,可以降低MetaNet的計算成本。MN-Net [22]使用內存來完善在Matching Nets中學習的嵌入,如Learnet一樣,其輸出用於對CNN進行參數化。
生成建模方法藉助先驗知識(圖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]。![]()
在生成建模中,假定觀察到的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生成建模方法分為三種類型。可分解成分。儘管在FSL問題中缺少具有監督信息的樣本,但它們可能與其他任務的樣本共享一些較小的可分解組件。例如,考慮僅使用提供的幾張面部照片識別一個人。儘管可能很難找到相似的面孔,但可以輕鬆找到眼睛,鼻子或嘴巴相似的照片。使用大量樣本,可以輕鬆了解這些可分解組件的模型。然後,僅需要找到這些可分解組件的正確組合,並確定該組合屬於哪個目標類。由於可分解成分是由人類選擇的,因此這種策略更具可解釋性。Bayesian One-Shot [35]使用生成模型來捕獲可分解組件(即對象的形狀和外觀)與目標類別(即要識別的對象)之間的交互。貝葉斯程序學習(BPL)[76]通過將字符分為類型,標記以及其他模板,部分和原語來對字符進行建模。為了產生一個新的角色,需要搜索一個包含這些成分的大組合空間。在[76]中,僅通過考慮可能的最高組合就可以降低這種推理成本。在自然語言處理中,最近的工作[64]建立了跨度而不是完整的解析樹的模型,並通過訓練跨度的單個分類器來使語法分離的域之間的解析器適應。
分組共享優先。通常,相似的任務具有相似的先驗概率,並且可以在FSL中使用。例如,考慮「橙色貓」,「豹」和「孟加拉虎」的三級分類,這三個物種相似,但孟加拉虎瀕臨滅絕,而橙色貓和豹則豐富,因此,人們可以學習一種 來自「橙色貓」的先驗概率,以及「豹」,並以此作為few-shot類級「孟加拉虎」的先決條件。在[113]中,一組數據集{
DcDc}通過無監督學習被分組為一個層次結構。每個組中的數據集一起學習類級先驗概率。對於一個新的few-shot類,首先找到該新類所屬的組,然後根據從按組共享的先驗概率中提取的先驗類對它進行建模。在[129]中,[113]中的特徵學習步驟通過使用深度玻爾茲曼機[112]得到進一步改進。Parameters of Inference Networks.推理網絡的參數。為了找到最佳的θ,必須最大化後驗:
![]()
由於分母中的積分,所以難於求解(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 ̃。 學習的生成模型也可以用於生成樣本以進行數據擴充。但是,生成建模方法具有較高的推理成本,比確定性模型更難於推導。部分推薦參考文獻如下:
[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」獲取。