摘要:人工智能在數據密集型應用中取得了成功,但它缺乏從有限的示例中學習的能力。為了解決這一問題,提出了少鏡頭學習(FSL)。利用先驗知識,可以快速地從有限監督經驗的新任務中歸納出來。為了全面了解FSL,我們進行了一項調查研究。我們首先要澄清對FSL的正式定義。進而得出不可靠經驗風險最小化是FSL的核心問題。基於如何利用先驗知識來處理核心問題,我們將不同的FSL方法分為三類:數據利用先驗知識來增加監督經驗,模型利用先驗知識來約束假設空間,算法利用先驗知識改變對假設空間中最優假設參數的搜索。在這種統一的分類法下,我們對不同類別的利弊進行了深入的討論。最后,從問題設置、技術、應用和理論等方面提出了可行性研究方向,希望能為后續研究提供一些啟示。
附加關鍵詞和短語:少樣本學習、單樣本學習、低樣本學習、小樣本學習、元學習、先驗知識
1.簡介
“機器能思考嗎?這是1950年艾倫·圖靈(Alan Turing)題為“計算機械與智能”的開創性論文中提出的問題。他說,“數字計算機背后的想法可以解釋為,這些機器旨在執行任何可以由人類計算機完成的操作”。換句話說,機器的最終目標是和人類一樣聰明。近年來,由於GPU等強大計算設備的出現,ImageNet等大規模數據集[26],CNN等先進模型和算法[64],人工智能加快了向人類靠攏的步伐,在許多領域擊敗了人類。舉幾個例子,AlphaGo[106]在玩古老的圍棋游戲中擊敗了人類冠軍,ResNet[50]在1000個類的ImageNet數據集上的分類精度高於人類。在其他領域,人工智能作為高度智能的工具,如語音助手、搜索引擎、自動駕駛汽車和工業機器人,參與到人類的日常生活中。
盡管人工智能很繁榮,但目前的人工智能還不能從幾個例子中迅速概括出執行任務的方法。上述人工智能的成功應用依賴於對大規模數據的詳盡學習。相比之下,人類能夠通過利用過去所學的知識快速地學習新的任務場景。例如,一個學會了加法的孩子,只要舉幾個例子,就可以迅速地把知識轉移到乘法上,例如2×3=2+2+2和1×3=1+1+1。另一個例子是,給一個陌生人的幾張照片,一個孩子可以很容易地從大量的照片中辨認出同一個人。
彌合人工智能和類人學習之間的鴻溝是一個重要的方向。這可以通過機器學習來解決,機器學習是人工智能的一個子領域,它支持諸如模型、算法和理論等科學研究基礎。具體地說,機器學習關注的是如何構造能夠隨着經驗自動改進的計算機程序的問題[80]。為了滿足從有限的有監督信息中學習以獲得任務掛起的渴望,提出了一個新的機器學習問題,稱為少樣本學習(FSL)[32,33]。當只有一個例子可以學習時,FSL也被稱為單樣本學習問題。通過融合先驗知識,FSL可以學習有限監督信息的新任務。
FSL是人工智能的試驗台。因此,它是否像人類一樣學習是一個考驗。一個典型的例子是字符識別[66],在這里給出幾個例子計算機程序被要求分類,解析和生成新的手寫字符。要處理這個任務,可以將字符分解成可以跨字符轉移的較小部分,然后將這些較小的組件聚合成新字符。這是一種像人一樣的學習方式[67]。自然,FSL推動了機器人學的發展[24],其目標是開發能夠復制人類行為的機器,以便在某些情況下取代人類。例如單樣本模擬[30]、多武裝匪徒[30]、視覺導航[30]、移動中的連續控制[34]。
除了測試人工智能之外,FSL還可以幫助減輕為工業需要收集大規模監督數據的負擔。例如,ResNet[50]在1000個類的ImageNet數據上獲得了比人類更高的分類精度。然而,這是在每個類都有足夠的標記圖像的情況下。相比之下,人類可以識別大約30000個類[16],其中收集每一個類的足夠圖像供機器學習是非常困難的。相反,FSL可以幫助降低這些數據密集型應用的數據收集效果費用,例如圖像分類[127]、圖像檢索[118]、對象跟蹤[15]、手勢識別[88]、圖像字幕和視覺問答[28]、視頻事件檢測[137]和語言建模[127]。此外,能夠執行FSL可以降低那些計算成本高昂的應用程序的成本,例如一次性架構搜索[21]。當模型和算法成功地用於FSL時,它們自然地應用於許多樣本的數據集,這些樣本更容易學習。
FSL的另一個經典場景是,由於隱私、安全或道德問題等原因,很難或不可能獲取受監督信息的任務。例如,葯物發現就是發現新分子的特性,從而將有用的分子識別為新葯的過程[3]。然而,由於可能的毒性、低活性和低溶解度,這些新分子在臨床候選上沒有許多真實的生物記錄。這使得葯物發現任務成為一個FSL問題。類似的罕見案例學習應用程序可以是FSL翻譯[56],冷啟動項目建議[126],其中目標任務沒有很多示例。正是通過FSL,學習適合這些罕見情況的模型成為可能。
隨着人工智能的學術夢想和廉價學習的工業需求,FSL引起了人們的廣泛關注,成為一個熱門話題。作為一種學習范式,許多方法都試圖解決這一問題,如元學習方法[100]、嵌入學習方法[127]和生成建模方法[31]。然而,目前還沒有現有的工作提供了有組織的分類法來連接FSL方法,解釋了為什么某些方法在其他方法失效時工作,也不討論二者的優缺點。因此,我們對FSL問題進行了調查。本次調查的貢獻總結如下1。
•我們正式定義FSL。它可以自然地鏈接到[80]中提出的經典機器學習定義。該定義不足夠概括以包括所有現有的FSL作品,但也足夠明確,以明確什么是FSL的目標,以及我們如何解決它。這樣的認識有助於確定未來FSL領域的研究目標
•我們指出了機器學習中基於錯誤分解的FSL的核心問題[19]。我們認為,正是不可靠的經驗風險最小化使得FSL難以學習。這可以通過滿足或減少學習的樣本復雜度來緩解。更重要的是,這為以更有組織和系統的方式改進FSL方法提供了見解。
•我們對從FSL誕生到最新發表的文獻進行了廣泛的文獻回顧,並將它們按數據、模型和算法進行了統一分類。深入討論了不同類別的利弊。我們還總結了每個類別下的見解。這有助於更好地理解FSL方法。
•我們提議FSL在問題解決、技術、應用和理論等術語方面的四個未來方向。這些見解是以FSL當前發展緩慢為基礎的,並有可能改進今后的發展。我們希望他們能提供一些見解。
1.1調查的組織
本次調查的其余部分安排如下。第2節提供了調查的概述,包括FSL的正式定義、核心問題、相關的學習問題以及現有作品在數據、模型和算法方面的分類。第3節是關於增加數據以解決FSL問題的方法。第4節是用於約束模型以使FSL可行的方法。第5節是改變算法搜索策略來處理FSL問題的方法。在第6部分中,我們從問題設置、技術、應用和理論等方面提出了FSL的未來發展方向。最后,調查在第7節得出結論。
2概述
在這一節中,我們首先在第2.1節中提供整篇論文中使用的符號。第2.2節給出了FSL問題的形式化定義,並給出了具體的例子。由於FSL問題涉及到許多機器學習問題,我們在第2.3節討論了它們之間的聯系和區別。在第2.4節中,我們揭示了使FSL問題變得困難的核心問題。然后根據現有作品如何處理核心問題,在第2.5節中提出了統一的分類法。
2.1符號
假設一個有監督的學習任務T,FSL處理一個數據集D={Dtrain,Dtest}由訓練集Dtrain={(x(i),y(i))}Ii=1組成,其中I很小,測試集Dtest={xtest}。通常,人們考慮N-way-K-shot分類任務,其中Dtrain包含N個類中的I=KN個示例,每個類都有K個示例。設p(x,y)為輸入x和輸出y的真值聯合概率分布,hˆ為x到y的最優假設,FSL通過擬合Dtrain和在Dtest上測試學習發現hˆ。為了近似h^,模型確定由θ2參數化的假設h(·;θ)的假設空間H。算法是通過搜索假設空間H來獲得在Dtrain上最優的h∈H的參數化θ的優化策略。性能是通過預測yˆ(例如,yˆ=h(x;θ))和實際輸出y上的損耗函數l(yˆ,y)來衡量的。
2.2問題定義
由於FSL自然是機器學習的一個子領域,在給出FSL的定義之前,讓我們回顧一下機器學習是如何被正規定義的。這里我們采用米切爾的定義[80],如定義2.1所示。
定義2.1(機器學習[80])。如果一個計算機程序的性能能隨着用P度量的E-on-T(經驗-on-任務)而提高,則它可以從一些任務T和性能度量P的經驗E中學習。
我們可以看到,機器學習問題是由E,T和P來描述的。例如,考慮到圖像分類任務(T),機器學習程序可以通過使用大規模標記圖像(如ImageNet數據集[64])進行訓練獲得E來提高其分類精度(P)。另一個例子是最近的計算機程序AlphaGo[106],它在玩古老的圍棋(T)游戲時擊敗了人類冠軍。它通過使用一個記錄了3000萬次人類專家動作的數據庫進行訓練,以及反復與自己比賽,提高了對對手的勝率(P)。
上述典型的機器學習應用對給定的任務需要大量的監督信息。然而,如導言中所述,這可能是困難的,甚至是不可能的。FSL是機器學習的一個特例,它的目標是在數據集D提供有限的監督信息的情況下獲得良好的學習性能。監督信息是指訓練數據集Dtrain包括輸入x(i)及其相應的輸出y(i)的示例[17]。正式地,我們在定義2.2中定義了FSL。
定義2.2 少樣本學習(FSL)是一類機器學習問題(由E、T和P指定),其中E包含少量目標T的監督信息。
為了更好地理解這一定義,讓我們展示FSL的三個典型場景(表1):
•充當類似人類學習的試驗台:要走向人類智能,計算機程序解決FSL問題的能力至關重要。一個流行的任務(T)是生成一個新字符的樣本,只給出幾個例子[66]。受人類學習方式的啟發,計算機程序使用E進行學習,E既包括作為監督信息的給定示例,也包括作為先驗知識的預先訓練的概念,例如部分和關系。通過視覺圖靈測試(P)的通過率對生成的字符進行評價,判斷圖像是由人生成的還是由機器生成的。有了這些先驗知識,計算機程序還可以學習分類、解析和生成一些像人類這樣的例子的新手寫字符。
•減少數據收集的效果和計算成本:FSL也有助於減輕收集大規模監督信息的負擔。考慮通過FSL[32]對幾個示例的類進行分類。圖像分類精度(P)隨着目標T中每一類的少量標記圖像所獲得的E,以及從其他類中提取的先驗知識(如原始圖像)的增加而提高。成功完成此任務的方法通常具有較高的通用性,因此它們可以很容易地應用於多個樣本的任務。
•針對罕見情況的學習:最后,通過FSL,人們可以學習適用於受監督數據有限的罕見情況的模型。例如,考慮一個共同的葯物發現任務(T),它預測新分子是否帶來毒性E(3)。正確分配給有毒或無毒的分子(P)的百分比與通過新分子的有限測定獲得的E和許多類似的分子作為先驗知識的檢測得到改善。
由於E中只含有少量與T直接相關的監督信息,因此一般的監督機器學習方法在FSL問題上都是失敗的。因此,FSL方法通過將E中可用的監督信息與一些先驗知識相結合,即“學習者在看到示例之前關於未知功能的任何信息”,使目標T的學習成為可能。
表1。基於定義2.2的三個FSL示例的插圖。(T代表任務Task,E代表經驗Experience,P代表概率Probability)

2.3相關學習問題
在本節中,我們將討論FSL的相關學習問題。FSL的相關性和差異是特別明確的。
•半監督學習[147]通過由標記樣本和未標記樣本組成的經驗E學習最優假設hˆ。正無標記學習[71]是半監督學習的一個特例,它只給出正樣本和無標記樣本。另一個相關的半監督學習問題是主動學習[103],它選擇信息性的未標記數據來查詢oracle的輸出y。通過定義,FSL可以被監督學習、半監督學習和強化學習,這取決於除了有限的監督信息之外,還有什么樣的數據可用。它既不需要存在未標記的樣本,也不需要Oracle。
•不平衡學習[49]從經驗E中學習,y的分布嚴重傾斜。它訓練和測試在所有可能的y中進行選擇。相反,FSL訓練和測試僅舉幾個例子,而可能將另一個y作為學習的先驗知識。
•轉移學習[87]將從源域和源任務(如果有足夠的培訓數據)學到的知識轉移到目標域和目標任務(如果培訓數據有限)。領域適應[11]是一種遷移學習問題,任務相同,領域不同。另一個相關的轉移學習問題被稱為零鏡頭學習(68),它通過將其鏈接到現有的類來識別一個沒有監督訓練實例的新類,該類通常依賴於諸如文本語料庫和詞匯數據庫(135)的外部數據源。FSL不需要是一個轉移學習問題。然而,當給定的監督信息被限制為直接學習時,FSL需要將先驗知識轉移到當前任務中。然后這種FSL問題就變成了轉移學習問題。
•元學習或學習[51]通過提供的數據集和元學習者跨任務提取的元知識,提高了新任務t的P。具體來說,元學習者在任務間逐漸學習一般信息(元知識),學習者利用任務特定信息快速地將元學習者概括為新的任務T。許多FSL方法都是以元學習者為先驗知識的元學習方法。關於元學習的正式定義見附錄a。
2.4核心問題
通常,對於機器學習問題,我們無法得到完美的預測,即存在一些預測錯誤。在這一部分中,我們說明了機器學習中基於錯誤分解的FSL下的核心問題[19,20]。
回想一下,機器學習是關於用P來衡量E對T的改進。根據我們的符號,這可以寫成

這里,θ參數化了模型選擇的假設h∈h。學習的內容是搜索h中最佳假設h的θ的算法。
2.4.1經驗風險最小化。實質上,我們希望最小化預期風險R,即相對於p(x,y)的損失。對於某些假設h,R被蔑視為

然而,p(x,y)是未知的。因此,經驗風險RI(h)被用來估計預期風險R(h)。它被定義為訓練數據集上樣本損失的平均值(I個樣本的Dtrain):

而學習是通過經驗風險最小化[124]來完成的(也許還需要一些正則化)。為了說明的目的,讓
•hˆ=arg minf R(h),其中R達到其最小值;
•h=arg minh 8712H;R(h),其中R相對於h`8712H最小化;
•hI=arg minh 8712H;RI(h),其中RI相對於h$8712最小化;h。
假設hˆ、h∗和hI是唯一的,因為它們很簡單。對於隨機選擇的訓練集,學習的總誤差可以分解為
(2)
當逼近誤差Eapp(H)測量H中的函數如何逼近最優假設H時,估計誤差EEST(h,i)測量最小經驗風險Ri(h)代替E(19, 20)內的預期風險r(h)的ε。
如圖所示,總誤差受H(假設空間)和I(Dtrain中的示例數)的影響。換言之,可以嘗試從提供Dtrain的數據、確定H的模型和通過H搜索fts Dtrain的最佳H的θ的算法的角度來學習減少總誤差。
2.4.2不可靠的經驗風險最小化。注意,對於(2)中的Eest(H,I),我們有
(3)
這意味着更多的例子可以幫助減少Eest(H,I)。因此,在監督學習任務的一般設置中,訓練數據集具有足夠的監督信息,即i是大的。經驗風險最小化器HI可以提供一個好的,即(根據(3))近似R(HI)到H.中H的最佳可能R(H)。
但是,我在FSL中可用的示例數量很少。這使得經驗風險RI(H)遠不是預期風險R(H)的良好近似,所得的經驗風險極小值HI不好。事實上,這是FSL的核心問題,即經驗風險最小化hI不再可靠。因此,FSL比一般的機器學習設置困難得多。圖1顯示了普通和少量放炮設置之間的比較。

Fig. 1. Comparison between common seting and few-shot seting in machine learning
從歷史上看,經典的機器學習方法是通過正則化來學習的[41],以推廣新數據集的學習方法。正則化技術植根於機器學習,有助於減少Eest並獲得更好的學習性能[80]。經典的例子包括Tikhonov正則化器[52]和lasso正則化器[116]。不可否認,這些正則化可以限制模型的形式。然而,這些簡單的正則化技術並不能解決FSL問題。它們不會帶來任何額外的監督信息,因此無法解決由小數據量導致的經驗風險最小化的不可靠性。因此,正則化學習不足以為FSL問題提供良好的預測性能。
2.4.3樣本復雜度。經驗風險最小化與樣本復雜性密切相關。具體而言,樣本復雜度指的是保證損失最小經驗風險RI(H)所需的訓練樣本數,而不是預期風險R(H *)最多為1概率δ〔80〕。數學上,對於0<,δ<0.5,樣本復雜度是一個整數s,使得對於i s s,我們有
(4)
當S是fnite時,H是可學習的。對於fnNITE空間H,它的復雜性可以用Vapnk O-S.Celvon(Vc)維數(125)來測量。VC維VC(H)被定義為可以被H分解(以所有可能的方式拆分)的最大輸入集的大小。S被緊密地限定為
(5)
其中上界和下界分別在[125]和[114]中得到證明。
如(4)和(5)所示,對於fxedδ和ϵ,H需要較少的復雜度,以使所提供的I樣本足夠S。FSL方法通常使用先驗知識來補償樣本的不足。一種典型的FSL方法是貝葉斯學習[32,66]。它將所提供的訓練數據集Dtrain與先驗概率(Dtrain給出之前可用的概率)結合起來[17]。這樣,確定h的fnal概率所需的S可證明地減小了[39,80]。這啟發我們懷疑FSL方法可以通過利用先驗知識來滿足或減少S。從而解決了不可靠經驗風險最小化的核心問題。
2.5分類
在前面的章節中,我們發現FSL的核心問題是不可靠的經驗風險最小化hI。我們還證明了一個可靠的經驗風險最小化可以通過滿足或減少所需的樣本復雜度。現有的FSL作品使用先驗知識來滿足或減少S.基於先驗知識的使用,我們將這些作品歸類為:
•數據:利用先驗知識將I樣本的Dtrain增加到I●樣本的方法。這樣,S就可以滿足[12107]。如圖2(a)所示,我們可以獲得更准確的經驗風險最小化指標hI∮。隨着樣本的增多,常用的模型和算法可以直接使用。
•模型:基於經驗E中的先驗知識來設計H的方法來約束H學習的復雜性,該約束H導致較小的S,如[39, 75, 85 ]中所證明的。如圖2(b)所示。灰色區域不考慮以后的優化,因為根據先前的知識,它們不太可能包含最優h*。對於這個較小的H,Dtrain足夠學習一個更可靠的hI。
•算法:利用先驗知識搜索h中參數化最佳假設h*的θ的方法。先驗知識通過提供良好的開始搜索的初始點或直接提供搜索步驟來改變搜索策略。對於這類方法,我們將一些現有參數優化為HI和h的目標,同時利用從一組任務中直接學習的元學習者,在H,H,因此,我們在圖2(c)中顯示了從“開始”到“H”的兩條路徑。它們都可以證明S[476]。

圖2。FSL方法如何從數據(lef)、模型(middle)和算法(right)的角度解決少鏡頭問題。在圖2(a)中,通過先驗知識,I樣本的Dtrain增加為I●樣本,因此通過經驗風險最小化得到更可靠的hI●樣本。在圖2(b)中,使用先驗知識來約束H,消除灰色區域以供以后優化。在圖2(c)中,h中最佳假設h*的θ的搜索策略被先驗知識改變。特別地,點線意味着經驗風險的優化可以跳過,這是元學習方法使用的策略。
因此,現有的工作可以被划分為一個子模式分類法,如圖3所示。我們將在下一節詳細介紹每個類別。
3數據
本方法通過利用先驗知識對數據進行訓練,解決了FSL問題,從而豐富了E.中的監督信息,具有更高的樣本量,能夠滿足后續機器學習模型和算法所需的樣本復雜度,獲得更可靠的HI。

圖3。基於每個方法的焦點的FSL分類。
在這里,我們展示了如何使用先驗知識在FSL中擴充數據。根據先驗知識的類型,我們將這些方法分為四類,如表2所示。因此,圖4展示了轉換的工作原理。由於對Dtrain中N個類中的每一個類的擴充是獨立完成的,因此我們使用Dtrain中N個類的示例(x(i),y(i))進行說明。

圖4。通過變壓器的輸出(x●y●變換某些輸入(x,y))來增加數據集Dtrain的說明。
表2。聚焦於數據透視的FSL方法的特點。

