什么是小樣本學(xué)習(xí)?
小樣本學(xué)習(xí)是一種機(jī)器學(xué)習(xí)框架,在該框架中蒜焊,AI 模型通過(guò)使用極少量的標(biāo)記示例進(jìn)行訓(xùn)練來(lái)學(xué)習(xí)作出準(zhǔn)確的預(yù)測(cè)匀谣。它通常用于在缺乏合適的訓(xùn)練數(shù)據(jù)時(shí)訓(xùn)練分類(lèi)任務(wù)的模型照棋。
小樣本學(xué)習(xí) (FSL) 是更一般地被稱(chēng)作 n 樣本學(xué)習(xí)的一個(gè)子集;n 樣本學(xué)習(xí)是人工智能的一類(lèi)武翎,其中還包括單樣本學(xué)習(xí)(每個(gè)要學(xué)習(xí)的類(lèi)只有一個(gè)標(biāo)記示例)和零樣本學(xué)習(xí)(根本沒(méi)有標(biāo)記示例)烈炭。雖然單樣本學(xué)習(xí)本質(zhì)上只是 FSL 的一種具有挑戰(zhàn)性的變體,但零樣本學(xué)習(xí)是一個(gè)獨(dú)特的學(xué)習(xí)問(wèn)題宝恶,需要自己獨(dú)特的方法符隙。
原則上,F(xiàn)SL 的目標(biāo)是模仿人類(lèi)從少量實(shí)例中學(xué)習(xí)的能力垫毙。這與傳統(tǒng)的監(jiān)督學(xué)習(xí)形成鮮明對(duì)比霹疫;傳統(tǒng)的監(jiān)督學(xué)習(xí)通常在多輪訓(xùn)練中使用數(shù)百(或數(shù)千)個(gè)帶標(biāo)簽的數(shù)據(jù)點(diǎn)來(lái)教導(dǎo) AI 模型識(shí)別數(shù)據(jù)類(lèi)別。但功能強(qiáng)大的監(jiān)督學(xué)習(xí)在某些現(xiàn)實(shí)環(huán)境中并不切實(shí)際:由于成本高昂综芥、正確注釋數(shù)據(jù)需要特定領(lǐng)域的專(zhuān)業(yè)知識(shí)更米,或者(對(duì)于獨(dú)特筆跡、罕見(jiàn)疾病或?yàn)l危和新發(fā)現(xiàn)物種的情形)現(xiàn)有樣本極為稀缺毫痕,這使得獲得標(biāo)記的示例通常很困難征峦。
雖然某些特定算法和神經(jīng)網(wǎng)絡(luò)架構(gòu)在 FSL 任務(wù)中取得了顯著的成功,但小樣本學(xué)習(xí)是由學(xué)習(xí)問(wèn)題的性質(zhì)消请,而不是由任何特定方法或模型結(jié)構(gòu)定義的栏笆。小樣本學(xué)習(xí)方法的范圍很廣,從在類(lèi)似任務(wù)中使用預(yù)先訓(xùn)練好的模型臊泰,到使用生成式模型創(chuàng)建新樣本蛉加,再到使用元學(xué)習(xí)方法訓(xùn)練模型,使其能夠很好地推廣到新的分類(lèi)問(wèn)題和不同類(lèi)別的數(shù)據(jù)中;它不是執(zhí)行某種特定任務(wù)的專(zhuān)門(mén)方法针饥。
小樣本分類(lèi)如何進(jìn)行厂抽?
盡管小樣本學(xué)習(xí)可以利用各種算法或神經(jīng)網(wǎng)絡(luò)架構(gòu),但大多數(shù)方法都是圍繞遷移學(xué)習(xí)或元學(xué)習(xí)(或兩者的組合)構(gòu)建的丁眼。
雖然小樣本學(xué)習(xí)也可以應(yīng)用于回歸任務(wù)(甚至強(qiáng)化學(xué)習(xí))筷凤,但大多數(shù) FSL 文獻(xiàn)都側(cè)重于分類(lèi)用例。一些 FSL 方法可以與其他解決方案一起使用苞七,以應(yīng)對(duì)標(biāo)記數(shù)據(jù)的稀缺性:例如藐守,在半監(jiān)督學(xué)習(xí)方法中,該方法將來(lái)自大量未標(biāo)記數(shù)據(jù)的信息與使用有限標(biāo)記樣本的小樣本學(xué)習(xí)得到的信息相結(jié)合蹂风。
遷移學(xué)習(xí)
基于遷移學(xué)習(xí)的方法側(cè)重于調(diào)整預(yù)訓(xùn)練模型卢厂,以學(xué)習(xí)新任務(wù)或以前未見(jiàn)過(guò)的數(shù)據(jù)類(lèi)別。
當(dāng)可用的標(biāo)記樣本很少時(shí)惠啄,使用監(jiān)督學(xué)習(xí)從頭開(kāi)始訓(xùn)練模型 - 尤其是具有大量參數(shù)的模型慎恒,例如卷積神經(jīng)網(wǎng)絡(luò) (CNN)(計(jì)算機(jī)視覺(jué)中常用)或自然語(yǔ)言處理 (NLP) 中使用的基于轉(zhuǎn)換器的網(wǎng)絡(luò) - 通常會(huì)導(dǎo)致過(guò)度擬合:模型可能在測(cè)試數(shù)據(jù)上表現(xiàn)良好,但使用真實(shí)世界的數(shù)據(jù)時(shí)則很差撵渡。但是收集足夠多的數(shù)據(jù)以避免過(guò)度擬合通常是模型訓(xùn)練的瓶頸巧号。
遷移學(xué)習(xí)提供了一個(gè)實(shí)用的解決方案:利用經(jīng)過(guò)訓(xùn)練的模型已經(jīng)學(xué)習(xí)的有用特征和表示。一種簡(jiǎn)單的方法是對(duì)分類(lèi)模型進(jìn)行微調(diào)姥闭,通過(guò)對(duì)少量標(biāo)注示例的監(jiān)督學(xué)習(xí)丹鸿,為新類(lèi)別執(zhí)行相同的任務(wù)。更復(fù)雜的方法通過(guò)設(shè)計(jì)相關(guān)的下游任務(wù)(通常是元學(xué)習(xí)任務(wù))來(lái)教授模型新技能棚品,而這些模型是通過(guò)自我監(jiān)督的假托任務(wù)預(yù)先訓(xùn)練過(guò)的:這在 NLP 中越來(lái)越普遍靠欢,特別是在基礎(chǔ)模型的背景下。
更復(fù)雜的遷移學(xué)習(xí)方法通過(guò)改變網(wǎng)絡(luò)架構(gòu)來(lái)調(diào)整訓(xùn)練好的神經(jīng)網(wǎng)絡(luò):例如铜跑,替換或重新訓(xùn)練執(zhí)行最終分類(lèi)的神經(jīng)網(wǎng)絡(luò)外層门怪,同時(shí)保留進(jìn)行特征提取的內(nèi)層。凍結(jié)(或以其他方式規(guī)范化更改)除最外層之外的所有層的模型權(quán)重锅纺,可以確保后續(xù)更新不會(huì)導(dǎo)致已經(jīng)學(xué)到的知識(shí)發(fā)生“災(zāi)難性遺忘”掷空。這樣可以在小樣本環(huán)境中大大加快學(xué)習(xí)速度。
當(dāng)模型的初始訓(xùn)練與新任務(wù)相關(guān)時(shí)囤锉,遷移學(xué)習(xí)最為成功坦弟。例如,使用某些種的鳥(niǎo)進(jìn)行訓(xùn)練的模型在僅使用幾個(gè)標(biāo)記樣本進(jìn)行微調(diào)后官地,可以很好地推廣到?jīng)]見(jiàn)過(guò)的鳥(niǎo)類(lèi)酿傍,因?yàn)?CNN 用于卷積的過(guò)濾器的學(xué)習(xí)權(quán)重已經(jīng)過(guò)優(yōu)化,可以捕獲與鳥(niǎo)分類(lèi)相關(guān)的特征(如羽毛驱入、喙赤炒、翅膀大小等)氯析。但是,使用小樣本學(xué)習(xí)來(lái)教授同一模型識(shí)別車(chē)輛的結(jié)果則不太令人滿(mǎn)意莺褒。
數(shù)據(jù)級(jí)方法
有限標(biāo)記數(shù)據(jù)樣本問(wèn)題的另一種解決方案是生成額外的訓(xùn)練樣本掩缓。當(dāng)給定類(lèi)別數(shù)據(jù)的現(xiàn)實(shí)示例極其稀缺時(shí),這尤其有用遵岩,例如在處理罕見(jiàn)疾病或外來(lái)物種時(shí)可能會(huì)出現(xiàn)這種情況你辣。
通過(guò)生成對(duì)抗網(wǎng)絡(luò) (GAN) 或變分自編碼器 (VAE) 等生成模型生成數(shù)據(jù),可能會(huì)產(chǎn)生足夠多的樣本旷余,類(lèi)似于原始標(biāo)記樣本,以執(zhí)行傳統(tǒng)的監(jiān)督學(xué)習(xí)扁达,前提是原始樣本具有足夠的多樣性以避免過(guò)度擬合正卧。
數(shù)據(jù)增強(qiáng)是通過(guò)對(duì)原始樣本應(yīng)用不同的轉(zhuǎn)換來(lái)創(chuàng)建新樣本的過(guò)程,可以與其他方法結(jié)合使用:例如跪解,它可用于創(chuàng)建匹配樣本炉旷,用于度量元學(xué)習(xí),其過(guò)程類(lèi)似于對(duì)比自監(jiān)督學(xué)習(xí)叉讥。
元學(xué)習(xí)
與監(jiān)督學(xué)習(xí)或微調(diào)不同窘行,元學(xué)習(xí)采用的是一種更廣泛、更間接的方法图仓。在監(jiān)督學(xué)習(xí)或微調(diào)中罐盔,分類(lèi)器是根據(jù)其將用于的確切任務(wù)進(jìn)行訓(xùn)練的,訓(xùn)練集包含模型將用來(lái)測(cè)試的相同類(lèi)別救崔』炭矗基于遷移學(xué)習(xí)的方法可以適應(yīng)預(yù)先訓(xùn)練的模型,而元學(xué)習(xí)方法通常從頭開(kāi)始端到端地訓(xùn)練系統(tǒng)六孵。
根據(jù) Santoro 等人的說(shuō)法纬黎,“元學(xué)習(xí)”是指使用多個(gè)任務(wù)在短期和長(zhǎng)期水平上訓(xùn)練模型的情形。在每項(xiàng)任務(wù)中劫窒,模型會(huì)快速學(xué)習(xí)本今,以作出與該特定任務(wù)的有限領(lǐng)域相關(guān)的預(yù)測(cè)。在跨不同任務(wù)時(shí)主巍,該模型通過(guò)捕獲模式和任務(wù)結(jié)構(gòu)在目標(biāo)領(lǐng)域之間的變化方式逐漸積累知識(shí)冠息。這種兩層式過(guò)程通常被描述為模型“學(xué)會(huì)學(xué)習(xí)”。2
例如孕索,許多著名的元學(xué)習(xí)方法的目標(biāo)是在多個(gè)訓(xùn)練輪次中訓(xùn)練模型函數(shù)铐达,以輸出對(duì)來(lái)自任何類(lèi)(包括模型尚未看到的類(lèi))的數(shù)據(jù)點(diǎn)之間的相似程度的預(yù)測(cè),然后使用從該過(guò)程中學(xué)到的知識(shí)來(lái)解決下游任務(wù)(例如專(zhuān)門(mén)定義的分類(lèi)問(wèn)題)檬果。
一些元學(xué)習(xí)方法在更抽象的層面上運(yùn)作瓮孙,通過(guò)訓(xùn)練模型使之易于訓(xùn)練唐断。在傳統(tǒng)的監(jiān)督學(xué)習(xí)中,模型的參數(shù)(如權(quán)重和偏差)是“學(xué)到的”杭抠,而模型的超參數(shù)(例如學(xué)習(xí)率或參數(shù)的初始化方式)是在訓(xùn)練之前配置的脸甘,不是學(xué)習(xí)過(guò)程的一部分。元學(xué)習(xí)可以通過(guò)學(xué)習(xí)理想的起點(diǎn)(參數(shù)初始化或其他超參數(shù)選擇偏灿,這些選擇可以在極少的訓(xùn)練步驟中很好地推廣到不同的數(shù)據(jù)集)來(lái)接近遷移學(xué)習(xí)的益處丹诀。
N-way-K-shot 分類(lèi)
盡管可以使用各種各樣的機(jī)器學(xué)習(xí)模型架構(gòu)進(jìn)行小樣本學(xué)習(xí),但 FSL 訓(xùn)練和評(píng)估的結(jié)構(gòu)通常遵循 N-way-K-shot 框架翁垂,其中 N 表示類(lèi)數(shù)铆遭,K 表示為每個(gè)類(lèi)提供的示例數(shù)(或“樣本”)。
在 N-way-K-shot 分類(lèi)法中沿猜,模型需要經(jīng)過(guò)多輪訓(xùn)練枚荣。每個(gè)訓(xùn)練輪次由一個(gè)或多個(gè)訓(xùn)練任務(wù)組成。模型通過(guò)測(cè)試任務(wù)進(jìn)行評(píng)估啼肩,其結(jié)構(gòu)與訓(xùn)練任務(wù)相同橄妆。每個(gè)訓(xùn)練任務(wù)(和測(cè)試任務(wù))包括兩種數(shù)據(jù)集:
- 支持集包含 N 類(lèi)中每類(lèi)的 K 個(gè)標(biāo)記訓(xùn)練樣本。該模型使用這些支持示例來(lái)學(xué)習(xí)每個(gè)類(lèi)的廣義表示形式祈坠。例如害碾,3-way-2-shot 分類(lèi)任務(wù)的數(shù)據(jù)集包含 3 類(lèi)圖像,每類(lèi)圖像提供 2 個(gè)示例赦拘。當(dāng) K = 1 時(shí)慌随,任務(wù)是單樣本學(xué)習(xí)。當(dāng) K = 0 時(shí)躺同,問(wèn)題是零樣本學(xué)習(xí)儒陨,通常需要獨(dú)特的解決方案。
- 查詢(xún)集包含 N 類(lèi)中每類(lèi)的一個(gè)或多個(gè)新示例笋籽。使用從支持集學(xué)習(xí)到的表示蹦漠,該模型可以預(yù)測(cè)查詢(xún)集中的每個(gè)示例的分類(lèi)。損失函數(shù)衡量模型預(yù)測(cè)與“正確”預(yù)測(cè)之間的偏差("損失")车海;每輪訓(xùn)練后笛园,都會(huì)對(duì)模型參數(shù)進(jìn)行調(diào)整和優(yōu)化,以盡量減少損失侍芝。
由于元學(xué)習(xí)的目標(biāo)是訓(xùn)練模型以很好地推廣到?jīng)]見(jiàn)過(guò)的數(shù)據(jù)研铆,而不是識(shí)別任何特定的數(shù)據(jù)類(lèi)別,因此每個(gè)訓(xùn)練任務(wù)通常包含與任何先前訓(xùn)練任務(wù)中使用的數(shù)據(jù)類(lèi)別不同的數(shù)據(jù)類(lèi)別州叠。
為了測(cè)試模型對(duì)迄今為止未見(jiàn)過(guò)的類(lèi)進(jìn)行準(zhǔn)確的相似性預(yù)測(cè)的能力棵红,用于測(cè)試的支持集和查詢(xún)集必須包含模型在訓(xùn)練任務(wù)中尚未接觸過(guò)的全新數(shù)據(jù)類(lèi)別。
基于度量的元學(xué)習(xí)
基于度量的元學(xué)習(xí)算法的運(yùn)行原理類(lèi)似于 K 最近鄰:基于度量的方法不是通過(guò)直接對(duì)類(lèi)之間的決策邊界進(jìn)行建模來(lái)預(yù)測(cè)分類(lèi)咧栗,而是生成一個(gè)連續(xù)值(如向量嵌入)來(lái)表示給定的數(shù)據(jù)樣本逆甜,并通過(guò)學(xué)習(xí)測(cè)量某個(gè)距離度量(表示此值與要與之比較的不同樣本或類(lèi)的值之間的相似性)的函數(shù)進(jìn)行推斷虱肄。
基于度量的 FSL 算法
孿生網(wǎng)絡(luò)
孿生網(wǎng)絡(luò)是基于度量的算法的相對(duì)早期發(fā)展,它通過(guò)使用對(duì)比學(xué)習(xí)來(lái)解決二元分類(lèi)問(wèn)題:顯示兩個(gè)樣本交煞,孿生網(wǎng)絡(luò)預(yù)測(cè)它是正(匹配)對(duì)還是負(fù)(非匹配)對(duì)咏窿。該模型的損失函數(shù)用于最小化正對(duì)的向量嵌入之間的距離,并最大化負(fù)對(duì)的嵌入之間的距離素征。三重?fù)p失模型非常相似:給定一個(gè)“錨”樣本和另外兩個(gè)樣本集嵌,一個(gè)匹配,一個(gè)不匹配御毅,模型會(huì)預(yù)測(cè)哪個(gè)是正匹配根欧,哪個(gè)是負(fù)匹配。
在這兩種方法中端蛆,重要的是訓(xùn)練樣本必須相對(duì)難以區(qū)分凤粗,否則,模型就不會(huì)被迫學(xué)習(xí)能產(chǎn)生更有效嵌入的參數(shù)欺税。當(dāng)匹配樣本稀缺時(shí)侈沪,通常使用數(shù)據(jù)增強(qiáng)揭璃。
閱讀論文:“Siamese Neural Networks for One-shot Image Recognition” - This link opens in a new tab
匹配網(wǎng)絡(luò)
孿生網(wǎng)絡(luò)只能解決二元分類(lèi)任務(wù)晚凿,而匹配網(wǎng)絡(luò)則可以執(zhí)行多類(lèi)區(qū)分。因此瘦馍,它被認(rèn)為是首批專(zhuān)用的小樣本學(xué)習(xí)之一歼秽。
匹配網(wǎng)絡(luò)使用適當(dāng)?shù)纳窠?jīng)網(wǎng)絡(luò)(例如用于圖像任務(wù)的 CNN 或用于自然語(yǔ)言任務(wù)的 LLM)為支持和查詢(xún)集中的每個(gè)樣本輸出嵌入,并通過(guò)測(cè)量查詢(xún)樣本的嵌入與可用支持樣本的嵌入之間的余弦距離來(lái)預(yù)測(cè)分類(lèi)情组。
閱讀論文:“Matching Networks for One Shot Learning” - This link opens in a new tab
原型網(wǎng)絡(luò)
原型網(wǎng)絡(luò)計(jì)算每個(gè)類(lèi)的所有可用樣本的平均特征燥筷,以便計(jì)算每個(gè)類(lèi)的原型。然后院崇,根據(jù)給定數(shù)據(jù)點(diǎn)與每個(gè)類(lèi)別原型的相對(duì)接近程度來(lái)確定給定數(shù)據(jù)點(diǎn)的分類(lèi)肆氓。與匹配網(wǎng)絡(luò)不同,原型網(wǎng)絡(luò)使用歐幾里得距離而不是余弦距離底瓣。
已經(jīng)提出了對(duì)這種方法的許多改進(jìn):例如谢揪,Zhu 和 Koniusz 提議使用 標(biāo)簽傳播來(lái)改進(jìn)原型制作過(guò)程。3
閱讀論文:“Prototypical Networks for Few-shot Learning” - This link opens in a new tab
關(guān)系網(wǎng)絡(luò)
關(guān)系網(wǎng)絡(luò) (RN) 以與匹配網(wǎng)絡(luò)和原型網(wǎng)絡(luò)相同的一般原則運(yùn)作捐凭。RN 也使用嵌入模塊來(lái)學(xué)習(xí)計(jì)算輸入圖像和類(lèi)原型的嵌入拨扶,但與預(yù)定義用于比較嵌入的距離函數(shù)的這兩種算法不同,RN 添加了一個(gè)關(guān)系模塊茁肠,用于學(xué)習(xí)最適合當(dāng)前特定分類(lèi)問(wèn)題的非線(xiàn)性距離函數(shù)患民。
閱讀論文:“Learning to Compare: Relation Network for Few-Shot Learning” - This link opens in a new tab